博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET拾遗 - Health Monitoring
阅读量:6824 次
发布时间:2019-06-26

本文共 1216 字,大约阅读时间需要 4 分钟。

缘起

上午计划为一个小站点,增加一个日志的Dashboard,找到了这篇文章:

文中讲解了如何用ASP.NET MVC实现一个Dashboard,为四种日志源提供检索和统计图表的功能。

从图中也可以看出来,这四种日志源分别是:

  • Elmah
  • Health Monitoring
  • log4net
  • NLog

可以把它们归为三类工具:

1. Elmah,应用场景非常明确,用于搜集ASP.NET应用程序未捕获异常及大量上下文信息,并提供了不错的UI。
2. log4net和NLog都是通用的日志库,专注在记录上,而记录哪些内容,给查看者提供UI,并不是他们的目标。
3. Health Monitoring,也是站在ASP.NET应用程序的角度,基于一套事件模型,提供(Provider)记录(或通知)机制。

因此,这三类工具,虽然从记录这个角度看有些交集,但各自侧重点不同。

眼前这个小站点,只使用log4net作为单纯的记录工具。对于应用程序级别的监控,还一片空白,遂想着看这方面的需求,能否利用Health Monitoring来满足一部分。

Health Monitoring

对于Health Monitoring,以前几乎没有了解。甚至从来没有想过,为什么一个未捕获的异常,在ASP.NET应用程序中,会被记录到Windows EventLog中。

先是读了MSDN:

最吸引我的是:

  • healthMonitoringheartbeatInterval属性
  • bufferModes
  • Profile中的minInterval属性 从这里也可以看出,已经不是单纯的做记录了,而是侧重于Monitoring

%windir%\Microsoft.NET\Framework\v4.0.30319\Config\web.config中定义了四种bufferModes(应该也可以很容易定义自己的bufferModes):

1. Critical Notification
2. Notification
3. Analysis
4. Logging

由于这个机制最早是在ASP.NET 2.0中引入的,时隔多年,便有一点想去了解有没有变化的部分。找到的文章里,并没有发现这方面内容,但其中的示例,

很轻易的就实现了一个常见的需求:当某个特定异常发生时,发邮件通知干系人。

另外,受该文启发,有另一篇入门文章,其中其中有一个非常好的关于Health Monitoringquick reference(见下图)

Health Monitoring的其它相关资料:

MSDN

两篇2007年的园子里的翻译文章

转载于:https://www.cnblogs.com/yicone/archive/2013/04/05/3001626.html

你可能感兴趣的文章
linux下使用nfclib写卡操作。
查看>>
记录最近工作中遇到的一些坑
查看>>
mybatis中关于${}和#{}取值的区别
查看>>
简单工厂
查看>>
react+webpack+wepack-dev-server的环境中ant design图标离线的方法
查看>>
【模板】矩阵快速幂
查看>>
AJAX笔记
查看>>
cadence 封装制作小结
查看>>
AFNetwork 作用和用法详解
查看>>
登录linux,输入ls显示anaconda-ks.cfg cobbler.ks ....., 原因在于root@ ~ / 区别
查看>>
虚拟机CentOS6.5网络配置
查看>>
bzoj2563 阿狸和桃子的游戏
查看>>
概念整理3
查看>>
《Hadoop基础教程》之初识Hadoop
查看>>
转:前端单元测试总结
查看>>
【LeetCode每天一题】 Intersection of Two Linked Lists(两个链表的入口节点)
查看>>
spring mvc 用ajaxSubmit 在iE8上传文件变下载的问题
查看>>
Nginx 负载均衡动静分离配置
查看>>
laravel, Composer和autoloading
查看>>
D3 JS study notes
查看>>