<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Thoughts on ALM, Azure, and Agile by Walter Myers III</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/walterm/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/walterm/feed.xml</link>
    <description>Principal Consultant with Microsoft Consulting Services based in Irvine, CA. I blog on Azure and Application Lifecycle Management using Agile techniques.</description>
    <lastBuildDate>Tue, 16 Apr 2019 05:37:01 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Microsoft Azure Data Security (Data Cleansing and Leakage)</title>
      <link>https://docs.microsoft.com/archive/blogs/walterm/microsoft-azure-data-security-data-cleansing-and-leakage</link>
      <pubDate>Thu, 04 Sep 2014 20:08:00 GMT</pubDate>
      <dc:creator><![CDATA[Walter Myers III]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/walterm/2014/09/04/microsoft-azure-data-security-data-cleansing-and-leakage/</guid>
      <description><![CDATA[Disclaimer: The procedures explained in this document are now current as of September 2014, and are...]]></description>
      <content:encoded><![CDATA[<p><strong><font color="#333333">Disclaimer: The procedures explained in this document are now current as of September 2014, and are subject to change without notice.</font></strong></p>  <p>Of utmost concern to enterprise customers (indeed all customers) who are considering deploying their applications to Microsoft 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.</p>  <p>In this post, we will find practices implemented in Microsoft Azure and SQL Database to prevent the possibility of data leakage or exposure of one customer’s data to another customer upon deletion of a Microsoft Azure virtual machine instance, virtual machine drives, Drives, Storage data, SQL Database data, or a SQL Database 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/she has not previously written.</p>  <p>For a fuller treatment of Data Protection in Microsoft Azure, please see the latest “Protecting Data in Microsoft Azure” whitepaper <a href="http://go.microsoft.com/fwlink/?LinkID=398382&amp;clcid=0x409" target="_blank">here</a>.</p>  <h2>Concepts on Data Protection</h2>  <p>In practice, disks are allocated <i>sparsely</i>. 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:</p>  <p align="center"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7416.image_1789DAC2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7416.image_5F00_1789DAC2.png"><img title="image" style="border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1033.image_thumb_4EEFEBF0.png" original-url="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" /></a></p>  <p align="center"><font size="2">Figure 1: Data Blocks Allocated to Users</font></p>  <p>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.</p>  <p align="center"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0066.image_4D3F201C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0066.image_5F00_4D3F201C.png"><img title="image" style="border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3187.image_thumb_3A8A2665.png" original-url="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" /></a></p>  <p align="center"><font size="2">Figure 2: User Frees Up Data Block</font></p>  <p>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.</p>  <p align="center"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0451.image_60EC09B0.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0451.image_5F00_60EC09B0.png"><img title="image" style="border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8546.image_thumb_5F3B3DDC.png" original-url="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" /></a></p>  <p align="center"><font size="2">Figure 3: User Allocated Recently Freed Data Block</font></p>  <p>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.</p>  <p align="center"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1031.image_02883282.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1031.image_5F00_02883282.png"><img title="image" style="border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6403.image_thumb_1DC08B83.png" original-url="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" /></a></p>  <p align="center"><font size="2">Figure 4: User Requests to Write Data to Disk</font></p>  <p>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.</p>  <p align="center"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8865.image_61288CE5.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8865.image_5F00_61288CE5.png"><img title="image" style="border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8546.image_thumb_078A7031.png" original-url="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" /></a></p>  <p align="center"><font size="2">Figure 5: User Makes Read Request</font></p>  <p>Conceptually, this applies regardless of the software that keeps track of reads and writes. In the case of SQL Database, it is the SQL Database service that does this enforcement. In the case of Storage, it is the Storage service. 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.</p>  <p>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 <i>log-based file system. </i>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.</p>  <h2>Data Destruction and Leakage Prevention</h2>  <p>Data destruction techniques vary depending on the type of data object being destroyed, whether it be whole subscriptions themselves, storage, virtual machines, or databases. In a multi-tenant environment such as Microsoft Azure, careful attention is taken to ensure that one customer’s data is not allowed to either “leak” into another customer’s data, or when a customer deletes data, no other customer (including, in most cases, the customer who once owned the data) can gain access to that deleted data.</p>  <h3>Subscriptions</h3>  <p>If a subscription has expired or is terminated, all associated customer data (including storage accounts) is held for a period before it is actually deleted in order to recover from accidental subscription cancellation. That suspension period is 90 days. In no more than 180 days after expiration or termination, Microsoft will disable the account and delete customer data. If a storage account is terminated within an existing subscription (or when a subscription deletion has reached its timeout), the storage account is not actually deleted for another two weeks (again, to prevent mistakes). But once a storage account is finally deleted, or when blob or table data is deleted outside the context of a storage account deletion, the sectors on disk become immediately available for reuse. How long before they are actually overwritten varies, depending on the fullness and activity rate on the server, but is rarely more than two days. This is very different from the experience with a file deleted from a file system such as NTFS, where the space could be reallocated immediately, but in practice may linger for months. A property of log-structured file systems is that all unallocated sectors of the disk are overwritten routinely in the course of copying and compressing logs.</p>  <p><b><i>NOTE:</i></b><i> If you want to make storage data unrecoverable faster, you should delete tables and blobs individually before deleting the storage account or subscription.</i></p>  <h3>Microsoft Azure Storage</h3>  <p>As mentioned above, Storage is built on a log-structured file system, where all writes are written sequentially to disk. This can be more efficient than a conventional file system because it minimizes the number of disk “seeks”, though that benefit is paid for somewhat by the need for updating the pointers to objects every time they are written. But the new versions of the pointers are written sequentially to disk as well. Disk reads do remain random access, but the read load can be reduced through judicious use of caching. A side effect of this design is that if there is a secret on disk, you can’t ensure it is gone by overwriting with other data. The original data will remain on the disk and the new value will be written sequentially. Pointers will be updated such that there is no way to find the deleted value anymore. </p>  <p>Once the disk is full, however, the system has to write new logs onto disk space that has been freed up by the deletion of old data. Instead of allocating log files directly from disk sectors, log files are created in a file system running NTFS. A background thread running on Storage nodes frees up space by going through the oldest log file, copying blocks that are still referenced from that oldest log file to the current log file (and updating all pointers as it goes). It then deletes the oldest log file. So there are two categories of free space on the disk: space that NTFS knows is free, where it allocates new log files from this pool; and space within those log files that Azure Storage knows is free since there are no current pointers to it.</p>  <p>Now when a user asks “Is my deleted data still recoverable from the disk?” it could mean one of two different things:</p>  <ul>   <li>First, could a clever person with a disk analysis tool—given the correct blob name and offset—find the value the blob originally held? That would be true if the data and pointers are still in the log files.</li>    <li>Second, could someone looking at the disk track by track find the data, but have no ability to find out who put it there (unless they could figure that out from the content)? That would be true if the space freed by the deleted log file has not yet been allocated to a new log file and overwritten.</li> </ul>  <p>This latter category has no fixed expiration date, and is more akin to a “half-life”. After <i>X</i> number of days, there is a 50% chance it is still on the disk; after <i>2X</i> number of days, there is a 25% chance it is still on disk, and so on. The probability never goes to zero, and there is no guarantee when particular data is gone, but Microsoft assures customers that their data will indeed be protected from unauthorized access.</p>  <h3>Microsoft Azure Virtual Machines</h3>  <p>Virtual machines are stored in Storage as blobs, so the deletion rules apply as explained above. 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 object, 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 even the same customer) 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.</p>  <h3>Microsoft Azure VM Drives and Azure Drives (“X-Drives”)</h3>  <p>There are two kinds of virtual drives that might be accessible to a VM instance in Microsoft 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.</p>  <p>Drives (aka “X-Drives”) are also implemented as blobs in 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).</p>  <h3>Microsoft Azure SQL Database</h3>  <p>With SQL Database, 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. The SQL Database implementation is designed to ensure used data is never leaked by disallowing all access to the underlying storage except via the SQL Database 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.</p>  <h2>Automatic Backup and Forensics</h2>  <p>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.</p>  <p>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 Database databases for 14-21 days. There are no such tools for Storage or Compute ephemeral disks.</p>]]></content:encoded>
    </item>
    <item>
      <title>Windows Azure PaaS ACLs Are Here!</title>
      <link>https://docs.microsoft.com/archive/blogs/walterm/windows-azure-paas-acls-are-here</link>
      <pubDate>Tue, 22 Apr 2014 18:16:00 GMT</pubDate>
      <dc:creator><![CDATA[Walter Myers III]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/walterm/2014/04/22/windows-azure-paas-acls-are-here/</guid>
      <description><![CDATA[Even though there wasn’t much fanfare about it in the release of the Windows Azure SDK 2.3, the PaaS...]]></description>
      <content:encoded><![CDATA[<p>Even though there wasn’t much fanfare about it in the release of the <a href="http://www.microsoft.com/en-us/download/details.aspx?id=42317" target="_blank">Windows Azure SDK 2.3</a>, the PaaS Access Control List (ACL) feature was finally added after having this feature for Infrastructure as a Service (IaaS) virtual machines since sometime last year. I actually didn’t notice it myself, but I received a curious email from a colleague who read my recent Windows Azure team blog titled <a href="http://blogs.msdn.com/b/windowsazure/archive/2014/03/28/network-isolation-options-for-machines-in-windows-azure-virtual-networks.aspx" target="_blank">Network Isolation Options for Machines in Windows Azure Virtual Networks</a>. In this blog I discussed the implementation of enterprise-level network isolation options for IaaS virtual machines in Azure virtual networks, but noted how at the time of the writing we had network ACLs for IaaS but did not yet have it for PaaS Web or Worker roles. My colleague sent me a link to the Azure Service Configuration Schema page, which you can find <a href="http://msdn.microsoft.com/en-us/library/jj156091.aspx" target="_blank">here</a>, which clearly indicated that you could specify network ACLs for PaaS applications in the Service Configuration. Thus, I reached out to the product group to verify and, lo and behold, they confirmed that the PaaS ACL feature was indeed now available as of the release of SDK 2.3 on March 31. Hallelujah! Ok, enough celebrating. I will now show you how to take advantage of this feature, which is fairly straightforward, particularly if you have worked with endpoint ACLs for IaaS.&#160; In case you’re wondering, the PaaS ACL functionality is absolutely compatible with the <a href="http://azure.microsoft.com/en-us/documentation/articles/load-balance-virtual-machines/" target="_blank">Azure Load Balancer</a>.</p>  <p>As with IaaS ACLs, PaaS ACLs allow you to do the following:</p>  <ul>   <li>Selectively permit or deny incoming traffic based on remote subnet IPv4 address range to a virtual machine input endpoint</li>    <li>Blacklist IP addresses</li>    <li>Create multiple rules per virtual machine endpoint</li>    <li>Specify up to 50 ACL rules per virtual machine endpoint</li>    <li>Use rule ordering to ensure the correct set of rules are applied on a given virtual machine endpoint (lowest to highest)</li>    <li>Specify an ACL for a specific remote subnet IPv4 address</li> </ul>  <p>Network (or Endpoint) ACLs are the key to protecting Web or Worker role public endpoints and controlling that type of access to them. So let’s get started learning how to use them. The first task is to install the <a href="http://www.microsoft.com/en-us/download/details.aspx?id=42317" target="_blank">Azure SDK 2.3</a> before getting started in Visual Studio 2013. If you don’t have SDK 2.3 installed, you may not have build problems initially, but at some point you will when you try to package or publish your PaaS application unsuccessfully due to schema issues in your Service Configuration file. I got schema errors when I tried to package the project that only went away once I installed SDK 2.3. So make sure you have SDK 2.3 and let’s get started. Create a new test Cloud project in Visual Studio 2013, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6318.image_6F5C4A0D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6318.image_5F00_6F5C4A0D.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1157.image_thumb_2EB9FD9E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1157.image_5F00_thumb_5F00_2EB9FD9E.png" width="644" height="470" /></a></p>  <p>Go ahead and add a Web role.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4300.image_3815C2D2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4300.image_5F00_3815C2D2.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3644.image_thumb_77737662.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3644.image_5F00_thumb_5F00_77737662.png" width="644" height="470" /></a></p>  <p>Choose whatever project template you would like.&#160; I chose the MVC template below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5381.image_00CF3B97.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5381.image_5F00_00CF3B97.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3175.image_thumb_07161225.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3175.image_5F00_thumb_5F00_07161225.png" width="644" height="470" /></a></p>  <p>So now we have our project created and we’re good to go. Go ahead and build the project.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1121.image_491C8166.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1121.image_5F00_491C8166.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8814.image_thumb_0B22F0A8.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8814.image_5F00_thumb_5F00_0B22F0A8.png" width="644" height="470" /></a></p>  <p>Let’s first look at the ServiceDefinition.csdef file, as seen below.&#160; By default on a Web role we have an endpoint named “Endpoint1” on port 80.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2438.image_47C04087.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2438.image_5F00_47C04087.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6170.image_thumb_3D8EA61A.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6170.image_5F00_thumb_5F00_3D8EA61A.png" width="621" height="484" /></a></p>  <p>Go ahead and open up the ServiceConfiguration.Cloud.csfg file, as seen below.&#160; We will add the necessary ACL configuration here.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2577.image_3FCB2ED6.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2577.image_5F00_3FCB2ED6.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0250.image_thumb_68D5CDD2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0250.image_5F00_thumb_5F00_68D5CDD2.png" width="621" height="484" /></a></p>  <p>From here, you will add in the <em>NetworkConfiguration</em> element with the required ACL information within. Note that you would have already used this to deploy a Web or Worker role if it were participating in a Virtual Network. As seen below, we have a section for Access Controls, creating one ACL with two rules, followed by an Endpoint section that maps the newly created ACL to a specific role and endpoint. This is placed <em>after</em> the role(s) in the service configuration.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2677.image_394ED5C8.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2677.image_5F00_394ED5C8.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1033.image_thumb_3714DDBD.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1033.image_5F00_thumb_5F00_3714DDBD.png" width="621" height="484" /></a></p>  <p>Let’s take a closer look at the <em>NetworkConfiguration</em> section we added, as seen below:</p>  <p><font color="#c0504d"><strong>&lt;NetworkConfiguration&gt;        <br />&#160; &lt; AccessControls&gt;         <br />&#160;&#160;&#160; &lt; AccessControl name=&quot;test&quot;&gt;         <br />&#160;&#160;&#160;&#160;&#160; &lt;Rule action=&quot;permit&quot; description=&quot;test&quot; order=&quot;100&quot; remoteSubnet=&quot;98.189.223.154/32&quot; /&gt;         <br />&#160;&#160;&#160;&#160;&#160; &lt;Rule action=&quot;deny&quot; description=&quot;test&quot; order=&quot;200&quot; remoteSubnet=&quot;0.0.0.0./0&quot; /&gt;         <br />&#160;&#160;&#160; &lt;/AccessControl&gt;         <br />&#160; &lt;/AccessControls&gt;         <br />&#160; &lt; EndpointAcls&gt;         <br />&#160;&#160;&#160; &lt; EndpointAcl role=&quot;WebRole1&quot; endPoint=&quot;Endpoint1&quot; accessControl=&quot;test&quot; /&gt;         <br />&#160; &lt;/EndpointAcls&gt;         <br />&lt; /NetworkConfiguration&gt;</strong></font></p>  <p>I’m creating an ACL named “test” that will apply to the endpoint we saw above. In that ACL, I have created “permit” and “deny” rules, which will be evaluated by their numerical order. So rule 100 will be evaluated before 200. In the <em>permit</em> rule, I allowed my IP address to access the Web role (note that this must be in CIDR format, so I have to append with a /32 which denotes a subnet range consisting of this one IP address), but in the second <em>deny</em> rule, I’m denying any and all <em>other</em> IP addresses from accessing the Web role (which <em>includes</em> any Azure machines that access the <em>public</em> endpoint). Now look at the <em>EndpointAcls</em> section. You will see that I have first specified our <em>WebRole1</em> role, our endpoint named “Endpoint1”, and have specified that this combination of Web role and endpoint will use the ACL named “test”. I then publish the project, as seen below. If there are any issues with your rules below, the publishing process will not complete and will let you know what you need to correct.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2626.image_7672914D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2626.image_5F00_7672914D.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4606.image_thumb_74389942.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4606.image_5F00_thumb_5F00_74389942.png" width="621" height="484" /></a></p>  <p>I now try to access the Web role using the browser from my office IP address, and I am successful.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4604.image_7DB9A048.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4604.image_5F00_7DB9A048.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7824.image_thumb_390D0607.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7824.image_5F00_thumb_5F00_390D0607.png" width="644" height="440" /></a></p>  <p>I now try to access the Web role from a browser in one of my Azure virtual machines, which fails as it should.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0830.image_2F3ED28B.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0830.image_5F00_2F3ED28B.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5226.image_thumb_11604E8A.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5226.image_5F00_thumb_5F00_11604E8A.png" width="644" height="258" /></a></p>  <p>Let’s now add a permit rule so this Azure virtual machine can access the Web role as well. Below, I add the permit rule ahead of the deny rule and publish the cloud service again.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2742.image_1682D8CE.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2742.image_5F00_1682D8CE.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2656.image_thumb_4D5FBDC5.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2656.image_5F00_thumb_5F00_4D5FBDC5.png" width="621" height="484" /></a></p>  <p>We then return to the Azure virtual machine, and as you can see below, it now has access to the web application from the Azure virtual machine.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3823.image_6CCEC105.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3823.image_5F00_6CCEC105.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0880.image_thumb_6E9F16CC.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0880.image_5F00_thumb_5F00_6E9F16CC.png" width="623" height="484" /></a></p>  <p>We’re all done now. I hope you will enjoy this cool new feature!</p>]]></content:encoded>
    </item>
    <item>
      <title>Accessing Azure SQL DB from an Azure VM Using the External IP Address</title>
      <link>https://docs.microsoft.com/archive/blogs/walterm/accessing-azure-sql-db-from-an-azure-vm-using-the-external-ip-address</link>
      <pubDate>Fri, 31 Jan 2014 11:16:39 GMT</pubDate>
      <dc:creator><![CDATA[Walter Myers III]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/walterm/2014/01/31/accessing-azure-sql-db-from-an-azure-vm-using-the-external-ip-address/</guid>
      <description><![CDATA[A customer asked me the other day how they can disallow arbitrary machines from within the Windows...]]></description>
      <content:encoded><![CDATA[<p>A customer asked me the other day how they can disallow arbitrary machines from within the Windows Azure environment to have access to their Azure SQL Database servers, while still allowing <em>specific</em> machines within the Azure environment to have access to their Azure SQL Database servers. This is pretty simple to implement so I thought I would crank out a quick blog post to demonstrate how it is done. So here goes. First, identify the public Virtual IP Address of the virtual machine you wish to access your Azure SQL Database server, as seen below (in my case, it is an IaaS virtual machine since it makes testing easier, but this will of course work the same for a PaaS virtual machine).</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3107.image_3791ECA5.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3107.image_5F00_3791ECA5.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8484.image_thumb_00B7985F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8484.image_5F00_thumb_5F00_00B7985F.png" width="644" height="378" /></a></p>  <p>Now head over to the Azure SQL Database server you would like to secure, select the <strong>Configure</strong> tab, and then select the <strong>No</strong> button for Windows Azure Services, as seen below. You will then have to save this change.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2047.image_194735AF.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2047.image_5F00_194735AF.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2553.image_thumb_09A72A9E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2553.image_5F00_thumb_5F00_09A72A9E.png" width="644" height="317" /></a></p>  <p>In order to test that I no longer have access to the Azure SQL Database server from within the Azure platform, I try to connect to it from SQL Server Manager on the virtual machine that I want to provide access. As you can see below, the connection fails.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5706.image_093AF7A9.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5706.image_5F00_093AF7A9.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4532.image_thumb_727BB01F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4532.image_5F00_thumb_5F00_727BB01F.png" width="644" height="290" /></a></p>  <p>Now I head back to the configuration for the Azure SQL Database server and add a rule to the server whitelist using the external VIP address of the desired virtual machine, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8422.image_4AB98907.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8422.image_5F00_4AB98907.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0676.image_thumb_043C98FF.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0676.image_5F00_thumb_5F00_043C98FF.png" width="644" height="331" /></a></p>  <p>I now attempt to connect to the Azure SQL Database server and can successfully connect, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5557.image_41E83267.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5557.image_5F00_41E83267.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3426.image_thumb_2160F2B5.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3426.image_5F00_thumb_5F00_2160F2B5.png" width="644" height="202" /></a></p>  <p>We’re now done. If only all things in Azure were this easy!</p>]]></content:encoded>
    </item>
    <item>
      <title>Filtering Azure Applications in SCOM 2012 Performance Views</title>
      <link>https://docs.microsoft.com/archive/blogs/walterm/filtering-azure-applications-in-scom-2012-performance-views</link>
      <pubDate>Tue, 22 Oct 2013 12:12:40 GMT</pubDate>
      <dc:creator><![CDATA[Walter Myers III]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/walterm/2013/10/22/filtering-azure-applications-in-scom-2012-performance-views/</guid>
      <description><![CDATA[Okay, so you now have your shiny, new installation of SCOM 2012 up and running. You have migrated...]]></description>
      <content:encoded><![CDATA[<p>Okay, so you now have your shiny, new installation of SCOM 2012 up and running. You have migrated your old Windows Azure management pack using the Visual Studio Authoring Extensions for Visual Studio 2010, using techniques from my previous post <a href="http://blogs.msdn.com/b/walterm/archive/2013/09/21/using-the-new-visual-studio-2010-authoring-extensions-to-create-scom-2012-rules.aspx">here</a>. You have created some new Performance views based on the now shipping SCOM 2012 Management Pack for Windows Azure found <a href="http://www.microsoft.com/en-us/download/details.aspx?id=38414" target="_blank">here</a>. But now you realize that whereas with SCOM 2007 R2, you could filter your performance views based on role instance, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5557.image_2E778C6F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5557.image_5F00_2E778C6F.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4186.image_thumb_6DD53FFF.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4186.image_5F00_thumb_5F00_6DD53FFF.png" width="644" height="484" /></a></p>  <p>With SCOM 2012, you see the following instead. Where are the individual role instances? Unfortunately, they’re not there any longer based on the operation of the new SCOM 2012 Management Pack for Windows Azure. Yes, I have asked the Program Manager of the management pack team to restore this functionality, so we’ll see how it goes. For now, though, we will have to find an alternate way to create a performance view targeted towards a specific Azure application. We will accomplish this with groups. Groups are an important feature in SCOM in that they provide you the flexibility to create various types of views by grouping together logical collections of objects. You can use groups to secure views by user role, or you can also specify subgroups, or even exclude objects from a given group. Not all groups, however, will necessarily apply to your Windows Azure applications.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8540.image_102CD579.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8540.image_5F00_102CD579.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7651.image_thumb_3DADF53C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7651.image_5F00_thumb_5F00_3DADF53C.png" width="644" height="484" /></a></p>  <p>So here is our starting point with a Performance view that displays memory performance for all applications within a given subscription.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5123.10-17-2013-12-05-26-PM_321837FD.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5123.10_2D00_17_2D00_2013_2D00_12_2D00_05_2D00_26_2D00_PM_5F00_321837FD.png"><img title="10-17-2013 12-05-26 PM" style="display: inline; background-image: none;" border="0" alt="10-17-2013 12-05-26 PM" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6433.10-17-2013-12-05-26-PM_thumb_546FCD76.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6433.10_2D00_17_2D00_2013_2D00_12_2D00_05_2D00_26_2D00_PM_5F00_thumb_5F00_546FCD76.png" width="644" height="484" /></a></p>  <p>Click on the <strong>Authoring</strong> view, and select the <em>Groups</em> node, as seen below. Right-click on the <em>Groups</em> node and select <em>Create a new group…</em> from the popup menu, which will display the Group creation wizard.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4477.10-17-2013-11-46-04-AM_33E88DC4.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4477.10_2D00_17_2D00_2013_2D00_11_2D00_46_2D00_04_2D00_AM_5F00_33E88DC4.png"><img title="10-17-2013 11-46-04 AM" style="display: inline; background-image: none;" border="0" alt="10-17-2013 11-46-04 AM" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1667.10-17-2013-11-46-04-AM_thumb_0F570040.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1667.10_2D00_17_2D00_2013_2D00_11_2D00_46_2D00_04_2D00_AM_5F00_thumb_5F00_0F570040.png" width="644" height="484" /></a></p>  <p>On the first page type a name for the application(s) that you want to group together in your Performance view. Select a management pack in which to store this monitor. Select the <strong>Next</strong> button when done.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6064.10-17-2013-11-47-46-AM_119388FC.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6064.10_2D00_17_2D00_2013_2D00_11_2D00_47_2D00_46_2D00_AM_5F00_119388FC.png"><img title="10-17-2013 11-47-46 AM" style="display: inline; background-image: none;" border="0" alt="10-17-2013 11-47-46 AM" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2350.10-17-2013-11-47-46-AM_thumb_58107904.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2350.10_2D00_17_2D00_2013_2D00_11_2D00_47_2D00_46_2D00_AM_5F00_thumb_5F00_58107904.png" width="644" height="484" /></a></p>  <p>On the <strong>Choose Members from a List</strong> wizard page, select the <strong>Add/Remove Objects…</strong> button, which will present a dialog for choosing objects that will be the members of this group.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3660.10-17-2013-11-47-57-AM_616C3E38.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3660.10_2D00_17_2D00_2013_2D00_11_2D00_47_2D00_57_2D00_AM_5F00_616C3E38.png"><img title="10-17-2013 11-47-57 AM" style="display: inline; background-image: none;" border="0" alt="10-17-2013 11-47-57 AM" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5342.10-17-2013-11-47-57-AM_thumb_6ED2513E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5342.10_2D00_17_2D00_2013_2D00_11_2D00_47_2D00_57_2D00_AM_5F00_thumb_5F00_6ED2513E.png" width="644" height="484" /></a></p>  <p>In the dialog, use the filter to find and add the applications you would like to monitor in this Performance view. You can add each to the list box at the bottom using the <strong>Add</strong> button, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8562.10-17-2013-11-48-52-AM_4A40C3BA.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8562.10_2D00_17_2D00_2013_2D00_11_2D00_48_2D00_52_2D00_AM_5F00_4A40C3BA.png"><img title="10-17-2013 11-48-52 AM" style="display: inline; background-image: none;" border="0" alt="10-17-2013 11-48-52 AM" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8816.10-17-2013-11-48-52-AM_thumb_77C1E37D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8816.10_2D00_17_2D00_2013_2D00_11_2D00_48_2D00_52_2D00_AM_5F00_thumb_5F00_77C1E37D.png" width="644" height="484" /></a></p>  <p>Go ahead and skip through the <strong>Create a Membership Formula</strong> and <strong>Choose Optional Subgroups</strong> wizard pages until you reach the <strong>Specify Exclude List</strong> dialog, as seen below. Choose the <strong>Create</strong> button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1172.10-17-2013-11-49-21-AM_3E3ED386.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1172.10_2D00_17_2D00_2013_2D00_11_2D00_49_2D00_21_2D00_AM_5F00_3E3ED386.png"><img title="10-17-2013 11-49-21 AM" style="display: inline; background-image: none;" border="0" alt="10-17-2013 11-49-21 AM" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2577.10-17-2013-11-49-21-AM_thumb_20604F85.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2577.10_2D00_17_2D00_2013_2D00_11_2D00_49_2D00_21_2D00_AM_5F00_thumb_5F00_20604F85.png" width="644" height="484" /></a></p>  <p>You should now see your group in the list, as below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1106.10-17-2013-11-50-18-AM_5BB3B543.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1106.10_2D00_17_2D00_2013_2D00_11_2D00_50_2D00_18_2D00_AM_5F00_5BB3B543.png"><img title="10-17-2013 11-50-18 AM" style="display: inline; background-image: none;" border="0" alt="10-17-2013 11-50-18 AM" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7206.10-17-2013-11-50-18-AM_thumb_0215988F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7206.10_2D00_17_2D00_2013_2D00_11_2D00_50_2D00_18_2D00_AM_5F00_thumb_5F00_0215988F.png" width="644" height="484" /></a></p>  <p>Now head back to the <strong>Monitoring</strong> view, as seen below. Right-click on your Performance view and select the <em>Properties</em> item in the popup menu, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1440.10-17-2013-11-50-45-AM_5664CE92.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1440.10_2D00_17_2D00_2013_2D00_11_2D00_50_2D00_45_2D00_AM_5F00_5664CE92.png"><img title="10-17-2013 11-50-45 AM" style="display: inline; background-image: none;" border="0" alt="10-17-2013 11-50-45 AM" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7824.10-17-2013-11-50-45-AM_thumb_3FA58709.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7824.10_2D00_17_2D00_2013_2D00_11_2D00_50_2D00_45_2D00_AM_5F00_thumb_5F00_3FA58709.png" width="644" height="484" /></a></p>  <p>In the <strong>Properties</strong> dkalog, select the ellipsis button (…) under the <em>Show data contained in a specific group:</em> heading.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3058.10-17-2013-11-50-58-AM_2CF08D52.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3058.10_2D00_17_2D00_2013_2D00_11_2D00_50_2D00_58_2D00_AM_5F00_2CF08D52.png"><img title="10-17-2013 11-50-58 AM" style="display: inline; background-image: none;" border="0" alt="10-17-2013 11-50-58 AM" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3652.10-17-2013-11-50-58-AM_thumb_163145C9.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3652.10_2D00_17_2D00_2013_2D00_11_2D00_50_2D00_58_2D00_AM_5F00_thumb_5F00_163145C9.png" width="644" height="484" /></a></p>  <p>You will now see a dialog that will allow you to search through objects and select one, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0830.10-17-2013-11-51-35-AM_63613F54.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0830.10_2D00_17_2D00_2013_2D00_11_2D00_51_2D00_35_2D00_AM_5F00_63613F54.png"><img title="10-17-2013 11-51-35 AM" style="display: inline; background-image: none;" border="0" alt="10-17-2013 11-51-35 AM" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0358.10-17-2013-11-51-35-AM_thumb_6CBD0488.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0358.10_2D00_17_2D00_2013_2D00_11_2D00_51_2D00_35_2D00_AM_5F00_thumb_5F00_6CBD0488.png" width="644" height="484" /></a></p>  <p>Type in a portion of the text of the group you created previously, as seen below. Select your group and then select the <strong>OK</strong> button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8284.10-17-2013-11-51-52-AM_28106A47.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8284.10_2D00_17_2D00_2013_2D00_11_2D00_51_2D00_52_2D00_AM_5F00_28106A47.png"><img title="10-17-2013 11-51-52 AM" style="display: inline; background-image: none;" border="0" alt="10-17-2013 11-51-52 AM" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0218.10-17-2013-11-51-52-AM_thumb_55918A0A.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0218.10_2D00_17_2D00_2013_2D00_11_2D00_51_2D00_52_2D00_AM_5F00_thumb_5F00_55918A0A.png" width="644" height="484" /></a></p>  <p>You’re now back to the original <strong>Properties</strong> dialog. Select the <strong>OK</strong> button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6661.10-17-2013-11-52-01-AM_6E21275A.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6661.10_2D00_17_2D00_2013_2D00_11_2D00_52_2D00_01_2D00_AM_5F00_6E21275A.png"><img title="10-17-2013 11-52-01 AM" style="display: inline; background-image: none;" border="0" alt="10-17-2013 11-52-01 AM" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8156.10-17-2013-11-52-01-AM_thumb_1078BCD4.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8156.10_2D00_17_2D00_2013_2D00_11_2D00_52_2D00_01_2D00_AM_5F00_thumb_5F00_1078BCD4.png" width="644" height="484" /></a></p>  <p>You should now see your Performance view is properly filtered.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6840.10-17-2013-11-53-19-AM_0B960918.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6840.10_2D00_17_2D00_2013_2D00_11_2D00_53_2D00_19_2D00_AM_5F00_0B960918.png"><img title="10-17-2013 11-53-19 AM" style="display: inline; background-image: none;" border="0" alt="10-17-2013 11-53-19 AM" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5468.10-17-2013-11-53-19-AM_thumb_4D9C7859.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5468.10_2D00_17_2D00_2013_2D00_11_2D00_53_2D00_19_2D00_AM_5F00_thumb_5F00_4D9C7859.png" width="644" height="484" /></a></p>  <p>We’re all done. See you next time, when we will cover how to filter Event logs.</p>]]></content:encoded>
    </item>
    <item>
      <title>Using the New Visual Studio 2010 Authoring Extensions to Create SCOM 2012 Rules for Windows Azure</title>
      <link>https://docs.microsoft.com/archive/blogs/walterm/using-the-new-visual-studio-2010-authoring-extensions-to-create-scom-2012-rules-for-windows-azure</link>
      <pubDate>Sat, 21 Sep 2013 21:48:00 GMT</pubDate>
      <dc:creator><![CDATA[Walter Myers III]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/walterm/2013/09/21/using-the-new-visual-studio-2010-authoring-extensions-to-create-scom-2012-rules-for-windows-azure/</guid>
      <description><![CDATA[Unless you enjoy creating SCOM 2012 management packs by hand, you will want a tool to ease the...]]></description>
      <content:encoded><![CDATA[<p>Unless you enjoy creating SCOM 2012 management packs by hand, you will want a tool to ease the creation of rules and monitors that target Windows Azure PaaS applications. Well you’re in luck with the new System Center 2012 Visual Studio Authoring Extensions (VSAE) for Visual Studio 2010 Professional, which you can download <a href="http://www.microsoft.com/en-us/download/details.aspx?id=30169">here</a>. This blog will walk you through creating rules leveraging the new authoring tool. It takes some getting used to, but I believe you will appreciate how much more powerful the tool is in Visual Studio than the previous Authoring Console for SCOM 2007 R2. A huge shout out goes to my Microsoft Consulting Services colleague and SCOM “go to” guy, Ian Smith. If your organization needs a SCOM consultant extraordinaire, Ian is your man.</p>  <p>This will be a long post with all of the steps detailed. Once you get the hang of it, though, you’ll be ready to create management packs on your own with this powerful new authoring tool in no time. So let’s get going. Go ahead and launch Visual Studio 2010. Create a new project and verify that you have the Management Pack templates installed as seen below. If you do, then select the first template titled <em>Operations Manager 2012 Add-on Management Pack</em>, and select <strong>OK</strong>. The reason you must select this one is because this template corresponds to the SCOM 2012 schema, while the <em>Operations Manager</em> <em>Core</em> template corresponds to the SCOM 2007 schema. If you select <em>Operations Manager</em> <em>Core</em>, you won’t be able to reference the new Management Pack bundle (.MPB) files that are only compatible with SCOM 2012.</p>  <p><strong>Important Note</strong>: Before moving ahead, <em>please verify</em> that the Azure deployment you are monitoring with SCOM 2012 is writing out the performance counters that correspond to the rules you will be creating here. You don’t have to create the same rules as I do. Create the rules for the performance counters that <em>you</em> write. We will do a total of four for training and testing purposes, and then you can go back to the project and add more as needed.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0434.image_59BFE4A4.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0434.image_5F00_59BFE4A4.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7612.image_thumb_5BFC6D60.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7612.image_5F00_thumb_5F00_5BFC6D60.png" width="644" height="484" /></a></p>  <p>Expand the <em>References</em> node, which should look as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8765.image_376ADFDC.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8765.image_5F00_376ADFDC.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7723.image_thumb_1E02DCA2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7723.image_5F00_thumb_5F00_1E02DCA2.png" width="644" height="484" /></a></p>  <p>In order for us to create our new rule(s) for Windows Azure subscriptions, we will need references to existing management pack libraries. In my case, I installed Visual Studio 2010 on the management server, so all of the management pack references will be on the server. If you didn’t install VSAE on your Management Server, then you will want to install any references not already included with VSAE into the Program Files (x86)\System Center 2012 Visual Studio Authoring Extensions\References\OM2012 folder. For more info on reference “do’s and don’ts”, see the TechNet article titled “System Center - Visual Studio Authoring Extensions,” which can be found <a href="http://social.technet.microsoft.com/wiki/contents/articles/16051.system-center-visual-studio-authoring-extensions.aspx" target="_blank">here</a>. For the purposes of this walkthrough, however, the only management pack we will reference that is not already included with VSAE is the Windows Azure management pack for System Center 2012. So if you are not working on a Management Server, go ahead and download the <em>System Center 2012 Management Pack for Windows Azure</em> from <a href="http://www.microsoft.com/en-us/download/details.aspx?id=38414" target="_blank">here</a>, and then install it on your workstation. It will place the .mpb files in the Program Files (x86)\System Center Management Packs\System Center 2012 Management Pack for Windows Azure folder.</p>  <p>We will need to reference the Windows Azure management pack for SCOM 2012. Right-click the <em>References</em> node and select the <em>Add References from Management Pack Bundle…</em> from the popup menu, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5001.image_4B83FC65.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5001.image_5F00_4B83FC65.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6165.image_thumb_26F26EE1.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6165.image_5F00_thumb_5F00_26F26EE1.png" width="644" height="484" /></a></p>  <p>Navigate to the Program Files (x86)\System Center Management Packs\System Center 2012 Management Pack for Windows Azure folder, and find the <strong>Microsoft.SystemCenter.WindowsAzure.mpb</strong> management pack bundle file. Select the <strong>Open</strong> button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6661.image_3B77BE5F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6661.image_5F00_3B77BE5F.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5037.image_thumb_4FFD0DDD.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5037.image_5F00_thumb_5F00_4FFD0DDD.png" width="644" height="484" /></a></p>  <p>Select <strong>OK</strong> when you see the acknowledgement dialog, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5543.image_3D481426.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5543.image_5F00_3D481426.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3487.image_thumb_6AC933E9.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3487.image_5F00_thumb_5F00_6AC933E9.png" width="644" height="484" /></a></p>  <p>You should now see the reference to the Windows Azure management pack in the list of references.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0677.image_184A53AD.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0677.image_5F00_184A53AD.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7127.image_thumb_6C9989B0.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7127.image_5F00_thumb_5F00_6C9989B0.png" width="644" height="484" /></a></p>  <p>Next, we need to add a reference to the Data Warehouse management pack library. Right-click the <em>References</em> node again, and this time select just the <em>Add Reference…</em> item from the popup menu. Navigate to Program Files (x86)\System Center 2012 Visual Studio Authoring Extensions\References\OM2012.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5327.image_011ED92F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5327.image_5F00_011ED92F.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4338.image_thumb_556E0F32.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4338.image_5F00_thumb_5F00_556E0F32.png" width="644" height="484" /></a></p>  <p>Select the <strong>Microsoft.SystemCenter.DataWarehouse.Library.mp</strong>, and then select <strong>OK</strong>.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4452.image_49D851F3.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4452.image_5F00_49D851F3.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3201.image_thumb_53341727.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3201.image_5F00_thumb_5F00_53341727.png" width="644" height="484" /></a></p>  <p>Now add another reference from the same location to <strong>System.Performance.Library.mp</strong>, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3716.image_7995FA72.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3716.image_5F00_7995FA72.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6765.image_thumb_0E1B49F1.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6765.image_5F00_thumb_5F00_0E1B49F1.png" width="644" height="484" /></a></p>  <p>When you’re done, your Solution Explorer should look as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0005.image_1B815CF7.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0005.image_5F00_1B815CF7.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8053.image_thumb_49027CBA.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8053.image_5F00_thumb_5F00_49027CBA.png" width="644" height="484" /></a></p>  <p>Now we’re ready to add our first rule. Right-click on the project and select <em>Add | New Item…</em> from the popup menu. In the <strong>Add New Item</strong> dialog, select the <em>Code</em> node, and then select the <em>Empty Management Pack Fragment</em> template. Provide a name, such as <em>Rules</em>, then, select the <strong>Add</strong> button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0116.image_0B751EF1.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0116.image_5F00_0B751EF1.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4670.image_thumb_1FFA6E6F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4670.image_5F00_thumb_5F00_1FFA6E6F.png" width="644" height="484" /></a></p>  <p>Your Visual Studio IDE should now look as seen below. Note in the <strong>Rules.mpx</strong> file that your management pack “fragment” uses schema version 2.0. Note that the reason this file is called a fragment is because it is only a <em>part</em> of the final management pack. The authoring tool will package up all the fragments and crank out a final management pack for you when you perform a build.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5734.image_4D7B8E32.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5734.image_5F00_4D7B8E32.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7416.image_thumb_4D0F5B3D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7416.image_5F00_thumb_5F00_4D0F5B3D.png" width="644" height="484" /></a></p>  <p>Now what we want is to not reinvent the wheel, so we will grab some XML from an existing management pack in order to create our new rule. Select the <strong>View</strong> menu, and then select the <em>Management Pack Browser</em> item, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6232.image_3D6F502C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6232.image_5F00_3D6F502C.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8814.image_thumb_6AF06FEF.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8814.image_5F00_thumb_5F00_6AF06FEF.png" width="644" height="484" /></a></p>  <p>Once the browser opens, navigate in the left-hand side of the browser pane, expand the <em>Microsoft.SystemCenter.WindowsAzure [1.0.0.0]</em> node, and then select the <em>Rules</em> node. In the middle pane below select an existing rule (e.g., I have selected the Available Megabytes Performance Counter rule). We are going to grab the XML from an existing rule to create our new rule, which makes our job a lot easier.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6366.image_03800D40.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6366.image_5F00_03800D40.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3566.image_thumb_77EA5000.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3566.image_5F00_thumb_5F00_77EA5000.png" width="644" height="484" /></a></p>  <p>Select and copy all of the XML text in the lower middle pane, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2577.image_7A26D8BC.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2577.image_5F00_7A26D8BC.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7624.image_thumb_6E911B7D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7624.image_5F00_thumb_5F00_6E911B7D.png" width="644" height="484" /></a></p>  <p>Now let’s head back to our <strong>Rules.mpx</strong> file and prepare it for the rule XML we just grabbed. Add the lines as seen below in preparation for the pasting of our rule XML.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1854.image_50B2977C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1854.image_5F00_50B2977C.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7144.image_thumb_7E33B73F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7144.image_5F00_thumb_5F00_7E33B73F.png" width="644" height="484" /></a></p>  <p>Now drop in your rule, as seen below, which we will modify for our own custom rule not included in the out-of-the-box Windows Azure management pack.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2783.image_67746FB6.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2783.image_5F00_67746FB6.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3301.image_thumb_46ED3004.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3301.image_5F00_thumb_5F00_46ED3004.png" width="644" height="484" /></a></p>  <p>Now it is time to setup our aliases so our management pack code matches up with our references. Select the <strong>Microsoft.SystemCenter.WindowsAzure</strong> reference in the Solution Explorer, and then show the Properties page. As seen below, the default is <strong>MSW</strong>. We’re going to change this alias to <strong>Azure</strong>.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4863.image_64CE44B6.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4863.image_5F00_64CE44B6.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2335.image_thumb_124F647A.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2335.image_5F00_thumb_5F00_124F647A.png" width="644" height="484" /></a></p>  <p>Go ahead and change the Alias property in the property page of <strong>Microsoft.SystemCenter.WindowsAzure</strong> to <strong>Azure</strong>. In the <strong>Rules.mpx</strong> file, prepend the <strong>TypeID</strong> attribute consisting of <strong>Microsoft.SystemCenter.WindowsAzure.RoleInstance.PerformanceCounter.CollectionData.DS</strong> with <strong>Azure </strong>followed by the delimiter <strong>!</strong>, exactly as seen below on Line 7. Don’t forget the delimiter!</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2251.image_1FB57780.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2251.image_5F00_1FB57780.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8623.image_thumb_1F49448B.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8623.image_5F00_thumb_5F00_1F49448B.png" width="644" height="484" /></a></p>  <p>Now scroll to the right on Line 4 and do the same with the <strong>Target</strong> attribute, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5415.image_41A0DA04.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5415.image_5F00_41A0DA04.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2287.image_thumb_04137C3B.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2287.image_5F00_thumb_5F00_04137C3B.png" width="644" height="484" /></a></p>  <p>Now select the <strong>Microsoft.SystemCenter.DataWarehouse</strong> reference, whose default alias is <strong>MSDL</strong>, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4452.image_11798F41.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4452.image_5F00_11798F41.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5850.image_thumb_45ADB887.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5850.image_5F00_thumb_5F00_45ADB887.png" width="644" height="484" /></a></p>  <p>Change the Alias property to <strong>SCDW</strong>, which will match up with what’s already in the Windows Azure management pack that we copied from.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3323.image_4E9D4AC6.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3323.image_5F00_4E9D4AC6.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4237.image_thumb_70F4E03F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4237.image_5F00_thumb_5F00_70F4E03F.png" width="644" height="484" /></a></p>  <p>Select the <strong>Microsoft.SystemCenter.Library</strong> reference, and verify that its Alias property matches up with the existing alias in our Rules file, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2185.image_305293D0.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2185.image_5F00_305293D0.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8867.image_thumb_5DD3B393.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8867.image_5F00_thumb_5F00_5DD3B393.png" width="644" height="484" /></a></p>  <p>Now let’s go ahead and change the existing rule to a different performance counter. As seen below, I’m changing the performance counter to <strong>Memory\Committed Bytes</strong>. Feel free to use whatever valid performance counter you would like that is being written by your Azure deployment(s).</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5658.image_2E189BC5.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5658.image_5F00_2E189BC5.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0550.image_thumb_429DEB43.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0550.image_5F00_thumb_5F00_429DEB43.png" width="644" height="484" /></a></p>  <p>Let’s now perform our first build. Resolve any issues and don’t move forward until you can successfully build. If you have followed all of the instructions to the letter, your build should be successful.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6170.image_68FFCE8E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6170.image_5F00_68FFCE8E.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5280.image_thumb_446E410A.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5280.image_5F00_thumb_5F00_446E410A.png" width="644" height="484" /></a></p>  <p>Build success, as seen below!</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7762.image_23E70158.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7762.image_5F00_23E70158.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2806.image_thumb_7F5573D3.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2806.image_5F00_thumb_5F00_7F5573D3.png" width="644" height="484" /></a></p>  <p>Now we need to create the display strings that we will see as the name in the <strong>Authoring</strong> view of the SCOM Operations Console. Go ahead and add a <em>LanguagePacks</em> (plural) element as seen below, after the <em>Monitoring</em> element.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6237.image_6859AEC6.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6237.image_5F00_6859AEC6.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0285.image_thumb_27B76257.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0285.image_5F00_thumb_5F00_27B76257.png" width="644" height="484" /></a></p>  <p>Now head over to the Management Pack Browser and navigate to the Windows Azure management pack library <em>LanguagePacks</em> node, as seen below. Copy the first line with the <em>LanguagePack</em> (singular) opening element.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7658.image_3113278B.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7658.image_5F00_3113278B.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0638.image_thumb_05625D8F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0638.image_5F00_thumb_5F00_05625D8F.png" width="644" height="484" /></a></p>  <p>Now add the opening <em>LanguagePack</em> element and then add the closing element. Then add the <em>DisplayStrings</em> element, exactly as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2311.image_59B19392.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2311.image_5F00_59B19392.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3487.image_thumb_0732B356.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3487.image_5F00_thumb_5F00_0732B356.png" width="644" height="484" /></a></p>  <p>Now head back over to the Management Pack Browser, and copy all of the <em>LanguagePacks</em> element of the Windows Azure management pack library, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1665.image_1498C65C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1665.image_5F00_1498C65C.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7127.image_thumb_700738D7.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7127.image_5F00_thumb_5F00_700738D7.png" width="644" height="484" /></a></p>  <p>Open Notepad and copy the text into Notepad. Perform a a search in Notepad on “roleinstance.memory”, which should take you to the display string for the <strong>Available Memory</strong> performance counter. Copy the entire element, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3252.image_125ECE51.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3252.image_5F00_125ECE51.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5808.image_thumb_38C0B19C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5808.image_5F00_thumb_5F00_38C0B19C.png" width="644" height="484" /></a></p>  <p>Now paste the display string into your rule as seen below. Note the three values you need to change to the <strong>Committed Bytes</strong> performance counter.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7571.image_68EA8D10.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7571.image_5F00_68EA8D10.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2605.image_thumb_017A2A61.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2605.image_5F00_thumb_5F00_017A2A61.png" width="644" height="484" /></a></p>  <p>Next, make the three replacements, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6835.image_3CCD901F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6835.image_5F00_3CCD901F.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5270.image_thumb_6A4EAFE2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5270.image_5F00_thumb_5F00_6A4EAFE2.png" width="644" height="484" /></a></p>  <p>Go ahead and perform a build before proceeding.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7851.image_5EB8F2A3.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7851.image_5F00_5EB8F2A3.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5314.image_thumb_3A27651F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5314.image_5F00_thumb_5F00_3A27651F.png" width="644" height="484" /></a></p>  <p>We can always add more rules to our Rules.mpx file, but there is a better way. Now we will pursue a more automated way to crank out new rules using a template. Right-click on the project and add a new item. Select the <em>Code</em> node under the Management Pack templates, and then select the <strong>Snippet Template</strong>, as seen below, which has a <em>templatesnippet</em> file extension. Give it a name such as <em>AzureRules</em> and select the <strong>Add</strong> button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8512.image_29CB6AED.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8512.image_5F00_29CB6AED.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5074.image_thumb_17167136.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5074.image_5F00_thumb_5F00_17167136.png" width="644" height="484" /></a></p>  <p>Now, you will see that it has created a rule template for you, but this isn’t useful to you since it doesn’t use the Windows Azure data sources.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6866.image_2072366A.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6866.image_5F00_2072366A.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7043.image_thumb_66EF2672.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7043.image_5F00_thumb_5F00_66EF2672.png" width="644" height="484" /></a></p>  <p>Go ahead and delete the rule in the template snippet, substituting it with the rule you created earlier in the <strong>Rules.mpx</strong> file, which is seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3362.image_74553978.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3362.image_5F00_74553978.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6320.image_thumb_7691C234.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6320.image_5F00_thumb_5F00_7691C234.png" width="644" height="484" /></a></p>  <p>Now remove the entire existing <em>DisplayString</em> element in the template snippet, and replace it with the <em>DisplayString</em> element from the rule you created earlier, which is seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0167.image_18E957AE.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0167.image_5F00_18E957AE.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5282.image_thumb_0D539A6F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5282.image_5F00_thumb_5F00_0D539A6F.png" width="644" height="484" /></a></p>  <p>Your rule template should now look as seen below after grabbing the rule and its display string from the <strong>Rules.mpx</strong> file.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2086.image_3CA50FF9.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2086.image_5F00_3CA50FF9.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0458.image_thumb_18138275.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0458.image_5F00_thumb_5F00_18138275.png" width="644" height="484" /></a></p>  <p>Now we will insert the variables needed for when we apply the template to create multiple rules from a wizard page (which we will see later, so be patient). Delete the object name in the rule ID attribute as seen below. Place your cursor where you deleted the object name and type <strong>Ctrl-&lt;Space&gt;</strong>. You will be presented with a popup with substitution options. Select the <strong>#text</strong> item from the popup menu.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1121.image_0C7DC536.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1121.image_5F00_0C7DC536.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6254.image_thumb_67EC37B1.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6254.image_5F00_thumb_5F00_67EC37B1.png" width="644" height="484" /></a></p>  <p>The text variable won’t have a variable value in it, so you will have to provide that value. Type in <em>ObjectName</em>, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8836.image_0E4E1AFD.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8836.image_5F00_0E4E1AFD.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4544.image_thumb_69BC8D78.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4544.image_5F00_thumb_5F00_69BC8D78.png" width="644" height="484" /></a></p>  <p>Now do the same for the short counter name, substituting the text variable with <em>CounterShortName</em>, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0841.image_2BC2FCBA.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0841.image_5F00_2BC2FCBA.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4456.image_thumb_723FECC2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4456.image_5F00_thumb_5F00_723FECC2.png" width="644" height="484" /></a></p>  <p>Within the <em>DataSource</em> element, navigate to the &lt;CounterName&gt; element, and delete the value. Use Ctrl-&lt;Space&gt; to substitute this with a <strong>#text</strong> variable as well. In this case, substitute with the variable <em>CounterLongName</em>.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3414.image_7B9BB1F6.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3414.image_5F00_7B9BB1F6.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0876.image_thumb_291CD1BA.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0876.image_5F00_thumb_5F00_291CD1BA.png" width="644" height="484" /></a></p>  <p>Next, substitute the &lt;ObjectName&gt; element value immediately below with a <strong>#text</strong> variable named <em>ObjectName</em>.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8625.image_08959208.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8625.image_5F00_08959208.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6177.image_thumb_71D64A7E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6177.image_5F00_thumb_5F00_71D64A7E.png" width="644" height="484" /></a></p>  <p>Now scroll the windows over until you see the Target attribute of the rule. Highlight the “Azure” value, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3060.image_142DDFF8.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3060.image_5F00_142DDFF8.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2705.image_thumb_65D45A4A.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2705.image_5F00_thumb_5F00_65D45A4A.png" width="644" height="484" /></a></p>  <p>Use Ctrl-&lt;Space&gt; to substitute the “Azure” value with a <strong>#alias</strong> variable as seen below. Insert the value <em>Microsoft.SystemCenter.WindowsAzure</em>, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2311.image_56344F39.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2311.image_5F00_56344F39.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4073.image_thumb_55C81C44.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4073.image_5F00_thumb_5F00_55C81C44.png" width="644" height="484" /></a></p>  <p>Now find the &lt;DataSource&gt; element, and find the “Azure” value of the <em>TypeID</em> attribute, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2251.image_03493C08.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2251.image_5F00_03493C08.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6560.image_thumb_5EB7AE83.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6560.image_5F00_thumb_5F00_5EB7AE83.png" width="644" height="484" /></a></p>  <p>Substitute the “Azure” value with the value <em>Microsoft.SystemCenter.WindowsAzure</em>, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5305.image_4C02B4CC.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5305.image_5F00_4C02B4CC.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3757.image_thumb_7983D48F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3757.image_5F00_thumb_5F00_7983D48F.png" width="644" height="484" /></a></p>  <p>In the &lt;DisplayString&gt; element, find the object and counter values and substitute just as you did for the rule above. You can see the two substitutions below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3364.image_1BDB6A09.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3364.image_5F00_1BDB6A09.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4265.image_thumb_5E4E0C3F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4265.image_5F00_thumb_5F00_5E4E0C3F.png" width="644" height="484" /></a></p>  <p>Now in the &lt;Name&gt; element, make the necessary substitutions as seen below, and also make the substitutions for the &lt;Description&gt; element as well. You can see the substitutions below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6837.image_24CAFC48.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6837.image_5F00_24CAFC48.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5466.image_thumb_6B47EC50.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5466.image_5F00_thumb_5F00_6B47EC50.png" width="644" height="484" /></a></p>  <p>Go ahead and perform a build. Do not continue until you have a successful build.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7357.image_3B8CD482.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7357.image_5F00_3B8CD482.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4721.image_thumb_541C71D2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4721.image_5F00_thumb_5F00_541C71D2.png" width="644" height="484" /></a></p>  <p>Now we’re ready for the wizard page that leverages the template snippet and allows us to crank out rules by simply putting in the desired values. Right-click on the project and add a new item. This time select the Templates node in the Management Pack templates, and then select the <strong>Snippet</strong> item, as seen below. Provide a name such as <em>AzureRuleGenerator</em>, and then select the <strong>Add</strong> button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6403.image_24615A04.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6403.image_5F00_24615A04.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7384.image_thumb_3CF0F754.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7384.image_5F00_thumb_5F00_3CF0F754.png" width="644" height="484" /></a></p>  <p>You will now see a page that asks you to select a snippet type. Click on the button, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5734.image_185F69D0.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5734.image_5F00_185F69D0.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4682.image_thumb_2CE4B94E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4682.image_5F00_thumb_5F00_2CE4B94E.png" width="644" height="484" /></a></p>  <p>Go ahead and choose the template snippet you just created, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3531.image_2C788659.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3531.image_5F00_2C788659.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0003.image_thumb_238B84CB.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0003.image_5F00_thumb_5F00_238B84CB.png" width="644" height="484" /></a></p>  <p>Now enter the values for the new performance counter rules you would like, as seen below. Unfortunately, you will have to enter the values for each time you created a variable, but it will autocomplete so you won’t have to type them again. My understanding is that this will be fixed in a future version so you only have to type a variable once.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5518.image_3810D449.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5518.image_5F00_3810D449.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5148.image_thumb_6525C117.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5148.image_5F00_thumb_5F00_6525C117.png" width="644" height="484" /></a></p>  <p>When you’re done, just save the page, and the rules will be generated. You can always go back and make changes as well as add new rules. You can even import from a .csv file.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7711.image_627F9617.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7711.image_5F00_627F9617.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5078.image_thumb_1000B5DB.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5078.image_5F00_thumb_5F00_1000B5DB.png" width="644" height="484" /></a></p>  <p>Now locate the rule generator in the Solution Explorer, which has a .mpsd extension. Expand it to find the generated file that has a .mpx extension (which is the same fragment extension as the rule you created manually earlier), and go ahead and open up the .mpx file. You can see below that it has written out all of the rules for you in the file with text and aliases appropriately substituted! When the final management pack is generated, your project will put all of these pieces together into a nice, neat management pack.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7651.image_195C7B0F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7651.image_5F00_195C7B0F.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8255.image_thumb_46DD9AD2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8255.image_5F00_thumb_5F00_46DD9AD2.png" width="644" height="484" /></a></p>  <p>Let’s now scroll over and verify that the &lt;Rule&gt; element alias has been successfully substituted as well.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8171.image_063B4E63.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8171.image_5F00_063B4E63.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0753.image_thumb_48ADF099.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0753.image_5F00_thumb_5F00_48ADF099.png" width="644" height="484" /></a></p>  <p>Scroll down to the &lt;LanguagePacks&gt; section, and you will see the display strings are generated as well. Very cool.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4336.image_3039D790.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4336.image_5F00_3039D790.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2526.image_thumb_125B538F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2526.image_5F00_thumb_5F00_125B538F.png" width="644" height="484" /></a></p>  <p>Perform a build now, and do not proceed until you have a successful build. We’re getting close to being done, but there is still a bit more work to do.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5140.image_241C6315.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5140.image_5F00_241C6315.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4807.image_thumb_6A99531D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4807.image_5F00_thumb_5F00_6A99531D.png" width="644" height="484" /></a></p>  <p>Now we’re going to create a display name and description for the entire management pack. Right-click on the project and open the properties page, as seen below. Select the link at the bottom titled <em>Find or Create the Management Pack Display Name and Description</em>. It will create a <strong>ManagementPack.mpx</strong> file and will open the file.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6327.image_66AA8992.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6327.image_5F00_66AA8992.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7737.image_thumb_4FEB4209.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7737.image_5F00_thumb_5F00_4FEB4209.png" width="644" height="484" /></a></p>  <p>Below is the file Visual Studio just opened with the display strings for the management pack itself, which you can modify.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1057.image_2F640257.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1057.image_5F00_2F640257.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3630.image_thumb_71D6A48D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3630.image_5F00_thumb_5F00_71D6A48D.png" width="644" height="484" /></a></p>  <p>Below, I have modified the management pack display strings with more descriptive values.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1817.image_38539496.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1817.image_5F00_38539496.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0827.image_thumb_65D4B459.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0827.image_5F00_thumb_5F00_65D4B459.png" width="644" height="484" /></a></p>  <p>Below, I added two additional elements. The &lt;Presentation&gt; element creates a folder in the SCOM Operations Console <strong>Monitoring</strong> view for you to use as a container for your management pack objects (such as performance views). We will create a performance view later using the rules we have created. The &lt;DisplayString&gt; element actually adds the text that will be the displayed name of the folder created above in the fragment file.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0434.image_082C49D3.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0434.image_5F00_082C49D3.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0777.image_thumb_1CB19951.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0777.image_5F00_thumb_5F00_1CB19951.png" width="644" height="484" /></a></p>  <p>Below shows the file scrolled over showing what the <em>ParentFolder</em> attribute should look like. After you have finished, go ahead and build your project. Don’t proceed until you have a successful build.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2047.image_54D4B360.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2047.image_5F00_54D4B360.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5277.image_thumb_772C48D9.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5277.image_5F00_thumb_5F00_772C48D9.png" width="644" height="484" /></a></p>  <p>We’re now all done and ready to test drive the management pack!&#160; Navigate to the <strong>bin\Debug</strong> folder of your project, as seen below. You will import the XML file as we’re not taking advantage of the features of the management pack bundle that was generated.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0383.image_7C2A599E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0383.image_5F00_7C2A599E.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3513.image_thumb_10AFA91D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3513.image_5F00_thumb_5F00_10AFA91D.png" width="644" height="484" /></a></p>  <p>Go ahead and import the management pack into SCOM 2012, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1817.image_5003948A.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1817.image_5F00_5003948A.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8360.image_thumb_52401D46.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8360.image_5F00_thumb_5F00_52401D46.png" width="644" height="484" /></a></p>  <p>After a few minutes, verify that the management pack now shows up in the management pack list in the <strong>Administration</strong> view.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7536.image_3F8B238F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7536.image_5F00_3F8B238F.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1778.image_thumb_33F56650.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1778.image_5F00_thumb_5F00_33F56650.png" width="644" height="484" /></a></p>  <p>Next, head over to the <strong>Authoring</strong> view and navigate to the <em>Rules</em> node. In the right-hand pane, navigate to the <em>Windows Azure Role Instance</em> item as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6175.image_4B23717F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6175.image_5F00_4B23717F.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1200.image_thumb_11A06188.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1200.image_5F00_thumb_5F00_11A06188.png" width="644" height="484" /></a></p>  <p>By default, your rules will not be enabled, so right-click on each rule and select <em>Enable</em> from the popup menu.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4442.image_65EF978B.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4442.image_5F00_65EF978B.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4466.image_thumb_08472D05.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4466.image_5F00_thumb_5F00_08472D05.png" width="644" height="484" /></a></p>  <p>Now we need to create a performance view to see the results of our new rules. Go to the <strong>Monitoring</strong> view, and select the folder we created in the authoring tool.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7433.image_71EA9658.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7433.image_5F00_71EA9658.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8510.image_thumb_61DE5852.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8510.image_5F00_thumb_5F00_61DE5852.png" width="644" height="484" /></a></p>  <p>Right-click on the management pack folder. Select <em>New | Performance View</em>, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6131.image_119CCA20.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6131.image_5F00_119CCA20.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0702.image_thumb_480D7C22.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0702.image_5F00_thumb_5F00_480D7C22.png" width="644" height="484" /></a></p>  <p>Since in this blog we created <strong>Memory</strong> and <strong>TCPv4</strong> performance objects, enter one of these headings in the name. Then select the button with the ellipsis (“…”) next to the <em>Show data related to:</em> field. In the <strong>Select Items to Target</strong> dialog, select the <em>View all targets</em> radio button, and then enter a search field such as “role instance”, as seen below. Find the <em>Windows Azure Role Instance</em> item in the list below, and then select the <strong>OK</strong> button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5710.image_3D8A0817.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5710.image_5F00_3D8A0817.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1106.image_thumb_63EBEB62.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1106.image_5F00_thumb_5F00_63EBEB62.png" width="644" height="484" /></a></p>  <p>Now select the <em>collected by specific rules</em> item in the <em>Select conditions:</em> listbox, as seen below. Next, select the <em>specific</em> link at the bottom of the dialog.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3487.image_20D5C39E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3487.image_5F00_20D5C39E.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0753.image_thumb_5C29295C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0753.image_5F00_thumb_5F00_5C29295C.png" width="644" height="484" /></a></p>  <p>Find the desired rule(s), as seen below that match up with your heading (note that I’m selecting one of the <strong>Memory</strong> rules that I created). Once you have selected the desired rule(s), select the <strong>OK</strong> button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1185.image_704245E5.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1185.image_5F00_704245E5.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7043.image_thumb_206C215A.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7043.image_5F00_thumb_5F00_206C215A.png" width="644" height="484" /></a></p>  <p>You will now see your rule(s) at the bottom of the dialog. Accept the dialog.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4857.image_0DB727A3.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4857.image_5F00_0DB727A3.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1538.image_thumb_300EBD1C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1538.image_5F00_thumb_5F00_300EBD1C.png" width="644" height="484" /></a></p>  <p>It may take a while, but you should eventually see the list of performance counters that correspond to your rule(s). It is important to note that your deployment must be actually writing these performance counters, so if you don’t see anything after a few minutes, verify that the counters are being written.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5857.image_3D74D022.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5857.image_5F00_3D74D022.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0576.image_thumb_11C40626.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0576.image_5F00_thumb_5F00_11C40626.png" width="644" height="484" /></a></p>  <p>Whew! We’re now done! See you again soon for some other System Center 2012 coolness we will be blogging about.</p>]]></content:encoded>
    </item>
    <item>
      <title>Creating Load Balanced Virtual Machines in a Virtual Network</title>
      <link>https://docs.microsoft.com/archive/blogs/walterm/creating-load-balanced-virtual-machines-in-a-virtual-network</link>
      <pubDate>Thu, 13 Jun 2013 23:06:02 GMT</pubDate>
      <dc:creator><![CDATA[Walter Myers III]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/walterm/2013/06/13/creating-load-balanced-virtual-machines-in-a-virtual-network/</guid>
      <description><![CDATA[I have seen in a couple of places where it has been mistakenly implied that you can’t create load...]]></description>
      <content:encoded><![CDATA[<p>I have seen in a couple of places where it has been mistakenly implied that you can’t create load balanced virtual machines in a virtual network. Actually, you can. The trick is that load balancing is not specific to the virtual network, but can be incidental to it. In order to load balance virtual machines, they must be in the same cloud service. So if you create load balanced machines inside a cloud service, targeting the first of the load balanced machines to a virtual network, then both load balanced machines will participate in the virtual network. I will walk through the process to show how it’s done for two load balanced virtual machines. Of course, you can add more.</p>  <p>Our walkthrough scenario will look something like the below diagram when we are done. Note that this is slightly modified from the Windows Azure <a href="http://www.windowsazure.com/en-us/manage/windows/common-tasks/how-to-load-balance-virtual-machines/" target="_blank">Load Balancing Virtual Machines</a> documentation page, adding Virtual Network to the diagram.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2055.image_30175681.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2055.image_5F00_30175681.png"><img title="image" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0638.image_thumb_76944689.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0638.image_5F00_thumb_5F00_76944689.png" width="417" height="367" /></a></p>  <p>So let’s now begin. From the Windows Azure management portal, select the enormous <strong>“+ NEW</strong>” button in the lower left hand corner of the portal, and navigate to the creation of a virtual machine as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3312.image_175B02B5.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3312.image_5F00_175B02B5.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2678.image_thumb_32935BB6.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2678.image_5F00_thumb_5F00_32935BB6.png" width="644" height="437" /></a></p>  <p>From the create a virtual machine wizard, select the image you would like.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3755.image_1FDE61FF.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3755.image_5F00_1FDE61FF.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6813.image_thumb_70234A30.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6813.image_5F00_thumb_5F00_70234A30.png" width="644" height="437" /></a></p>  <p>Provide a virtual machine name and fill in the remaining values, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3276.image_7D895D36.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3276.image_5F00_7D895D36.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0167.image_thumb_44064D3F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0167.image_5F00_thumb_5F00_44064D3F.png" width="644" height="437" /></a></p>  <p>Now, on the <strong>Virtual machine mode</strong> page, leave the <em>Stand-alone Virtual Machine</em> radio button checked. Enter a DNS name for your load balanced machines, select the storage account to contain your virtual machine, and then select the virtual network you would like this virtual machine to participate in.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3125.image_588B9CBD.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3125.image_5F00_588B9CBD.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3632.image_thumb_7AE33236.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3632.image_5F00_thumb_5F00_7AE33236.png" width="644" height="437" /></a></p>  <p>Your portal should look as seen below when you’re done.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3058.image_22158DE6.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3058.image_5F00_22158DE6.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0841.image_thumb_5D68F3A4.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0841.image_5F00_thumb_5F00_5D68F3A4.png" width="644" height="437" /></a></p>  <p>Finally, choose an availability set if desired.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4274.image_5821FA79.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4274.image_5F00_5821FA79.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3000.image_thumb_012C9976.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3000.image_5F00_thumb_5F00_012C9976.png" width="644" height="437" /></a></p>  <p>Now walk through the steps above again for a new virtual machine, providing a virtual machine name on the <strong>Virtual machine configuration</strong> page that complements the one created previously.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5672.image_2EADB939.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5672.image_5F00_2EADB939.png"><img title="image" style="margin: 0px; display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1563.image_thumb_473D5689.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1563.image_5F00_thumb_5F00_473D5689.png" width="644" height="437" /></a></p>  <p>On the <strong>Virtual machine mode</strong> page, select the <em>Connect to an Existing Virtual Machine</em> radio button. Select the virtual machine you created previously in the dropdown immediately below. The virtual network dropdown, even though it is grayed, will change on its own to the virtual network associated with the virtual machine you created previously. Go ahead and complete the wizard as before.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0312.image_5BC2A607.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0312.image_5F00_5BC2A607.png"><img title="image" style="display: inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3542.image_thumb_45035E7E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3542.image_5F00_thumb_5F00_45035E7E.png" width="644" height="437" /></a></p>  <p>Now that you have created the virtual machines, let’s setup the load balanced endpoints for each. Select your first virtual machine in the first column as seen below so that it will take you to its details page.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8666.image_72847E41.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8666.image_5F00_72847E41.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8787.image_thumb_2DD7E400.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8787.image_5F00_thumb_5F00_2DD7E400.png" width="644" height="437" /></a></p>  <p>Select the <strong>Endpoints</strong> tab, as seen below, and then select the <strong>Add</strong> button, which will start the endpoint wizard.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1460.image_6FDE5341.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1460.image_5F00_6FDE5341.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4405.image_thumb_1D5F7305.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4405.image_5F00_thumb_5F00_1D5F7305.png" width="644" height="437" /></a></p>  <p>Leave the default <em>Add Endpoint</em> radio button selected on the first wizard page, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1307.image_03F76FCB.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1307.image_5F00_03F76FCB.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1212.image_thumb_466A1201.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1212.image_5F00_thumb_5F00_466A1201.png" width="644" height="437" /></a></p>  <p>On the next page, provide a name for the endpoint and input your public as well as private ports. As an example, since I’m setting up web servers, both of my ports will be port 80.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2311.image_1AB94805.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2311.image_5F00_1AB94805.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0741.image_thumb_4EED714B.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0741.image_5F00_thumb_5F00_4EED714B.png" width="644" height="437" /></a></p>  <p>When you’re done, you will shortly see a newly configured endpoint.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5123.image_2D681A9E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5123.image_5F00_2D681A9E.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4848.image_thumb_33AEF12C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4848.image_5F00_thumb_5F00_33AEF12C.png" width="644" height="437" /></a></p>  <p>Now head back to the <strong>virtual machines</strong> page, and select the first column of the second virtual machine, which will take you to the details page.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2843.image_45943CC8.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2843.image_5F00_45943CC8.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5315.image_thumb_12C43654.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5315.image_5F00_thumb_5F00_12C43654.png" width="644" height="437" /></a></p>  <p>As before, select the <strong>Endpoints</strong> tab, and add an endpoint. On the <strong>Add Endpoint</strong> page, as seen below, select the <em>Load-balance Traffic on an Existing Endpoint</em>. From the dropdown, select the endpoint name you previously created (which will be appended with the port number).</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1220.image_7C04EECA.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1220.image_5F00_7C04EECA.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1157.image_thumb_37585489.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1157.image_5F00_thumb_5F00_37585489.png" width="644" height="437" /></a></p>  <p>On the next page, provide a name for the endpoint, and select the checkmark to finish the wizard.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7024.image_04884E15.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7024.image_5F00_04884E15.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2577.image_thumb_58D78418.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2577.image_5F00_thumb_5F00_58D78418.png" width="644" height="437" /></a></p>  <p>After a short while, your endpoint will be created. Verify that under the <em>Load Balanced</em> column, the value is “Yes.” If you go to the first virtual machine we created and inspect its endpoints page, you will see that its <em>Load Balanced</em> column has changed to “Yes.”</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6864.image_3445F694.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6864.image_5F00_3445F694.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5314.image_thumb_7AC2E69C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5314.image_5F00_thumb_5F00_7AC2E69C.png" width="644" height="437" /></a></p>  <p>Let’s verify that everything is setup properly now. Navigate to the <strong>Cloud Services</strong> pane from the left-hand navigation. You should see a cloud service with the DNS name you specified when you created the first load balanced virtual machine. Select the first column of the cloud service to go to the details page.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4130.image_764C65D5.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4130.image_5F00_764C65D5.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6305.image_thumb_23CD8599.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6305.image_5F00_thumb_5F00_23CD8599.png" width="644" height="437" /></a></p>  <p>Select the <strong>Instances</strong> tab for your cloud service, as seen below. You should see your two virtual machines you just created.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3034.image_05EF0198.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3034.image_5F00_05EF0198.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4188.image_thumb_4C6BF1A0.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4188.image_5F00_thumb_5F00_4C6BF1A0.png" width="644" height="437" /></a></p>  <p>Now let’s verify that the virtual machines are contained within the selected virtual network. Select the <strong>Networks</strong> pane from the left-hand navigation.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6761.image_60F1411E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6761.image_5F00_60F1411E.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0728.image_thumb_1C44A6DD.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0728.image_5F00_thumb_5F00_1C44A6DD.png" width="644" height="437" /></a></p>  <p>You should see your virtual machines under the <strong>Dashboard</strong> tab.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0827.image_25A06C11.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0827.image_5F00_25A06C11.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4643.image_thumb_64FE1FA1.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4643.image_5F00_thumb_5F00_64FE1FA1.png" width="644" height="425" /></a></p>  <p>You’re now done. You can go ahead and add additional load balanced endpoints if needed.</p>]]></content:encoded>
    </item>
    <item>
      <title>Moving a Windows Azure Virtual Machine from one Virtual Network to Another</title>
      <link>https://docs.microsoft.com/archive/blogs/walterm/moving-a-windows-azure-virtual-machine-from-one-virtual-network-to-another</link>
      <pubDate>Wed, 29 May 2013 22:45:11 GMT</pubDate>
      <dc:creator><![CDATA[Walter Myers III]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/walterm/2013/05/29/moving-a-windows-azure-virtual-machine-from-one-virtual-network-to-another/</guid>
      <description><![CDATA[Today I was trying to find an easy way to move a virtual machine from one Virtual Network to...]]></description>
      <content:encoded><![CDATA[<p>Today I was trying to find an easy way to move a virtual machine from one Virtual Network to another, but wasn’t successful. So I played around until I figured it out, and thus the next time someone (such as myself) searches for a solution, they will find it here! This will be fairly quick once you know what to do. Below, I have a virtual machine named <strong>w2k8-02</strong> that I want to move from the Virtual Network named <strong>p2stest</strong> to the Virtual Network named <strong>scomp2stest</strong> (and yes, I am doing some experimenting with SCOM 2012 and Point-to-Site VPN connections, but that is for another time!).</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8512.image_476235A7.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8512.image_5F00_476235A7.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7127.image_thumb_02B59B66.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7127.image_5F00_thumb_5F00_02B59B66.png" width="644" height="434" /></a></p>  <p>Let’s go to the <strong>Virtual Machines</strong> page and locate your virtual machine, as seen below. Select the arrow, which takes you to the detail page for the virtual machine.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3733.image_545C15B8.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3733.image_5F00_545C15B8.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0525.image_thumb_48C65879.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0525.image_5F00_thumb_5F00_48C65879.png" width="644" height="434" /></a></p>  <p>The virtual machine detail page should land on the <strong>Dashboard</strong> tab. Note the OS disk name on the lower part of the page, as seen below. You will need this name when you attach the disk to the new virtual machine we will create.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2728.image_2DF6365E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2728.image_5F00_2DF6365E.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8611.image_thumb_69499C1C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8611.image_5F00_thumb_5F00_69499C1C.png" width="644" height="434" /></a></p>  <p>Now, return to the <strong>virtual machines instances</strong> page, as seen below. Select the virtual machine you would like to delete (to the <em>right</em> of the name so you won’t go to the detail page), and then select the <strong>Delete</strong> button on the lower toolbar. This will <em>not</em> delete the underlying disk of the virtual machine, which we will see in just a moment.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6320.image_14288CEF.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6320.image_5F00_14288CEF.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6835.image_thumb_41A9ACB2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6835.image_5F00_thumb_5F00_41A9ACB2.png" width="644" height="434" /></a></p>  <p>Once you receive verification in the status bar that the virtual machine has been deleted, select the <strong>Disks </strong>tab, as seen below. Locate the virtual machine <em>disk name</em> that you noted earlier, and verify that it no longer has a value in the <strong>Attached To</strong> column.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8883.image_6F2ACC75.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8883.image_5F00_6F2ACC75.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8400.image_thumb_118261EF.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8400.image_5F00_thumb_5F00_118261EF.png" width="644" height="434" /></a></p>  <p>We are almost ready to create the new virtual machine, but you must now wait several minutes before attempting to reuse the disk, as putting it back in the disk pool takes some time to process. On the bottom left-hand corner, select the “<strong>+ NEW</strong>” button, then <strong>Compute</strong> | <strong>Virtual Machine</strong> | <strong>From Gallery</strong>, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1172.image_2607B16D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1172.image_5F00_2607B16D.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5126.image_thumb_3E974EBD.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5126.image_5F00_thumb_5F00_3E974EBD.png" width="644" height="434" /></a></p>  <p>You will now see the Create a Virtual Machine wizard. Select the “<strong>MY DISKS</strong>” tab to the left. If you do not see your disk, then you need to exit the wizard and wait a few more minutes. Once you do see the disk, select it and go to the next page.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6708.image_3A20CDF6.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6708.image_5F00_3A20CDF6.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6305.image_thumb_5C78636F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6305.image_5F00_thumb_5F00_5C78636F.png" width="644" height="434" /></a></p>  <p>On the <strong>Virtual machine configuration</strong> page, give the virtual machine the same name as before, or another name if you so desire. Go to the next page.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4572.image_43106035.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4572.image_5F00_43106035.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1464.image_thumb_1E7ED2B1.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1464.image_5F00_thumb_5F00_1E7ED2B1.png" width="644" height="434" /></a></p>  <p>On the <strong>Virtual machine mode</strong> page, provide a unique DNS name, as you will not be able to use the previous DNS name since it is still marked as in use. In the Region/Affinity Group/Virtual Network dropdown, select the desired Virtual Network that you would like to move your virtual machine to.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4604.image_70254D03.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4604.image_5F00_70254D03.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7824.image_thumb_4B93BF7F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7824.image_5F00_thumb_5F00_4B93BF7F.png" width="644" height="434" /></a></p>  <p>On the <strong>Virtual machine options</strong> page, select an availability set or create a new one as desired. Select the final check mark to complete virtual machine creation.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2477.image_0E0661B6.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2477.image_5F00_0E0661B6.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3542.image_thumb_2695FF06.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3542.image_5F00_thumb_5F00_2695FF06.png" width="644" height="434" /></a></p>  <p>Once the virtual machine has been created, go to your Virtual Network and verify in the dashboard that your virtual machine is there, as seen below. I have moved my virtual machine named <strong>w2k8-02</strong> from <strong>p2stest</strong> to <strong>scomp2stest</strong> successfully.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5078.image_2BAB3552.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5078.image_5F00_2BAB3552.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8244.image_thumb_20157813.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8244.image_5F00_thumb_5F00_20157813.png" width="644" height="434" /></a></p>  <p>And there you have your Virtual Machine now moved to another Virtual Network. See you again soon!</p>]]></content:encoded>
    </item>
    <item>
      <title>Walkthrough to Configure System Center Management Pack for Windows Azure Fabric Preview for SCOM 2012 SP1 (with a MetricsHub Bonus)</title>
      <link>https://docs.microsoft.com/archive/blogs/walterm/walkthrough-to-configure-system-center-management-pack-for-windows-azure-fabric-preview-for-scom-2012-sp1-with-a-metricshub-bonus</link>
      <pubDate>Sat, 13 Apr 2013 11:44:58 GMT</pubDate>
      <dc:creator><![CDATA[Walter Myers III]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/walterm/2013/04/13/walkthrough-to-configure-system-center-management-pack-for-windows-azure-fabric-preview-for-scom-2012-sp1-with-a-metricshub-bonus/</guid>
      <description><![CDATA[The wait is finally over. This is a huge update to the Azure Management Pack over the one that was...]]></description>
      <content:encoded><![CDATA[<p>The wait is finally over. This is a <b>huge</b> 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.&#160; You can download the new management pack from <a href="http://www.microsoft.com/en-us/download/details.aspx?id=38414" target="_blank">http://www.microsoft.com/en-us/download/details.aspx?id=38414</a>. Remember that the management pack is currently a preview, and also that it is compatible<strong> only </strong>with System Center Operations Manager (SCOM) SP1.&#160; Below is the functionality of the management pack from the documentation:</p>  <ul>   <li>Discovers Windows Azure Cloud services.</li>    <li>Provides status of each role instance.</li>    <li>Collects and monitors performance information per role instance.</li>    <li>Collects and monitors Windows events per role instance</li>    <li>Collects and monitors the .NET Framework trace messages from each role instance.</li>    <li>Grooms performance, event, and the .NET Framework trace data from Windows Azure storage.</li>    <li>Changes the number of role instances.</li>    <li>Discovers Windows Azure Virtual Machines</li>    <li>Provides status of each role instance of the Virtual Machine</li>    <li>Discovers Windows Azure Storage</li>    <li>Monitors availability and size of each Storage and optionally alerts</li>    <li>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</li>    <li>Monitors management and cloud service certificates and alerts if the certificates are about to expire</li>    <li>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.</li>    <li>Includes a set of dashboards for the Hybrid monitoring scenarios</li> </ul>  <p>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.</p>  <p>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.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3580.image_09F31EF2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3580.image_5F00_09F31EF2.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0434.image_thumb_1E786E70.png" original-url="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" /></a></p>  <p>Launch the SCOM 2012 <strong>Operations Console</strong> and select the <strong>Administration</strong> view. Navigate to the <strong>Management Packs</strong> node and select the <em>Import Management Packs</em> item from the popup menu, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1817.image_4BF98E33.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1817.image_5F00_4BF98E33.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4137.image_thumb_4B8D5B3E.png" original-url="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" /></a></p>  <p>You will now see the <strong>Import Management Packs</strong> dialog. Select the <strong>Add</strong> button, which will drop down two selections. Choose the <strong>Add from disk…</strong> option, as seen below. When you are prompted to search the online catalog, then select the <strong>No</strong> button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6710.image_26FBCDBA.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6710.image_5F00_26FBCDBA.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0250.image_thumb_547CED7D.png" original-url="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" /></a></p>  <p>Locate the management pack bundles and select both, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8360.image_5DD8B2B1.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8360.image_5F00_5DD8B2B1.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0456.image_thumb_5242F572.png" original-url="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" /></a></p>  Now go ahead and click the <strong>Install</strong> button that will start the import process, as seen below.&#160; <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4062.image_4AB78605.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4062.image_5F00_4AB78605.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5621.image_thumb_54134B39.png" original-url="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" /></a></p>  <p>Once the import is done for the two management packs, click the <strong>Close</strong> button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0246.image_1A903B42.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0246.image_5F00_1A903B42.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5633.image_thumb_23EC0076.png" original-url="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" /></a></p>  <p>In the Search box at the top of the management pack list, enter “azure” and select the <strong>Find Now</strong> button. It may take a couple of minutes but you should eventually see two management packs:</p>  <ul>   <li>Microsoft.SystemCenter.WindowsAzure.Dashboard</li>    <li>Windows Azure</li> </ul>  <p>Verify that the management packs are there, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6786.image_6A68F07E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6786.image_5F00_6A68F07E.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6523.image_thumb_7EEE3FFC.png" original-url="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" /></a></p>  <p>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 <strong>Administration</strong> explorer view and locate the <strong>Windows Azure</strong> node. Select the <strong>Add subscription</strong> link, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3187.image_67913475.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3187.image_5F00_67913475.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4645.image_thumb_30B6E02F.png" original-url="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" /></a></p>  <p>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 <a href="http://blogs.msdn.com/b/walterm/archive/2011/06/14/10124437.aspx" target="_blank">here</a>. The instructions are pretty much identical, and you will also need to follow the procedure to setup your <strong>Run As</strong> accounts.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3808.image_07719F47.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3808.image_5F00_07719F47.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2818.image_thumb_62E011C2.png" original-url="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" /></a></p>  <p>In the next page, you will choose the Proxy Agent, which will be this SCOM server. Select the <strong>Browse…</strong> button, which will launch the Search dialog.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8863.image_0537A73C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8863.image_5F00_0537A73C.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7183.image_thumb_32B8C6FF.png" original-url="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" /></a></p>  <p>In the Search dialog, select the <strong>Search</strong> button, and then select your server in the <em>Available items</em> results list. Click the <strong>OK</strong> button when you’re done.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1423.image_1231874D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1423.image_5F00_1231874D.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4643.image_thumb_54A42983.png" original-url="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" /></a></p>  <p>Now back at the Proxy Agent page, select the <strong>Add subscription</strong> button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4478.image_30129BFF.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4478.image_5F00_30129BFF.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3580.image_thumb_2FA6690A.png" original-url="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" /></a></p>  <p>You will see a warning dialog, as seen below. Allow Operations Manager to distribute the accounts by selecting the <strong>Yes</strong> button. In this case, the accounts will be distributed to the SCOM server.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2500.image_3D0C7C10.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2500.image_5F00_3D0C7C10.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2084.image_thumb_14046DC5.png" original-url="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" /></a></p>  <p>You’re now done and can select the <strong>Finish</strong> button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1004.image_4F57D383.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1004.image_5F00_4F57D383.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2806.image_thumb_43C21644.png" original-url="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" /></a></p>  <p>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.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4150.image_0A3F064D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4150.image_5F00_0A3F064D.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5732.image_thumb_09D2D358.png" original-url="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" /></a></p>  <p>Select the <strong>Monitoring</strong> view in the lower left-hand corner, and then navigate to the <strong>Discovered Cloud Services</strong> node in the <strong>Azure Resource Inventory</strong> 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 <em>you</em> desire to actively monitor.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1348.image_7A32C846.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1348.image_5F00_7A32C846.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6786.image_thumb_6E9D0B07.png" original-url="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" /></a></p>  <p>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 <strong>Administration</strong> view, navigate to the <strong>Management Packs</strong> node and right-click on the node. Select the <em>Create Management Pack</em> item from the popup menu, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8688.image_67119B9A.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8688.image_5F00_67119B9A.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4555.image_thumb_4(E16.png" original-url="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" /></a></p>  <p>In the <strong>Create a Management Pack</strong> wizard, specify the name of your management pack, and provide a version number if so desired, as seen below. Select the <strong>Next</strong> button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2500.image_44BC96D2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2500.image_5F00_44BC96D2.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6116.image_thumb_723DB695.png" original-url="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" /></a></p>  <p>On the next page of the wizard, select the <strong>Create</strong> button. Your management pack will now be created.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4150.image_66A7F956.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4150.image_5F00_66A7F956.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7128.image_thumb_2D24E95F.png" original-url="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" /></a></p>  <p>After a couple of minutes, verify your management pack has been added to the list, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4062.image_218F2C20.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4062.image_5F00_218F2C20.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8863.image_thumb_2AEAF154.png" original-url="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" /></a></p>  <p>Now we can begin monitoring specific resources in your subscription.&#160; Select the <strong>Authoring</strong> view, and navigate to the <strong>Windows Azure Monitoring</strong> node. Right-click on the node and select the <strong>Add Monitoring Wizard…</strong> item from the popup menu, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4064.image_663E5712.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4064.image_5F00_663E5712.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8204.image_thumb_7AC3A690.png" original-url="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" /></a></p>  <p>In the Add Monitoring Wizard, select <strong>Windows Azure Monitoring</strong> 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 <strong>Next</strong> button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3173.image_2844C654.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3173.image_5F00_2844C654.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8284.image_thumb_27D8935F.png" original-url="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" /></a></p>  <p>On the <strong>General Properties</strong> 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 <strong>Next</strong> button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4062.image_5559B322.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4062.image_5F00_5559B322.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7282.image_thumb_69DF02A0.png" original-url="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" /></a></p>  <p>On the next <strong>Subscription</strong> page, select your subscription you previously configured, as seen below. Select the <strong>Next</strong> button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7380.image_17602264.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7380.image_5F00_17602264.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6116.image_thumb_40D6F455.png" original-url="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" /></a></p>  <p>On the Cloud Services page, select the <strong>Add</strong> button to add your desired cloud services that you want to monitor in this subscription. You will be presented with a Search page.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8360.image_406AC160.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8360.image_5F00_406AC160.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4162.image_thumb_54F010DE.png" original-url="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" /></a></p>  <p>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 <strong>OK </strong>button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6710.image_7264F29B.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6710.image_5F00_7264F29B.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4087.image_thumb_71F8BFA6.png" original-url="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" /></a></p>  <p>You’re now back to the Cloud Services page, where you will see the cloud services you selected. Select the <strong>Next</strong> button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3580.image_7B5484DA.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3580.image_5F00_7B5484DA.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3005.image_thumb_7AE851E5.png" original-url="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" /></a></p>  <p>On the <strong>Virtual machines</strong> 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.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1030.image_036BB130.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1030.image_5F00_036BB130.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0755.image_thumb_17F100AE.png" original-url="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" /></a></p>  <p>When you’re done, you will be back to the <strong>Virtual machines</strong> page. Select the <strong>Next</strong> button to continue.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5148.image_35D21560.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5148.image_5F00_35D21560.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4064.image_thumb_07788FB3.png" original-url="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" /></a></p>  <p>You will now be on the <strong>Storage</strong> 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 <strong>Next</strong> button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8204.image_62E7022E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8204.image_5F00_62E7022E.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5148.image_thumb_2559A465.png" original-url="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" /></a></p>  <p>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.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4555.image_3DE941B5.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4555.image_5F00_3DE941B5.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4162.image_thumb_6DA6EA34.png" original-url="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" /></a></p>  <p>You will subsequently see your new monitoring object has been created, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2821.image_30198C6B.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2821.image_5F00_30198C6B.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8765.image_thumb_449EDBE9.png" original-url="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" /></a></p>  <p>Let’s now return to the <strong>Monitoring</strong> view. Navigate to the <strong>Cloud Service State </strong>node under the <strong>Monitored</strong> <strong>Azure Resources </strong>folder. You will see here the cloud services you have selected for monitoring. Note that we came here instead of the <strong>Discovered Cloud Services</strong> node because this node is in the folder that only presents the monitored Azure resources we previously selected. The <strong>Discovered Cloud Services</strong> will simply display everything that has been discovered.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8267.image_6E916556.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8267.image_5F00_6E916556.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8664.image_thumb_09C9BE58.png" original-url="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" /></a></p>  <p>If we head back to the <strong>Discovered Cloud Services</strong> 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.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8371.image_721FFBAC.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8371.image_5F00_721FFBAC.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4087.image_thumb_1FA11B70.png" original-url="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" /></a></p>  <p>Right-click on one of the critical state items, select <em>Open</em> in the popup menu, and then select <em>Health Explorer for &lt;cloud_service_name&gt;</em> in the secondary popup menu.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8206.image_278EDD8E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8206.image_5F00_278EDD8E.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6622.image_thumb_70B48947.png" original-url="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" /></a></p>  <p>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.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4682.image_70409565.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4682.image_5F00_70409565.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8308.image_thumb_2B93FB24.png" original-url="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" /></a></p>  <p>If&#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).</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6874.image_306D55FC.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6874.image_5F00_306D55FC.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7776.image_thumb_24D798BD.png" original-url="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" /></a></p>  <p>Another way to find out the problem is to check the alerts.&#160; Let’s navigate to the <strong>Active Alerts</strong> node under the <strong>Windows Azure</strong> 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!</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7282.image_070A2E8D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7282.image_5F00_070A2E8D.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3808.image_thumb_2D6C11D8.png" original-url="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" /></a></p>  <p>Let’s now navigate to the <strong>Storage State</strong> node under the <strong>Monitored Azure Resources</strong> folder. Note that we have a healthy storage account.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7776.image_21D65499.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7776.image_5F00_21D65499.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1016.image_thumb_365BA417.png" original-url="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" /></a></p>  <p>Finally, let’s navigate to the <strong>Virtual Machine</strong> <strong>State</strong> node under the <strong>Monitored Azure Resources</strong> folder. Note that we are monitoring healthy virtual machines. One thing to note here is that the management pack does <strong>not</strong> 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.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3808.image_11CA1693.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3808.image_5F00_11CA1693.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3566.image_thumb_5847069B.png" original-url="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" /></a></p>  <p>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 <strong>Performance</strong> node, notice that there are two performance counter monitors. Unfortunately, this is a <strong>bug</strong> 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 <em>is</em> working here is the <strong>Availability</strong> monitor, even though the <strong>Performance</strong> monitors are not.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5722.image_6CD887F2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5722.image_5F00_6CD887F2.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4657.image_thumb_6142CAB3.png" original-url="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" /></a></p>  <p>It’s not like this can’t be done because <a href="https://www.metricshub.com/" target="_blank">MetricsHub</a> (an Azure-based Azure application monitoring and cost-optimization solution recently acquired by Microsoft) does it by providing an <a href="https://www.metricshub.com/onboarding/agent" target="_blank">agent</a> 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.&#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):</p>  <ul>   <li><strong>LogicalDisk\% Free Space</strong></li>    <li><strong>LogicalDisk\Disk Read Bytes/Sec</strong></li>    <li><strong>LogicalDisk\Disk Write Bytes/Sec</strong></li>    <li><strong>Memory\% Physical Memory</strong></li>    <li><strong>NetworkInterface\Bytes Received/sec</strong></li>    <li><strong>NetworkInterface\Bytes Sent/sec</strong></li>    <li>Process\% Processor Time</li>    <li>Process\IO Read Bytes/sec</li>    <li>Process\IO Write Bytes/sec</li>    <li>Process\Working Set – Private</li>    <li><strong>Processor\% Processor Time</strong></li> </ul>  <p>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.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4188.image_3403923F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4188.image_5F00_3403923F.png"><img title="image" style="margin: 0px; display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2626.image_thumb_186196FA.png" original-url="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" /></a></p>  <p>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.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5265.image_4C95C040.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5265.image_5F00_4C95C040.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1452.image_thumb_2E4B094A.png" original-url="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" /></a></p>  <p>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.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6724.image_45791479.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6724.image_5F00_45791479.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8484.image_thumb_14E596C1.png" original-url="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" /></a></p>  <p>If you want to add additional counters to the display, select the <strong>Create Chart…</strong> 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.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2185.image_1002E305.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2185.image_5F00_1002E305.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0842.image_thumb_668EA1C4.png" original-url="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" /></a></p>  <p>If you want to add additional counters, there is a configuration file named <strong>MetricsHub.Diagnostics.Monitor.exe.config</strong> 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.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5466.image_0D1DAACB.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5466.image_5F00_0D1DAACB.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7838.image_thumb_337F8E16.png" original-url="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" /></a></p>  <p>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!</p>]]></content:encoded>
    </item>
    <item>
      <title>Setting Up an Alert for Hosted Service State Changes in SCOM 2007 R2</title>
      <link>https://docs.microsoft.com/archive/blogs/walterm/setting-up-an-alert-for-hosted-service-state-changes-in-scom-2007-r2</link>
      <pubDate>Tue, 19 Feb 2013 13:45:49 GMT</pubDate>
      <dc:creator><![CDATA[Walter Myers III]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/walterm/2013/02/19/setting-up-an-alert-for-hosted-service-state-changes-in-scom-2007-r2/</guid>
      <description><![CDATA[I’m posting this by request from a customer who desires to setup an alert when a hosted service...]]></description>
      <content:encoded><![CDATA[<p>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 <em>walterm</em>), that is currently healthy. What we want is to generate an alert if the health state of this service changes.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3362.image_607D4E0D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3362.image_5F00_607D4E0D.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7485.image_thumb_51D2A228.png" original-url="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" /></a></p>  <p>By default, there is already an “out of the box” monitor at the Windows Azure role level which you will find in the <strong>Monitors</strong> view of the <strong>Authoring</strong> pane. Navigate to Windows Azure Role | Entity Health | Availability, as seen below. There you will find the monitor titled <em>Role Instance Availability Dependency</em>. Right-click on this item and select the Properties page.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0638.image_775F514F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0638.image_5F00_775F514F.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2476.image_thumb_1297AA51.png" original-url="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" /></a></p>  <p>On the Properties page, choose the <strong>Alerting</strong> tab, where you can verify that by default the alerts are being generated for this monitor, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2772.image_6AF12E26.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2772.image_5F00_6AF12E26.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3463.image_thumb_6365BEB9.png" original-url="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" /></a></p>  <p>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.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8540.image_22C3724A.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8540.image_5F00_22C3724A.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7673.image_thumb_622125DA.png" original-url="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" /></a></p>  <p>Right-click on the <em>Windows Azure Role Instance Status Monitor</em> item and select the Properties page. If you don’t see it, scroll down to the <em>Generates Alert</em> parameter name, as seen below. Change the <em>Override Value</em> to “True.”</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0317.image_4F6C2C23.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0317.image_5F00_4F6C2C23.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2870.image_thumb_2EE4EC71.png" original-url="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" /></a></p>  <p>Next, if you don’t see the <em>Enforced</em> column, scroll horizontally until you see it and select <em>Enforced</em> for this monitor, as seen below. When you’re done, select the <strong>Apply</strong> button, and then select the <strong>OK</strong> button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6661.image_40554D49.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/6661.image_5F00_40554D49.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4024.image_thumb_4DBB604F.png" original-url="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" /></a></p>  <p>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 (<em>your_hosted_service_name</em>).</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4353.image_78348573.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4353.image_5F00_78348573.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8176.image_thumb_0BE16F08.png" original-url="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" /></a></p>  <p>You will now see the override you just created, as seen below. Go ahead and select the <strong>Close</strong> button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2867.image_2614E425.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2867.image_5F00_2614E425.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5826.image_thumb_3EA48175.png" original-url="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" /></a></p>  <p>We will now go to the Windows Azure management portal and stop the service we desire to test, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7455.image_27CE761B.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7455.image_5F00_27CE761B.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6355.image_thumb_66BFF6B6.png" original-url="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" /></a></p>  <p>When we return to the SCOM console and select the <strong>Hosted Service State</strong> node for our management pack, after a few minutes the service state will change to critical, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4024.image_6EEB562B.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/4024.image_5F00_6EEB562B.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0724.image_thumb_35684634.png" original-url="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" /></a></p>  <p>Shortly after the state change, alerts will show up in the <strong>Active Alerts</strong> view, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5428.image_5BCA297F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5428.image_5F00_5BCA297F.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7658.image_thumb_3423AD55.png" original-url="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" /></a></p>  <p>If we now select an alert with the name <em>Windows Azure role is not running</em>, we can see that this alert was generated at the level of Windows Azure role, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2364.image_0872E359.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2364.image_5F00_0872E359.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0726.image_thumb_39FE50EE.png" original-url="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" /></a></p>  <p>If our role instance level override was setup properly, we should also see a similar alert with the name <em>Microsoft.SystemCenter.Azure.RoleInstance.Status.Monitor</em>. This is the alert we previously (and successfully) configured, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0317.image_1977113C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0317.image_5F00_1977113C.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5584.image_thumb_2AE77214.png" original-url="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" /></a></p>]]></content:encoded>
    </item>
    <item>
      <title>Creating Unit Monitors for Windows Azure Performance Counters in SCOM 2007 R2</title>
      <link>https://docs.microsoft.com/archive/blogs/walterm/creating-unit-monitors-for-windows-azure-performance-counters-in-scom-2007-r2</link>
      <pubDate>Wed, 23 May 2012 16:15:00 GMT</pubDate>
      <dc:creator><![CDATA[Walter Myers III]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/walterm/2012/05/23/creating-unit-monitors-for-windows-azure-performance-counters-in-scom-2007-r2/</guid>
      <description><![CDATA[Monitors are powerful management pack objects in SCOM. In the Operations Manager documentation, a...]]></description>
      <content:encoded><![CDATA[<p>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.</p>  <p>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.</p>  <p>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:</p>  <ul>   <li><strong>Microsoft.SqlServer.SqlAzure</strong>: C:\Program Files\System Center Operations Manager 2007 </li>    <li><strong>Microsoft.SystemCenter.WebApplication.Library</strong>: C:\Program Files (x86)\System Center 2007 R2 Hotfix Utility\KB2495674\ManagementPacks </li>    <li><strong>Microsoft.SystemCenter.Azure</strong>: C:\Program Files (x86)\System Center Management Packs\Monitoring Pack For Windows Azure Applications </li> </ul>  <p>In the <strong>Health Model</strong> view, select the <strong>Monitors</strong> node, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5875.image_7A3CF2EF.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5875.image_5F00_7A3CF2EF.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3225.image_thumb_2751DFBE.png" original-url="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" /></a></p>  <p>Expand the <em>Windows Azure Role Instance</em> node in the Monitors pane, and then the <em>Performance</em> 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 <em>Performance</em> node, and then select <em>New | Custom Unit Monitor…</em> from the popup menu.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8270.image_66436059.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8270.image_5F00_66436059.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5543.image_thumb_454FEDB2.png" original-url="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" /></a></p>  <p>Now you will be asked to give the monitor a unique identifier, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5875.image_4F34DF1D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5875.image_5F00_4F34DF1D.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5852.image_thumb_7C49CBEB.png" original-url="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" /></a></p>  <p>You will next see the configuration dialog with the <strong>General</strong> tab presented. It is already setup with the ID, Target, and Parent Monitor. So just provide a name and description as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5810.image_5A7E92D5.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5810.image_5F00_5A7E92D5.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8030.image_thumb_3D956E00.png" original-url="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" /></a></p>  <p>Select the <strong>Configuration</strong> tab, as seen below. Before you can proceed, you must select a unit monitor type. Select the <em>Browse for a type…</em> link as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1425.image_5861940C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1425.image_5F00_5861940C.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3755.image_thumb_77A43ADF.png" original-url="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" /></a></p>  <p>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 <em>Look for:</em> textbox. Your choices for unit monitor types are:</p>  <ol>   <li>Windows Azure Event Log Simple Monitor Type </li>    <li>Windows Azure Performance Counter Simple Monitor Type </li>    <li>Windows Azure Role Instance Status Monitor Type </li> </ol>  <p>Select the second of the three listed above, as seen below. Then click the <strong>OK</strong> button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7360.image_6FAC987D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7360.image_5F00_6FAC987D.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0447.image_thumb_59E2B020.png" original-url="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" /></a></p>  <p>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 <strong>OK</strong> button yet because we need to add additional values manually.</p>  <ul>   <li><strong>Interval Seconds</strong>: 300 </li>    <li><strong>Timeout Seconds</strong>: 120 </li>    <li><strong>CounterName</strong>: % Processor Time </li>    <li><strong>ObjectName</strong>: Processor </li>    <li><strong>Threshold</strong>: 80 </li>    <li><strong>Direction</strong>: greater </li>    <li><strong>NumSamples</strong>: 3 </li> </ul>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1680.image_7FD86076.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1680.image_5F00_7FD86076.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/6712.image_thumb_4D085A02.png" original-url="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" /></a></p>  <p>Now you need to select the <strong>Edit…</strong> button so we can add additional important configuration parameters, namely <em>InstanceName</em> and <em>AllInstances</em>. Be precise as below, or the editor won’t like it when you try to save the configuration. Save the configuration from the <em>File</em> menu and close the editor.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7206.image_7E2794A2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/7206.image_5F00_7E2794A2.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0028.image_thumb_4B578E2E.png" original-url="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" /></a></p>  <p>Now we have our final configuration, as seen below. Let’s next select the <strong>Health</strong> tab.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5228.image_11684B42.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5228.image_5F00_11684B42.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8468.image_thumb_49A6C25A.png" original-url="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" /></a></p>  <p>On the <strong>Health</strong> tab, enter your desired text in the <em>Operational State</em> fields. Select <strong>Critical</strong> for the condition True health state, and select <strong>Healthy</strong> for the condition False health state, as seen below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/0458.image_28B34FB3.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/0458.image_5F00_28B34FB3.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/4670.image_thumb_79ED9710.png" original-url="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" /></a></p>  <p>Next, we want to setup our alert. Select the “<em>Generate alerts for this monitor</em>” checkbox. Choose “<em>The monitor is in a critical health state</em>” from the dropdown box below. Leave the “<em>Automatically resolve the alert when the monitor returns to a healthy state</em>” checkbox checked. In the <em>Alert name</em> textbox, enter text indicative of the alert. Leave the <em>Priority</em> and <em>Severity</em> dropdowns as they are. Now, select the ellipsis next to the <em>Alert description</em> textbox, which will display the <strong>Alert Description</strong> dialog.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/8054.image_58FA2469.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/8054.image_5F00_58FA2469.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3681.image_thumb_5821BE7F.png" original-url="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" /></a></p>  <p>In the Alert Description dialog, clear out the existing text. From the <strong>Data</strong> button, select the <em>Value</em> item in the flyout menu. This will then insert the <em>$Data/Context/Value$</em> 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 <em>$Data/Context/SampleValue$</em>, but it isn’t in the flyout menu. What I did was to just cheat and grab the text from the out of box <em>CPU Utilization Percentage</em> monitor, which is as follows:</p>  <blockquote>   <p><em>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$.</em></p> </blockquote>  <p>For a great list of variables, please see Kevin Holman’s blog <a href="http://blogs.technet.com/b/kevinholman/archive/2007/12/12/adding-custom-information-to-alert-descriptions-and-notifications.aspx" target="_blank">here</a>, where he indicates the difference between the <em>Value</em> and <em>SampleValue</em> variables we are working with. Another great place to check out for variables is Ben Oostdam’s blog <a href="http://oostdam.info/index.php/sectie-blog/47-scom-2007-r2/267-scom-alert-parameter-summary" target="_blank">here</a>. When you’re done, select the <strong>OK</strong> button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/5165.image_502A1C1D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/5165.image_5F00_502A1C1D.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7416.image_thumb_3655E5EE.png" original-url="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" /></a></p>  <p>Your dialog should now look similar to below. </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2110.image_15627347.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/2110.image_5F00_15627347.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/2022.image_thumb_297B8FD0.png" original-url="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" /></a></p>  <p>Finally, select the <strong>Options</strong> tab so this will be properly categorized when you setup notifications. Select the <em>PerformanceHealth</em> radio button. When you’re done, select the <strong>OK</strong> button.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/1121.image_0C926AFB.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/1121.image_5F00_0C926AFB.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7318.image_thumb_39A757C9.png" original-url="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" /></a></p>  <p>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.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/3312.image_620962C7.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-23-metablogapi/3312.image_5F00_620962C7.png"><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="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/23/metablogapi/7610.image_thumb_4C3F7A6A.png" original-url="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" /></a></p>  <p>You can see how to setup notifications in the Operations Console based on alerts in my <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">SCOM 2007 R2 Event Log Alerting and Monitoring for Azure Applications</a> blog post. Look for the <em>Setting up Notifications in SCOM</em> section.</p>]]></content:encoded>
    </item>
  </channel>
</rss>