使用Windows Azure Diagnostics捕获Windows事件

使用Windows Azure Diagnostics捕获Windows事件

通过查看Windows事件,我们可以了解系统运行中产生的错误或警告,对日常运营监控提供了重要的数据来源,本文简要介绍一下如何使用Windows Azure Diagnostics捕获由Hosted Web Core产生的Windows事件,下面是代码:

var cfg = DiagnosticMonitor.GetDefaultInitialConfiguration();

// HWC uses the event log to indicate what's broken.

// This config setting is really handy when debugging bad config.

cfg.WindowsEventLog.DataSources.Add("Application!*[System[Provider[@Name='HostableWebCore']]]");

diagnosticMonitor = DiagnosticMonitor.Start("DiagnosticsConnectionString", cfg);

当你添加一个Windows事件日志数据源时,你需要给你想记录的事件指定一个XPath选择原则。使用Windows Azure Diagnostics,你可以收集以下类型的诊断数据:

数据源

默认配置

支持的角色类型

Windows Azure 日志

默认要收集,需要在web.configapp.config中增加跟踪监听器

WebWorker角色

IIS 7.0日志

默认要收集

仅限Web角色

Windows诊断基础日志

默认要收集

WebWorker角色

失败的请求日志

默认不收集

仅限Web角色

Windows事件日志

默认不收集

WebWorker角色

性能计数器

默认不收集

WebWorker角色

崩溃转储

默认不收集

WebWorker角色

自定义错误日志

默认不收集

WebWorker角色

要启用对Windows事件日志的收集,要获得默认的初始配置,然后向配置中加入Windows事件日志数据源,使用一个XPath表达式指定你想要收集的事件,下面的代码显示了如何配置诊断监听器收集“系统”事件:

public override bool OnStart()

{

    DiagnosticMonitorConfiguration diagConfig = DiagnosticMonitor.GetDefaultInitialConfiguration();

 

    // Add event collection from the Windows Event Log

    diagConfig.WindowsEventLog.DataSources.Add("System!*");

    // Start diagnostics with this custom local buffering configuration

    DiagnosticMonitor.Start("DiagnosticsConnectionString", diagConfig);

    return base.OnStart();

}

注意,Windows Azure Diagnostics不能读取Windows事件日志中的“安全”事件,因为运行在Windows Azure中的服务使用的账号往往没有读取安全事件的权限。

Windows事件查看器中,我们可以创建一个自定义视图。

 

 

1 过滤显示Hosted Web Core事件源

切换到XML标签,可以看到XPath格式的事件过滤器。

 

 

 

2 XPath格式的事件过滤器

你也可以手工修改一下,然后将其传递给WindowsEventLog.DataSource.Add

 

fj.png图1.jpg

fj.png图2.jpg

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9913868/viewspace-667104/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9913868/viewspace-667104/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值