<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: How I Over-Engineered the ASP.NET Health Monitoring Feature</title>
	<atom:link href="http://mvolo.com/asp-net-health-monitoring-8-years-later/feed/" rel="self" type="application/rss+xml" />
	<link>http://mvolo.com/asp-net-health-monitoring-8-years-later/</link>
	<description>Hi, I&#039;m the founder and CTO of LeanSentry, and former Microsoft PM in charge of core IIS and ASP.NET products.</description>
	<lastBuildDate>Thu, 16 May 2013 19:52:11 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
	<item>
		<title>By: jual klorofil di jakarta</title>
		<link>http://mvolo.com/asp-net-health-monitoring-8-years-later/#comment-2599</link>
		<dc:creator>jual klorofil di jakarta</dc:creator>
		<pubDate>Mon, 08 Apr 2013 01:02:36 +0000</pubDate>
		<guid isPermaLink="false">http://mvolo.com/?p=15504#comment-2599</guid>
		<description><![CDATA[Hey there! I&#039;&#039;ve been reading your weblog for a while now and finally got the bravery to go ahead and give you a shout out from  Huffman Tx! Just wanted to mention keep up the excellent job!]]></description>
		<content:encoded><![CDATA[<p>Hey there! I''ve been reading your weblog for a while now and finally got the bravery to go ahead and give you a shout out from  Huffman Tx! Just wanted to mention keep up the excellent job!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Howard Hoffman</title>
		<link>http://mvolo.com/asp-net-health-monitoring-8-years-later/#comment-2598</link>
		<dc:creator>Howard Hoffman</dc:creator>
		<pubDate>Mon, 11 Mar 2013 21:43:21 +0000</pubDate>
		<guid isPermaLink="false">http://mvolo.com/?p=15504#comment-2598</guid>
		<description><![CDATA[We @ MorphoTrust are big fans of Health Monitoring.  We use Health Monitoring to publish &quot;server trouble&quot; events to our tier-3 support staff - and we teach them to refer to our Log4net Logs to get additional data about the actual bad-thing-that-we-just-did.  We created a couple of custom ErrorEvents and find it useful.  Yes, could use more documentation.

Going forward, are there tools that integrate Health Monitoring (today, circa .NET 4.5) with things like System Center Operations Manager?  It&#039;&#039;d be great if we could somehow use the SCOM UI to aggregate ASP.NET Health as defined by Health Monitoring.

FWIW - I think you did a nice job, and it was very impressive when it came out back in 2005.]]></description>
		<content:encoded><![CDATA[<p>We @ MorphoTrust are big fans of Health Monitoring.  We use Health Monitoring to publish "server trouble" events to our tier-3 support staff - and we teach them to refer to our Log4net Logs to get additional data about the actual bad-thing-that-we-just-did.  We created a couple of custom ErrorEvents and find it useful.  Yes, could use more documentation.</p>
<p>Going forward, are there tools that integrate Health Monitoring (today, circa .NET 4.5) with things like System Center Operations Manager?  It''d be great if we could somehow use the SCOM UI to aggregate ASP.NET Health as defined by Health Monitoring.</p>
<p>FWIW - I think you did a nice job, and it was very impressive when it came out back in 2005.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Barry Edward</title>
		<link>http://mvolo.com/asp-net-health-monitoring-8-years-later/#comment-2596</link>
		<dc:creator>Barry Edward</dc:creator>
		<pubDate>Thu, 28 Feb 2013 20:03:40 +0000</pubDate>
		<guid isPermaLink="false">http://mvolo.com/?p=15504#comment-2596</guid>
		<description><![CDATA[Health monitoring is good web app]]></description>
		<content:encoded><![CDATA[<p>Health monitoring is good web app</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike</title>
		<link>http://mvolo.com/asp-net-health-monitoring-8-years-later/#comment-2595</link>
		<dc:creator>Mike</dc:creator>
		<pubDate>Wed, 27 Feb 2013 22:42:01 +0000</pubDate>
		<guid isPermaLink="false">http://mvolo.com/?p=15504#comment-2595</guid>
		<description><![CDATA[Hi Terry,

Thanks for checking in.  Interesting to hear about using HM for visit logging.  I would also suggest you check out some of the new web analytics providers (E.g GA, Chartbeat, Mixpanel, etc) that provide huge analysis value add on top of anything that is reasonable to build yourself anymore.

To answer your questions:

(a) Does LeanSentry use HM? 
LeanSentry gets its data from a variety of sources, one being HM but also performance counters, WMI, IIS logfiles, etc.  Its just not possible to get everything in one place if you want to create a hollistic picture about your apps&#039;&#039;s health and performance.

(b) Do we use HM events? 
We use ASP.NET health events as part of our analysis as needed.  Right now, we mostly focus on errors.

(c) What is the difference between HM and LeanSentry? 
I would say LeanSentry is a completely different tool.  HM is a decent eventing framework you can use for your own purposes.  LeanSentry is meant as a comprehensive monitoring and diagnostics tool that abstracts the health monitoring data sources, and focuses on delivering the critical insights to help improve application health.

I dont want to write a whole lot more here, but definitely check out our How it works page: https://www.leansentry.com/Howitworks.

Best,
Mike]]></description>
		<content:encoded><![CDATA[<p>Hi Terry,</p>
<p>Thanks for checking in.  Interesting to hear about using HM for visit logging.  I would also suggest you check out some of the new web analytics providers (E.g GA, Chartbeat, Mixpanel, etc) that provide huge analysis value add on top of anything that is reasonable to build yourself anymore.</p>
<p>To answer your questions:</p>
<p>(a) Does LeanSentry use HM?<br />
LeanSentry gets its data from a variety of sources, one being HM but also performance counters, WMI, IIS logfiles, etc.  Its just not possible to get everything in one place if you want to create a hollistic picture about your apps''s health and performance.</p>
<p>(b) Do we use HM events?<br />
We use ASP.NET health events as part of our analysis as needed.  Right now, we mostly focus on errors.</p>
<p>(c) What is the difference between HM and LeanSentry?<br />
I would say LeanSentry is a completely different tool.  HM is a decent eventing framework you can use for your own purposes.  LeanSentry is meant as a comprehensive monitoring and diagnostics tool that abstracts the health monitoring data sources, and focuses on delivering the critical insights to help improve application health.</p>
<p>I dont want to write a whole lot more here, but definitely check out our How it works page: <a href="https://www.leansentry.com/Howitworks" rel="nofollow">https://www.leansentry.com/Howitworks</a>.</p>
<p>Best,<br />
Mike</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Terry Aney</title>
		<link>http://mvolo.com/asp-net-health-monitoring-8-years-later/#comment-2594</link>
		<dc:creator>Terry Aney</dc:creator>
		<pubDate>Mon, 25 Feb 2013 16:22:38 +0000</pubDate>
		<guid isPermaLink="false">http://mvolo.com/?p=15504#comment-2594</guid>
		<description><![CDATA[Mike - so I was one of the ones that floundered through making our own HM provider...finding work arounds for a few things (i.e. the MVC bug) and logging errors into our own SQL database.  We also use HM for custom event logging and also page visit logging.  Same as you, we probably worked too hard to accomplish some things that were probably available else were, but our shop was mostly of the opinion of &#039;&#039;sticking with MS and away from third party&#039;&#039; as much as possible.  Anyway, my question is about LeanSentry - I glanced at the demo and saw error logging.  

a) Where is this information gathered from?  Is/would it be coming from HM events/error descriptions (I&#039;&#039;ve added custom description information to the default &#039;&#039;unhandled&#039;&#039; error)?  

b) You mentioned above that some information could &#039;&#039;only&#039;&#039; be retrieved from HM...I think I had read that earlier, which was another reason we worked to get HM plugged into our system instead of a home baked or third party logging system...how is that information represented in Lean Sentry?

c) Finally, based on your answer for a) I guess, are you meant to use HM and Lean Sentry in tandem or is LS supposed to replace HM?

Thanks in advance.]]></description>
		<content:encoded><![CDATA[<p>Mike - so I was one of the ones that floundered through making our own HM provider...finding work arounds for a few things (i.e. the MVC bug) and logging errors into our own SQL database.  We also use HM for custom event logging and also page visit logging.  Same as you, we probably worked too hard to accomplish some things that were probably available else were, but our shop was mostly of the opinion of ''sticking with MS and away from third party'' as much as possible.  Anyway, my question is about LeanSentry - I glanced at the demo and saw error logging.  </p>
<p>a) Where is this information gathered from?  Is/would it be coming from HM events/error descriptions (I''ve added custom description information to the default ''unhandled'' error)?  </p>
<p>b) You mentioned above that some information could ''only'' be retrieved from HM...I think I had read that earlier, which was another reason we worked to get HM plugged into our system instead of a home baked or third party logging system...how is that information represented in Lean Sentry?</p>
<p>c) Finally, based on your answer for a) I guess, are you meant to use HM and Lean Sentry in tandem or is LS supposed to replace HM?</p>
<p>Thanks in advance.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard</title>
		<link>http://mvolo.com/asp-net-health-monitoring-8-years-later/#comment-2593</link>
		<dc:creator>Richard</dc:creator>
		<pubDate>Fri, 22 Feb 2013 18:08:54 +0000</pubDate>
		<guid isPermaLink="false">http://mvolo.com/?p=15504#comment-2593</guid>
		<description><![CDATA[One big problem with HM: IIS7 (integrated pipline) + Windows authentication + event buffering = ObjectDisposedException

In II6 (and IIS7 classic pipeline), ASP.NET creates a WindowsIdentity to represent the authenticated user. That identity is never disposed, so when the buffered event is formatted, the identity is still valid.

In IIS7 integrated pipeline, the WindowsIndentity is created by IIS and passed to ASP.NET, and it&#039;&#039;s disposed when the request is completed. When the buffered event is formatted, the identity is no longer valid, and you get a &quot;Safe handle has been closed&quot; error.

The only solution seems to be to turn off event buffering.
http://forums.iis.net/t/1172849.aspx]]></description>
		<content:encoded><![CDATA[<p>One big problem with HM: IIS7 (integrated pipline) + Windows authentication + event buffering = ObjectDisposedException</p>
<p>In II6 (and IIS7 classic pipeline), ASP.NET creates a WindowsIdentity to represent the authenticated user. That identity is never disposed, so when the buffered event is formatted, the identity is still valid.</p>
<p>In IIS7 integrated pipeline, the WindowsIndentity is created by IIS and passed to ASP.NET, and it''s disposed when the request is completed. When the buffered event is formatted, the identity is no longer valid, and you get a "Safe handle has been closed" error.</p>
<p>The only solution seems to be to turn off event buffering.<br />
<a href="http://forums.iis.net/t/1172849.aspx" rel="nofollow">http://forums.iis.net/t/1172849.aspx</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Weekly Digest 2 &#124; chodounsky</title>
		<link>http://mvolo.com/asp-net-health-monitoring-8-years-later/#comment-2592</link>
		<dc:creator>Weekly Digest 2 &#124; chodounsky</dc:creator>
		<pubDate>Fri, 22 Feb 2013 16:26:38 +0000</pubDate>
		<guid isPermaLink="false">http://mvolo.com/?p=15504#comment-2592</guid>
		<description><![CDATA[[...]  [...] ]]></description>
		<content:encoded><![CDATA[<p>[...]  [...] </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Over-Engineered the ASP.NET Health Monitoring Feature &#124; The code is art</title>
		<link>http://mvolo.com/asp-net-health-monitoring-8-years-later/#comment-2591</link>
		<dc:creator>Over-Engineered the ASP.NET Health Monitoring Feature &#124; The code is art</dc:creator>
		<pubDate>Fri, 22 Feb 2013 08:11:34 +0000</pubDate>
		<guid isPermaLink="false">http://mvolo.com/?p=15504#comment-2591</guid>
		<description><![CDATA[[...] happens when your health monitoring system needs a health monitoring system? (more here) Share this:TwitterFacebookLike this:Like [...] ]]></description>
		<content:encoded><![CDATA[<p>[...] happens when your health monitoring system needs a health monitoring system? (more here) Share this:TwitterFacebookLike this:Like [...] </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Quinton</title>
		<link>http://mvolo.com/asp-net-health-monitoring-8-years-later/#comment-2590</link>
		<dc:creator>Quinton</dc:creator>
		<pubDate>Thu, 21 Feb 2013 04:56:12 +0000</pubDate>
		<guid isPermaLink="false">http://mvolo.com/?p=15504#comment-2590</guid>
		<description><![CDATA[Thanks for the article on Health Monitoring. I too have chosen Elmah before when that&#039;&#039;s all that was required.

Going to take a look at Lean Sentry, thanks for sharing that.]]></description>
		<content:encoded><![CDATA[<p>Thanks for the article on Health Monitoring. I too have chosen Elmah before when that''s all that was required.</p>
<p>Going to take a look at Lean Sentry, thanks for sharing that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike</title>
		<link>http://mvolo.com/asp-net-health-monitoring-8-years-later/#comment-2589</link>
		<dc:creator>Mike</dc:creator>
		<pubDate>Wed, 20 Feb 2013 15:07:22 +0000</pubDate>
		<guid isPermaLink="false">http://mvolo.com/?p=15504#comment-2589</guid>
		<description><![CDATA[@hashname, its a good question.  I think HM was relegated to the category of &quot;it works, noone is complaining, it must be fine&quot; of features.  The product team was too busy focusing on things people actually asked about.

Re: WCF, I agree.  To be honest, we have used it internally a number of times and ended up regretting it most of the time.  If you have the time to spend, we found building a more low level communication solution (e.g. REST over HTTP with HttpWebRequest) is almost always more reliable, and in the end actually faster because you dont spend any time working around any WCF weirdness.  WCF is a classic example of overengineering that didnt focus on delivering basic developer value.

You know what else is a great example of MSFT overengineering? WWF.  Dont get me started.]]></description>
		<content:encoded><![CDATA[<p>@hashname, its a good question.  I think HM was relegated to the category of "it works, noone is complaining, it must be fine" of features.  The product team was too busy focusing on things people actually asked about.</p>
<p>Re: WCF, I agree.  To be honest, we have used it internally a number of times and ended up regretting it most of the time.  If you have the time to spend, we found building a more low level communication solution (e.g. REST over HTTP with HttpWebRequest) is almost always more reliable, and in the end actually faster because you dont spend any time working around any WCF weirdness.  WCF is a classic example of overengineering that didnt focus on delivering basic developer value.</p>
<p>You know what else is a great example of MSFT overengineering? WWF.  Dont get me started.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
