.Net Health Monitoring (Miscellaneous)

General

Do you need the solution for tracking different events which happen to your .Net applications? The firts option should be to use ASP .NET Health Monitoring!

The beautiful thing is that you don’t need to add any code to your existing application in order to track events which happen to your application! Just put the solution event provider into an application bin directory and add some configuration section to the web.config file. That’s all!

This solution gives you a possibility to log such things as when a website starts up, shuts down, recompiles etc. The solution is base on ASP .NET Health Monitoring which is closely tied to the ASP .NET runtime and can log many events that happen on your website. Health Monitoring, just like tracing, lets you review of a running applications state, stability, performance.

History

  • V1.0 Released – October 01, 2012

Product Description

Health Monitoring solution provides:

Simple MVC3 admin UI which can be used

  • To manage servers and application list
  • To navigate events which happened for applications
  • To search events by different criteria
  • To create configuration section for an application

Health Monitoring custom provider, which will be used:

  • To send selected events to a centralized repository

Health Monitoring service point, which will be used:

  • To save application events to a centralized repository

How to it works.

The solution provides custom health monitoring provider in order to collect the monitoring data and keep it in one place. Your web application connect to the monitoring point and send application info to the centralized database over HTTP using access token.

Main Features

  • ASP .NET Health Monitoring based solution;
  • Can be used for .Net 2.0/3.0/4.0 apps monitoring
  • Monitoring apps on different servers;
  • Monitoring unhandled exception even custom error page exists;
  • Monitoring Compilation errors
  • Monitoring Configuration errors
  • One log item repository of all applications
  • Custom events can be implemented simply
  • Example to use custom Health Monitoring event provider
  • Configuration Section Generator

Requirements

  • MS IIS 7 /6
  • ASP .NET 4.0 MVC3
  • MS SQL Server 2008 (possible compact edition 4.0)

Browser support

Role Member Admin is tested and supported in major modern browsers like Chrome, Safari, Internet Explorer, and Firefox

  • IE 8 +
  • Chrome
  • FireFox 3+
  • Opera 11+
  • Safari 5+

Package Content

The package contains:

  • SimpleTools.HealthMonitoring.Logic : admin UI logic
  • SimpleTools.HealthMonitoring.Provider : ASP .NET Health Monitoring custom provider
  • SimpleTools.HealthMonitoring.Web: MVC3 admin application
  • SimpleTools.HealthMonitoring.Service : MVC3 application which will work as service point
  • SimpleTools.Web.ExampleA,B,C,D : Examples to use ASP .NET Health Monitoring feature
  • Database.Install.Script V1.0 : Production and demo MS SQL script
  • Newtonsoft.Json.Net: .Net JSON library (in order to compile custom provider for .Net 2/3/4)
  • SimpleTools.Libs: additional libraries to use solution with MySQL server

Install Admin UI Application

  1. Create empty database;
  2. Create database user and assign dbo rights to the user;
  3. Execute MS SQL Management Studio and execute Database.Install.Script\InstallDatabase-v1.0-Demo-MSSQL.sql (For production environmant you should execute InstallDatabase-v1.0-Production-MSSQL.sql script.)
  4. On Servers page change WIN -SRV-DEV server name on your server name in order to get example works.
  5. Change connection string in Web.Config file in SimpleTools.HealthMonitoring.Web, see example below:

    MS SQL Example:

        <add 
        key="SimpleTools.HealthMonitoring.Connetion.String" 
        value="server=localhost\SQLEXPRESS;database=SimpleTools.HealthMonitoring;user id=SimpleTools.HealthMonitoring; 
        password=SimpleTools.HealthMonitoring" />
    
        <add key="SimpleTools.HealthMonitoring.Database.Provider" value="MSSQL"/>    
        
  6. Create web site in IIS or application in virtual directory and copy content of SimpleTools.HealthMonitoring.Web folder. Remember that you must use .Net 4.0 application pull.
  7. See Help & FAQ area on admin web site.

Install Service Point Application

I guess you already created the solution database, so you just need set correct connection string. This application will listen for monitoring events from applications and save the request to the database.

  1. Change connection string in Web.Config file in SimpleTools.HealthMonitoring.Web, see example below:

    MS SQL Example:

        <add 
        key="SimpleTools.HealthMonitoring.Connetion.String" 
        value="server=localhost\SQLEXPRESS;database=SimpleTools.HealthMonitoring;user id=SimpleTools.HealthMonitoring; 
        password=SimpleTools.HealthMonitoring" />
    
        <add key="SimpleTools.HealthMonitoring.Database.Provider" value="MSSQL"/>    
        

Install Small Demo Applications

Example applications help to understand key concept of Health Monitoring admin tool in action. The package contains 4 applications in order to demonstrate how to track more that one application.

  1. Create web site in IIS or application in virtual directory for each (A,B,C,D) example application.
  2. Copy content of SimpleTools.Web.ExampleA,B,C,D folder to appropriate web folder.
  3. Each example contains the following two sections with appropriate app name and token: (demo applications already have access token in the demo database)
     

    
        <appSettings> 
            <add key="HealthMonitoring.Url" value="http://localhost:12345/API"/>
            <add key="HealthMonitoring.App" value="The Example Application A"/>
            <add key="HealthMonitoring.Token" value="MVNvOkFgZQh0pByYAtAcXcHHbUz953H4JXLwGdWhh6w6n4Gp"/>
            <add key="HealthMonitoring.ProviderStateLogFile" value="C:\\ProviderStateLogFile.txt" />
        </appSettings> 
    
        <system.web>         
            <healthMonitoring heartbeatInterval="60" enabled="true">
              <bufferModes>
                <add name="Custom Notification" 
                    maxBufferSize="5" 
                    maxFlushSize="2" 
                    urgentFlushThreshold="2" 
                    regularFlushInterval="Infinite" 
                    urgentFlushInterval="00:00:30"/>
              </bufferModes>
    
              <providers>
                <add name="HealthMonitoringProvider" type="SimpleTools.HealthMonitoring.Provider.HealthMonitoringProvider" 
                buffer="false" 
                bufferMode="Custom Notification" />
              </providers>
    
              <profiles>
                <add name="Custom" 
                  minInstances="1" 
                  maxLimit="Infinite" 
                  minInterval="00:00:30" />
              </profiles>
    
              <rules>
                <add name="CustomRule1" eventName="All Errors" provider="HealthMonitoringProvider" profile="Custom" />
                <add name="CustomRule2" eventName="All Audits" provider="HealthMonitoringProvider" profile="Custom" />
                <add name="CustomRule3" eventName="All Events" provider="HealthMonitoringProvider" profile="Custom" />
              </rules>
            </healthMonitoring>
        </system.web> 
    
        

Support your needs

If you have problems, questions, ideal, etc… Contact me via email [email protected] Please contact us with any questions you may have via the contact form on my author profile page. Updates – Available FREE to existing purchasers.

Download .Net Health Monitoring (Miscellaneous)

Leave a Reply

Your email address will not be published. Required fields are marked *