Learn to use Visual Studio, Visual Studio Online, Application Insights and Team
Foundation Server to decrease rework, increase transparency into your application and increase the rate at which
you can ship high quality software throughout the application lifecycle
We are very pleased to announce the RTM version of the brand new Microsoft Monitoring Agent. This new tool incorporates the capabilities introduced with Visual Studio 2012’s IntelliTrace Standalone Collector and adds a ton of new features and capabilities.
You can now download the Microsoft Monitoring Agent and install on any server in your enterprise that meet the minimum installation requirements.
The Microsoft Monitoring Agent is a simple installation that is included with System Center Operations Manager 2012 R2 or can be installed separately to be used in a standalone manner. When using the Microsoft Monitoring Agent as a standalone tool the data captured is available as a Visual Studio IntelliTrace file. These files can be opened with Visual Studio Ultimate 2013 Release Candidate.
The rest of this post will focus on using the Microsoft Monitoring Agent in a standalone mode.
After installing the Microsoft Monitoring Agent you enable monitoring of your IIS hosted application using PowerShell commands. Let’s say that I have installed my application (FabrikamFiber) under the default application node on my IIS server as shown below.
To start monitoring this application I use the following PowerShell command running as Administrator:
A couple of things to notice:
Monitoring mode has been designed to have minimal impact on the running application and only records data when the Microsoft Monitoring Agent detects undesirable behavior such as problematic exceptions occur or performance is poor. The default settings record exceptions that bubble up to the global exception handler and pages that take longer than 5 seconds to respond from the server. In addition to the conditions that trigger data collection the Microsoft Monitoring Agent will also limit the frequency in which it will record data to a maximum of 60 similar events per day.
There are a couple of approaches that you can take to use the Microsoft Monitoring Agent in monitoring mode effectively. One method is to gather an IntelliTrace file after a problem has been reported. A more proactive approach is to gather an IntelliTrace file on a regular schedule, such as daily, to check for problematic behavior in your application that may not have been reported by your users.
To produce an IntelliTrace file you use the Checkpoint-WebApplicationMonitoring command as shown below:
The IntelliTrace file can then be opened using Visual Studio 2013 Release Candidate. Any performance violations are listed in the Performance Data section of the IntelliTrace Summary page and exceptions are shown in the Exceptions section.
Diagnosing exceptions remains very similar to the experience available with Visual Studio 2012. Diagnosing performance events is detailed in a separate blog post.
For detailed information on the Microsoft Monitoring Agent refer to TechNet.
For expanded scenarios and usage information refer to MSDN.
We are always looking for feedback and comments for our features. Please visit the MSDN Diagnostics forums.
How does this compare/dovetail with the Microsoft Message Analyzer?
Message Analyzer is design to analyze traces, log files, ETW and other system diagnostic information to understand an issue or evaluate performance of your system when something is wrong. From talking to Larry, Microsoft Monitoring Agent is design to instrument your service/webapp so you can monitor uptime and response and get live alerts when something is wrong. If you decide your Service is acting up because of something external, you might use Message Analyzer to diagnosis the environment outside your service or web app.
BTW, more info about Message Analyzer on our blog (blogs.technet.com/.../messageanalyzer).
How to collect IntelliTrace date for Windows Services?
Thanks for the explanation Paul.
@Dronkoff - We only support Windows Services when using System Center at this time. We understand the importance of fully supporting Windows Services. Thank you for your feedback. Please feel free to add this request to our user voice site: visualstudio.uservoice.com/.../121579-visual-studio
I have bunch of questions:
What's the value in this for a real production environment ? Is it only targeted for app devs in dev env or admins without visual studio will have tools as well to see the results if they need to ? ( operations teams don't have VS installed and in some of the enterprise world there is no way devs can access production)
Is it really neccessary to limit the consumption of these trace files to visual studio 2013 ?
Do you guys have public API's to parse info out of these trace files ?
Can I implement something which is built on top of this feature ? ( i.e. if this and that performance or exception, etc event happens for a given app, then do this and that custom alerting or actions )
The Microsoft Monitoring Agent is most certainly targeted for production environments as well as dev/test. We believe that the operations team would take care of installing and running the agent and would hand off the resulting IntelliTrace files to the development team for analysis and problem resolution. Visual Studio is not a requirement for the servers.
The resulting IntelliTrace files can be opened in Visual Studio Ultimate 2012 but you will not see all of the data that was captured with the agent. We added additional capabilities that did not exist in the previous version, such as performance monitoring.
We do not have a public API currently available for parsing an IntelliTrace file and neither do not have support for third party extensions such as those that you mention.
Thank you very much for the interest and the great questions.
Those tracefiles are very important for developers. The VS Professional Editions should be able to open them too.
Trying to install the standalone version on Server 2012 for some evaluation and running into problems. The install gets close to the end then states: Failed to start HealthService service. The event log shows:
The Microsoft Monitoring Agent service terminated with the following service-specific error:
Not a very helpful message, anyone run into this?
The same error here: The Microsoft Monitoring Agent service terminated with the following service-specific error:
%%2164195395 - very intuitive :-D!
Thanks for trying out Microsoft Monitoring Agent. We repro'd the issue you reported - with non-domain joined machines System Center part of the agent reports an error that it has nothing to do and will be shut down. This error message doesn't impact any local collection scenarios. We'll be glad to hear some feedback on those!
We'll appreciate if you can confirm that this were non-domain joined computers and you are always welcome to ask more questions on the forum linked from the original post. We are working on the fix to suppress this error message in the next update and in fact we will do even less impact on the system when local collection mode was enabled.
I'm getting also the "The Microsoft Monitoring Agent service terminated with the following service-specific error:
I can confirm in my case that it is in a non-domain scenario to put the Microsoft Monitoring agent in an image for deployment as part of the provisioning process. Meaning those computers will be joined to the domain later and will connect to a SCOM infrastructure. Is the agent will work as expect in that scenarios ?
Thanks for confirmation! We are working on issue resolution and this message box should not block your scenario.
Once you'll connect your machine with the MMA installed to domain it may be added into SCOM management group and still be used for local mode monitoring. Please see compatibility list for the agent for details: technet.microsoft.com/.../dn465154.aspx
How can we feed Microsoft Monitoring Agent / application monitoring into a larger multiplatform, e.g., HP/BMC, monitoring solution? This would let our global and regional IT operations centers monitor and manage our MS servers/solutions the same as Oracle, SAP, etc.
Microsoft Monitoring Agent is already a part of two larger monitoring solutions: System Center Operations Manager (SCOM) and Application Insights for Visual Studio Online. This post describes using MMA in a stand-alone mode. When MMA is integrated with SCOM there are Connectors and also Orchestrator available to integrate with other service desks and enterprise management tools.