<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Thoughts on ALM, Azure, and Agile by Walter Myers III</title><link>http://blogs.msdn.com/b/walterm/</link><description>Principal Consultant with Microsoft Consulting Services based in Irvine, CA. I blog on Azure and Application Lifecycle Management using Agile techniques.</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>Walkthrough to Configure System Center Management Pack for Windows Azure Fabric Preview for SCOM 2012 SP1 (with a MetricsHub Bonus)</title><link>http://blogs.msdn.com/b/walterm/archive/2013/04/13/first-impressions-on-system-center-management-pack-for-windows-azure-fabric-preview-for-scom-2012-sp1.aspx</link><pubDate>Sat, 13 Apr 2013 18:44:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10410832</guid><dc:creator>Walter Myers III</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/walterm/rsscomments.aspx?WeblogPostID=10410832</wfw:commentRss><comments>http://blogs.msdn.com/b/walterm/archive/2013/04/13/first-impressions-on-system-center-management-pack-for-windows-azure-fabric-preview-for-scom-2012-sp1.aspx#comments</comments><description>&lt;p&gt;The wait is finally over. This is a &lt;b&gt;huge&lt;/b&gt; update to the Azure Management Pack over the one that was released a couple of years ago, which not only monitors Azure applications but storage and virtual machines as well.&amp;#160; You can download the new management pack from &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=38414" target="_blank"&gt;http://www.microsoft.com/en-us/download/details.aspx?id=38414&lt;/a&gt;. Remember that the management pack is currently a preview, and also that it is compatible&lt;strong&gt; only &lt;/strong&gt;with System Center Operations Manager (SCOM) SP1.&amp;#160; Below is the functionality of the management pack from the documentation:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Discovers Windows Azure Cloud services.&lt;/li&gt;    &lt;li&gt;Provides status of each role instance.&lt;/li&gt;    &lt;li&gt;Collects and monitors performance information per role instance.&lt;/li&gt;    &lt;li&gt;Collects and monitors Windows events per role instance&lt;/li&gt;    &lt;li&gt;Collects and monitors the .NET Framework trace messages from each role instance.&lt;/li&gt;    &lt;li&gt;Grooms performance, event, and the .NET Framework trace data from Windows Azure storage.&lt;/li&gt;    &lt;li&gt;Changes the number of role instances.&lt;/li&gt;    &lt;li&gt;Discovers Windows Azure Virtual Machines&lt;/li&gt;    &lt;li&gt;Provides status of each role instance of the Virtual Machine&lt;/li&gt;    &lt;li&gt;Discovers Windows Azure Storage&lt;/li&gt;    &lt;li&gt;Monitors availability and size of each Storage and optionally alerts&lt;/li&gt;    &lt;li&gt;Discover relationships between discovered Azure resources, to see which other resources a particular Azure resource uses. This information is then displayed in a topology dashboard&lt;/li&gt;    &lt;li&gt;Monitors management and cloud service certificates and alerts if the certificates are about to expire&lt;/li&gt;    &lt;li&gt;Includes a new Distributed Application template that lets you create distributed applications that span Azure as well as on-premise resources, for Hybrid monitoring scenarios.&lt;/li&gt;    &lt;li&gt;Includes a set of dashboards for the Hybrid monitoring scenarios&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;In this post, I will provide a quick walkthrough of my experience getting the new management pack up and running. It is impressive, and the product group has promised improvements going forward. So let’s get started.&lt;/p&gt;  &lt;p&gt;After you download the management pack install, which is a .msi file, you will have to run it so it can extract the two management packs, and write them to your file system. Note that the extensions are .mpb and not .mp, and thus are only compatible with SCOM 2012. Recall that management packs have historically been single XML files either in an .xml format or in a binary format with a .mp extension. The new format, which can consist of multiple XML files has a .mpb extension which means “management pack bundle.” Note the path to the management packs which you will need when you import the management packs into SCOM 2012, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3580.image_5F00_09F31EF2.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0434.image_5F00_thumb_5F00_1E786E70.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Launch the SCOM 2012 &lt;strong&gt;Operations Console&lt;/strong&gt; and select the &lt;strong&gt;Administration&lt;/strong&gt; view. Navigate to the &lt;strong&gt;Management Packs&lt;/strong&gt; node and select the &lt;em&gt;Import Management Packs&lt;/em&gt; item from the popup menu, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1817.image_5F00_4BF98E33.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4137.image_5F00_thumb_5F00_4B8D5B3E.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You will now see the &lt;strong&gt;Import Management Packs&lt;/strong&gt; dialog. Select the &lt;strong&gt;Add&lt;/strong&gt; button, which will drop down two selections. Choose the &lt;strong&gt;Add from disk…&lt;/strong&gt; option, as seen below. When you are prompted to search the online catalog, then select the &lt;strong&gt;No&lt;/strong&gt; button.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6710.image_5F00_26FBCDBA.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0250.image_5F00_thumb_5F00_547CED7D.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Locate the management pack bundles and select both, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8360.image_5F00_5DD8B2B1.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0456.image_5F00_thumb_5F00_5242F572.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  Now go ahead and click the &lt;strong&gt;Install&lt;/strong&gt; button that will start the import process, as seen below.&amp;#160; &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4062.image_5F00_4AB78605.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5621.image_5F00_thumb_5F00_54134B39.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Once the import is done for the two management packs, click the &lt;strong&gt;Close&lt;/strong&gt; button.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0246.image_5F00_1A903B42.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5633.image_5F00_thumb_5F00_23EC0076.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In the Search box at the top of the management pack list, enter “azure” and select the &lt;strong&gt;Find Now&lt;/strong&gt; button. It may take a couple of minutes but you should eventually see two management packs:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Microsoft.SystemCenter.WindowsAzure.Dashboard&lt;/li&gt;    &lt;li&gt;Windows Azure&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Verify that the management packs are there, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6786.image_5F00_6A68F07E.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6523.image_5F00_thumb_5F00_7EEE3FFC.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In the old management pack, you head straight to the monitoring wizard, but the new and improved pack works on a subscription boundary so it can discover all of the Azure resources that exist in the subscription. Still, you must select from the available resources the specific resources that you want to monitor. Let’s navigate to the bottom of the &lt;strong&gt;Administration&lt;/strong&gt; explorer view and locate the &lt;strong&gt;Windows Azure&lt;/strong&gt; node. Select the &lt;strong&gt;Add subscription&lt;/strong&gt; link, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3187.image_5F00_67913475.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4645.image_5F00_thumb_5F00_30B6E02F.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You will now be presented with a wizard to configure your Azure subscription. Supply the Subscription GUID, the private key of the management certificate that you have uploaded to the management portal, and the certificate password. I’m presuming you have already installed the private key in your Personal and Trusted Root Certification Authorities certificate stores. If not, please see the instructions in my previous post for SCOM 2007 &lt;a href="http://blogs.msdn.com/b/walterm/archive/2011/06/14/10124437.aspx" target="_blank"&gt;here&lt;/a&gt;. The instructions are pretty much identical, and you will also need to follow the procedure to setup your &lt;strong&gt;Run As&lt;/strong&gt; accounts.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3808.image_5F00_07719F47.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2818.image_5F00_thumb_5F00_62E011C2.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In the next page, you will choose the Proxy Agent, which will be this SCOM server. Select the &lt;strong&gt;Browse…&lt;/strong&gt; button, which will launch the Search dialog.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8863.image_5F00_0537A73C.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7183.image_5F00_thumb_5F00_32B8C6FF.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In the Search dialog, select the &lt;strong&gt;Search&lt;/strong&gt; button, and then select your server in the &lt;em&gt;Available items&lt;/em&gt; results list. Click the &lt;strong&gt;OK&lt;/strong&gt; button when you’re done.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1423.image_5F00_1231874D.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4643.image_5F00_thumb_5F00_54A42983.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now back at the Proxy Agent page, select the &lt;strong&gt;Add subscription&lt;/strong&gt; button.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4478.image_5F00_30129BFF.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3580.image_5F00_thumb_5F00_2FA6690A.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You will see a warning dialog, as seen below. Allow Operations Manager to distribute the accounts by selecting the &lt;strong&gt;Yes&lt;/strong&gt; button. In this case, the accounts will be distributed to the SCOM server.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2500.image_5F00_3D0C7C10.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2084.image_5F00_thumb_5F00_14046DC5.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You’re now done and can select the &lt;strong&gt;Finish&lt;/strong&gt; button.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1004.image_5F00_4F57D383.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2806.image_5F00_thumb_5F00_43C21644.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now you’re back at the Windows Azure configuration page, as seen below. We’re all set now to see what SCOM has discovered in your subscription.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4150.image_5F00_0A3F064D.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5732.image_5F00_thumb_5F00_09D2D358.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Select the &lt;strong&gt;Monitoring&lt;/strong&gt; view in the lower left-hand corner, and then navigate to the &lt;strong&gt;Discovered Cloud Services&lt;/strong&gt; node in the &lt;strong&gt;Azure Resource Inventory&lt;/strong&gt; folder. Your discovered cloud services view should look similar to below. Note that you will have to wait a few minutes for discovery to take place for your subscription. All items in the list will have a “Not monitored” state, which is what we should expect since we have to specifically select what we want to be monitored amongst the resources that have been discovered by SCOM. That is a very nice touch with the new management pack because from the beginning it is conserving resources, allowing you to select what &lt;em&gt;you&lt;/em&gt; desire to actively monitor.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1348.image_5F00_7A32C846.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6786.image_5F00_thumb_5F00_6E9D0B07.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now before we can select what we will monitor, we need to create our own management pack to store information on the resources we decide to monitor. Return to the &lt;strong&gt;Administration&lt;/strong&gt; view, navigate to the &lt;strong&gt;Management Packs&lt;/strong&gt; node and right-click on the node. Select the &lt;em&gt;Create Management Pack&lt;/em&gt; item from the popup menu, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8688.image_5F00_67119B9A.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4555.image_5F00_thumb_5F00_42800E16.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In the &lt;strong&gt;Create a Management Pack&lt;/strong&gt; wizard, specify the name of your management pack, and provide a version number if so desired, as seen below. Select the &lt;strong&gt;Next&lt;/strong&gt; button.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2500.image_5F00_44BC96D2.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6116.image_5F00_thumb_5F00_723DB695.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;On the next page of the wizard, select the &lt;strong&gt;Create&lt;/strong&gt; button. Your management pack will now be created.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4150.image_5F00_66A7F956.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7128.image_5F00_thumb_5F00_2D24E95F.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After a couple of minutes, verify your management pack has been added to the list, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4062.image_5F00_218F2C20.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8863.image_5F00_thumb_5F00_2AEAF154.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now we can begin monitoring specific resources in your subscription.&amp;#160; Select the &lt;strong&gt;Authoring&lt;/strong&gt; view, and navigate to the &lt;strong&gt;Windows Azure Monitoring&lt;/strong&gt; node. Right-click on the node and select the &lt;strong&gt;Add Monitoring Wizard…&lt;/strong&gt; item from the popup menu, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4064.image_5F00_663E5712.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8204.image_5F00_thumb_5F00_7AC3A690.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In the Add Monitoring Wizard, select &lt;strong&gt;Windows Azure Monitoring&lt;/strong&gt; as the monitoring type (yes, it is redundant because that is the very reason you right-clicked on the explorer node previously), and select the &lt;strong&gt;Next&lt;/strong&gt; button.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3173.image_5F00_2844C654.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8284.image_5F00_thumb_5F00_27D8935F.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;On the &lt;strong&gt;General Properties&lt;/strong&gt; page, note that this is different from the SCOM 2007 R2 management pack. This does not map to a specific cloud service, but can be a combination of things you want to monitor with this particular management pack object. It could be any collection of cloud services, virtual machines, or storage, and can be in any combination of staging or production slots. So provide a name appropriate to what you would like to monitor in this monitoring object. Also, select the management pack you created since you will be putting all of your management objects in your own management pack and not the sealed Windows Azure management pack. When you’re done, select the &lt;strong&gt;Next&lt;/strong&gt; button.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4062.image_5F00_5559B322.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7282.image_5F00_thumb_5F00_69DF02A0.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;On the next &lt;strong&gt;Subscription&lt;/strong&gt; page, select your subscription you previously configured, as seen below. Select the &lt;strong&gt;Next&lt;/strong&gt; button.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7380.image_5F00_17602264.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6116.image_5F00_thumb_5F00_40D6F455.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;On the Cloud Services page, select the &lt;strong&gt;Add&lt;/strong&gt; button to add your desired cloud services that you want to monitor in this subscription. You will be presented with a Search page.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8360.image_5F00_406AC160.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4162.image_5F00_thumb_5F00_54F010DE.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Run the search based on the desired criteria. From the available services list, add each to the lower selected services list, as seen below. Select the &lt;strong&gt;OK &lt;/strong&gt;button.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6710.image_5F00_7264F29B.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4087.image_5F00_thumb_5F00_71F8BFA6.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You’re now back to the Cloud Services page, where you will see the cloud services you selected. Select the &lt;strong&gt;Next&lt;/strong&gt; button.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3580.image_5F00_7B5484DA.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3005.image_5F00_thumb_5F00_7AE851E5.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;On the &lt;strong&gt;Virtual machines&lt;/strong&gt; page, you can now select the IaaS Virtual Machines that you have created in your subscription. In the same manner as you selected the cloud services, select your virtual machines.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1030.image_5F00_036BB130.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0755.image_5F00_thumb_5F00_17F100AE.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;When you’re done, you will be back to the &lt;strong&gt;Virtual machines&lt;/strong&gt; page. Select the &lt;strong&gt;Next&lt;/strong&gt; button to continue.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5148.image_5F00_35D21560.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4064.image_5F00_thumb_5F00_07788FB3.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You will now be on the &lt;strong&gt;Storage&lt;/strong&gt; page. In the same manner as you selected cloud services, select the Azure Storage that you would like to monitor. When you’re done, select the &lt;strong&gt;Next&lt;/strong&gt; button.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8204.image_5F00_62E7022E.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5148.image_5F00_thumb_5F00_2559A465.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Finally, you are brought to the Summary page where you can review the objects you have selected for monitoring in your subscription, as seen below. Select the Create button to proceed.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4555.image_5F00_3DE941B5.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4162.image_5F00_thumb_5F00_6DA6EA34.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You will subsequently see your new monitoring object has been created, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2821.image_5F00_30198C6B.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8765.image_5F00_thumb_5F00_449EDBE9.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Let’s now return to the &lt;strong&gt;Monitoring&lt;/strong&gt; view. Navigate to the &lt;strong&gt;Cloud Service State &lt;/strong&gt;node under the &lt;strong&gt;Monitored&lt;/strong&gt; &lt;strong&gt;Azure Resources &lt;/strong&gt;folder. You will see here the cloud services you have selected for monitoring. Note that we came here instead of the &lt;strong&gt;Discovered Cloud Services&lt;/strong&gt; node because this node is in the folder that only presents the monitored Azure resources we previously selected. The &lt;strong&gt;Discovered Cloud Services&lt;/strong&gt; will simply display everything that has been discovered.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8267.image_5F00_6E916556.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8664.image_5F00_thumb_5F00_09C9BE58.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If we head back to the &lt;strong&gt;Discovered Cloud Services&lt;/strong&gt; node, we will see all of the discovered cloud services. Note that just as above, I have three cloud services that are now being monitored, but two have a critical state. Let’s investigate the cause of the critical state.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8371.image_5F00_721FFBAC.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4087.image_5F00_thumb_5F00_1FA11B70.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Right-click on one of the critical state items, select &lt;em&gt;Open&lt;/em&gt; in the popup menu, and then select &lt;em&gt;Health Explorer for &amp;lt;cloud_service_name&amp;gt;&lt;/em&gt; in the secondary popup menu.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8206.image_5F00_278EDD8E.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6622.image_5F00_thumb_5F00_70B48947.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You will now see the Health Explorer, which can provide specific details regarding where you may have problems with a given object you are monitoring. By default, the view is scoped to unhealthy child monitors (note the scoping in the yellow section immediately above the Health Explorer nodes), and we can see at the bottom of the explorer that it has found my expired certificate which caused it to go into a critical state soon after the object was first monitored.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4682.image_5F00_70409565.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8308.image_5F00_thumb_5F00_2B93FB24.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If&amp;#160; I go ahead and delete the scope to unhealthy child monitors by selecting the “x” next to “Scope is only unhealthy child monitors,” we find even more information on the cloud service, as seen below. Let’s go ahead and close the Health Explorer and go back to the Operations Console (this is a separate window, so closing it won’t close the Operations Console).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6874.image_5F00_306D55FC.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7776.image_5F00_thumb_5F00_24D798BD.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Another way to find out the problem is to check the alerts.&amp;#160; Let’s navigate to the &lt;strong&gt;Active Alerts&lt;/strong&gt; node under the &lt;strong&gt;Windows Azure&lt;/strong&gt; folder, as seen below. Notice that the alert tells us the service certificate for this hosted (cloud) service will expire soon. This is a great new feature of the SCOM 2012 SP1 Azure management pack! All I have to do is update the service certificate and my cloud service state will turn back to green. Impressive!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7282.image_5F00_070A2E8D.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3808.image_5F00_thumb_5F00_2D6C11D8.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Let’s now navigate to the &lt;strong&gt;Storage State&lt;/strong&gt; node under the &lt;strong&gt;Monitored Azure Resources&lt;/strong&gt; folder. Note that we have a healthy storage account.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7776.image_5F00_21D65499.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1016.image_5F00_thumb_5F00_365BA417.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Finally, let’s navigate to the &lt;strong&gt;Virtual Machine&lt;/strong&gt; &lt;strong&gt;State&lt;/strong&gt; node under the &lt;strong&gt;Monitored Azure Resources&lt;/strong&gt; folder. Note that we are monitoring healthy virtual machines. One thing to note here is that the management pack does &lt;strong&gt;not&lt;/strong&gt; look at any resources running on the virtual machines such as SQL Server or IIS. This is purely for the overall health of the server itself, and not any installed features or server programs running on the server. If you want that functionality, you will have add these servers to a Virtual Network so that you have IP-level connectivity and can monitor them just as you would an on-premises server. That would also mean adding the appropriate service packs for programs you would like to monitor such as SQL Server 2008/2012 or IIS.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3808.image_5F00_11CA1693.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3566.image_5F00_thumb_5F00_5847069B.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Let’s now go to the Health Explorer for one of the virtual machines, and clear the scope for only unhealthy child monitors. When we expand the &lt;strong&gt;Performance&lt;/strong&gt; node, notice that there are two performance counter monitors. Unfortunately, this is a &lt;strong&gt;bug&lt;/strong&gt; and these monitors should not have been enabled. I know, what a disappointment and I have no idea what it actually is monitoring but I’m trying to find out and will report back when I do. What &lt;em&gt;is&lt;/em&gt; working here is the &lt;strong&gt;Availability&lt;/strong&gt; monitor, even though the &lt;strong&gt;Performance&lt;/strong&gt; monitors are not.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5722.image_5F00_6CD887F2.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4657.image_5F00_thumb_5F00_6142CAB3.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;It’s not like this can’t be done because &lt;a href="https://www.metricshub.com/" target="_blank"&gt;MetricsHub&lt;/a&gt; (an Azure-based Azure application monitoring and cost-optimization solution recently acquired by Microsoft) does it by providing an &lt;a href="https://www.metricshub.com/onboarding/agent" target="_blank"&gt;agent&lt;/a&gt; that you have to manually install on the virtual machine. The agent provides a secure, encrypted public service endpoint that allows MetricsHub to read the performance counters, displaying CPU, Network (Received/Sent), Memory, and Disk (Free Space/Read/Write) performance counters by default in its portal. SCOM can already distribute its own agent to on-premises servers, and to virtual machines that participate in an Azure virtual network and have a VPN connection established.&amp;#160; The VPN connection established from on-premises to a virtual network makes IP-level connectivity to servers in the virtual network seamless. So there is no reason SCOM can’t adopt the same model as MetricsHub for virtual machines that don’t participate in a virtual network coupled with VPN. Until SCOM provides this functionality by providing an agent and updating the management pack to call the agent, you may want to take a look at MetricsHub to augment your monitoring of Azure applications and virtual machines. Out of the box, MetricsHub can display the following counters (the bold ones map to those mentioned above):&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;LogicalDisk\% Free Space&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;LogicalDisk\Disk Read Bytes/Sec&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;LogicalDisk\Disk Write Bytes/Sec&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Memory\% Physical Memory&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;NetworkInterface\Bytes Received/sec&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;NetworkInterface\Bytes Sent/sec&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;Process\% Processor Time&lt;/li&gt;    &lt;li&gt;Process\IO Read Bytes/sec&lt;/li&gt;    &lt;li&gt;Process\IO Write Bytes/sec&lt;/li&gt;    &lt;li&gt;Process\Working Set – Private&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Processor\% Processor Time&lt;/strong&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I won’t walk through the setup of MetricsHub because it is pretty easy to setup. You will have to go the Windows Azure Store in the management portal to add it, and the best thing is it is currently free. Below in the MetricsHub portal you see a virtual machine that has not yet been configured for monitoring by MetricsHub. You can select the link to download the Agent that must be installed on the virtual machine, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4188.image_5F00_3403923F.png"&gt;&lt;img title="image" style="margin: 0px; display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2626.image_5F00_thumb_5F00_186196FA.png" width="644" height="430" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After you click the button to install the Agent, you will be provided with instructions to download the MetricsHub Agent and get it installed on your virtual machine, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5265.image_5F00_4C95C040.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1452.image_5F00_thumb_5F00_2E4B094A.png" width="435" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;About 30 minutes after installing the Agent, voila! You now have actual, working performance counters for your virtual machine. Some of these performance counters are the same as those presented in the Azure management portal, but you get those and even more from MetricsHub.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6724.image_5F00_45791479.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8484.image_5F00_thumb_5F00_14E596C1.png" width="644" height="407" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you want to add additional counters to the display, select the &lt;strong&gt;Create Chart…&lt;/strong&gt; button on the same page and you will be presented with a dialog that allows you to select the other available out-of-box performance counters.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2185.image_5F00_1002E305.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0842.image_5F00_thumb_5F00_668EA1C4.png" width="644" height="430" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you want to add additional counters, there is a configuration file named &lt;strong&gt;MetricsHub.Diagnostics.Monitor.exe.config&lt;/strong&gt; provided with the agent that has all of the out-of-box counters, so you can use these as templates to add any valid performance counters you wish. Below is a screen shot of section in the configuration file for setting up performance counters.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5466.image_5F00_0D1DAACB.png"&gt;&lt;img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7838.image_5F00_thumb_5F00_337F8E16.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;That ends our walkthrough for now, but we will be looking into finding more information on the new management pack. Stay tuned for much more to come on SCOM 2012 SP1 and Azure. We’re just getting started!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10410832" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/walterm/archive/tags/SCOM/">SCOM</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Windows+Azure/">Windows Azure</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Operations+Console/">Operations Console</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/System+Center+Operations+Manager+2012+SP1/">System Center Operations Manager 2012 SP1</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/SCOM+2012+SP1/">SCOM 2012 SP1</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Management+Pack/">Management Pack</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/SCOM+Monitoring/">SCOM Monitoring</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/MetricsHub/">MetricsHub</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/MetricsHub+Agent/">MetricsHub Agent</category></item><item><title>Setting Up an Alert for Hosted Service State Changes in SCOM 2007 R2</title><link>http://blogs.msdn.com/b/walterm/archive/2013/02/19/setting-up-an-alert-for-hosted-service-state-change.aspx</link><pubDate>Tue, 19 Feb 2013 21:45:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10395351</guid><dc:creator>Walter Myers III</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/walterm/rsscomments.aspx?WeblogPostID=10395351</wfw:commentRss><comments>http://blogs.msdn.com/b/walterm/archive/2013/02/19/setting-up-an-alert-for-hosted-service-state-change.aspx#comments</comments><description>&lt;p&gt;I’m posting this by request from a customer who desires to setup an alert when a hosted service changes its state. The process is fairly straightforward, provided you know where to look. In the screenshot below, we have a hosted service (in my case, eponymously named &lt;em&gt;walterm&lt;/em&gt;), that is currently healthy. What we want is to generate an alert if the health state of this service changes.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3362.image_5F00_607D4E0D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7485.image_5F00_thumb_5F00_51D2A228.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;By default, there is already an “out of the box” monitor at the Windows Azure role level which you will find in the &lt;strong&gt;Monitors&lt;/strong&gt; view of the &lt;strong&gt;Authoring&lt;/strong&gt; pane. Navigate to Windows Azure Role | Entity Health | Availability, as seen below. There you will find the monitor titled &lt;em&gt;Role Instance Availability Dependency&lt;/em&gt;. Right-click on this item and select the Properties page.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0638.image_5F00_775F514F.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2476.image_5F00_thumb_5F00_1297AA51.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;On the Properties page, choose the &lt;strong&gt;Alerting&lt;/strong&gt; tab, where you can verify that by default the alerts are being generated for this monitor, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2772.image_5F00_6AF12E26.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3463.image_5F00_thumb_5F00_6365BEB9.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now if you want to create an individual monitor at the role instance level (whether for all role instances or for individual hosted services) then you can override the out of the box monitor already at that level, which doesn’t generate alerts by default. For our example, we will navigate to the general Windows Azure Role Instance for a specific hosted service, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8540.image_5F00_22C3724A.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7673.image_5F00_thumb_5F00_622125DA.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Right-click on the &lt;em&gt;Windows Azure Role Instance Status Monitor&lt;/em&gt; item and select the Properties page. If you don’t see it, scroll down to the &lt;em&gt;Generates Alert&lt;/em&gt; parameter name, as seen below. Change the &lt;em&gt;Override Value&lt;/em&gt; to “True.”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0317.image_5F00_4F6C2C23.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2870.image_5F00_thumb_5F00_2EE4EC71.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Next, if you don’t see the &lt;em&gt;Enforced&lt;/em&gt; column, scroll horizontally until you see it and select &lt;em&gt;Enforced&lt;/em&gt; for this monitor, as seen below. When you’re done, select the &lt;strong&gt;Apply&lt;/strong&gt; button, and then select the &lt;strong&gt;OK&lt;/strong&gt; button.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6661.image_5F00_40554D49.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4024.image_5F00_thumb_5F00_4DBB604F.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Let’s now right-click on the monitor you just modified, and from the flyout menu select Overrides | Override the Monitor | For all objects of class: Windows Azure Role Instance (&lt;em&gt;your_hosted_service_name&lt;/em&gt;).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4353.image_5F00_78348573.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8176.image_5F00_thumb_5F00_0BE16F08.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You will now see the override you just created, as seen below. Go ahead and select the &lt;strong&gt;Close&lt;/strong&gt; button.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2867.image_5F00_2614E425.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5826.image_5F00_thumb_5F00_3EA48175.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We will now go to the Windows Azure management portal and stop the service we desire to test, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7455.image_5F00_27CE761B.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6355.image_5F00_thumb_5F00_66BFF6B6.png" width="644" height="455" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;When we return to the SCOM console and select the &lt;strong&gt;Hosted Service State&lt;/strong&gt; node for our management pack, after a few minutes the service state will change to critical, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4024.image_5F00_6EEB562B.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0724.image_5F00_thumb_5F00_35684634.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Shortly after the state change, alerts will show up in the &lt;strong&gt;Active Alerts&lt;/strong&gt; view, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5428.image_5F00_5BCA297F.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7658.image_5F00_thumb_5F00_3423AD55.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If we now select an alert with the name &lt;em&gt;Windows Azure role is not running&lt;/em&gt;, we can see that this alert was generated at the level of Windows Azure role, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2364.image_5F00_0872E359.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0726.image_5F00_thumb_5F00_39FE50EE.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If our role instance level override was setup properly, we should also see a similar alert with the name &lt;em&gt;Microsoft.SystemCenter.Azure.RoleInstance.Status.Monitor&lt;/em&gt;. This is the alert we previously (and successfully) configured, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0317.image_5F00_1977113C.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5584.image_5F00_thumb_5F00_2AE77214.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10395351" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/walterm/archive/tags/SCOM+2007+R2/">SCOM 2007 R2</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Alerts/">Alerts</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Unit+Monitors/">Unit Monitors</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Windows+Azure/">Windows Azure</category></item><item><title>Creating Unit Monitors for Windows Azure Performance Counters in SCOM 2007 R2</title><link>http://blogs.msdn.com/b/walterm/archive/2012/05/24/generating-alerts-with-unit-monitors-in-scom-2007-r2.aspx</link><pubDate>Wed, 23 May 2012 23:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10309689</guid><dc:creator>Walter Myers III</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/walterm/rsscomments.aspx?WeblogPostID=10309689</wfw:commentRss><comments>http://blogs.msdn.com/b/walterm/archive/2012/05/24/generating-alerts-with-unit-monitors-in-scom-2007-r2.aspx#comments</comments><description>&lt;p&gt;Monitors are powerful management pack objects in SCOM. In the Operations Manager documentation, a monitor is described in the following manner: “monitors can be used to assess various conditions that can occur in monitored objects. For example, a monitor can be used to assess the values of a performance counter, the existence of an event, the occurrence of data in a log file, the status of a Windows Service, or the occurrence of a Simple Network Management Protocol (SNMP) trap. The result of this assessment determines the health state of a target and the alerts that are generated.” So basically, we use monitors to watch for certain events on a monitored object, assess the health state of that object, and then generate an alert if required based on that assessment.&lt;/p&gt;  &lt;p&gt;In this post, we will create a simple unit monitor based on a performance counter to determine if any role instance of a Windows Azure application has CPU utilization above a specified threshold. If so, it will generate an alert. The idea is to simply respond to specific conditions met by a performance metric using a Unit Monitor. Since SCOM has no knowledge of Windows Azure data sources, we will have to leverage the Authoring Console so we can properly set our data source and then create the monitor. In this post, we will create our own unit monitor that will generate an alert if we have three consecutive samples of processor utilization above 80%. Alternatively, we could simply modify the existing Total CPU Utilization Percentage monitor by overriding the existing processor utilization threshold and adding a diagnostic or recovery task. But for learning purposes this exercise shows you how to do it yourself.&lt;/p&gt;  &lt;p&gt;Below you will see that we have the Authoring Console running, and have loaded our management pack previously exported from the Operations Console. For your reference, here are some probable locations of the references the Authoring Console will most likely ask you to resolve before it loads your management pack:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Microsoft.SqlServer.SqlAzure&lt;/strong&gt;: C:\Program Files\System Center Operations Manager 2007 &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Microsoft.SystemCenter.WebApplication.Library&lt;/strong&gt;: C:\Program Files (x86)\System Center 2007 R2 Hotfix Utility\KB2495674\ManagementPacks &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Microsoft.SystemCenter.Azure&lt;/strong&gt;: C:\Program Files (x86)\System Center Management Packs\Monitoring Pack For Windows Azure Applications &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;In the &lt;strong&gt;Health Model&lt;/strong&gt; view, select the &lt;strong&gt;Monitors&lt;/strong&gt; node, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5875.image_5F00_7A3CF2EF.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3225.image_5F00_thumb_5F00_2751DFBE.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Expand the &lt;em&gt;Windows Azure Role Instance&lt;/em&gt; node in the Monitors pane, and then the &lt;em&gt;Performance&lt;/em&gt; node, which will have the two out of box monitors listed, as seen below (you will also see two below that I have already added). The out of box monitors are disabled by default (and thus you will see the icons are grayed), but you can enable them by using an override in the Operations Console. Go ahead and right-click on the &lt;em&gt;Performance&lt;/em&gt; node, and then select &lt;em&gt;New | Custom Unit Monitor…&lt;/em&gt; from the popup menu.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8270.image_5F00_66436059.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5543.image_5F00_thumb_5F00_454FEDB2.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now you will be asked to give the monitor a unique identifier, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5875.image_5F00_4F34DF1D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5852.image_5F00_thumb_5F00_7C49CBEB.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You will next see the configuration dialog with the &lt;strong&gt;General&lt;/strong&gt; tab presented. It is already setup with the ID, Target, and Parent Monitor. So just provide a name and description as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5810.image_5F00_5A7E92D5.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8030.image_5F00_thumb_5F00_3D956E00.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Select the &lt;strong&gt;Configuration&lt;/strong&gt; tab, as seen below. Before you can proceed, you must select a unit monitor type. Select the &lt;em&gt;Browse for a type…&lt;/em&gt; link as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1425.image_5F00_5861940C.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3755.image_5F00_thumb_5F00_77A43ADF.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You will now see a dialog that allows you to select your unit monitor type, but you must first narrow your choices down to the unit monitor types in the Windows Azure management pack. So just type “azure” in the &lt;em&gt;Look for:&lt;/em&gt; textbox. Your choices for unit monitor types are:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Windows Azure Event Log Simple Monitor Type &lt;/li&gt;    &lt;li&gt;Windows Azure Performance Counter Simple Monitor Type &lt;/li&gt;    &lt;li&gt;Windows Azure Role Instance Status Monitor Type &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Select the second of the three listed above, as seen below. Then click the &lt;strong&gt;OK&lt;/strong&gt; button.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7360.image_5F00_6FAC987D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0447.image_5F00_thumb_5F00_59E2B020.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You will now see the desired configuration, where you will need to enter the appropriate values. Enter the values below, but don’t hit the &lt;strong&gt;OK&lt;/strong&gt; button yet because we need to add additional values manually.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Interval Seconds&lt;/strong&gt;: 300 &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Timeout Seconds&lt;/strong&gt;: 120 &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;CounterName&lt;/strong&gt;: % Processor Time &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;ObjectName&lt;/strong&gt;: Processor &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Threshold&lt;/strong&gt;: 80 &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Direction&lt;/strong&gt;: greater &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;NumSamples&lt;/strong&gt;: 3 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1680.image_5F00_7FD86076.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6712.image_5F00_thumb_5F00_4D085A02.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now you need to select the &lt;strong&gt;Edit…&lt;/strong&gt; button so we can add additional important configuration parameters, namely &lt;em&gt;InstanceName&lt;/em&gt; and &lt;em&gt;AllInstances&lt;/em&gt;. Be precise as below, or the editor won’t like it when you try to save the configuration. Save the configuration from the &lt;em&gt;File&lt;/em&gt; menu and close the editor.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7206.image_5F00_7E2794A2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0028.image_5F00_thumb_5F00_4B578E2E.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now we have our final configuration, as seen below. Let’s next select the &lt;strong&gt;Health&lt;/strong&gt; tab.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5228.image_5F00_11684B42.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8468.image_5F00_thumb_5F00_49A6C25A.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;On the &lt;strong&gt;Health&lt;/strong&gt; tab, enter your desired text in the &lt;em&gt;Operational State&lt;/em&gt; fields. Select &lt;strong&gt;Critical&lt;/strong&gt; for the condition True health state, and select &lt;strong&gt;Healthy&lt;/strong&gt; for the condition False health state, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0458.image_5F00_28B34FB3.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4670.image_5F00_thumb_5F00_79ED9710.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Next, we want to setup our alert. Select the “&lt;em&gt;Generate alerts for this monitor&lt;/em&gt;” checkbox. Choose “&lt;em&gt;The monitor is in a critical health state&lt;/em&gt;” from the dropdown box below. Leave the “&lt;em&gt;Automatically resolve the alert when the monitor returns to a healthy state&lt;/em&gt;” checkbox checked. In the &lt;em&gt;Alert name&lt;/em&gt; textbox, enter text indicative of the alert. Leave the &lt;em&gt;Priority&lt;/em&gt; and &lt;em&gt;Severity&lt;/em&gt; dropdowns as they are. Now, select the ellipsis next to the &lt;em&gt;Alert description&lt;/em&gt; textbox, which will display the &lt;strong&gt;Alert Description&lt;/strong&gt; dialog.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8054.image_5F00_58FA2469.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3681.image_5F00_thumb_5F00_5821BE7F.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In the Alert Description dialog, clear out the existing text. From the &lt;strong&gt;Data&lt;/strong&gt; button, select the &lt;em&gt;Value&lt;/em&gt; item in the flyout menu. This will then insert the &lt;em&gt;$Data/Context/Value$&lt;/em&gt; parameter in the text box. This value will provide the number of samples, but you also want the sample value which represents the processor percentage. That actually is &lt;em&gt;$Data/Context/SampleValue$&lt;/em&gt;, but it isn’t in the flyout menu. What I did was to just cheat and grab the text from the out of box &lt;em&gt;CPU Utilization Percentage&lt;/em&gt; monitor, which is as follows:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The threshold for the Processor\% Processor Time\_Total performance counter has been exceeded for $Data/Context/Value$ samples with last value that exceeded the threshold being $Data/Context/SampleValue$.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;For a great list of variables, please see Kevin Holman’s blog &lt;a href="http://blogs.technet.com/b/kevinholman/archive/2007/12/12/adding-custom-information-to-alert-descriptions-and-notifications.aspx" target="_blank"&gt;here&lt;/a&gt;, where he indicates the difference between the &lt;em&gt;Value&lt;/em&gt; and &lt;em&gt;SampleValue&lt;/em&gt; variables we are working with. Another great place to check out for variables is Ben Oostdam’s blog &lt;a href="http://oostdam.info/index.php/sectie-blog/47-scom-2007-r2/267-scom-alert-parameter-summary" target="_blank"&gt;here&lt;/a&gt;. When you’re done, select the &lt;strong&gt;OK&lt;/strong&gt; button.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5165.image_5F00_502A1C1D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7416.image_5F00_thumb_5F00_3655E5EE.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Your dialog should now look similar to below. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2110.image_5F00_15627347.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2022.image_5F00_thumb_5F00_297B8FD0.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Finally, select the &lt;strong&gt;Options&lt;/strong&gt; tab so this will be properly categorized when you setup notifications. Select the &lt;em&gt;PerformanceHealth&lt;/em&gt; radio button. When you’re done, select the &lt;strong&gt;OK&lt;/strong&gt; button.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1121.image_5F00_0C926AFB.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7318.image_5F00_thumb_5F00_39A757C9.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You should now see your unit monitor as below, and you’re ready to export the management pack to your management group. We have covered this in other blogs, so I won’t show how to do it here.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3312.image_5F00_620962C7.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7610.image_5F00_thumb_5F00_4C3F7A6A.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You can see how to setup notifications in the Operations Console based on alerts in my &lt;a href="http://blogs.msdn.com/b/walterm/archive/2011/08/19/scom-2007-r2-event-log-alerting-and-monitoring-for-azure-applications.aspx" target="_blank"&gt;SCOM 2007 R2 Event Log Alerting and Monitoring for Azure Applications&lt;/a&gt; blog post. Look for the &lt;em&gt;Setting up Notifications in SCOM&lt;/em&gt; section.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10309689" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Performance+Counters/">Performance Counters</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/SCOM+2007+R2/">SCOM 2007 R2</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Unit+Monitors/">Unit Monitors</category></item><item><title>Viewing the Operations Manager Event Log on Your SCOM 2007 R2 or SCOM 2012 Management Server from the Operations Console</title><link>http://blogs.msdn.com/b/walterm/archive/2012/05/22/seeing-the-event-log-on-your-scom-2007-r2-or-scom-2012-server.aspx</link><pubDate>Tue, 22 May 2012 14:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10309140</guid><dc:creator>Walter Myers III</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/walterm/rsscomments.aspx?WeblogPostID=10309140</wfw:commentRss><comments>http://blogs.msdn.com/b/walterm/archive/2012/05/22/seeing-the-event-log-on-your-scom-2007-r2-or-scom-2012-server.aspx#comments</comments><description>&lt;p&gt;In corporate environments, sometimes a SCOM administrator is given access to the Operations Console only through installation on a client machine or through a Citrix session. So they can’t just launch the Event Viewer in order to take a look at the Operations Manager event log. The great news is this doesn’t mean you won’t be able to gain access to the event log on the SCOM management server, which is essential when debugging SCOM issues. So here’s a quick post so you will know how to gain access to the event log directly from the Operations Console. Just select the &lt;strong&gt;Windows Computer&lt;/strong&gt; node in the &lt;strong&gt;Monitoring&lt;/strong&gt; view, as seen below. Locate your SCOM management server in the right-hand pane, and right-click on it. Select &lt;em&gt;Open | Event View&lt;/em&gt; from the popup menu.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2656.image_5F00_0434B24F.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7633.image_5F00_thumb_5F00_230B262D.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Next you will see the &lt;strong&gt;Operations Manager&lt;/strong&gt; event log, which will be the event log on the server you select, whether it be a SCOM management server or an agent-managed computer. This can be seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3857.image_5F00_26D8A318.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1768.image_5F00_thumb_5F00_57F7DDB8.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Hope this helps, as this is often overlooked by those who are not SCOM experts.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10309140" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Event+Log/">Event Log</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/SCOM+2007+R2/">SCOM 2007 R2</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/SCOM+2012/">SCOM 2012</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Operations+Console/">Operations Console</category></item><item><title>Notes on Monitoring Windows Event Logs and Trace Logs in SCOM 2007 R2</title><link>http://blogs.msdn.com/b/walterm/archive/2012/05/11/monitoring-windows-event-logs-and-trace-logs-in-scom-2007-r2.aspx</link><pubDate>Fri, 11 May 2012 18:42:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10304341</guid><dc:creator>Walter Myers III</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/walterm/rsscomments.aspx?WeblogPostID=10304341</wfw:commentRss><comments>http://blogs.msdn.com/b/walterm/archive/2012/05/11/monitoring-windows-event-logs-and-trace-logs-in-scom-2007-r2.aspx#comments</comments><description>&lt;p&gt;In my previous &lt;a href="http://blogs.msdn.com/b/walterm/archive/2012/02/18/visualizing-windows-azure-event-logs-in-scom-2007-r2.aspx" target="_blank"&gt;post&lt;/a&gt;, I showed you how to visualize Windows Azure Event logs in SCOM 2007 R2. I would like to extend this post to add on some of my additional learning of dealing with Event logs, and Trace logs as well. First, I want to show how to split out event log errors from warnings. Second, I want to show how to visualize Trace logs as well as setup views that will show them individually from Event logs. Third, I want to show how doing all of this applies to notifications. These are not necessarily in any order.&lt;/p&gt;
&lt;h4&gt;Event Log and Trace Log Setup&lt;/h4&gt;
&lt;p&gt;In the screenshot below, notice that I have four rules oriented around event logs and trace logs:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4213.image_5F00_0EAE6167.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2475.image_5F00_thumb_5F00_34A411BD.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In the first two rules highlighted above for event logs, I have added a filter for &lt;strong&gt;Errors&lt;/strong&gt; and &lt;strong&gt;Warnings, &lt;/strong&gt;respectively. This means log items of others will be filtered out, so the reason for creating these is primarily for notification purposes. Recall in the previous post in the &lt;strong&gt;Authoring Console&lt;/strong&gt; we created a Condition Detection filter that showed how to filter on certain event log channels, so I won&amp;rsquo;t go through all of the steps again since you can refer to that post. Below, I show how you can alternatively setup a filter for an Error, Warning, or any other type of event. It will translate these into the correct values, so don&amp;rsquo;t worry if the ordinal doesn&amp;rsquo;t match up with the event level ordinals you may have seen on various MSDN or TechNet pages.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5734.image_5F00_0CCAFAE2.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3583.image_5F00_thumb_5F00_5D4C6648.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;One other thing that you need to be sure to do when setting up an Event log rule for Windows Azure is to go to the &lt;strong&gt;Options&lt;/strong&gt; tab of your rule editor and select the &lt;em&gt;EventCollection&lt;/em&gt; category.&amp;nbsp; The reason we have to do this is because when we create a rule for Windows Azure, we always create a custom rule, so we have to categorize this particular type in order to be able to visualize in the Event View, as seen below. If you don&amp;rsquo;t, then when you attempt to setup an Event View to show items generated by specific rules, your rule won&amp;rsquo;t show up.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6560.image_5F00_58F537BC.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1778.image_5F00_thumb_5F00_787461C4.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In order to verify that you have the proper rule category setup in the &lt;strong&gt;Operations Console&lt;/strong&gt;, just open your rule and verify in the editor as seen below. If the rule category still has &amp;ldquo;Custom", then go ahead and change the rule category to Event Collection here.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2350.image_5F00_74636C51.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8524.image_5F00_thumb_5F00_305F883A.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In the third and fourth rules mentioned above, these will respectively bring in all Event log and Trace log items unfiltered for visualizing in SCOM Event Views. One point I want to make here is that in the rule editor there is a different data source for Event logs than for Trace Logs. Notice your choices as seen below, after narrowing down the list by typing &amp;ldquo;azure&amp;rdquo; in the &lt;em&gt;Look for:&lt;/em&gt; textbox. You will see separate items as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Windows Azure Role Instance .NET Trace Collection Simple Data Source&lt;/li&gt;
&lt;li&gt;Windows Azure Role Instance Event Log Collection Simple Data Source&lt;/li&gt;
&lt;li&gt;Windows Azure Role Instance .Performance Counter Collection Simple Data Source&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0268.image_5F00_64D034B5.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4478.image_5F00_thumb_5F00_1FB7677F.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So all you have to do is choose the right data source, assure that you have selected the right rule category, and you will have the full event and trace logs at your disposal when creating an Event View for your Windows Azure applications and also when you create a new notification subscription.&lt;/p&gt;
&lt;h3&gt;Notification Subscriptions&lt;/h3&gt;
&lt;p&gt;If your event and trace logs are setup properly above, then setting up notifications are straightforward, provided you have also properly setup your Channels and Subscriptions as described in my blog post &lt;a href="http://blogs.msdn.com/b/walterm/archive/2011/08/19/scom-2007-r2-event-log-alerting-and-monitoring-for-azure-applications.aspx" target="_blank"&gt;SCOM 2007 R2 Event Log Alerting and Monitoring for Azure Applications&lt;/a&gt;, in the &lt;em&gt;Setting up Notifications in SCOM&lt;/em&gt; section. In the screenshot below, I am setting up a notification subscription in the &lt;strong&gt;Administration&lt;/strong&gt; view under the &lt;em&gt;Subscriptions&lt;/em&gt; node.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4505.image_5F00_7285E51A.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5340.image_5F00_thumb_5F00_235876B9.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When you click the &lt;strong&gt;Next&lt;/strong&gt; button, you would select the &lt;em&gt;created by specific rules or monitors (e.g., sources)&lt;/em&gt; checkbox, and then select the specific rules that will generate your notifications. So you would click on the &lt;em&gt;specific&lt;/em&gt; link as seen below.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1462.image_5F00_345CA49C.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7317.image_5F00_thumb_5F00_657BDF3C.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Once you select the &lt;em&gt;specific&lt;/em&gt; link, you would then select your management pack in the &lt;em&gt;Management pack:&lt;/em&gt; dropdown, scroll down to your rule, and then double-click it or select the Add button to add it to the &lt;em&gt;Selected rules and monitors:&lt;/em&gt; list box as seen below.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7206.image_5F00_00480549.png"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5722.image_5F00_thumb_5F00_186B6FA4.png" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So there. You should be all set now with respect to Event and Trace logs in terms of displaying them and setting up notifications, given the proper setup we discussed. Please feel free to post any comments or questions!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10304341" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Event+Log/">Event Log</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/SCOM+2007+R2/">SCOM 2007 R2</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Alerts/">Alerts</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Windows+Azure/">Windows Azure</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Trace+Log/">Trace Log</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Notifications/">Notifications</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Rule+Category/">Rule Category</category></item><item><title>Visualizing Windows Azure Event Logs in SCOM 2007 R2</title><link>http://blogs.msdn.com/b/walterm/archive/2012/02/18/visualizing-windows-azure-event-logs-in-scom-2007-r2.aspx</link><pubDate>Sat, 18 Feb 2012 07:35:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10269298</guid><dc:creator>Walter Myers III</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/walterm/rsscomments.aspx?WeblogPostID=10269298</wfw:commentRss><comments>http://blogs.msdn.com/b/walterm/archive/2012/02/18/visualizing-windows-azure-event-logs-in-scom-2007-r2.aspx#comments</comments><description>&lt;p&gt;In this blog, I will demonstrate how to visualize event logs in SCOM 2007 R2. Even though the Windows Azure Management Pack &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=11324" target="_blank"&gt;documentation&lt;/a&gt; says that the management pack “collects and monitors Windows events,” it doesn’t simply collect them on its own. It will only collect them if you create an event collection rule to collect them. In order to create any rule for Windows Azure, as we have seen in previous posts, you must either modify your management pack manually, or leverage the trusty Authoring Console, which ships with the System Center Operations Manager 2007 R2 Authoring Resource Kit which can be downloaded &lt;a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=18222" target="_blank"&gt;here&lt;/a&gt;. I will assume you have read my &lt;a href="http://blogs.msdn.com/b/walterm/archive/2011/03/18/configuring-azure-diagnostics-performance-counter-monitoring-in-scom-2007-r2.aspx" target="_blank"&gt;previous blog&lt;/a&gt; on configuring performance counter rules that shows in the beginning how to export your management pack and open it in the Authoring Console (there is a gotcha I pointed out regarding CU4 that I believe has been fixed in CU5, but haven’t checked it out yet).&lt;/p&gt;  &lt;p&gt;So presuming you now have your management pack loaded in the Authoring Console, and you are in the &lt;strong&gt;Health Model&lt;/strong&gt; view, and your &lt;strong&gt;Actions&lt;/strong&gt; pane is visible, in the right-hand corner you will need to select the &lt;strong&gt;New&lt;/strong&gt; link and &lt;em&gt;Custom Rule…&lt;/em&gt; from the fly out menu as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1106.SNAGHTML5a1d1fb_5F00_01B68F82.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML5a1d1fb" border="0" alt="SNAGHTML5a1d1fb" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2260.SNAGHTML5a1d1fb_5F00_thumb_5F00_531060D2.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You will now see a dialogue asking you to complete the unique identifier for your rule. Tack on something like “EventLogRule” and then press &lt;strong&gt;OK&lt;/strong&gt;, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3125.SNAGHTML5a219f3_5F00_03573589.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML5a219f3" border="0" alt="SNAGHTML5a219f3" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5367.SNAGHTML5a219f3_5F00_thumb_5F00_7538468B.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You should now see the dialog below that will allow you to configure your event collection rule. But there is a decision point here. You can either select a &lt;em&gt;specific&lt;/em&gt; Windows Azure Role Instance from the &lt;em&gt;Target&lt;/em&gt; dropdown, as seen below…&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8154.SNAGHTML5b77137_5F00_2C9E57BA.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML5b77137" border="0" alt="SNAGHTML5b77137" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7484.SNAGHTML5b77137_5F00_thumb_5F00_77451F87.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Or you can select the &lt;em&gt;Browse all classes…&lt;/em&gt; item and then select the generic Windows Azure Role Instance, as seen below…&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7140.SNAGHTML5bc3927_5F00_0770E781.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML5bc3927" border="0" alt="SNAGHTML5bc3927" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2248.SNAGHTML5bc3927_5F00_thumb_5F00_2ADD6619.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you select an individual role instance, then you will have to create a rule for &lt;em&gt;each &lt;/em&gt;of your applications. If you select the generic Windows Azure Role Instance, then this will be inherited by all of your role instances. Which path you decide on depends on your situation, but what you need to consider is if you require conditional filters that will apply to all of your role instances, or if you will vary the conditional filters on a role basis. Even though when you create event views in the Operations Console you can filter on criteria such as &lt;font style="background-color: #ffffff"&gt;&lt;/font&gt;Source, Event Level, and Event Number&lt;font style="background-color: #ffffff"&gt;&lt;/font&gt;, you can only filter on the name of the event log (e.g., Application or System) within the event rule filter itself. But if you don’t create a filter in the Authoring Console, you won’t be able to create one in the Operations Console and will have to go back to the Authoring Console to add the filter. Also, when you create a filter, it &lt;em&gt;constrains&lt;/em&gt; what is actually collected, and whenever you make changes the changes only apply moving forward and not retroactively. I know, what a pain.&lt;/p&gt;  &lt;p&gt;What I decided to do for this exercise was to use the generic role instance, and to go ahead and add a criteria filter in the Authoring Console to capture both System and Application event logs. That way, I can modify in the Operations Console at a later time. &lt;font color="#ff0000"&gt;&lt;em&gt;Be forewarned that&lt;/em&gt;&lt;/font&gt; &lt;em&gt;&lt;font color="#ff0000"&gt;if you make a change to the event rule filter in the Operations Console, even if from an individual role instance, then your change will apply to the base as well as all other instances&lt;/font&gt;&lt;/em&gt;. So it may work better for you to create these rules on an &lt;em&gt;individual&lt;/em&gt; role instance level. Now that we have that established, you can see below on the &lt;strong&gt;General&lt;/strong&gt; tab where I selected the base role instance so this would propagate to all role instances.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0247.SNAGHTML5cd1d5d_5F00_09118D88.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML5cd1d5d" border="0" alt="SNAGHTML5cd1d5d" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3858.SNAGHTML5cd1d5d_5F00_thumb_5F00_3F3305D7.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now click on the &lt;strong&gt;Modules&lt;/strong&gt; tab, as seen below, and let’s create our Windows Azure data source by selecting the &lt;em&gt;Create…&lt;/em&gt; button below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5078.SNAGHTML5cec34c_5F00_6B6F8CBB.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML5cec34c" border="0" alt="SNAGHTML5cec34c" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6562.SNAGHTML5cec34c_5F00_thumb_5F00_1A05959E.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Type “azure” in the &lt;em&gt;Look for:&lt;/em&gt; textbox to narrow down the search, select the &lt;em&gt;Windows Azure Role Instance Event Log Collection Simple Data Source&lt;/em&gt; item in the list box, and type in “AzureDS” as your &lt;em&gt;Module ID&lt;/em&gt;. Select &lt;strong&gt;OK&lt;/strong&gt; when you’re done.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7380.SNAGHTML5d03917_5F00_516BA6CC.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML5d03917" border="0" alt="SNAGHTML5d03917" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1401.SNAGHTML5d03917_5F00_thumb_5F00_26CFC5EF.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Your screen should now be as seen below. Next select the &lt;strong&gt;Create…&lt;/strong&gt; button in the &lt;em&gt;Actions&lt;/em&gt; area at the bottom.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6366.SNAGHTML5d37a5b_5F00_2BD2039E.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML5d37a5b" border="0" alt="SNAGHTML5d37a5b" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5672.SNAGHTML5d37a5b_5F00_thumb_5F00_1D46E1AC.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You will now be in the &lt;strong&gt;Choose module type&lt;/strong&gt; dialog. Type “event” in the &lt;em&gt;Look for:&lt;/em&gt; textbox in order to narrow your search. &lt;em&gt;Choose Event Data Collection Write Action&lt;/em&gt;, which is the action that will write to the SCOM operational store. Then type “WriteToDB” in the &lt;em&gt;Module ID&lt;/em&gt; textbox. Click the &lt;strong&gt;OK&lt;/strong&gt; button when done.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3286.SNAGHTML5d569b8_5F00_6D3C902A.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML5d569b8" border="0" alt="SNAGHTML5d569b8" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5238.SNAGHTML5d569b8_5F00_thumb_5F00_37E357F8.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now click the &lt;strong&gt;Create…&lt;/strong&gt; button again so we can setup up collection to the SCOM data warehouse. This time, select the &lt;em&gt;Event data publisher&lt;/em&gt; item and type “WriteToDW” in the &lt;em&gt;Module ID&lt;/em&gt; textbox as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0412.SNAGHTML5d975e8_5F00_2EA71CB7.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML5d975e8" border="0" alt="SNAGHTML5d975e8" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7433.SNAGHTML5d975e8_5F00_thumb_5F00_2B45850F.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Your screen should now look like below. This is the basic setup, and if you don’t wish to have any filter criteria, then you would accept the dialog from here. Otherwise, you would select the &lt;strong&gt;Create…&lt;/strong&gt; button in the &lt;em&gt;Condition Detection&lt;/em&gt; area. Since we will be adding criteria, we will select the button.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6428.SNAGHTML5dc2fa6_5F00_1098E8F6.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML5dc2fa6" border="0" alt="SNAGHTML5dc2fa6" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5758.SNAGHTML5dc2fa6_5F00_thumb_5F00_5420744B.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In the &lt;em&gt;Condition Detection&lt;/em&gt; dialog, type “filter” into the &lt;em&gt;Look for:&lt;/em&gt; textbox to narrow your search. Select the &lt;em&gt;System.ExpressionFilter&lt;/em&gt; item, and then type in “FilterID” as the &lt;em&gt;Module ID&lt;/em&gt; at the bottom. Select the &lt;strong&gt;OK&lt;/strong&gt; button.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6404.SNAGHTML5deaa70_5F00_12398EFD.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML5deaa70" border="0" alt="SNAGHTML5deaa70" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3821.SNAGHTML5deaa70_5F00_thumb_5F00_413BCAD4.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;So we look like below now. We’re not done with the filter, so we must now select the &lt;strong&gt;Edit…&lt;/strong&gt; button to configure the filter.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4370.SNAGHTML5e0fce3_5F00_5886CF45.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML5e0fce3" border="0" alt="SNAGHTML5e0fce3" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1323.SNAGHTML5e0fce3_5F00_thumb_5F00_5525379D.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You will now see the filter configuration dialog. Select the &lt;strong&gt;Configure…&lt;/strong&gt; button, which will make your job much easier, unless you really enjoy writing XPath queries.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7288.SNAGHTML5e29bd0_5F00_33595F0C.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML5e29bd0" border="0" alt="SNAGHTML5e29bd0" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5826.SNAGHTML5e29bd0_5F00_thumb_5F00_774D1D56.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In our case, we will add an OR group so we can filter the rule to only accept the System and Application logs.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6558.SNAGHTML5eaa37e_5F00_15B75E40.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML5eaa37e" border="0" alt="SNAGHTML5eaa37e" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2844.SNAGHTML5eaa37e_5F00_thumb_5F00_4BD8D68F.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Add your criteria to the OR group. Typical parameters that you can use are below. These and others are documented in the Management Pack Authoring Guide as part of the System Center documentation.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Channel&lt;/strong&gt; – name of the event log such as Application or System &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Event Number&lt;/strong&gt; – select specific event numbers you would like to show (you can filter this in the Event view) &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Publisher Name&lt;/strong&gt; – source of the event (you can filter this in the Event view) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;So now go ahead and add your first filter condition.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1881.SNAGHTML66312a7_5F00_7363A21C.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML66312a7" border="0" alt="SNAGHTML66312a7" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8228.SNAGHTML66312a7_5F00_thumb_5F00_17A8869F.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Using the &lt;strong&gt;Expression&lt;/strong&gt; button will add another condition.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8357.SNAGHTML5ec03c6_5F00_6D28565E.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML5ec03c6" border="0" alt="SNAGHTML5ec03c6" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3542.SNAGHTML5ec03c6_5F00_thumb_5F00_0A4DFE69.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now fill in your remaining conditions, if you have any. I have my filter set to only pull from the System and Application event logs. Select &lt;strong&gt;OK&lt;/strong&gt; when you’re done.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8814.SNAGHTML5ee2818_5F00_76C09EC7.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML5ee2818" border="0" alt="SNAGHTML5ee2818" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3108.SNAGHTML5ee2818_5F00_thumb_5F00_061400D7.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now you see the final expression. Select &lt;strong&gt;OK&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1121.SNAGHTML5eeaa22_5F00_44994E7D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML5eeaa22" border="0" alt="SNAGHTML5eeaa22" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8867.SNAGHTML5eeaa22_5F00_thumb_5F00_088D0CC8.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Last, but not least, we need to set the category for the rule to &lt;em&gt;EventCollection&lt;/em&gt; in the &lt;strong&gt;Options&lt;/strong&gt; tab. The primary reason for this is if we want to be able to filter on the log name in an Event view (such as if you want Application and System events in one view and Trace logs in another view). If you don’t do this, then your rule won’t show up in the “generated by specific rules” condition in the properties page for your Event view, and thus you won’t be able to select it. So do set the category as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0640.SNAGHTML2a0b854_5F00_1D661B58.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="SNAGHTML2a0b854" border="0" alt="SNAGHTML2a0b854" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2210.SNAGHTML2a0b854_5F00_thumb_5F00_30772237.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;And now you have your final event rule ready to go.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5873.SNAGHTML5f643f1_5F00_3FA630DF.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML5f643f1" border="0" alt="SNAGHTML5f643f1" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6036.SNAGHTML5f643f1_5F00_thumb_5F00_5C5FA5F4.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We’re done creating the rule in the Authoring Console. Let’s now go ahead and export the management pack back to the management group (from &lt;em&gt;Tools | Export MP to Management Group…&lt;/em&gt;).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2630.SNAGHTML5f763d0_5F00_089C2CD9.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML5f763d0" border="0" alt="SNAGHTML5f763d0" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1157.SNAGHTML5f763d0_5F00_thumb_5F00_509A38F5.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now let’s head back to the Operations Console. Once there, go to the &lt;strong&gt;Authoring&lt;/strong&gt; view and select the &lt;strong&gt;Rules&lt;/strong&gt; node. Locate your event collection rule in the Windows Azure Role Instance type.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5554.SNAGHTMLbffde4c_5F00_3607BB51.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTMLbffde4c" border="0" alt="SNAGHTMLbffde4c" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1731.SNAGHTMLbffde4c_5F00_thumb_5F00_2B1AB43C.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Click the &lt;strong&gt;Edit…&lt;/strong&gt; button in the middle of the dialog and verify the filter criteria. Click &lt;strong&gt;OK&lt;/strong&gt; to leave the dialog, and then close the underlying rule dialog.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7610.SNAGHTMLbff80a2_5F00_022F9F33.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTMLbff80a2" border="0" alt="SNAGHTMLbff80a2" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6136.SNAGHTMLbff80a2_5F00_thumb_5F00_7F3A3A7F.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You can next scroll down to any individual role instance and see the event collection rule is there as well.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3301.SNAGHTML632189e_5F00_0590A925.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML632189e" border="0" alt="SNAGHTML632189e" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7181.SNAGHTML632189e_5F00_thumb_5F00_460345D4.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Let’s now go to the &lt;strong&gt;Monitoring&lt;/strong&gt; view. Right-click on the management pack where you added the rule. Select &lt;em&gt;New | Event View&lt;/em&gt;, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4034.SNAGHTML6335f20_5F00_190DE2F9.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML6335f20" border="0" alt="SNAGHTML6335f20" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5516.SNAGHTML6335f20_5F00_thumb_5F00_4586ED12.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Type in a name for your event log, and then select the ellipsis (…) after the &lt;em&gt;Show data related to:&lt;/em&gt; label with &lt;em&gt;Entity&lt;/em&gt; selected by default. From the &lt;em&gt;Select Items to Target&lt;/em&gt; dialogue, find your role instance, select it, and then select &lt;strong&gt;OK&lt;/strong&gt;. From the original dialog, select &lt;strong&gt;OK&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4118.SNAGHTML636da86_5F00_11061ACA.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML636da86" border="0" alt="SNAGHTML636da86" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8132.SNAGHTML636da86_5F00_thumb_5F00_4DDA9C9C.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you don’t immediately see the events pouring in, please give SCOM time. Patience is a virtue with SCOM when it comes to data collection. You should use a tool such as the &lt;strong&gt;Cerebrata Azure Diagnostics Manager&lt;/strong&gt; to verify that your events are actually being written to Windows Azure storage for this application that you are monitoring.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5040.SNAGHTML63a9369_5F00_463F0762.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML63a9369" border="0" alt="SNAGHTML63a9369" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5621.SNAGHTML63a9369_5F00_thumb_5F00_42713CC5.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you want to add additional columns, you can just get properties on your event view, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7774.SNAGHTML63b8af0_5F00_47737A74.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML63b8af0" border="0" alt="SNAGHTML63b8af0" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7268.SNAGHTML63b8af0_5F00_thumb_5F00_558243A4.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Select the &lt;strong&gt;Display&lt;/strong&gt; tab and add the columns you want. I always add the log name.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4604.SNAGHTML63e6834_5F00_4C460863.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML63e6834" border="0" alt="SNAGHTML63e6834" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2134.SNAGHTML63e6834_5F00_thumb_5F00_05103C64.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;As you can see, we’re capturing both Application and System logs.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8080.SNAGHTML64083cf_5F00_0769BE62.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML64083cf" border="0" alt="SNAGHTML64083cf" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3527.SNAGHTML64083cf_5F00_thumb_5F00_5F769935.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now let’s take note of where the Event view gets the event logs from. Based on our target, it looks to see if the target is collecting event logs, and thus picks up the logs from the available rule. I haven’t tried writing multiple event rules to see if they show up also, but I suspect if you have multiple rules then you have conditions that collect different event logs or different variations of actual events.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4744.SNAGHTML6467501_5F00_219A01B9.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML6467501" border="0" alt="SNAGHTML6467501" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3175.SNAGHTML6467501_5F00_thumb_5F00_3DE743D9.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you want to further filter on certain columns without affecting the rule itself, you can just go into the properties page of the view and select what you would like to filter on.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3582.SNAGHTML646e0ae_5F00_10F1E0FE.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML646e0ae" border="0" alt="SNAGHTML646e0ae" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4667.SNAGHTML646e0ae_5F00_thumb_5F00_5F36C3A8.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;As seen below, I have pointed out a couple of possible selections for filtering. As I wrote earlier, if you want to filter by the actual log name (e.g., Application or System), you can go back and change the filter of your individual role instance that inherited from the base role instance event collection rule.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1680.SNAGHTML64b1a06_5F00_1D4FDE5A.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML64b1a06" border="0" alt="SNAGHTML64b1a06" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2063.SNAGHTML64b1a06_5F00_thumb_5F00_0F30EF5D.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In order to change the filter you would go back to &lt;em&gt;Rules&lt;/em&gt; in the &lt;strong&gt;Authoring&lt;/strong&gt; view, open the event rule, and select the &lt;strong&gt;Edit…&lt;/strong&gt; link in the Condition section as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3302.SNAGHTMLbfe492e_5F00_1DA47B69.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTMLbfe492e" border="0" alt="SNAGHTMLbfe492e" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0741.SNAGHTMLbfe492e_5F00_thumb_5F00_1323A749.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;From the property page, you would just modify the condition as desired. &lt;font color="#ff0000"&gt;As noted above,&lt;/font&gt; &lt;em&gt;&lt;font color="#ff0000"&gt;this change will be propagated to the base role instance event rule as well as all other role instances&lt;/font&gt;&lt;/em&gt;. So again, you may find this is not desirable for you and want to create the event rules on an individual application (role instance) basis.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1157.SNAGHTML69f4b44_5F00_362E7DA5.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML69f4b44" border="0" alt="SNAGHTML69f4b44" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0160.SNAGHTML69f4b44_5F00_thumb_5F00_01417868.png" width="623" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;That’s it. Good luck and let me know if you have any questions or issues. Next time I will blog on setting up Service Level Tracking, and I will eventually get around to SCOM 2012 also!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10269298" width="1" height="1"&gt;</description></item><item><title>Windows Azure Data Security (Cleansing and Leakage)</title><link>http://blogs.msdn.com/b/walterm/archive/2012/02/01/windows-azure-data-cleansing-and-leakage.aspx</link><pubDate>Wed, 01 Feb 2012 17:36:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10262847</guid><dc:creator>Walter Myers III</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/walterm/rsscomments.aspx?WeblogPostID=10262847</wfw:commentRss><comments>http://blogs.msdn.com/b/walterm/archive/2012/02/01/windows-azure-data-cleansing-and-leakage.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;&lt;font color="#333333"&gt;Disclaimer: The procedures explained in this document are current as of January 2012, and are subject to change without notice.&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Of utmost concern to enterprise customers (indeed all customers) who are considering deploying their applications to Windows Azure is the security of their underlying data. A sometimes overlooked aspect of data protection is assuring that when disk space is freed and reallocated to other customers that those new owners cannot read the data that was there when the space was released. An extreme form of this is when the drives themselves are removed from the data center for disposal or repurposing for other tasks. The most straightforward way to make such a guarantee would be to overwrite the freed space with zeros or some other pattern before freeing it. Such overwrites can significantly impact performance, so Azure (like most systems) uses more complex but more efficient mechanisms.&lt;/p&gt;  &lt;p&gt;In this post, we will find practices implemented by the Windows Azure and SQL Azure software to prevent the possibility of data leakage or exposure of one customer’s data to another customer upon deletion of a Windows Azure virtual machine instance, Windows Azure virtual machine drives, Windows Azure drives, Windows Azure storage, SQL Azure data, or a SQL Azure instance itself. The mechanisms vary in detail but are all conceptually similar: no user is ever allowed to read a place on the disk that he has not previously written.&lt;/p&gt;  &lt;p&gt;The details in this post were provided by Charlie Kaufman, Principal Software Engineer and Security Architect extraordinaire for Windows Azure. You can find some of Charlie’s great work &lt;a href="http://msdn.microsoft.com/en-us/library/windowsazure/ff934690.aspx" target="_blank"&gt;here&lt;/a&gt; and &lt;a href="http://technet.microsoft.com/en-us/edge/Video/gg145453" target="_blank"&gt;here&lt;/a&gt;. Thank you, Charlie!&lt;/p&gt;  &lt;h4&gt;Concepts on Data Protection&lt;/h4&gt;  &lt;p&gt;In practice, disks are allocated &lt;i&gt;sparsely&lt;/i&gt;. This means that when a virtual disk is created, disk space is not allocated for its entire capacity. Instead, a table is created that maps addresses on the virtual disk to areas on the physical disk and that table is initially empty. The first time a customer writes data on the virtual disk, space on the physical disk is allocated and a pointer to it is placed in the table. We can see this conceptually in the progression of diagrams below:&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7416.image_5F00_1789DAC2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1033.image_5F00_thumb_5F00_4EEFEBF0.png" width="411" height="171" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;font size="2"&gt;Figure 1: Data Blocks Allocated to Users&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;In Figure 1 above, two users each have two data blocks that have been allocated to them on disk based on their respective write requests.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0066.image_5F00_4D3F201C.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3187.image_5F00_thumb_5F00_3A8A2665.png" width="412" height="169" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;font size="2"&gt;Figure 2: User Frees Up Data Block&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;In Figure 2 above, one user “deletes” data that frees up a data block. The data block is marked is free, but is otherwise unaffected.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0451.image_5F00_60EC09B0.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8546.image_5F00_thumb_5F00_5F3B3DDC.png" width="412" height="177" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;font size="2"&gt;Figure 3: User Allocated Recently Freed Data Block&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;In Figure 3 above, upon a write request, a new user is allocated a recently freed data block as well as a data block that has not been previously allocated. The previously freed data block is still unaffected. Essentially, the process is that when a user makes a write request to disk it must be determined whether there is already space on an existing data block allocated to that user that can store the new data. If so, then the new data overwrites the data in the existing block. If not, then a new data block is allocated and data is written to the new block. The logic can be seen in the figure below.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1031.image_5F00_02883282.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6403.image_5F00_thumb_5F00_1DC08B83.png" width="358" height="171" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;font size="2"&gt;Figure 4: User Requests to Write Data to Disk&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Now there is the question regarding the possibility of one customer reading the deleted data of another customer, or an Azure administrator reading a customer’s deleted data. If anyone tries to read a region on virtual disk that they have not yet written to, physical space will not have been allocated for that region and thus only zeroes would be returned. So we can see this logic in the figure below, and the result. Only an Azure administrator could read blocks marked as free, and there are no utilities that would help the administrator figure out who the previous owner of the block was.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8865.image_5F00_61288CE5.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8546.image_5F00_thumb_5F00_078A7031.png" width="340" height="171" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;font size="2"&gt;Figure 5: User Makes Read Request&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Conceptually, this applies regardless of the software that keeps track of reads and writes. In the case of SQL Azure, it is the SQL software that does this enforcement. In the case of Azure Storage, it is the Azure Storage software. In the case of non-durable drives of a VM, it is the VHD handling code of the host OS. Since customer software only addresses virtual disks (the mapping from virtual to physical address takes place outside of the customer VM), there is no way to express a request to read from or write to a physical address that is allocated to a different customer or a physical address that is free.&lt;/p&gt;  &lt;p&gt;Note: in some cases, the logic for writes (see Figure 4) is modified in that if a block is written for a second time that data is not overwritten on disk. Instead, a new block is allocated and the data is written there. The old block is then marked as free. This approach is often referred to as a &lt;i&gt;log-based file system. &lt;/i&gt;It may sound inefficient, but it allows most data writes to be to consecutive locations on the physical disk, and this minimizes seek times and yields better performance. This detail is transparent to the customer, but it is relevant because it means that even if a customer were to explicitly overwrite every block on the virtual disk with zeros before freeing it, it would not assure that the customer’s data was not still present on the physical disk.&lt;/p&gt;  &lt;h4&gt;Windows Azure Virtual Machine (VM)&lt;/h4&gt;  &lt;p&gt;When a VM is deleted, the space on disk that held the contents of its local virtual disk is marked as free, but is not zeroed. The space will eventually be used to hold data for some other VM, but there is no upper bound on the amount of time the obsolete contents may stay there. The virtualization mechanism, however, is designed to ensure that those spots on the disk cannot be read by another customer (or the same customer for that matter) until data is written again, thus ensuring there is no threat of data leakage. When a new virtual disk is created for a VM, it will appear to the VM to be zeroed, but that illusion is created by explicitly zeroing the buffers when a portion of the virtual disk is read before it is written. If a VM instance is reinitialized in place, it’s the same as if it had been moved to new hardware.&lt;/p&gt;  &lt;h4&gt;Windows Azure VM Drives and Windows Azure Drives (“X-Drives”)&lt;/h4&gt;  &lt;p&gt;There are two kinds of virtual drives that might be accessible to a VM instance in Windows Azure. The C:, D:, and E: drives that exist for Web and Worker roles are backed by disks that are local to the compute node. The data on them is not stored redundantly and must be considered ephemeral. In the event of a hardware failure, the VM instance is moved to a different node and the virtual disk contents are reset to their initial values. If a VM instance is reinitialized in place, the C:, D:, and E: drives revert to their initial states, the same as if it had been moved to new hardware.&lt;/p&gt;  &lt;p&gt;Windows Azure Drives (aka “X-Drives”) are implemented as blobs in Windows Azure storage. X-Drives are persistent and are not reset unless the customer takes some explicit action to replace them. This data is stored redundantly and survives hardware failures. Deleting a VM instance does not cause data to be deleted in an associated X-Drive. An X-Drive is deleted by deleting the blob itself (or by deleting the storage account containing the blob). Please see the next section that explains how deletion of data is handled for Windows Azure storage.&lt;/p&gt;  &lt;h4&gt;Windows Azure Storage (Table, Blob, Queue)&lt;/h4&gt;  &lt;p&gt;The Windows Azure's Storage subsystem makes customer data unavailable once delete operations are called. All storage operations including delete are designed to be instantly consistent. Successful execution of a delete operation removes all references to the associated data item and it cannot be accessed via the storage APIs. All copies of the deleted data item are eventually garbage collected. The physical bits are overwritten (i.e., reinitialized) when the associated storage block is reused for storing other data, as is typical with standard computer hard drives.&lt;/p&gt;  &lt;h4&gt;SQL Azure&lt;/h4&gt;  &lt;p&gt;With SQL Azure, deleted data is marked for deletion, but it is not zeroed. If an entire database is deleted, it is the equivalent of deleting its entire contents. In any event, the SQL Azure implementation is designed to ensure used data is never leaked by disallowing all access to the underlying storage except via the SQL Azure API. That API allows users to read, write, and delete data, but does not have any way to express the idea of reading data that the user has not previously written.&lt;/p&gt;  &lt;h4&gt;Automatic Backup and Forensics&lt;/h4&gt;  &lt;p&gt;In the common case, customers want assurance that there is no unauthorized access to their data. In some cases, however, they would like assurance that there is not even any authorized access to deleted data. While there is no way through interfaces exposed to customers to retrieve data once it has been deleted or changed, that data may remain on disks for an extended period and it would theoretically be possible to recover it with internal forensic tools (though the likelihood of the deleted data being present would decline over time). Ultimately, any physical disk is either completely erased or destroyed after being removed from the production environment.&lt;/p&gt;  &lt;p&gt;We are contemplating possible future features that would allow deleted data to be recovered (and changed data restored) for a limited period of time without customers having to make explicit backups. Using these tools, a customer could not be assured that the data would be for practical purposes inaccessible by authorized parties immediately after it is deleted. Any such tools will be designed to make deleted data retrievable only for a limited period of time less than 30 days unless the customer opted into some longer backup period. As of this writing, there are unexposed tools that may permit recovery of data deleted from SQL Azure databases for 14-21 days. There are no such tools for Azure Storage or Azure Compute ephemeral disks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10262847" width="1" height="1"&gt;</description></item><item><title>Resolving Windows Azure Diagnostics Connection String Issues with SCOM 2007 R2</title><link>http://blogs.msdn.com/b/walterm/archive/2012/01/16/resolving-windows-azure-diagnostics-connection-string-issues-with-scom-2007-r2.aspx</link><pubDate>Mon, 16 Jan 2012 22:31:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10257309</guid><dc:creator>Walter Myers III</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/walterm/rsscomments.aspx?WeblogPostID=10257309</wfw:commentRss><comments>http://blogs.msdn.com/b/walterm/archive/2012/01/16/resolving-windows-azure-diagnostics-connection-string-issues-with-scom-2007-r2.aspx#comments</comments><description>&lt;p&gt;In earlier versions of the Windows Azure SDK, the default Windows Azure Diagnostics string provided by the Visual Studio template in the service configuration file was named &lt;strong&gt;DiagnosticsConnectionString&lt;/strong&gt;. Later Windows Azure SDKs have changed this name to &lt;strong&gt;Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString&lt;/strong&gt;. By default, however, the SCOM 2007 R2 Windows Azure Management Pack continues to reference the &lt;strong&gt;DiagnosticsConnectionString&lt;/strong&gt; setting in order to find the storage account from which to collect diagnostics. This has obviously caused some chagrin for those who have deployed new applications and setup SCOM to monitor them only to see no results in SCOM, particularly with performance counters. The Azure Management Pack &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=11324" target="_blank"&gt;documentation&lt;/a&gt; does document the fact that if a different name is used in the service configuration file, you must override the &lt;strong&gt;Diagnostics Storage Account Setting Name&lt;/strong&gt; parameter for &lt;strong&gt;Windows Azure Hosted Service Total Discovery&lt;/strong&gt;, but is not immediately obvious how to do so. This blog post will walk you through the process of resolving the problem. A special shout out goes out to my Microsoft colleague &lt;a href="http://blogs.technet.com/b/yasc" target="_blank"&gt;Bruno Saille&lt;/a&gt; who first alerted me to the solution for this issue.&lt;/p&gt;  &lt;p&gt;Below is our starting point in Visual Studio 2010, where I’m using the 1.5 version of the Windows Azure Tools for Visual Studio. You can always just change the value in Visual Studio to the default setting name in SCOM &lt;em&gt;before&lt;/em&gt; you deploy your application (this change to the connection name would be applied in the service configuration file and also the &lt;strong&gt;DiagnosticMonitor.Start&lt;/strong&gt; call that references the connection name in your role &lt;strong&gt;OnStart&lt;/strong&gt; method). If the application has already been deployed, you can modify the value in the configuration file from the management portal. If that’s too much trouble (as you are probably the SCOM admin), it’s easy to change the setting in SCOM to point to the correct diagnostics connection string, which is what we will show you in this post.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6622.SNAGHTML15132115_5F00_7AD41E32.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML15132115" border="0" alt="SNAGHTML15132115" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0841.SNAGHTML15132115_5F00_thumb_5F00_3EC7DC7D.png" width="644" height="285" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0550.SNAGHTML2669833c_5F00_5BF8E38D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML2669833c" border="0" alt="SNAGHTML2669833c" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0535.SNAGHTML2669833c_5F00_thumb_5F00_6FA5CD21.png" width="644" height="260" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Presuming you want to make the change in SCOM, we will start in the &lt;strong&gt;Authoring&lt;/strong&gt; view of the Management Console. Select the &lt;strong&gt;Object Discoveries&lt;/strong&gt; node under &lt;strong&gt;Management Pack Objects&lt;/strong&gt;, as seen below&lt;em&gt;.&lt;/em&gt; I have scoped the &lt;strong&gt;Object Discoveries&lt;/strong&gt; pane down to Windows Azure Role Instances to make my deployment easy to find.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6038.SNAGHTML15bb4f78_5F00_0E43A519.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML15bb4f78" border="0" alt="SNAGHTML15bb4f78" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3487.SNAGHTML15bb4f78_5F00_thumb_5F00_5C8887C3.png" width="629" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Find your desired target whose name should look something like &lt;em&gt;Windows Azure Hosted Service Total Discovery (&amp;lt;your hosted service name&amp;gt;)&lt;/em&gt; as seen below. Right-click on the item and select &lt;em&gt;Properties&lt;/em&gt; from the popup menu.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5315.SNAGHTML15d6c505_5F00_49F179D0.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML15d6c505" border="0" alt="SNAGHTML15d6c505" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7140.SNAGHTML15d6c505_5F00_thumb_5F00_0659C8AE.png" width="629" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You will now see the &lt;strong&gt;Properties&lt;/strong&gt; dialog, as seen below. Select the &lt;strong&gt;Override…&lt;/strong&gt; button, which will present a fly out menu. In the fly out menu, select the &lt;em&gt;For all objects of class:…&lt;/em&gt; menu selection.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2555.SNAGHTML15489220_5F00_6B9CF3BE.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML15489220" border="0" alt="SNAGHTML15489220" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8400.SNAGHTML15489220_5F00_thumb_5F00_1D47EB47.png" width="629" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You will now see the &lt;strong&gt;Override Properties&lt;/strong&gt; dialog, as seen below. Click on the &lt;em&gt;Override&lt;/em&gt; check box for the &lt;em&gt;Diagnostics Storage Account Setting Name&lt;/em&gt; parameter.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1541.SNAGHTML1549f787_5F00_668A9042.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML1549f787" border="0" alt="SNAGHTML1549f787" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8475.SNAGHTML1549f787_5F00_thumb_5F00_0B3BA7BA.png" width="629" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;That row you selected now becomes enabled. Your dialog should now look as seen below, where we will override the existing &lt;em&gt;DiagnosticsConnectionString&lt;/em&gt; value.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0624.SNAGHTML154ce925_5F00_69DC021D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML154ce925" border="0" alt="SNAGHTML154ce925" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6153.SNAGHTML154ce925_5F00_thumb_5F00_6E720CD7.png" width="629" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Change the value to look like below, by entering &lt;em&gt;Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString&lt;/em&gt; into the &lt;em&gt;Override Value&lt;/em&gt; field (or whatever other name you may have specified in the service configuration file).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1261.SNAGHTML1556bb24_5F00_7AFFB9F3.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML1556bb24" border="0" alt="SNAGHTML1556bb24" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2728.SNAGHTML1556bb24_5F00_thumb_5F00_0ABF4EF8.png" width="629" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now, use the scroll bar to display the columns not currently in view to the right, if you can’t see all of them. Your next step is to select the &lt;strong&gt;Enforced&lt;/strong&gt; check button for this parameter, as seen below. Choose the &lt;strong&gt;Apply&lt;/strong&gt; button.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5037.SNAGHTML155fcd5c_5F00_5063D916.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML155fcd5c" border="0" alt="SNAGHTML155fcd5c" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0652.SNAGHTML155fcd5c_5F00_thumb_5F00_3BFE138B.png" width="629" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Your view should now look similar to the screen below. Verify that the &lt;em&gt;Effective Value&lt;/em&gt; field has your new value, and that the &lt;strong&gt;Enforced&lt;/strong&gt; box is checked. Next click the &lt;strong&gt;OK&lt;/strong&gt; button. This will take you back to the original &lt;strong&gt;Properties&lt;/strong&gt; dialog.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2474.SNAGHTML156665b5_5F00_6CB11B36.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML156665b5" border="0" alt="SNAGHTML156665b5" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0317.SNAGHTML156665b5_5F00_thumb_5F00_78666268.png" width="629" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;From the &lt;strong&gt;Properties&lt;/strong&gt; dialog, you can select the &lt;strong&gt;View Summary&lt;/strong&gt; button in order to verify your override, as seen below. When you’re done, close the summary dialog and then select the &lt;strong&gt;OK&lt;/strong&gt; button on the &lt;strong&gt;Properties&lt;/strong&gt; dialog to dismiss it.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8780.SNAGHTML156b0444_5F00_101D99CF.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML156b0444" border="0" alt="SNAGHTML156b0444" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6622.SNAGHTML156b0444_5F00_thumb_5F00_45D2DF29.png" width="629" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;It may take some time for the updated discovery to take, so you can hurry it along a bit by going to the &lt;strong&gt;Services&lt;/strong&gt; administrative tool and restarting the &lt;strong&gt;System Center Management&lt;/strong&gt; service, as seen below. Please be careful not to bother any other System Center services.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7612.image_5F00_1634C09D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5545.image_5F00_thumb_5F00_2A4DDD26.png" width="644" height="215" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Return now to the Management Console, select the &lt;strong&gt;Monitoring&lt;/strong&gt; view, and then select the &lt;strong&gt;Hosted Service State&lt;/strong&gt; node. Select the desired hosted service. After some time you will eventually see the &lt;em&gt;Diagnostics Storage Account Setting Name&lt;/em&gt; update to your overridden value. You may have to refresh this in order to see the updated value, but please be patient as this can take a while. In my case it took about 10 minutes after recycling the service.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2072.SNAGHTML15dc10b5_5F00_43180ED9.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML15dc10b5" border="0" alt="SNAGHTML15dc10b5" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6114.SNAGHTML15dc10b5_5F00_thumb_5F00_069F9A2F.png" width="629" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You should be all set now, and I would suggest that you next go to a performance view and wait for your counters to show up. Of course, be sure that you are looking at a performance view with counters you are actually writing out with Azure diagnostics in your role (two common counters are % Processor Time Total and Memory Available Megabytes). Please &lt;strong&gt;be patient&lt;/strong&gt; as it may take up to 10-15 minutes before you begin to see results flowing into your performance views.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3250.SNAGHTML19759fec_5F00_52404214.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SNAGHTML19759fec" border="0" alt="SNAGHTML19759fec" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0116.SNAGHTML19759fec_5F00_thumb_5F00_6E8D8434.png" width="629" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;That’s all for now, and I hope this helps.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10257309" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Azure+Diagnostics/">Azure Diagnostics</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Performance+Counters/">Performance Counters</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/SCOM+2007+R2/">SCOM 2007 R2</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/DiagnosticsConnectionString/">DiagnosticsConnectionString</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Microsoft-WindowsAzure-Plugins-Diagnostics-ConnectionString/">Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/SCOM/">SCOM</category></item><item><title>Testing Windows Azure Web Apps with Synthetic Transactions in SCOM 2007 R2</title><link>http://blogs.msdn.com/b/walterm/archive/2011/12/28/testing-windows-azure-web-apps-with-synthetic-transactions-in-scom-2007-r2.aspx</link><pubDate>Wed, 28 Dec 2011 20:53:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10251581</guid><dc:creator>Walter Myers III</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/walterm/rsscomments.aspx?WeblogPostID=10251581</wfw:commentRss><comments>http://blogs.msdn.com/b/walterm/archive/2011/12/28/testing-windows-azure-web-apps-with-synthetic-transactions-in-scom-2007-r2.aspx#comments</comments><description>&lt;p&gt;Synthetic transactions with SCOM are one way you can automate a set of web requests to test various aspects of your Windows Azure web applications. The &lt;a href="http://technet.microsoft.com/en-us/systemcenter/om/bb498235" target="_blank"&gt;SCOM 2007 R2 Operations User Guide&lt;/a&gt; defines synthetic transactions in the following manner (I mashed up the text below a bit to read better):&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“In Operations Manager 2007, synthetic transactions are actions, run in real time, that are performed on monitored objects. You can use synthetic transactions to perform HTTP requests to check availability and to measure performance of a Web page, Web site, or Web application. &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;For example, for a Web site, you can create a synthetic transaction that performs the actions of a customer connecting to the site and browsing through its pages. For databases, you can create transactions that connect to the database. You can then schedule these actions to occur at regular intervals to see how the database or Web site reacts and to see whether your monitoring settings, such as alerts and notifications, also react as expected.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This is a powerful feature that should not be overlooked when monitoring your Windows Azure applications with SCOM. In this article, we will walk through a simple scenario of creating a synthetic transaction that records a few web requests. We will then verify operation by looking at the generated events in the Cerebrata™ &lt;a href="http://www.cerebrata.com/Products/AzureDiagnosticsManager/" target="_blank"&gt;Azure Diagnostics Manager&lt;/a&gt; tool, as well as looking at performance counters in the Operations Console along a short timeline.&lt;/p&gt;  &lt;p&gt;To create a synthetic transaction, launch the Operations Console and select the &lt;b&gt;Authoring &lt;/b&gt;pane. Select the &lt;b&gt;Web Application&lt;/b&gt; node, as seen below. Right-click the node and select the Add Monitoring Wizard… option from the popup menu, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5314.clip_5F00_image0024_5F00_2296B94A.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image002[4]" border="0" alt="clip_image002[4]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0508.clip_5F00_image0024_5F00_thumb_5F00_450B4805.png" width="605" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You will now see the &lt;b&gt;Add Monitoring Wizard&lt;/b&gt; dialog, where you will now select &lt;i&gt;Web Application&lt;/i&gt; in the list, and select the &lt;b&gt;Next&lt;/b&gt; button.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8424.clip_5F00_image0044_5F00_5F6B3B1C.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image004[4]" border="0" alt="clip_image004[4]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4743.clip_5F00_image0044_5F00_thumb_5F00_0FB20FD3.png" width="605" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In the &lt;b&gt;General Properties&lt;/b&gt; wizard page, enter a friendly name for your test, a description, and be sure to select your management pack at the bottom. Select the &lt;b&gt;Next&lt;/b&gt; button.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5126.clip_5F00_image0064_5F00_7FC2CB0E.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image006[4]" border="0" alt="clip_image006[4]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4237.clip_5F00_image0064_5F00_thumb_5F00_72E874F0.png" width="605" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Next, you will come to the &lt;b&gt;Web Address&lt;/b&gt; wizard page. Here, enter the address of your Windows Azure web application, sans the http(s) protocol suffix. Select the &lt;b&gt;Test&lt;/b&gt; button to verify access. The test results will appear immediately below. Everything looks good here, so we will proceed.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4743.clip_5F00_image0084_5F00_03143CEA.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image008[4]" border="0" alt="clip_image008[4]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6215.clip_5F00_image0084_5F00_thumb_5F00_7639E6CB.png" width="605" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In the &lt;b&gt;Choose Watcher Nodes&lt;/b&gt; wizard page, you will select the agent managed computers that will access your web application. By default, I just selected the current server as I have a single managed agent computer, but notice that you can have multiple managed agent computers sending load to your web application, which is a very nice feature. Next, I set the synthetic transactions to run every 10 minutes, as seen below. Select the &lt;b&gt;Next&lt;/b&gt; button.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4645.clip_5F00_image0104_5F00_4D4ED1C2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image010[4]" border="0" alt="clip_image010[4]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3678.clip_5F00_image0104_5F00_thumb_5F00_128728EC.png" width="605" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In the &lt;b&gt;Summary&lt;/b&gt; wizard page, you will see a summary, and will be given the option to record your browser session so you can test desired functionality.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2514.clip_5F00_image0124_5F00_308536E0.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image012[4]" border="0" alt="clip_image012[4]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0028.clip_5F00_image0124_5F00_thumb_5F00_79C7DBDB.png" width="605" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Once you select the &lt;b&gt;Create&lt;/b&gt; button, you will be taken to the Web Application Editor. The Web Application Editor allows you to capture navigation through your website, interactively recording a sequence of actions that you take. When you get here, go ahead and delete the web request that it populates, and then select the &lt;b&gt;Start Capture&lt;/b&gt; button to capture your sequence of requests.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7701.clip_5F00_image0144_5F00_50DCC6D2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image014[4]" border="0" alt="clip_image014[4]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0066.clip_5F00_image0144_5F00_thumb_5F00_3CE3343C.png" width="605" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You will now see the Web Recorder has been launched and the Record button is pressed in the left-hand pane. Go ahead and enter the URL of your web application in the Address box, as SCOM doesn’t do this for you. In the right-hand pane you will then see your Windows Azure web application. The application I’m testing is a variant of the logging sample from Mike Kelly’s great article &lt;a href="http://msdn.microsoft.com/en-us/magazine/ff714589.aspx"&gt;Take Control of Logging and Tracing in Windows Azure&lt;/a&gt;. You can my variant of the sample code at my blog &lt;a href="http://blogs.msdn.com/b/walterm/archive/2011/02/01/setting-up-performance-counters-in-your-web-and-worker-roles.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6305.clip_5F00_image0164_5F00_21CA652E.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image016[4]" border="0" alt="clip_image016[4]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8484.clip_5F00_image0164_5F00_thumb_5F00_19668FD7.png" width="605" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Basically, my actions are to switch to the Event Log page, and then send five events to the event log, as you can see below in the recording. Once done with the recording, I press the &lt;b&gt;Stop&lt;/b&gt; button, which will close the recorder and return us to the Web Application Editor.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2117.clip_5F00_image0184_5F00_70E7ADC2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image018[4]" border="0" alt="clip_image018[4]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1121.clip_5F00_image0184_5F00_thumb_5F00_2B62AD97.png" width="605" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now that we’re back at the Web Application Editor, as seen below, we can set flexible criteria that will generate an error or warning health state for each web request. When done setting your criteria for any given request in the list, use the &lt;b&gt;Verify&lt;/b&gt; button to verify your criteria first, and if everything checks out, select the &lt;b&gt;Apply&lt;/b&gt; button, and then close the editor.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7416.clip_5F00_image0204_5F00_69E7FB3D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image020[4]" border="0" alt="clip_image020[4]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7823.clip_5F00_image0204_5F00_thumb_5F00_793B5D4C.png" width="590" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now you’re back at the Operations Console with your synthetic transaction setup. It may be up to 15-20 minutes before you will be able to see the results of your synthetic transaction.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6735.clip_5F00_image0224_5F00_7DD16806.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image022[4]" border="0" alt="clip_image022[4]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4101.clip_5F00_image0224_5F00_thumb_5F00_555285F2.png" width="605" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you want to make any changes, such as your criteria or the frequency of the transitions, double-click on the synthetic transaction you just created to launch the Web Application Editor again. You can make changes to criteria directly, or, for example, you can launch the Web Application Properties dialog by selecting the &lt;b&gt;Configure settings&lt;/b&gt; button in order to modify the frequency of your web requests (as seen below). In this dialog, you can specify performance criteria by transaction response time, and you can even set performance counters to be collected against your web application when requests are sent.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5277.clip_5F00_image0244_5F00_25B46766.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image024[4]" border="0" alt="clip_image024[4]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0081.clip_5F00_image0244_5F00_thumb_5F00_78BF048A.png" width="605" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In order to verify that your synthetic transaction is working, you have a number of options. First, you can view the synthetic transactions that monitor Web applications listed in the Web Applications folder of the Monitoring pane, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8308.clip_5F00_image0264_5F00_48B4B309.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image026[4]" border="0" alt="clip_image026[4]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6761.clip_5F00_image0264_5F00_thumb_5F00_74F139ED.png" width="605" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You can use any number of third-party tools that will allow you to view the logs from Windows Azure diagnostics. Below is a screen shot from the Cerebrata™ &lt;a href="http://www.cerebrata.com/Products/AzureDiagnosticsManager/" target="_blank"&gt;Azure Diagnostics Manager&lt;/a&gt; tool, verifying that I am producing the five events every ten minutes as specified previously in the Web Application Editor.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5684.clip_5F00_image0284_5F00_4C0624E4.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image028[4]" border="0" alt="clip_image028[4]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0728.clip_5F00_image0284_5F00_thumb_5F00_49E9261B.png" width="636" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Next, we will return to the Operations Console to verify that our test application is experiencing the load we are placing on it with the synthetic transaction we created. I selected the ASP.NET Requests/Sec performance counter, which verifies that I have performance “spikes” every ten minutes. This opens up interesting scenarios for load testing and generating alerts based on performance counters.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6761.clip_5F00_image0304_5F00_156853D3.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image030[4]" border="0" alt="clip_image030[4]" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2475.clip_5F00_image0304_5F00_thumb_5F00_1755A2DC.png" width="605" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Hopefully you can see the power in SCOM 2007 R2 to test functionality of your Windows Azure web applications, and measure performance as well with the ability to leverage multiple agent managed computers. One thing I didn’t show is the ability to run the tests manually in the Web Application Editor and see full results of the web requests in a highly detailed manner. This article only scratches the surface, so be sure to dig in and see all of the great functionality that SCOM provides.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10251581" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Azure/">Azure</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Performance/">Performance</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Synthetic+Transactions/">Synthetic Transactions</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Web+Applications/">Web Applications</category></item><item><title>Grooming Collected Diagnostics Data from Windows Azure Storage in SCOM 2007 R2</title><link>http://blogs.msdn.com/b/walterm/archive/2011/12/28/grooming-collected-diagnostics-data-from-windows-azure-storage-in-scom-2007-r2.aspx</link><pubDate>Wed, 28 Dec 2011 20:11:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10251575</guid><dc:creator>Walter Myers III</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/walterm/rsscomments.aspx?WeblogPostID=10251575</wfw:commentRss><comments>http://blogs.msdn.com/b/walterm/archive/2011/12/28/grooming-collected-diagnostics-data-from-windows-azure-storage-in-scom-2007-r2.aspx#comments</comments><description>&lt;p&gt;Recently, I had a colleague ask me how to groom diagnostic data collected in Windows Azure storage from Windows Azure applications. Since he is using SCOM, there is a ready answer for configuring regular grooming of Windows Azure diagnostic data, thus saving on storage consumption &lt;a href="http://www.windowsazure.com/en-us/pricing/details/"&gt;costs&lt;/a&gt; and preventing massive quantities of data from accumulating over time. Below I will provide a quick walkthrough to configure SCOM 2007 R2 for Azure diagnostics storage data grooming. Please note that this article assumes you have a working installation of SCOM, and that you have the Windows Azure Management Pack installed. If you need instructions on doing so, please see my previous blogs.&lt;/p&gt;  &lt;p&gt;From the Operations Console, select the &lt;b&gt;Authoring&lt;/b&gt; view. From here, select the &lt;b&gt;Rules&lt;/b&gt; node under the &lt;b&gt;Management Pack Objects&lt;/b&gt; tree. Regardless of how your view in the right-hand pane might look, the first thing we want to do is to “scope” the view down to make it more manageable for our purposes. If it is un-scoped, which is the default, your view will look similar to below. There are many, many object targets with thousands of rules included in SCOM. Go ahead and select the &lt;b&gt;Scope&lt;/b&gt; button on the toolbar.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5488.clip_5F00_image002_5F00_37F4AC1B.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1565.clip_5F00_image002_5F00_thumb_5F00_200DC4F5.png" width="605" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Upon selecting the &lt;b&gt;Scope&lt;/b&gt; button, you will be presented with a dialog box. Type “azure” in the &lt;i&gt;Look for:&lt;/i&gt; textbox, and select the &lt;i&gt;View all targets&lt;/i&gt; radio button, as seen below. From here, select the following targets:     &lt;br /&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Windows Azure Hosted Service &lt;/li&gt;    &lt;li&gt;Windows Azure Role &lt;/li&gt;    &lt;li&gt;Windows Azure Role Instance &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Your dialog should look similar to below. Select the &lt;b&gt;OK&lt;/b&gt; button.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1172.clip_5F00_image004_5F00_305916E1.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4237.clip_5F00_image004_5F00_thumb_5F00_0E8D3E50.png" width="605" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You will now see the three targets you selected with their out of box rules listed beneath the target heading. Notice that for Windows Azure hosted services, there are several rules enabled by default, each of which generates alerts if the conditions of the rule are met. For each Windows Azure role instance, there are default performance counters (which I covered in a previous blog). Now with respect to a Windows Azure role, we have three grooming rules, as follows:    &lt;br /&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;.NET Trace Grooming &lt;/li&gt;    &lt;li&gt;Performance Counter Grooming &lt;/li&gt;    &lt;li&gt;Event Log Grooming &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Note that these are the only diagnostics data sources groomed because these are the only sources the SCOM Azure Management Pack will collect diagnostics data from currently.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6787.clip_5F00_image006_5F00_6C5532C9.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6283.clip_5F00_image006_5F00_thumb_5F00_57EF6D3E.png" width="605" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Go ahead and collapse both the &lt;i&gt;Windows Azure Hosted Service&lt;/i&gt; and &lt;i&gt;Windows Azure Role Instance&lt;/i&gt; targets, so your view will look as below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2086.clip_5F00_image008_5F00_075DDC0B.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image008" border="0" alt="clip_image008" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0844.clip_5F00_image008_5F00_thumb_5F00_53B56FAC.png" width="605" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now right-click on the &lt;i&gt;Windows Azure Role .NET Trace Grooming&lt;/i&gt; item under the &lt;i&gt;Windows Azure Role&lt;/i&gt; target. In the flyout menu, s elect &lt;i&gt;Overrides | Override the Rule | For all objects of class: Windows Azure Role&lt;/i&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7384.clip_5F00_image010_5F00_4359F7F3.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image010" border="0" alt="clip_image010" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8461.clip_5F00_image010_5F00_thumb_5F00_5AA4FC64.png" width="605" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You should now see the &lt;b&gt;Override Properties&lt;/b&gt; dialog, as seen below. Select the &lt;b&gt;Override&lt;/b&gt; checkbox for the &lt;i&gt;Enabled&lt;/i&gt; parameter, and change the &lt;i&gt;Override Value&lt;/i&gt; field to True. Next, select the &lt;b&gt;Override&lt;/b&gt; checkbox for the &lt;i&gt;Grace Period Hours&lt;/i&gt; parameter, and change &lt;i&gt;Override Value&lt;/i&gt; field to the desired number in hours. I chose 168 hours, which means SCOM will delete collected trace logs that are over one week old. Finally, select &lt;b&gt;your management pack&lt;/b&gt; as the destination management pack at the bottom of the dialog. You can then select the &lt;b&gt;Apply&lt;/b&gt; button, and then eventually the &lt;b&gt;OK&lt;/b&gt; button to dismiss the dialog.&lt;/p&gt;  &lt;p&gt;Do likewise for Performance Counter grooming and Event Log grooming.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8468.clip_5F00_image012_5F00_18BE1716.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image012" border="0" alt="clip_image012" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6646.clip_5F00_image012_5F00_thumb_5F00_44FA9DFA.png" width="605" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Next, let’s verify the work we have done. Right-click on the &lt;i&gt;.NET Trace Grooming&lt;/i&gt; item, and select &lt;i&gt;Overrides Summary&lt;/i&gt; from the popup menu.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7801.clip_5F00_image014_5F00_0E3D42F6.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image014" border="0" alt="clip_image014" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0572.clip_5F00_image014_5F00_thumb_5F00_0162ECD8.png" width="605" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You should now see the summary, as below. Verify that grooming is enabled and that you have the desired grooming period in hours.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8880.clip_5F00_image016_5F00_4AA591D3.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image016" border="0" alt="clip_image016" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7318.clip_5F00_image016_5F00_thumb_5F00_76E218B7.png" width="605" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You can also right click on the &lt;i&gt;Windows Azure Role&lt;/i&gt; target and select the &lt;i&gt;Overrides Summary&lt;/i&gt; popup menu item to see all of the overrides for that target, as seen below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6648.clip_5F00_image018_5F00_34FB3369.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image018" border="0" alt="clip_image018" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2134.clip_5F00_image018_5F00_thumb_5F00_2101A0D3.png" width="605" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;That is all for now. Please feel free to let me know if any questions.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10251575" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Azure+Diagnostics/">Azure Diagnostics</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Azure/">Azure</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/SCOM+2007+R2/">SCOM 2007 R2</category><category domain="http://blogs.msdn.com/b/walterm/archive/tags/Database+Grooming/">Database Grooming</category></item></channel></rss>