<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Windows Azure - Troubleshooting &amp; Debugging</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/kwill/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/kwill/feed.xml</link>
    <description>Sharing Windows Azure information from the perspective of a developer support engineer on the cloud integration team</description>
    <lastBuildDate>Wed, 30 May 2018 21:52:06 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>HTTP 401 Access Denied when calling Azure Cognitive Services APIs</title>
      <link>https://docs.microsoft.com/archive/blogs/kwill/http-401-access-denied-when-calling-azure-cognitive-services-apis</link>
      <pubDate>Wed, 17 May 2017 21:47:43 GMT</pubDate>
      <dc:creator><![CDATA[Kevin Williamson [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/kwill/?p=1265</guid>
      <description><![CDATA[&nbsp; When calling one of the Cognitive Services APIs you may receive an HTTP 401 Access Denied...]]></description>
      <content:encoded><![CDATA[<p>&nbsp;</p> <p>When calling one of the Cognitive Services APIs you may receive an HTTP 401 Access Denied error with a message “Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription.”</p> <p>&nbsp;</p> <p>Here are the most common causes and solutions for this issue.</p> <p>&nbsp;</p> <h1>Using the wrong API account key in the Ocp-Apim-Subscription-Key header</h1> <p>When first starting out with Azure or with Cognitive Services it can be confusing to understand which key to use in your application.&nbsp; It is common to see developers use the Azure subscription key, which is a GUID with a format like 4b2714d2-3d2e-4b96-ad95-677f764e7b39, instead of the API account key.</p> <p>Make sure you are using one of the 2 API account keys which look like 18de248475134eb49ae4a4e94b93461c.&nbsp; This key can be found in the Azure Management portal by going to a Cognitive Service and selecting Keys under Resource Management.&nbsp; There is a walkthrough for creating an account and finding the keys at <a title="https://docs.microsoft.com/en-us/azure/cognitive-services/cognitive-services-apis-create-account" href="https://docs.microsoft.com/en-us/azure/cognitive-services/cognitive-services-apis-create-account">https://docs.microsoft.com/en-us/azure/cognitive-services/cognitive-services-apis-create-account</a>. </p> <p><a href="https://msdnshared.blob.core.windows.net/media/2017/05/image329.png"><img title="image" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2017/05/image_thumb300.png" width="1028" height="514"></a></p> <p>&nbsp;</p> <p>You can also call <strong>Get-AzureRmCognitiveServicesAccountKey</strong> from Powershell to get the correct account key.&nbsp; I use this script to print out all Cognitive Services accounts and keys in my subscription:</p> <p><font size="2" face="Courier New">PS C:\Users\kwill&gt; <font style="background-color: #cccccc">$formatstring = "{0,-29} {1,-19} {2,34} {3,34} {4, 5}"; $formatstring -f "Account", "Type", "Key1", "Key2", "SKU"; Get-AzureRmCognitiveServicesAccount |<br>ForEach-Object {$account = $_; $keys = Get-AzureRmCognitiveServicesAccountKey -ResourceGroupName $_.ResourceGroupName -Name $account.AccountName; $formatstring -f $account.Ac<br>countName, $account.AccountType, $keys.Key1, $keys.Key2, $account.sku.Name}</font><br>Account&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Key1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Key2&nbsp;&nbsp; SKU<br>kwillAcademic&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Academic&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 21b2b86e7b78abcde282bb5d602f8867&nbsp;&nbsp; 6f77ba002185abcdeeed04127da5e70d&nbsp;&nbsp;&nbsp; S0<br>kwillBingSearchS5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Bing.Search&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c7d85f71945abcdebdff2303c3c4d285&nbsp;&nbsp; 8f0de6ed747446abcdee3db939b401c0&nbsp;&nbsp;&nbsp; S5<br>kwillBingSpeech&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Bing.Speech&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 98de24847513abcdeae4a4e94b93461d&nbsp;&nbsp; ad2269940791abcdea36b7389167c838&nbsp;&nbsp;&nbsp; S0<br>kwillBingSpellCheck&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Bing.SpellCheck&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a8007a55a725abcde80ffd96d26664d3&nbsp;&nbsp; 6c118bba971d4abcde7d8d71e12fee6a&nbsp;&nbsp;&nbsp; S1</font></p> <p><font size="2" face="Courier New">...</font></p> <p>&nbsp;</p> <p>&nbsp;</p> <h1>Using an account key for the wrong API type</h1> <p>Each Cognitive Services API has its own account key, and you can’t use an account key for one API when making a call to another API.&nbsp; Generally this is a pretty easy concept and not common for developers to run into, but for the Translator API this can be confusing because there is a Translator Text API and a Translator Speech API.&nbsp; They both use the same API endpoint, but the two keys cannot be used interchangeably.&nbsp; </p> <p>You can confirm that you are using the correct API type that matches the API that you are calling by checking the API type and Endpoint in the Azure management portal.&nbsp; Make sure that the URL you are using for the API call matches the key for the API account.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2017/05/clip_image0013.png"><img title="clip_image001" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="clip_image001" src="https://msdnshared.blob.core.windows.net/media/2017/05/clip_image001_thumb2.png" width="1028" height="254"></a></p> <p>&nbsp;</p> <p>&nbsp;</p> <h1>Using the incorrect regional endpoint</h1> <p>Most of the Cognitive Services APIs are region specific, which means that during API account creation you select which region you want to create the account in.&nbsp; These APIs have region specific endpoints such as westus.api.cognitive.microsoft.com or eastus2.api.cognitive.microsoft.com, and an API key for an account created in one region will only work using the endpoint for that specific region.&nbsp; This means that if you create an API account in West US you will not be able to call the eastus2.api.cognitive.microsoft.com API endpoint.</p> <p>&nbsp;</p> <p>You can verify the region and endpoint in the Azure management portal.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2017/05/image330.png"><img title="image" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2017/05/image_thumb301.png" width="1028" height="263"></a></p> <p>&nbsp;</p> <p>This also applies to the web based testing console.&nbsp; The API documentation will show the different regions available and links to the different regional testing consoles.&nbsp; Here is the Face API <a href="https://westus.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236">documentation</a> as an example:</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2017/05/image331.png"><img title="image" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2017/05/image_thumb302.png" width="1028" height="682"></a></p> <p>&nbsp;</p> <p>There are a few additional scenarios where issues with the regional API keys are commonly seen:</p> <ul> <li><strong>Applications that use Cognitive Service APIs</strong>.&nbsp; If you are using a packaged application that asks you for an API key (for example, a Translator application using the Translator API) the application *should* also ask for the endpoint or region.&nbsp; However, many applications were built before the Cognitive Services APIs had multiple region specific endpoints so they may not provide an option to configure an endpoint.&nbsp; In this case the app is usually built using the West US region (westus.api.cognitive.microsoft.com).  <li>If you use the <strong>client library SDKs</strong> you will often instantiate the client using code like:  <p align="left"><font size="2"><font face="Courier New">&nbsp;&nbsp;&nbsp; IFaceServiceClient faceServiceClient = new FaceServiceClient("key");</font> </font></p> <p align="left"><font size="2">This will use the default West US endpoint, which will fail for accounts in other regions.&nbsp; To resolve, pass in the optional endpoint parameter like this:</font></p> <p align="left"><font size="2" face="Courier New">&nbsp;&nbsp;&nbsp; IFaceServiceClient faceServiceClient = new FaceServiceClient(key,"</font><a href="https://westeurope.api.cognitive.microsoft.com/face/v1.0&quot;);"><font size="2" face="Courier New">https://westeurope.api.cognitive.microsoft.com/face/v1.0");</font></a>&nbsp;&nbsp;&nbsp; </p> <li>The <strong>LUIS.AI portal</strong> also has regional endpoints, and creating an app in the LUIS.AI portal must be done in the same region as the LUIS API account that was created in the Azure management portal.&nbsp; For example, if you create a LUIS API account in West Europe you must use the <a title="https://eu.luis.ai/home/index" href="https://eu.luis.ai">https://eu.luis.ai</a> portal to create the LUIS application.&nbsp; In this scenario you may also get the error "Bad Argument, Invalid Subscription Key" from the LUIS.AI portal.</li></ul> <p>&nbsp;</p> <p>&nbsp;</p> <h1>Using the incorrect version endpoint</h1> <p>Some APIs, such as Bing Search, have multiple versions.&nbsp; As we release new versions of the APIs we release them as free APIs that can be obtained from <a title="https://azure.microsoft.com/en-us/try/cognitive-services/" href="https://azure.microsoft.com/en-us/try/cognitive-services/">https://azure.microsoft.com/en-us/try/cognitive-services/</a>, but these new versions may not yet be available in Azure, and calling them with your Azure API account key will fail with a 401.</p> <p>As of this blog post, the Bing Search API accounts created via Azure Cognitive Services use the v5.0 version of the API with the endpoint <a title="https://api.cognitive.microsoft.com/bing/v5.0" href="https://api.cognitive.microsoft.com/bing/v5.0">https://api.cognitive.microsoft.com/bing/v5.0</a>.&nbsp; We have also released a preview version of the v7.0 API with the endpoint <a title="https://api.cognitive.microsoft.com/bing/v5.0" href="https://api.cognitive.microsoft.com/bing/v7.0">https://api.cognitive.microsoft.com/bing/v7.0</a>.&nbsp; If you call the v7.0 endpoint with an Azure account key it will fail.&nbsp; You can verify the correct endpoint in the Azure management portal:</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2017/05/image332.png"><img title="image" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2017/05/image_thumb303.png" width="1028" height="272"></a></p> <p>&nbsp;</p> <p>&nbsp;</p> <h1>Using the LUIS programmatic key instead of the API account key</h1> <p>There are three different API keys that can be used with LUIS applications:</p> <ol> <li>Programmatic Key, which is used to automate the management of LUIS applications created via the LUIS.AI portal.&nbsp; This is created and accessed via the LUIS.AI portal.  <li>API Endpoint Key, which is used by a LUIS application to call into the LUIS API for processing.&nbsp; This is created and accessed via the Azure Management portal in the Azure Cognitive Services LUIS account blade.  <li>External Keys, which are used by a LUIS application to provide additional functionality such as Spell Check.</li></ol> <p>Further documentation about these 3 keys can be found at <a title="https://docs.microsoft.com/en-us/azure/cognitive-services/LUIS/manage-keys" href="https://docs.microsoft.com/en-us/azure/cognitive-services/LUIS/manage-keys">https://docs.microsoft.com/en-us/azure/cognitive-services/LUIS/manage-keys</a>.</p> <p>&nbsp;</p> <p>Each of these API keys are specific to their use cases and you will get a 401 if you try to use an API key against the wrong endpoint.&nbsp; </p> <ul> <li>You cannot use the Programmatic Key which you get from the LUIS.AI portal when making a LUIS API call to https://westus.api.cognitive.microsoft.com/luis/v1/application such as <a href="https://westus.dev.cognitive.microsoft.com/docs/services/551e56fd49c3f724305d74bf/operations/551e570f49c3f724305d74c0">Analyze Intents</a>.&nbsp; <li>You cannot use your API account key that you get from Azure when making a LUIS Programmatic call to https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/ such as <a href="https://westus.dev.cognitive.microsoft.com/docs/services/5890b47c39e2bb17b84a55ff/operations/5890b47c39e2bb052c5b9c2f">Add Application</a>.</li></ul> <p>&nbsp;</p> <p>&nbsp;</p> <h1>Calling an API immediately after creating an account or regenerating keys</h1> <p>The API keys can take a few minutes to be provisioned and propagated within the various subsystems that make up the Cognitive Services service.&nbsp; If you try to call an API before the keys have propagated you will get a 401 error.&nbsp; Wait up to 10 minutes and then try making the API call again.&nbsp; This is also noted in the Account Keys blade in the Azure Management portal:</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2017/05/clip_image0016.png"><img title="clip_image001[6]" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="clip_image001[6]" src="https://msdnshared.blob.core.windows.net/media/2017/05/clip_image0016_thumb.png" width="1028" height="342"></a></p> <p>&nbsp;</p> <p>&nbsp;</p> <h1>Trial API Keys</h1> <p>The free trial API keys have <strong>30 day expiration dates</strong>, and the same <strong>restrictions for region and version</strong>.&nbsp; If you are using the trial keys you can go to <a title="https://azure.microsoft.com/en-us/try/cognitive-services/my-apis/" href="https://azure.microsoft.com/en-us/try/cognitive-services/my-apis/">https://azure.microsoft.com/en-us/try/cognitive-services/my-apis/</a> to manage your API keys (if you are not already logged in then just click one of the ‘Create’ buttons and you can go through the wizard to login and see your existing API keys), and you will also see the expiration date and endpoint.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2017/05/image421.png"><img title="image" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2017/05/image_thumb387.png" width="613" height="772"></a></p> <p>&nbsp;</p> <p>&nbsp;</p> <h1>Troubleshooting</h1> <p>If you are troubleshooting a 401 error, the best place to start is the API testing console.&nbsp; Usually the testing console requires minimal input (often just the API key) so it is ideal to help isolate problems that may be caused by something like custom code or machine specific issues.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2017/05/image333.png"><img title="image" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2017/05/image_thumb304.png" width="613" height="484"></a></p> <p>&nbsp;</p> <p>&nbsp;</p> <p>You can get to the testing console by going to one of your Cognitive Services API accounts in the Azure management portal and clicking Quick start and then API reference:</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2017/05/image334.png"><img title="image" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2017/05/image_thumb305.png" width="1028" height="474"></a></p> <p>&nbsp;</p> <p>You can also get to the testing console by going to the main Cognitive Services documentation page at <a title="https://docs.microsoft.com/en-us/azure/cognitive-services/" href="https://docs.microsoft.com/en-us/azure/cognitive-services/">https://docs.microsoft.com/en-us/azure/cognitive-services/</a>, selecting a service under the “Services/APIs” list on the left, and then going to the Reference –&gt; API Reference section.</p>]]></content:encoded>
    </item>
    <item>
      <title>Azure Service Fabric – Common Networking Scenarios</title>
      <link>https://docs.microsoft.com/archive/blogs/kwill/azure-service-fabric-common-networking-scenarios</link>
      <pubDate>Wed, 05 Oct 2016 21:54:51 GMT</pubDate>
      <dc:creator><![CDATA[Kevin Williamson [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/kwill/?p=1105</guid>
      <description><![CDATA[&nbsp;

One of the more common questions we have seen when creating Service Fabric clusters is how...]]></description>
      <content:encoded><![CDATA[&nbsp;

One of the more common questions we have seen when creating Service Fabric clusters is how to integrate the cluster with various Azure networking features.  This blog post will show how to create clusters using the following features:

&nbsp;
<ol>
 	<li>
<h5><a href="#ExistingVnet">Existing Virtual Network / Subnet</a></h5>
</li>
 	<li>
<h5><a href="#StaticIP">Static Public IP Address</a></h5>
</li>
 	<li>
<h5><a href="#ILBOnly">Internal Only Load Balancer</a></h5>
</li>
 	<li>
<h5><a href="#IELB">Internal + External Load Balancer</a></h5>
</li>
</ol>
&nbsp;

A key concept to keep in mind is that Service Fabric simply runs in a standard Virtual Machine Scale Set, so any functionality you can use in a Virtual Machine Scale Set can also be used with a Service Fabric Cluster, and the networking portions of the ARM template will be identical.  And once you can achieve #1 above (deploying into an existing VNet) then it is easy to incorporate other networking features such as ExpressRoute, VPN gateway, Network Security Group (NSG), VNet peering, etc.

The only Service Fabric specific aspect is that the Azure Management Portal internally uses the Service Fabric Resource Provider (SFRP) to call into a cluster in order to get information about nodes and applications, and SFRP requires publicly accessible inbound access to the HTTP Gateway port (19080 by default) on the management endpoint.  This port is used by Service Fabric Explorer to browse and manage your cluster, and it is also used by the Service Fabric Resource Provider to query information about your cluster in order to display in the Azure Management Portal.  If this port is not accessible from the SFRP then you will see a message such as ‘Nodes Not Found’ in the management portal and your node and application list will appear empty.  This means that if you wish to have visibility of your cluster via the Azure Management Portal then your load balancer must expose a public IP address and your NSG must allow incoming 19080 traffic.  If you do not meet these requirements then the Azure Management Portal will not be able to display current status of your cluster, but otherwise your cluster will not be affected and you can use Service Fabric Explorer to get the current status, so this may be an acceptable limitation based on your networking requirements.  Note that this is a temporary limitation that we are planning to remove in the coming months, at which time your cluster can be publicly inaccessible without any loss of management portal functionality.

&nbsp;
<h1>Templates</h1>
All of the templates can be found <a href="https://msdnshared.blob.core.windows.net/media/2016/10/SF_Networking_Templates.zip">here</a> and you should be able to deploy them as-is using the below powershell commands – just make sure you go through the ‘Initial Setup’ section first if deploying the existing VNet template or the static public IP template.

&nbsp;
<h1>Initial Setup</h1>
<h4>Existing Virtual Network</h4>
I am starting with an existing Virtual Network named ‘ExistingRG-vnet’ in the resource group ‘ExistingRG’, with a subnet named ‘default’.  These resources are the default ones created when using the Azure management portal to create a standard IaaS Virtual Machine.  You could also just create the VNet and subnet without creating the Virtual Machine, but because the main goal of adding a cluster to an existing VNet is to provide network connectivity to other VMs, creating the VM gives a concrete example of how this is typically used.  The VM with it’s public IP can also be used as a jump box if your SF cluster only uses an internal load balancer without a public IP address.

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image233.png"><img width="1028" height="447" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb204.png" border="0" /></a>

&nbsp;
<h4>Static Public IP Address</h4>
Because a static public IP address is generally a dedicated resource that is managed separately from the VM(s) it is assigned to, it is usually provisioned in a dedicated networking resource group (as opposed to within the Service Fabric cluster resource group itself).  Create a static public IP address with the name ‘staticIP1’ in the same ExistingRG resource group, either via the portal or Powershell:
<pre class="brush: powershell; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">PS C:\Users\kwill&gt; New-AzureRmPublicIpAddress -Name staticIP1 -ResourceGroupName ExistingRG -Location westus -AllocationMethod Static -DomainNameLabel sfnetworking

Name                     : staticIP1
ResourceGroupName        : ExistingRG
Location                 : westus
Id                       : /subscriptions/1237f4d2-3dce-1236-ad95-123f764e7123/resourceGroups/ExistingRG/providers/Micr
                           osoft.Network/publicIPAddresses/staticIP1
Etag                     : W/"fc8b0c77-1f84-455d-9930-0404ebba1b64"
ResourceGuid             : 77c26c06-c0ae-496c-9231-b1a114e08824
ProvisioningState        : Succeeded
Tags                     :
PublicIpAllocationMethod : Static
IpAddress                : 40.83.182.110
PublicIpAddressVersion   : IPv4
IdleTimeoutInMinutes     : 4
IpConfiguration          : null
DnsSettings              : {
                             "DomainNameLabel": "sfnetworking",
                             "Fqdn": "sfnetworking.westus.cloudapp.azure.com"
                           }</pre>
&nbsp;
<h4>Service Fabric Template</h4>
I am using the Service Fabric template.json that can be downloaded from the portal just prior to creating a cluster using the standard portal wizard:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image234.png"><img width="1028" height="540" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb205.png" border="0" /></a>

&nbsp;

You can also use one of the templates in the <a href="https://azure.microsoft.com/en-us/documentation/templates/?term=service+fabric">template gallery</a> such as the <a href="https://azure.microsoft.com/en-us/documentation/templates/service-fabric-unsecure-cluster-5-node-1-nodetype/">5 Node Service Fabric Cluster</a>.
<a></a>
<h1 id="ExistingVnet">Existing Virtual Network / Subnet</h1>
[Jan 24, 2016: There is another sample of this outside the Service Fabric scope at <a href="https://github.com/gbowerman/azure-myriad/tree/master/existing-vnet">https://github.com/gbowerman/azure-myriad/tree/master/existing-vnet</a>]

&nbsp;

1. Change the subnet parameter to the name of the existing subnet and add two new parameters to reference the existing VNet:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image235.png"><img width="388" height="484" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb206.png" border="0" /></a>
<pre class="brush: xml; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">        "subnet0Name": {
            "type": "string",
            "defaultValue": "default"
        },
        "existingVNetRGName": {
            "type": "string",
            "defaultValue": "ExistingRG"
        },
        "existingVNetName": {
            "type": "string",
            "defaultValue": "ExistingRG-vnet"
        },
        /*
        "subnet0Name": {
            "type": "string",
            "defaultValue": "Subnet-0"
        },
        "subnet0Prefix": {
            "type": "string",
            "defaultValue": "10.0.0.0/24"
        },*/</pre>
&nbsp;

&nbsp;

2. Change the vnetID variable to point to the existing VNet:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image236.png"><img width="1028" height="28" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb207.png" border="0" /></a>
<pre class="brush: xml; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">        /*old "vnetID": "[resourceId('Microsoft.Network/virtualNetworks',parameters('virtualNetworkName'))]",*/
        "vnetID": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', parameters('existingVNetRGName'), '/providers/Microsoft.Network/virtualNetworks/', parameters('existingVNetName'))]",</pre>
&nbsp;

3. Remove the Microsoft.Network/virtualNetworks from the Resources so that Azure does not try to create a new VNet:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image237.png"><img width="511" height="484" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb208.png" border="0" /></a>

&nbsp;

4. Comment out the VNet from the dependsOn attribute of the Microsoft.Compute/virtualMachineScaleSets so that we don’t depend on creating a new VNet:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image238.png"><img width="644" height="164" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb209.png" border="0" /></a>

&nbsp;

5. Deploy the template:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image239.png"><img width="1028" height="400" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb210.png" border="0" /></a>

&nbsp;
<pre class="brush: powershell; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">New-AzureRmResourceGroup -Name sfnetworkingexistingvnet -Location westus

New-AzureRmResourceGroupDeployment -Name deployment -ResourceGroupName sfnetworkingexistingvnet -TemplateFile C:\SFSamples\Final\template_existingvnet.json</pre>
&nbsp;

&nbsp;

After the deployment your Virtual Network should include the new VMSS VMs:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image240.png"><img width="1028" height="379" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb211.png" border="0" /></a>

&nbsp;

And the Virtual Machine Scale Set node type should show the existing VNet and subnet:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image241.png"><img width="1028" height="293" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb212.png" border="0" /></a>

&nbsp;

You can also RDP to the existing VM that was already in the VNet and ping the new VMSS VMs:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image242.png"><img width="644" height="250" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb213.png" border="0" /></a>
<a></a>
<h1 id="StaticIP">Static Public IP Address</h1>
1. Add parameters for the name of the existing static IP resource group, name, and FQDN:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image243.png"><img width="244" height="158" title="image" style="padding-top: 0px;padding-left: 0px;margin: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb214.png" border="0" /></a>
<pre class="brush: xml; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">        "existingStaticIPResourceGroup": {
            "type": "string"
        },
        "existingStaticIPName": {
            "type": "string"
        },
        "existingStaticIPDnsFQDN": {
            "type": "string"
        }</pre>
&nbsp;

2. Remove the dnsName parameter since the static IP already has one:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image244.png"><img width="185" height="84" title="image" style="padding-top: 0px;padding-left: 0px;margin: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb215.png" border="0" /></a>

&nbsp;

3. Add a variable to reference the existing static IP:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image245.png"><img width="1028" height="16" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb216.png" border="0" /></a>
<pre class="brush: xml; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">        "existingStaticIP": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', parameters('existingStaticIPResourceGroup'), '/providers/Microsoft.Network/publicIPAddresses/', parameters('existingStaticIPName'))]",
</pre>
&nbsp;

4. Remove the Microsoft.Network/publicIPAddresses from the Resources so that Azure does not try to create a new IP address:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image246.png"><img width="644" height="444" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb217.png" border="0" /></a>

&nbsp;

5. Comment out the IP address from the dependsOn attribute of the Microsoft.Network/loadBalancers so that we don't depend on creating a new IP address:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image247.png"><img width="644" height="151" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb218.png" border="0" /></a>

&nbsp;

6. Change the publicIPAddress element of the frontendIPConfigurations in the Microsoft.Network/loadBalancers resource to reference the existing static IP instead of a newly created one:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image248.png"><img width="644" height="151" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb219.png" border="0" /></a>
<pre class="brush: xml; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">                "frontendIPConfigurations": [
                    {
                        "name": "LoadBalancerIPConfig",
                        "properties": {
                            "publicIPAddress": {
                                /*"id": "[resourceId('Microsoft.Network/publicIPAddresses',concat(parameters('lbIPName'),'-','0'))]"*/
                                "id": "[variables('existingStaticIP')]"
                            }
                        }
                    }
                ],</pre>
&nbsp;

7. Change the managementEndpoint in the Microsoft.ServiceFabric/clusters resource to the DNS FQDN of the static IP.  <strong>If you are using a secure cluster make sure you change ‘https://’ to ‘https://’.</strong> (Note: This instruction is only for Service Fabric clusters.  If you are only using a VMSS then skip this step):

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image249.png"><img width="1028" height="37" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb220.png" border="0" /></a>
<pre class="brush: xml; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">                "fabricSettings": [],
                /*"managementEndpoint": "[concat('https://',reference(concat(parameters('lbIPName'),'-','0')).dnsSettings.fqdn,':',parameters('nt0fabricHttpGatewayPort'))]",*/
                "managementEndpoint": "[concat('https://',parameters('existingStaticIPDnsFQDN'),':',parameters('nt0fabricHttpGatewayPort'))]",</pre>
&nbsp;

8. Deploy the template:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image250.png"><img width="1028" height="148" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb221.png" border="0" /></a>

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image251.png"><img width="1028" height="398" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb222.png" border="0" /></a>

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image252.png"><img width="1028" height="243" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb223.png" border="0" /></a>

New-AzureRmResourceGroup -Name sfnetworkingstaticip -Location westus

$staticip = Get-AzureRmPublicIpAddress -Name staticIP1 -ResourceGroupName ExistingRG

&nbsp;

$staticip

&nbsp;

New-AzureRmResourceGroupDeployment -Name deployment -ResourceGroupName sfnetworkingstaticip -TemplateFile C:\SFSamples\Final\template_staticip.json -existingStaticIPResourceGroup $staticip.ResourceGroupName -existingStaticIPName $staticip.Name -existingStaticIPDnsFQDN $staticip.DnsSettings.Fqdn

&nbsp;

After the deployment you will see that your load balancer is bound to the public static IP address from the other resource group:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image253.png"><img width="1028" height="261" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb224.png" border="0" /></a>

&nbsp;

And the Service Fabric client connection endpoint and SFX endpoint point to the DNS FQDN of the static IP address:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image254.png"><img width="1028" height="392" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb225.png" border="0" /></a>
<a></a>
<h1 id="ILBOnly">Internal Only Load Balancer</h1>
This scenario replaces the external load balancer in the default Service Fabric template with an internal only load balancer.  See above for the Azure Management Portal and SFRP implications.

&nbsp;

1. Remove the dnsName parameter since it is not needed:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image255.png"><img width="185" height="84" title="image" style="padding-top: 0px;padding-left: 0px;margin: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb226.png" border="0" /></a>

&nbsp;

2. Optionally add a static IP address parameter, if using static allocation method. If using dynamic allocation method then this is not needed:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image256.png"><img width="244" height="79" title="image" style="padding-top: 0px;padding-left: 0px;margin: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb227.png" border="0" /></a>
<pre class="brush: xml; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">        "internalLBAddress": {
            "type": "string",
            "defaultValue": "10.0.0.250"
        }</pre>
&nbsp;

3. Remove the Microsoft.Network/publicIPAddresses from the Resources so that Azure does not try to create a new IP address:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image257.png"><img width="644" height="441" title="image" style="padding-top: 0px;padding-left: 0px;margin: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb228.png" border="0" /></a>

&nbsp;

4. Remove the IP address dependsOn attribute of the Microsoft.Network/loadBalancers so that we don't depend on creating a new IP address, and add the VNet depends on since the load balancer now depends on the subnet from the VNet:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image258.png"><img width="644" height="135" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb229.png" border="0" /></a>
<pre class="brush: xml; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">            "apiVersion": "[variables('lbApiVersion')]",
            "type": "Microsoft.Network/loadBalancers",
            "name": "[concat('LB','-', parameters('clusterName'),'-',parameters('vmNodeType0Name'))]",
            "location": "[parameters('computeLocation')]",
            "dependsOn": [
                /*"[concat('Microsoft.Network/publicIPAddresses/',concat(parameters('lbIPName'),'-','0'))]"*/
                "[concat('Microsoft.Network/virtualNetworks/',parameters('virtualNetworkName'))]"
            ],</pre>
&nbsp;

5. Change the load balancer’s frontendIPConfigurations from using a publicIPAddress to using a subnet and privateIPAddress. Note that this uses a predefined static internal IP address, you could switch this to a dynamic IP address by removing the privateIPAddress element and changing the privateIPAllocationMethod to “Dynamic”.

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image259.png"><img width="644" height="227" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb230.png" border="0" /></a>
<pre class="brush: xml; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">                "frontendIPConfigurations": [
                    {
                        "name": "LoadBalancerIPConfig",
                        "properties": {
                            /*
                            "publicIPAddress": {
                                "id": "[resourceId('Microsoft.Network/publicIPAddresses',concat(parameters('lbIPName'),'-','0'))]"
                            } */
                            "subnet" :{
                                "id": "[variables('subnet0Ref')]"
                            },                
                            "privateIPAddress": "[parameters('internalLBAddress')]",
                            "privateIPAllocationMethod": "Static"
                        }
                    }
                ],</pre>
&nbsp;

6. In the Microsoft.ServiceFabric/clusters resource change the managementEndpoint to point to the internal load balancer address.  <strong>If you are using a secure cluster make sure you change ‘https://’ to ‘https://’.</strong> (Note: This instruction is only for Service Fabric clusters.  If you are only using a VMSS then skip this step):

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image260.png"><img width="1028" height="51" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb231.png" border="0" /></a>
<pre class="brush: xml; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">                "fabricSettings": [],
                /*"managementEndpoint": "[concat('https://',reference(concat(parameters('lbIPName'),'-','0')).dnsSettings.fqdn,':',parameters('nt0fabricHttpGatewayPort'))]",*/
                "managementEndpoint": "[concat('https://',reference(variables('lbID0')).frontEndIPConfigurations[0].properties.privateIPAddress,':',parameters('nt0fabricHttpGatewayPort'))]",</pre>
&nbsp;

7. Deploy the template:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image261.png"><img width="1028" height="387" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb232.png" border="0" /></a>
<pre class="brush: powershell; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">New-AzureRmResourceGroup -Name sfnetworkinginternallb -Location westus

New-AzureRmResourceGroupDeployment -Name deployment -ResourceGroupName sfnetworkinginternallb -TemplateFile C:\SFSamples\Final\template_internalonlyLB.json</pre>
&nbsp;

After the deployment you will see that your load balancer is using the private static 10.0.0.250 IP address:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image262.png"><img width="1028" height="319" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb233.png" border="0" /></a>

&nbsp;

If you have another machine in that same VNet then you can also browse to the internal SFX endpoint and see that it connects to one of the nodes behind the load balancer:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image263.png"><img width="1028" height="432" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb234.png" border="0" /></a>
<a></a>
<h1 id="IELB">Internal and External Load Balancer</h1>
This scenario will take the existing single node type external load balancer and add an additional internal load balancer for the same node type.  A back end port attached to a back end address pool can only be assigned to a single load balancer so you will have to decide which load balancer should have your application ports and which load balancer should have your management endpoints (port 19000/19080).  Keep in mind the SFRP restrictions from above if you decide to put the management endpoints on the internal load balancer.  This sample keeps the management endpoints on the external load balancer and adds a port 80 application port and places it on the internal load balancer.

If you want a two node type cluster, with one node type on the external load balancer and the other on the internal load balancer, then simply take the portal-created two node type template (which will come with 2 load balancers) and switch the second load balancer to an internal load balancer per the ‘Internal Only Load Balancer’ section above.

&nbsp;

1. Add the static internal LB IP address parameter (see notes above if dynamic IP address is desired):

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image264.png"><img width="244" height="76" title="image" style="padding-top: 0px;padding-left: 0px;margin: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb235.png" border="0" /></a>
<pre class="brush: xml; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">        "internalLBAddress": {
            "type": "string",
            "defaultValue": "10.0.0.250"
        }</pre>
&nbsp;

2. Add application port 80 parameter:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image265.png"><img width="644" height="105" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb236.png" border="0" /></a>
<pre class="brush: xml; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">        "loadBalancedAppPort1": {
            "type": "int",
            "defaultValue": 80,
            "metadata": {
                "description": "Input endpoint1 for the application to use. Replace it with what your application uses"
            }
        },</pre>
&nbsp;

3. Add internal versions of the existing networking variables by copy/paste and adding “-Int” to the naming:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image266.png"><img width="1028" height="231" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb237.png" border="0" /></a>
<pre class="brush: xml; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">        /* Add internal LB networking variables */
        "lbID0-Int": "[resourceId('Microsoft.Network/loadBalancers', concat('LB','-', parameters('clusterName'),'-',parameters('vmNodeType0Name'), '-Internal'))]",
        "lbIPConfig0-Int": "[concat(variables('lbID0-Int'),'/frontendIPConfigurations/LoadBalancerIPConfig')]",
        "lbPoolID0-Int": "[concat(variables('lbID0-Int'),'/backendAddressPools/LoadBalancerBEAddressPool')]",
        "lbProbeID0-Int": "[concat(variables('lbID0-Int'),'/probes/FabricGatewayProbe')]",
        "lbHttpProbeID0-Int": "[concat(variables('lbID0-Int'),'/probes/FabricHttpGatewayProbe')]",
        "lbNatPoolID0-Int": "[concat(variables('lbID0-Int'),'/inboundNatPools/LoadBalancerBEAddressNatPool')]",
        /* internal LB networking variables end */</pre>
&nbsp;

&nbsp;

4. If you are starting with the portal generated template with an application port 80 then the default portal template will add AppPort1 (port 80) on the external load balancer.  In this case remove the it from the external load balancer loadBalancingRules and probes so you can add it to the internal load balancer:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image267.png"><img width="633" height="772" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb238.png" border="0" /></a>

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image268.png"><img width="760" height="772" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb239.png" border="0" /></a>

&nbsp;

&nbsp;

5. Add a second Microsoft.Network/loadBalancers resource.  This will look very similar to the internal load balancer created in the previous ‘Internal Only Load Balancer’ section, but using the ‘-Int’ load balancer variables and only implementing the application port 80.  This also removes the inboundNatPools in order to keep RDP endpoints on the public load balancer – if you want RDP in the internal load balancer then move the inboundNatPools from the external load balancer to this internal load balancer.
<pre class="brush: xml; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">        /* Add a second load balancer, configured with a static privateIPAddress and the "-Int" LB variables */
        {
            "apiVersion": "[variables('lbApiVersion')]",
            "type": "Microsoft.Network/loadBalancers",
            /* Add '-Internal' to name */
            "name": "[concat('LB','-', parameters('clusterName'),'-',parameters('vmNodeType0Name'), '-Internal')]",
            "location": "[parameters('computeLocation')]",
            "dependsOn": [
                /* Remove public IP dependsOn, add vnet dependsOn
                "[concat('Microsoft.Network/publicIPAddresses/',concat(parameters('lbIPName'),'-','0'))]"
                */
                "[concat('Microsoft.Network/virtualNetworks/',parameters('virtualNetworkName'))]"
            ],
            "properties": {
                "frontendIPConfigurations": [
                    {
                        "name": "LoadBalancerIPConfig",
                        "properties": {
                            /* Switch from Public to Private IP address
                            /*
                            "publicIPAddress": {
                                "id": "[resourceId('Microsoft.Network/publicIPAddresses',concat(parameters('lbIPName'),'-','0'))]"
                            }
                            */
                            "subnet" :{
                                "id": "[variables('subnet0Ref')]"
                            },                
                            "privateIPAddress": "[parameters('internalLBAddress')]",
                            "privateIPAllocationMethod": "Static"
                        }
                    }
                ],
                "backendAddressPools": [
                    {
                        "name": "LoadBalancerBEAddressPool",
                        "properties": {}
                    }
                ],
                "loadBalancingRules": [
                    /* Add the AppPort rule, making sure to reference the "-Int" versions of the backendAddressPool, frontendIPConfiguration, and probe variables */
                    {
                        "name": "AppPortLBRule1",
                        "properties": {
                            "backendAddressPool": {
                                "id": "[variables('lbPoolID0-Int')]"
                            },
                            "backendPort": "[parameters('loadBalancedAppPort1')]",
                            "enableFloatingIP": "false",
                            "frontendIPConfiguration": {
                                "id": "[variables('lbIPConfig0-Int')]"
                            },
                            "frontendPort": "[parameters('loadBalancedAppPort1')]",
                            "idleTimeoutInMinutes": "5",
                            "probe": {
                                "id": "[concat(variables('lbID0-Int'),'/probes/AppPortProbe1')]"
                            },
                            "protocol": "tcp"
                        }
                    }
                ],
                "probes": [
                   /* Add the probe for the app port */
                   {
                        "name": "AppPortProbe1",
                        "properties": {
                            "intervalInSeconds": 5,
                            "numberOfProbes": 2,
                            "port": "[parameters('loadBalancedAppPort1')]",
                            "protocol": "tcp"
                        }
                    }
                ],
                "inboundNatPools": [
                ]
            },
            "tags": {
                "resourceType": "Service Fabric",
                "clusterName": "[parameters('clusterName')]"
            }
        },</pre>
&nbsp;

6. In the networkProfile for the Microsoft.Compute/virtualMachineScaleSets resource add the internal back end address pool:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image269.png"><img width="644" height="318" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb240.png" border="0" /></a>
<pre class="brush: xml; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">                                                "loadBalancerBackendAddressPools": [
                                                    {
                                                        "id": "[variables('lbPoolID0')]"
                                                    },
                                                    {
                                                        /* Add internal BE pool */
                                                        "id": "[variables('lbPoolID0-Int')]"
                                                    }
                                                ],</pre>
&nbsp;

7. Deploy the template:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image270.png"><img width="1028" height="136" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb241.png" border="0" /></a>

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image271.png"><img width="1028" height="242" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb242.png" border="0" /></a>
<pre class="brush: powershell; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">New-AzureRmResourceGroup -Name sfnetworkinginternalexternallb -Location westus

New-AzureRmResourceGroupDeployment -Name deployment -ResourceGroupName sfnetworkinginternalexternallb -TemplateFile C:\SFSamples\Final\template_internalexternalLB.json
</pre>
&nbsp;

After the deployment you will see two load balancers in the resource group, and browsing through the load balancers you will see the public IP address and management endpoints (port 19000/19080) assigned to the public IP address, and the static internal IP address and application endpoint (port 80) assigned to the internal load balancer, and both load balancers using the same VMSS backend pool.

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/image272.png"><img width="1028" height="334" title="image" style="padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/10/image_thumb243.png" border="0" /></a>]]></content:encoded>
    </item>
    <item>
      <title>PaaS Cloud Service Role Restart Scenarios</title>
      <link>https://docs.microsoft.com/archive/blogs/kwill/paas-cloud-service-role-restart-scenarios</link>
      <pubDate>Tue, 08 Mar 2016 16:16:51 GMT</pubDate>
      <dc:creator><![CDATA[Kevin Williamson [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/kwill/?p=351</guid>
      <description><![CDATA[There are several reasons why a PaaS cloud service role instance will restart or recycle.  This...]]></description>
      <content:encoded><![CDATA[There are several reasons why a PaaS cloud service role instance will restart or recycle.  This could be a recycle of just the role host processes (WaWorkerHost.exe / WaIISHost.exe) or a reboot of the VM itself.  For more information about what happens to the content on the disks inside the VM in these various scenarios see <a href="https://blogs.msdn.microsoft.com/kwill/2012/10/05/windows-azure-disk-partition-preservation/">https://blogs.msdn.microsoft.com/kwill/2012/10/05/windows-azure-disk-partition-preservation/</a>

&nbsp;

&nbsp;

These restarts will leave the VM running, but cause the role host processes within the VM to restart.  <span>For more information about the role processes, see </span><a href="https://blogs.msdn.microsoft.com/kwill/2011/05/05/windows-azure-role-architecture/" title="Windows Azure Role Architecture">https://blogs.msdn.microsoft.com/kwill/2011/05/05/windows-azure-role-architecture/</a><span>.</span>
<ul>
 	<li>In place upgrade of the cloud service</li>
 	<li>Config change of the cloud service that changes the environment, such as adding a new certificate that the guest agent has to install</li>
 	<li>Calling RoleEnvironment.RequestRecycle from within the VM</li>
 	<li>Stop/Start management operation</li>
 	<li>Setting e.Cancel=true in the RoleEnvironment_Changing event</li>
 	<li>The role host process exiting the RoleEntryPoint_Run method</li>
 	<li>The role host process crashing</li>
</ul>
&nbsp;

These restarts will cause the VM itself to either restart or be moved to a new server.
<ul>
 	<li>A new version of the Azure Guest Agent</li>
 	<li>Host or Guest OS Updates</li>
 	<li>Reboot or Reimage management operation</li>
 	<li>A hardware issue on the physical server causing service healing and node movement</li>
 	<li>A communication failure between the Guest Agent and the Host Agent that lasts longer than 10 minutes</li>
 	<li>Unexpected host reboots such as powercycles or bugchecks</li>
 	<li>Planned maintenance or hardware decommissioning which will cause Azure to proactively move VMs to new servers (you will receive advance notification emails)</li>
</ul>
&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>Authenticating Storage Requests Using SharedKeyAuthenticationHandler</title>
      <link>https://docs.microsoft.com/archive/blogs/kwill/authenticating-storage-requests-using-sharedkeyauthenticationhandler</link>
      <pubDate>Wed, 03 Jun 2015 14:41:00 GMT</pubDate>
      <dc:creator><![CDATA[Kevin Williamson [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/kwill/2015/06/03/authenticating-storage-requests-using-sharedkeyauthenticationhandler/</guid>
      <description><![CDATA[&#160;  With the older version of the storage client library (version 1.7) you could sign...]]></description>
      <content:encoded><![CDATA[<p>&#160;</p>  <p><font size="2">With the older version of the storage client library (version 1.7) you could sign HttpWebRequests using the SignRequestLite function, and there were several examples on the web of how to do this.&#160; The SignRequestLite function has been removed from the 2.0+ versions of the storage client library and so far I have not seen any examples of using the new signing functions.</font></p>  <p><font size="2">&#160;</font></p>  <p><font size="2"></font></p>  <p><font size="2">The new SCL uses Microsoft.WindowsAzure.Storage.Auth.Protocol.SharedKeyAuthenticationHandler to sign the request, and Microsoft.WindowsAzure.Storage.Core.Auth.SharedKeyTableCanonicalizer (for table storage requests) or Microsoft.WindowsAzure.Storage.Core.Auth.SharedKeyCanonicalizer (for blob and queue storage requests) to create the canonicalizer.&#160; In the simplest form, this is the code (using the blob canonicalizer) to sign an httpWebRequest object:</font></p>  <div id="codeSnippetWrapper" style="overflow: auto; cursor: text; font-size: 8pt; border-top: silver 1px solid; font-family: &#39;Courier New&#39;, courier, monospace; border-right: silver 1px solid; width: 97.5%; border-bottom: silver 1px solid; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; padding-left: 4px; margin: 0px 0px 10px; border-left: silver 1px solid; line-height: 12pt; padding-right: 4px; max-height: 400px; background-color: #f4f4f4">   <pre id="codeSnippet" style="border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4">Microsoft.WindowsAzure.Storage.Auth.StorageCredentials credentials = <span style="color: #0000ff">new</span> Microsoft.WindowsAzure.Storage.Auth.StorageCredentials(storageAccountName, storageAccountKey);<br />Microsoft.WindowsAzure.Storage.Auth.Protocol.SharedKeyAuthenticationHandler auth;<br />Microsoft.WindowsAzure.Storage.Core.Auth.SharedKeyCanonicalizer canonicalizer = Microsoft.WindowsAzure.Storage.Core.Auth.SharedKeyCanonicalizer.Instance;<br />auth = <span style="color: #0000ff">new</span> Microsoft.WindowsAzure.Storage.Auth.Protocol.SharedKeyAuthenticationHandler(canonicalizer, credentials, storageAccountName);<br />auth.SignRequest(httpWebRequest, <span style="color: #0000ff">null</span>);</pre>

  <br /></div>

<p>&#160;</p>

<p><font size="2">For a more full featured example (you can largely ignore the MakeRequest function since it is just a generic HTTP request/response handler):</font></p>

<div id="codeSnippetWrapper" style="overflow: auto; cursor: text; font-size: 8pt; border-top: silver 1px solid; font-family: &#39;Courier New&#39;, courier, monospace; border-right: silver 1px solid; width: 97.5%; border-bottom: silver 1px solid; padding-bottom: 4px; direction: ltr; text-align: left; padding-top: 4px; padding-left: 4px; margin: 20px 0px 10px; border-left: silver 1px solid; line-height: 12pt; padding-right: 4px; max-height: 800px; background-color: #f4f4f4">
  <pre id="codeSnippet" style="border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4"><br /><span style="color: #0000ff">using</span> System.Net;<br /><span style="color: #0000ff">using</span> Microsoft.WindowsAzure.Storage.Auth;<br /><span style="color: #0000ff">using</span> Microsoft.WindowsAzure.Storage.Auth.Protocol;<br /> <br />        <span style="color: #0000ff">private</span> HttpWebRequest SignRequest(HttpWebRequest request, <span style="color: #0000ff">bool</span> isTable = <span style="color: #0000ff">false</span>)<br />        {<br />            <span style="color: #008000">// Create a StorageCredentials object with account name and key</span><br />            <span style="color: #0000ff">string</span> storageAccountName = <span style="color: #006080">&quot;kwillstorage2&quot;</span>;<br />            <span style="color: #0000ff">string</span> storageAccountKey = <span style="color: #006080">&quot;S4RUcCvGKBPoFvhyJ0p6Wu0ciJnPTn5+b5MgU5olWhqGABAfvFhMFCbOBSeDgL9VF27TFrYzCQnRHYkbgJgxxg==&quot;</span>;<br />            Microsoft.WindowsAzure.Storage.Auth.StorageCredentials credentials = <span style="color: #0000ff">new</span> Microsoft.WindowsAzure.Storage.Auth.StorageCredentials(storageAccountName, storageAccountKey);<br /> <br />            <span style="color: #008000">// Create the SharedKeyAuthenticationHandler which is used to sign the HttpWebRequest</span><br />            Microsoft.WindowsAzure.Storage.Auth.Protocol.SharedKeyAuthenticationHandler auth;<br />            <span style="color: #0000ff">if</span> (isTable)<br />            {<br />                <span style="color: #008000">// Tables use SharedKeyTableCanonicalizer along with storage credentials and storage account name</span><br />                Microsoft.WindowsAzure.Storage.Core.Auth.SharedKeyTableCanonicalizer canonicalizertable = Microsoft.WindowsAzure.Storage.Core.Auth.SharedKeyTableCanonicalizer.Instance;<br />                auth = <span style="color: #0000ff">new</span> Microsoft.WindowsAzure.Storage.Auth.Protocol.SharedKeyAuthenticationHandler(canonicalizertable, credentials, storageAccountName);<br />                <span style="color: #0000ff">if</span> (request.Headers[<span style="color: #006080">&quot;MaxDataServiceVersion&quot;</span>] == <span style="color: #0000ff">null</span>)<br />                {<br />                    request.Headers.Add(<span style="color: #006080">&quot;MaxDataServiceVersion&quot;</span>, <span style="color: #006080">&quot;2.0;NetFx&quot;</span>);<br />                }<br />            }<br />            <span style="color: #0000ff">else</span><br />            {<br />                <span style="color: #008000">// Blobs and Queues use SharedKeyCanonicalizer</span><br />                Microsoft.WindowsAzure.Storage.Core.Auth.SharedKeyCanonicalizer canonicalizer = Microsoft.WindowsAzure.Storage.Core.Auth.SharedKeyCanonicalizer.Instance;<br />                auth = <span style="color: #0000ff">new</span> Microsoft.WindowsAzure.Storage.Auth.Protocol.SharedKeyAuthenticationHandler(canonicalizer, credentials, storageAccountName);<br />            }<br /> <br />            <span style="color: #008000">// Sign the request which will add the Authorization header</span><br />            auth.SignRequest(request, <span style="color: #0000ff">null</span>);<br />            <span style="color: #0000ff">return</span> request;<br />        }<br /> <br />        <span style="color: #0000ff">private</span> <span style="color: #0000ff">void</span> button1_Click(<span style="color: #0000ff">object</span> sender, EventArgs e)<br />        {<br />            HttpWebRequest requestBlob, requestTable;<br /> <br />            requestBlob = (HttpWebRequest)HttpWebRequest.Create(<span style="color: #006080">&quot;https://kwillstorage2.blob.core.windows.net/vsdeploy?restype=container&amp;comp=list&quot;</span>);<br />            requestBlob.Method = <span style="color: #006080">&quot;GET&quot;</span>;<br />            requestBlob.Headers.Add(<span style="color: #006080">&quot;x-ms-version&quot;</span>, <span style="color: #006080">&quot;2014-02-14&quot;</span>);<br />            SignRequest(requestBlob);<br />            MakeRequest(requestBlob);<br /> <br />            requestTable = (HttpWebRequest)HttpWebRequest.Create(<span style="color: #006080">&quot;https://kwillstorage2.table.core.windows.net/testtable&quot;</span>);<br />            requestTable.Method = <span style="color: #006080">&quot;GET&quot;</span>;<br />            requestTable.Headers.Add(<span style="color: #006080">&quot;x-ms-version&quot;</span>, <span style="color: #006080">&quot;2014-02-14&quot;</span>);<br />            SignRequest(requestTable, <span style="color: #0000ff">true</span>);<br />            MakeRequest(requestTable);<br />        }<br /> <br />        <span style="color: #0000ff">private</span> <span style="color: #0000ff">void</span> MakeRequest(HttpWebRequest request)<br />        {<br />            HttpWebResponse response = <span style="color: #0000ff">null</span>;<br />            System.IO.Stream receiveStream;<br />            System.IO.StreamReader readStream;<br />            Encoding encode;<br />            <span style="color: #0000ff">try</span><br />            {<br />                response = (HttpWebResponse)request.GetResponse();<br />            }<br />            <span style="color: #0000ff">catch</span> (WebException ex)<br />            {<br />                Console.WriteLine(request.Headers.ToString());<br />                Console.WriteLine(ex.Message + Environment.NewLine + Environment.NewLine + ex.Response.Headers.ToString());<br />                <span style="color: #0000ff">try</span><br />                {<br />                    receiveStream = ex.Response.GetResponseStream();<br />                    encode = System.Text.Encoding.GetEncoding(<span style="color: #006080">&quot;utf-8&quot;</span>);<br />                    <span style="color: #008000">// Pipes the stream to a higher level stream reader with the required encoding format. </span><br />                    readStream = <span style="color: #0000ff">new</span> System.IO.StreamReader(receiveStream, encode);<br />                    Console.WriteLine(readStream.ReadToEnd());<br /><br />                    <span style="color: #008000">// Releases the resources of the response.</span><br />                    response.Close();<br />                    <span style="color: #008000">// Releases the resources of the Stream.</span><br />                    readStream.Close();<br />                }<br />                <span style="color: #0000ff">catch</span><br />                {<br />                }<br />                <span style="color: #0000ff">return</span>;<br />            }<br /> <br />            Console.WriteLine(request.Method + <span style="color: #006080">&quot; &quot;</span> + request.RequestUri + <span style="color: #006080">&quot; &quot;</span> + request.ProtocolVersion + Environment.NewLine + Environment.NewLine);<br />            Console.WriteLine(request.Headers.ToString());<br />            Console.WriteLine((<span style="color: #0000ff">int</span>)response.StatusCode + <span style="color: #006080">&quot; - &quot;</span> + response.StatusDescription + Environment.NewLine + Environment.NewLine);<br />            Console.WriteLine(response.Headers + Environment.NewLine + Environment.NewLine);<br /> <br />            receiveStream = response.GetResponseStream();<br />            encode = System.Text.Encoding.GetEncoding(<span style="color: #006080">&quot;utf-8&quot;</span>);<br />            <span style="color: #008000">// Pipes the stream to a higher level stream reader with the required encoding format. </span><br />            readStream = <span style="color: #0000ff">new</span> System.IO.StreamReader(receiveStream, encode);<br />            Console.WriteLine(readStream.ReadToEnd());<br /> <br />            <span style="color: #008000">// Releases the resources of the response.</span><br />            response.Close();<br />            <span style="color: #008000">// Releases the resources of the Stream.</span><br />            readStream.Close();<br />        }</pre>

  <br /></div>]]></content:encoded>
    </item>
    <item>
      <title>Azure Cloud Services only support SHA-1 Thumbprint Algorithm</title>
      <link>https://docs.microsoft.com/archive/blogs/kwill/azure-cloud-services-only-support-sha-1-thumbprint-algorithm</link>
      <pubDate>Mon, 16 Feb 2015 22:02:50 GMT</pubDate>
      <dc:creator><![CDATA[Kevin Williamson [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/kwill/2015/02/16/azure-cloud-services-only-support-sha-1-thumbprint-algorithm/</guid>
      <description><![CDATA[&#160;  “My certificate provider recently switched to only providing SHA2/SHA256 certificates...]]></description>
      <content:encoded><![CDATA[<p>&#160;</p>  <p><em><font size="3">“My certificate provider recently switched to only providing SHA2/SHA256 certificates because SHA-1 certificates are no longer safe.&#160; But Azure only supports SHA1 certificates!&#160; <a title="https://msdn.microsoft.com/library/azure/gg465718.aspx" href="https://msdn.microsoft.com/library/azure/gg465718.aspx">https://msdn.microsoft.com/library/azure/gg465718.aspx</a> says ‘The only thumbprint algorithm currently supported is sha1’”.</font></em></p>  <p><font size="2">&#160;</font></p>  <p><font size="2">Lately I have been seeing this issue more often due to some larger cert providers recently making this change.&#160; The entire industry has been deprecating SHA-1 certificates for a while and Chrome has recently started showing warnings in the browser.&#160; Some references:</font></p>  <ul>   <li><a title="https://www.digicert.com/sha-2-ssl-certificates.htm" href="https://www.digicert.com/sha-2-ssl-certificates.htm"><font size="2">https://www.digicert.com/sha-2-ssl-certificates.htm</font></a></li>    <li><a title="https://knowledge.geotrust.com/support/knowledge-base/index?page=content&amp;id=AD927&amp;actp=LIST&amp;viewlocale=en_US" href="https://knowledge.geotrust.com/support/knowledge-base/index?page=content&amp;id=AD927&amp;actp=LIST&amp;viewlocale=en_US"><font size="2">https://knowledge.geotrust.com/support/knowledge-base/index?page=content&amp;id=AD927&amp;actp=LIST&amp;viewlocale=en_US</font></a></li>    <li><a title="https://blog.chromium.org/2014/09/gradually-sunsetting-sha-1.html" href="https://blog.chromium.org/2014/09/gradually-sunsetting-sha-1.html"><font size="2">https://blog.chromium.org/2014/09/gradually-sunsetting-sha-1.html</font></a></li>    <li><a title="https://blogs.technet.com/b/pki/archive/2013/11/12/sha1-deprecation-policy.aspx" href="https://blogs.technet.com/b/pki/archive/2013/11/12/sha1-deprecation-policy.aspx"><font size="2">https://blogs.technet.com/b/pki/archive/2013/11/12/sha1-deprecation-policy.aspx</font></a></li>    <li><font size="2">etc…</font></li> </ul>  <p><font size="2">&#160;</font></p>  <h1>Signing algorithm vs. Thumbprint algorithm</h1>  <p><font size="2">The issue stems from confusion between the two types of algorithms used by certificates.</font></p>  <ul>   <li><font size="2"><strong>Signing algorithm</strong>.&#160; This is the algorithm used to actually sign the certificate and this is what makes the certificate secure (or in the case of SHA-1, less secure).&#160; The signing algorithm and resulting signature is specified by the certificate authority when it creates the cert and is built into the cert itself.&#160; This algorithm is where SHA1 is being deprecated.&#160; Azure doesn't know or care what this algorithm is.</font></li> </ul>  <p><font size="2"></font></p>  <ul>   <li><font size="2"><strong>Thumbprint algorithm</strong>.&#160; This algorithm is used to generate a thumbprint in order to uniquely identify and find a certificate.&#160; This algorithm and value is not built into the certificate but is instead calculated whenever a cert lookup is done.&#160; Multiple thumbprints can be generated using different algorithms all from the same certificate data.&#160; The thumbprint has nothing to do with certificate security since it is just used to identify/find the cert within the cert store.&#160; Windows, .NET, and Azure all use SHA1 algorithm for the thumbprint algorithm, and SHA1 is the only algorithm allowed in the ServiceConfiguration.cscfg file:</font></li> </ul>  <blockquote>   <p><font size="2">&lt;Certificates&gt;       <br />&#160; &lt;Certificate name=&quot;Certificate1&quot; thumbprint=&quot;69BF333452DAA85E462E33B138F3B65842C8B428&quot; <font style="background-color: rgb(255, 255, 0);">thumbprintAlgorithm</font>=&quot;<font style="background-color: rgb(255, 255, 0);">sha1</font>&quot; /&gt;        <br />&lt; /Certificates&gt;        <br /></font></p> </blockquote>  <p><font size="2">&#160;</font></p>  <h1>Solution</h1>  <p><font size="2">You can use your SHA2/SHA256 signed certificate in Azure, you just have to specify an SHA1 thumbprint.&#160; Your certificate provider should be able to provide you with an SHA1 thumbprint, but it is relatively straightforward to find or calculate the SHA1 thumbprint on your own.&#160; Here are a few options:</font></p>  <ol>   <li><font size="2">The easiest option is to simply open the certificate in the Certificate Manager on any Windows OS.&#160; Windows will display the SHA1 thumbprint in the certificate properties window.</font></li>    <li><font size="2">On a Windows OS you can run ‘certutil –store my’&#160; (replace my with whatever store your cert is in).</font></li>    <li><font size="2">In Powershell you can call System.Security.Cryptography.SHA1CNG.ComputeHash per </font><a title="https://ig2600.blogspot.com/2010/01/how-do-you-thumbprint-certificate.html" href="https://ig2600.blogspot.com/2010/01/how-do-you-thumbprint-certificate.html"><font size="2">https://ig2600.blogspot.com/2010/01/how-do-you-thumbprint-certificate.html</font></a></li>    <li><font size="2">There are a few other options including .NET code, openssl, and Apache Commons Codec at </font><a title="https://stackoverflow.com/questions/1270703/how-to-retrieve-compute-an-x509-certificates-thumbprint-in-java" href="https://stackoverflow.com/questions/1270703/how-to-retrieve-compute-an-x509-certificates-thumbprint-in-java"><font size="2">https://stackoverflow.com/questions/1270703/how-to-retrieve-compute-an-x509-certificates-thumbprint-in-java</font></a><font size="2">.</font></li> </ol>  <p><font size="2"></font></p>  <p><font size="2">&#160;</font></p>  <p><font size="2">Thank you to Morgan Simonsen for his excellent blog post </font><a href="https://morgansimonsen.wordpress.com/2013/04/16/understanding-x-509-digital-certificate-thumbprints/"><font size="2">Understanding X.509 digital certificate thumbprints</font></a><font size="2"> which details the different certificate algorithms.</font></p>  <p><font size="2">&#160;</font></p>]]></content:encoded>
    </item>
    <item>
      <title>Cloud Service RDP Configuration not available via portal</title>
      <link>https://docs.microsoft.com/archive/blogs/kwill/cloud-service-rdp-configuration-not-available-via-portal</link>
      <pubDate>Mon, 09 Feb 2015 15:43:19 GMT</pubDate>
      <dc:creator><![CDATA[Kevin Williamson [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/kwill/2015/02/09/cloud-service-rdp-configuration-not-available-via-portal/</guid>
      <description><![CDATA[&#160;  &#160;  &lt;Update March 2, 2015&gt;  The ability to modify RDP plugin settings via the...]]></description>
      <content:encoded><![CDATA[<p><font size="2">&#160;</font></p>  <p><font size="2">&#160;</font></p>  <p><font color="#ff0000" size="2"><strong>&lt;Update March 2, 2015&gt;</strong></font></p>  <p><font color="#000000" size="2">The ability to modify RDP plugin settings via the portal has been restored.&#160; I will leave this blog post up since the password encryption portion can still be valuable for people setting up RDP outside of the Visual Studio tools.</font></p>  <p><font color="#ff0000" size="2"><strong>&lt;/Update&gt;</strong></font></p>  <p><font size="2">&#160;</font></p>  <p><font size="2">&#160;</font></p>  <p><font size="2">There are 2 ways to enable RDP for a PaaS cloud service – via the CSPKG using the RemoteAccess plugin, or via the portal (or Powershell or REST API) using an extension.&#160; There was a recent change to the management portal that disabled the ability to configure the plugin style RDP settings after deployment.&#160; The error you get is:</font></p>  <blockquote>   <p><font size="2">“Failed to launch remote desktop configuration.”</font></p> </blockquote>  <p><font size="2">And if you click Details you get:</font></p>  <blockquote>   <p><font size="2">“Remote Desktop is enabled for this deployment using the RemoteAccess module, which is specified in the ServiceDefinition.csdef file. To allow configuring Remote Desktop using the management portal, remove the RemoteAccess module and update the deployment. Learn More.”</font></p>    <p><font size="2"></font></p> </blockquote>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/8130.image_66A03181.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/8130.image_5F00_66A03181.png"><font size="2"><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/01/29/21/metablogapi/1602.image_thumb_01D88A83.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/1602.image_5F00_thumb_5F00_01D88A83.png" width="644" height="68" /></font></a></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/2604.image_537F04D5.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/2604.image_5F00_537F04D5.png"><font size="2"><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/01/29/21/metablogapi/1565.image_thumb_47E94796.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/1565.image_5F00_thumb_5F00_47E94796.png" width="644" height="108" /></font></a></p>  <p><font size="2"></font></p>&#160;&#160;&#160;&#160; <p><font size="2">The best solution is to remove the RDP plugin from the package, rebuild the package, and redeploy.&#160; This will let you enable RDP via the portal after deployment and manage the configuration in the portal.&#160; This also provides a more reliable RDP experience since this shifts the RDP functionality from a static feature in your CSPKG to an extension that can be managed and upgraded by the Azure guest agent.&#160; To disable RDP in your package you can right-click the cloud service project, select ‘Configure Remote Desktop’ and then uncheck the ‘Enable connections for all roles’ option.</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/2330.image_0E65058D.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/2330.image_5F00_0E65058D.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/01/29/21/metablogapi/4024.image_thumb_3FF303D3.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/4024.image_5F00_thumb_5F00_3FF303D3.png" width="644" height="336" /></a></p>  <p><font size="2">&#160; </font></p>  <p><font size="2">However, modifying and then redeploying the package is not always a viable solution.&#160; For the scenarios where you want to update the configuration of an existing service you can use the following steps to manually update the configuration. </font></p>  <p><font size="2">&#160;</font></p>  <p><font size="2"></font></p>  <h1><font size="5">Download the configuration</font></h1>  <p><font size="2">Download the configuration and save a local .CSCFG file.&#160; You can do this via the portal or Powershell.</font></p>  <p><font size="2">To do this from the portal go to the Configure tab and click Download:</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/1172.image_38493C85.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/1172.image_5F00_38493C85.png"><font size="2"><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/01/29/21/metablogapi/2063.image_thumb_1EE1394B.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/2063.image_5F00_thumb_5F00_1EE1394B.png" width="644" height="285" /></font></a></p>  <p><font size="2"></font></p>  <p><font size="2">To do this from Powershell run:</font></p>  <blockquote>   <p><font size="2">$deployment = Get-AzureDeployment -ServiceName <em>&lt;<font style="background-color: rgb(255, 255, 0);">servicename</font>&gt; –</em>Slot <em>&lt;<font style="background-color: rgb(255, 255, 0);">slot</font>&gt;</em></font></p>    <p><font size="2">([xml]$deployment.Configuration).Save(&quot;c:\temp\config.cscfg&quot;)</font></p> </blockquote>  <p><font size="2">&#160;</font></p>  <p><font size="2"></font></p>  <h1>Update the configuration setting</h1>  <p><font size="2">Open the .CSCFG file you saved, make any necessary changes, and then save the .CSCFG.</font></p>  <p><font size="2">*See below for how to modify the password.</font></p>  <p><font size="2">&#160;</font></p>  <p><font size="2"></font></p>  <h1>Upload back to the portal</h1>  <p><font size="2">Upload the modified .CSCFG file back to the portal and wait for the configuration change to complete.</font></p>  <p><font size="2">To do this from the portal go to the Configure table and click Upload:</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/8865.image_655E2953.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/8865.image_5F00_655E2953.png"><font size="2"><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/01/29/21/metablogapi/4251.image_thumb_27D0CB8A.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/4251.image_5F00_thumb_5F00_27D0CB8A.png" width="644" height="278" /></font></a></p>  <p><font size="2"></font></p>  <p><font size="2">To do this from Powershell run:</font></p>  <blockquote>   <p><font size="2">Set-AzureDeployment -Config -ServiceName <em>&lt;<font style="background-color: rgb(255, 255, 0);">servicename</font>&gt; </em>-Configuration &quot;c:\temp\config.cscfg&quot; –Slot <em>&lt;<font style="background-color: rgb(255, 255, 0);">slot</font>&gt;</em></font></p> </blockquote>  <p><font size="2">&#160;</font></p>  <p><font size="2"></font></p>  <h1>Updating the password</h1>  <p><font size="2">Updating settings such as the expiration date or username is easy, but updating the password is more difficult.&#160; The RDP password is encrypted using a user-provided certificate that is uploaded to the cloud service.&#160; If you are making these RDP changes on the computer that already has that certificate in the cert store (ie. from the dev/deploy machine) then getting a new encrypted password is pretty straightforward:</font></p>  <ol>   <li><font size="2">Open a ‘Windows Azure Command Prompt’</font></li>    <li><font size="2">Execute:</font></li>    <li><font size="2">csencrypt encrypt-password -copytoclipboard –thumbprint <em>&lt;<font style="background-color: rgb(255, 255, 0);">thumbprint_from_CSCFG</font>&gt;</em></font></li>    <li><font size="2">Paste the new password into the AccountEncryptedPassword setting in the .CSCFG</font></li> </ol>  <p><font size="2"></font></p>  <p><font size="2">If you don’t have the certificate in the local computer’s cert store you can download it and generate a new encrypted certificate using Powershell:</font></p>  <blockquote>   <p><font size="2"># Download the cert        <br /> $cert = Get-AzureCertificate -ServiceName &lt;<font style="background-color: rgb(255, 255, 0);">servicename</font>&gt; -Thumbprint &lt;<font style="background-color: rgb(255, 255, 0);">thumbprint_from_CSCFG</font>&gt; -ThumbprintAlgorithm &quot;SHA1&quot;</font></p>    <p>     <br /><font size="2"> # Save the cert to a file        <br />&#160; &quot;-----BEGIN CERTIFICATE-----&quot; &gt; &quot;C:\Temp\rdpcert.cer&quot;         <br />&#160; $cert.Data &gt;&gt; &quot;C:\Temp\rdpcert.cer&quot;         <br />&#160; &quot;-----END CERTIFICATE-----&quot; &gt;&gt; &quot;C:\Temp\rdpcert.cer&quot;</font></p>    <p>     <br /><font size="2"> # Prompt for the new password        <br />&#160; $password = Read-Host -Prompt &quot;Enter the password to encrypt&quot;</font></p>    <p>     <br /><font size="2"> #Load the certificate        <br />&#160; [System.Reflection.Assembly]::LoadWithPartialName(&quot;System.Security&quot;) | Out-Null         <br />&#160; $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2(&quot;c:\temp\rdpcert.cer&quot;)         <br />&#160; $thumbprint = $cert[0].thumbprint         <br />&#160; $pass = [Text.Encoding]::UTF8.GetBytes($password) </font></p>    <p>     <br /><font size="2"> # Encrypt the cert        <br />&#160; $content = new-object Security.Cryptography.Pkcs.ContentInfo -argumentList (,$pass)         <br />&#160; $env = new-object Security.Cryptography.Pkcs.EnvelopedCms $content         <br />&#160; $env.Encrypt((new-object System.Security.Cryptography.Pkcs.CmsRecipient($cert))) </font></p>    <p>     <br /><font size="2"> # Write the new password to a file and load the file        <br />&#160; write-host &quot;Writing encrypted password, cut/paste the text below the line to CSCFG file&quot;         <br />&#160; [Convert]::ToBase64String($env.Encode()) &gt; &quot;c:\temp\encrypted_password.txt&quot;         <br />&#160; Invoke-Item &quot;c:\temp\encrypted_password.txt&quot;         <br /></font></p> </blockquote>  <p><font size="2"></font></p>  <p><font size="2">&#160;</font></p>]]></content:encoded>
    </item>
    <item>
      <title>How to Restrict RDP Access in an Azure PaaS Cloud Service</title>
      <link>https://docs.microsoft.com/archive/blogs/kwill/how-to-restrict-rdp-access-in-an-azure-paas-cloud-service</link>
      <pubDate>Tue, 16 Dec 2014 15:10:14 GMT</pubDate>
      <dc:creator><![CDATA[Kevin Williamson [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/kwill/2014/12/16/how-to-restrict-rdp-access-in-an-azure-paas-cloud-service/</guid>
      <description><![CDATA[&#160;  A question I see periodically is how to restrict RDP access for PaaS services to specific...]]></description>
      <content:encoded><![CDATA[<p>&#160;</p>  <p><font size="2">A question I see periodically is how to restrict RDP access for PaaS services to specific network IP addresses.&#160; In the past this has always been difficult to do and the typical solution was to use a Startup task to configure firewall rules (ie. using Set-NetFirewallRule or netsh advfirewall per <a title="https://msdn.microsoft.com/en-us/library/azure/jj156208.aspx" href="https://msdn.microsoft.com/en-us/library/azure/jj156208.aspx">https://msdn.microsoft.com/en-us/library/azure/jj156208.aspx</a>).&#160; This technique generally works fine, but it introduces the extra complexity of a startup task and is not built into the Azure platform itself.</font></p>  <p><font size="2"></font></p>  <h1>Network ACLs</h1>  <p><font size="2">With the (relatively) recent introduction of network ACLs it becomes much easier to robustly secure an input endpoint on a cloud service.&#160; My colleague Walter Myers has a great blog post about how to enable network ACLs for PaaS roles at <a title="https://blogs.msdn.com/b/walterm/archive/2014/04/22/windows-azure-paas-acls-are-here.aspx" href="https://blogs.msdn.com/b/walterm/archive/2014/04/22/windows-azure-paas-acls-are-here.aspx">https://blogs.msdn.com/b/walterm/archive/2014/04/22/windows-azure-paas-acls-are-here.aspx</a>.&#160; To apply a network ACL to the RDP endpoint it is simply a matter of defining your ACL rules targeting the role which imports the RemoteForwarder plugin, and specifying the name of the RDP endpoint in the endPoint attribute.</font></p>  <p><font size="2"></font></p>  <p><font size="2">Here is the resulting NetworkConfiguration section to add to the CSCFG file:</font></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160; </font></span><font style="font-size: 9.5pt;">&lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">NetworkConfiguration</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span>    <br /><font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160;&#160;&#160; </font></span><font style="font-size: 9.5pt;">&lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">AccessControls</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span>    <br /><font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160;&#160;&#160;&#160;&#160; </font></span><font style="font-size: 9.5pt;">&lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">AccessControl</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">name</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">RDPRestrict</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span>    <br /><font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></span><font style="font-size: 9.5pt;">&lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">Rule</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">action</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">permit</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">description</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">PermitRDP</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">order</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">100</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">remoteSubnet</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">167.220.26.0/24</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff"> /&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span>    <br /><font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></span><font style="font-size: 9.5pt;">&lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">Rule</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">action</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">deny</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">description</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">DenyRDP</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">order</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">200</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">remoteSubnet</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">0.0.0.0/0</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff"> /&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span>    <br /><font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160;&#160;&#160;&#160;&#160; </font></span><font style="font-size: 9.5pt;">&lt;/</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">AccessControl</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span>    <br /><font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160;&#160;&#160; </font></span><font style="font-size: 9.5pt;">&lt;/</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">AccessControls</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span>    <br /><font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160;&#160;&#160; </font></span><font style="font-size: 9.5pt;">&lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">EndpointAcls</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span>    <br /><font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160;&#160;&#160;&#160;&#160; </font></span><font style="font-size: 9.5pt;">&lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">EndpointAcl</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">role</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">WebRole1</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">endPoint</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">Microsoft.WindowsAzure.Plugins.RemoteForwarder.RdpInput</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">accessControl</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">RDPRestrict</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff"> /&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span>    <br /><font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160;&#160;&#160; </font></span><font style="font-size: 9.5pt;">&lt;/</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">EndpointAcls</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span>    <br /><font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160; </font></span><font style="font-size: 9.5pt;">&lt;/</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">NetworkConfiguration</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span>    <br /><font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font></p>  <p><font size="2">&#160;</font></p>  <p>&#160;</p>  <p><font size="2">Important information:</font></p>  <ol>   <li><font size="2"><strong>You must enable RDP in the package before publishing your service</strong>.&#160; The new model of enabling RDP post-deployment via the management portal or extension APIs will not work.&#160; You can enable RDP in the package using Visual Studio by right-clicking the cloud service project in Solution Explorer and selecting ‘Configure Remote Desktop…’, or in the Publish wizard by checking the ‘Enable Remote Desktop for all roles’ checkbox.</font></li>    <li><font size="2">The role=&quot;<em>WebRole1</em>&quot; attribute <strong>must specify the role which imports the RemoteForwarder plugin</strong>.&#160; You can look in the CSDEF file and find the role which has <font face="Consolas"><span style="background-position: 0% 0%; list-style-type: disc; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-bidi-language: ar-sa;"><font color="#0000ff"><font style="font-size: 9.5pt;">&lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; list-style-type: disc; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-bidi-language: ar-sa;"><font color="#a31515">Import</font></span><span style="background-position: 0% 0%; list-style-type: disc; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-bidi-language: ar-sa;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; list-style-type: disc; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-bidi-language: ar-sa;"><font color="#ff0000">moduleName</font></span><span style="background-position: 0% 0%; list-style-type: disc; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-bidi-language: ar-sa;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; list-style-type: disc; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-bidi-language: ar-sa;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; list-style-type: disc; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-bidi-language: ar-sa;"><font color="#0000ff">RemoteForwarder</font></span><span style="background-position: 0% 0%; list-style-type: disc; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-bidi-language: ar-sa;"><font color="#000000">&quot;</font></span></font><span style="background-position: 0% 0%; list-style-type: disc; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-us; mso-fareast-language: en-us; mso-bidi-language: ar-sa;"><font style="font-size: 9.5pt;" color="#0000ff"> /&gt;</font></span></font>.&#160; If you have multiple roles in your service then all of them will import RemoteAccess, but only one of them will import RemoteForwarder and you must specify the role which imports RemoteForwarder.</font></li>    <li><font size="2">The network configuration defined above will restrict all client’s except for those with IP addresses in the range 167.220.26.1-167.220.26.255.&#160; See Walter’s blog post for more information about how to specify network ACLs, and the MSDN documentation (<a title="https://msdn.microsoft.com/en-us/library/azure/dn376541.aspx" href="https://msdn.microsoft.com/en-us/library/azure/dn376541.aspx">https://msdn.microsoft.com/en-us/library/azure/dn376541.aspx</a>) for more information about order and precedence of rules.         <br /></font></li> </ol>]]></content:encoded>
    </item>
    <item>
      <title>Windows Azure Diagnostics – Upgrading from Azure SDK 2.4 to Azure SDK 2.5</title>
      <link>https://docs.microsoft.com/archive/blogs/kwill/windows-azure-diagnostics-upgrading-from-azure-sdk-2-4-to-azure-sdk-2-5</link>
      <pubDate>Tue, 02 Dec 2014 15:42:53 GMT</pubDate>
      <dc:creator><![CDATA[Kevin Williamson [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/kwill/2014/12/02/windows-azure-diagnostics-upgrading-from-azure-sdk-2-4-to-azure-sdk-2-5/</guid>
      <description><![CDATA[Overview   Windows Azure SDK 2.4 and prior used Windows Azure Diagnostics 1.0 which provided...]]></description>
      <content:encoded><![CDATA[<font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <h1 style="margin: 12pt 0in 0pt; line-height: normal; clear: none; list-style-type: disc;"><span lang="EN" style="mso-ansi-language: en;"><font face="Calibri Light"><font style="font-size: 16pt;" color="#2e74b5">Overview</font></font></span></h1> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><span lang="EN" style="mso-ansi-language: en;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">Windows Azure SDK 2.4 and prior used Windows Azure Diagnostics 1.0 which provided multiple options for configuring diagnostics collection, including code based configuration using the Microsoft.WindowsAzure.Diagnostics classes.<span style="mso-spacerun: yes;">&#160; </span>Windows Azure SDK 2.5 introduces Windows Azure Diagnostics 1.2 which streamlines the configuration and adds enhanced capabilities for post-deployment enablement, however it removes the code based configuration capabilities.<span style="mso-spacerun: yes;">&#160; </span>This blog post will describe how to convert your older code based diagnostics configuration to the new WAD 1.2 XML based configuration model.</font></font></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><span lang="EN" style="mso-ansi-language: en;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">&#160;</font></font></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><span lang="EN" style="mso-ansi-language: en;"><font color="#000000" face="Calibri"><font style="font-size: 11pt;">For more information about WAD 1.2 see </font></font><font style="font-size: 11pt;"><a style="cursor: auto;" href="https://azure.microsoft.com/en-us/documentation/articles/cloud-services-dotnet-diagnostics/"><font color="#0563c1" face="Calibri"><u>https://azure.microsoft.com/en-us/documentation/articles/cloud-services-dotnet-diagnostics/</u></font></a></font><font face="Calibri"><font style="font-size: 11pt;" color="#000000">. </font></font></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><b style="mso-bidi-font-weight: normal;"><span lang="EN" style="mso-ansi-language: en;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">&#160;</font></font></span></b></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><b style="mso-bidi-font-weight: normal;"><span lang="EN" style="mso-ansi-language: en;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">&#160;</font></font></span></b></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><span class="Heading1Char"><span><font face="Calibri Light"><font style="font-size: 16pt;" color="#2e74b5">Specifying diagnostics Configuration in XML</font></font></span></span><b style="mso-bidi-font-weight: normal;"><span lang="EN" style="mso-ansi-language: en;"></span></b></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><span lang="EN" style="mso-ansi-language: en;"><font color="#000000" face="Calibri"><font style="font-size: 11pt;">In Azure SDK 2.4 it was possible to configure diagnostics through code as well as xml configuration (the diagnostics.wadcfg file) and developers needed to understand the precedence rules of how the diagnostics agent picks up the configuration settings (see </font></font></span><font style="font-size: 11pt;"><a style="cursor: auto;" href="https://msdn.microsoft.com/en-us/library/azure/dn205146.aspx"><span style="text-underline: none;"><u><font color="#000000" face="Calibri">here</font></u></span></a></font><span lang="EN" style="mso-ansi-language: en;"><font face="Calibri"><font style="font-size: 11pt;"><font color="#000000"> for more information).</font><span><font color="#1f497d"> </font></span><font color="#000000"> Azure SDK 2.5 removes this complexity and the diagnostics agent will now always use the xml configuration. This has some implications when you migrate your Azure SDK 2.4 project to Azure SDK 2.5. If your Azure SDK 2.4 project already uses the xml based diagnostics configuration then when you upgrade the project in Visual Studio to target Azure SDK 2.5, Visual Studio will automatically update the xml based configuration to the new format (diagnostics.wadcfgx). If you project continued to use the code based configuration (for example, using the API in Microsoft.WindowsAzure.Diagnostics and Microsoft.WindowsAzure.Diagnostics.Management) then when its upgraded to SDK 2.5, you will get build warnings which will inform you of the deprecated APIs. The diagnostics data will not be collected unless you configure your diagnostics using the XML file (diagnostics.wadcfgx) or through the Visual Studio diagnostics configuration UI. </font></font></font></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><span lang="EN" style="mso-ansi-language: en;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">&#160;</font></font></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><span lang="EN" style="mso-ansi-language: en;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">Let’s look at an example- In Azure SDK 2.4 you could be using the code below to update the diagnostics configuration for the diagnostics infrastructure logs. In this particular example the code is setting the Loglevel for the diagnostics infrastructure logs to Error and the Transfer Period to 5 minutes. When you migrate this project to SDK 2.5 you will get a build warning around this code with the message that the API is deprecated – “Warning: ‘Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitor’ is obsolete: “This API is deprecated””. The project will still build and deploy but it won’t update the diagnostics configuration. </font></font></span></p> <font color="#000000" face="Times New Roman"><font style="font-size: 12pt;"></font></font>  <p class="MsoNormal" style="background: white; margin: 0in 0in 0pt; line-height: 14pt; list-style-type: disc;"><span style="line-height: 15pt;"><font style="font-size: 12pt;" color="#666666">&#160;</font></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="background: white; margin: 0in 0in 0pt; line-height: 14pt; list-style-type: disc;"><span style="mso-no-proof: yes;"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/0451.clip_image0026_768BA59A.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/0451.clip_5F00_image0026_5F00_768BA59A.jpg"><img title="clip_image002[6]" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image002[6]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/7801.clip_image0026_thumb_51FA1816.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/7801.clip_5F00_image0026_5F00_thumb_5F00_51FA1816.jpg" width="628" height="142" /></a></span><span style="line-height: 15pt;"></span></p> <font color="#000000" face="Times New Roman"><font style="font-size: 12pt;"></font></font>  <p class="MsoNormal" style="background: white; margin: 0in 0in 0pt; line-height: 14pt; list-style-type: disc;"><span style="line-height: 15pt;"><font style="font-size: 12pt;" color="#666666">&#160;</font></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><span lang="EN" style="mso-ansi-language: en;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">To configure the diagnostics infrastructure logs in Azure SDK 2.5 you must remove that code based configuration and update the diagnostics configuration xml file (diagnostics.wadcfgx) associated with your role. Visual Studio provides a configuration UI to let you specify these diagnostics settings. To configure the diagnostics through Visual Studio you can <b style="mso-bidi-font-weight: normal;">Right click</b> on the Role and select <b style="mso-bidi-font-weight: normal;">Properties</b> to display the Role Designer. On the <b style="mso-bidi-font-weight: normal;">Configuration</b> tab make sure <b style="mso-bidi-font-weight: normal;">Enable Diagnostics</b> is selected and click <b style="mso-bidi-font-weight: normal;">Configure</b>. This will bring up the Diagnostics configuration UI where you can go to the Infrastructure Logs Tab and select Enable transfer of Diagnostics Infrastructure Logs and set the Transfer Period and Log Level Appropriately. </font></font></span></p> <font color="#000000" face="Times New Roman"><font style="font-size: 12pt;"></font></font>  <p class="MsoNormal" style="background: white; margin: 0in 0in 0pt; line-height: 14pt; list-style-type: disc;"><span style="line-height: 15pt;"><font style="font-size: 12pt;" color="#666666">&#160;</font></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 2.25pt; list-style-type: disc; mso-margin-top-alt: auto;"><span style="mso-no-proof: yes;"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/2548.clip_image0046_667F6794.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/2548.clip_5F00_image0046_5F00_667F6794.jpg"><img title="clip_image004[6]" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image004[6]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/4188.clip_image0046_thumb_2CFC579D.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/4188.clip_5F00_image0046_5F00_thumb_5F00_2CFC579D.jpg" width="628" height="470" /></a></span><b><span></span></b></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><span lang="EN" style="mso-ansi-language: en;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">&#160;</font></font></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><span lang="EN" style="mso-ansi-language: en;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">Behind the scenes Visual Studio is updating the diagnostics.wadcfgx file with the appropriate xml to configure the infrastructure logs. See highlighted as an example: </font></font></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><font style="font-size: 9.5pt;">&lt;?</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">xml</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">version</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">1.0</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">encoding</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">utf-8</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">?&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><font style="font-size: 9.5pt;">&lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">DiagnosticsConfiguration</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">xmlns</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">https://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160; </font></span><font style="font-size: 9.5pt;">&lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">PublicConfig</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">xmlns</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">https://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160;&#160;&#160; </font></span><font style="font-size: 9.5pt;">&lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">WadCfg</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160;&#160;&#160;&#160;&#160; </font></span><font style="font-size: 9.5pt;">&lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">DiagnosticMonitorConfiguration</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">overallQuotaInMB</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">4096</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><font color="#0000ff"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></span></span><font style="font-size: 9.5pt; background-color: rgb(255, 255, 0);"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;">&lt;</span></font></font><font style="background-color: rgb(255, 255, 0);"><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#a31515">DiagnosticInfrastructureLogs</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#ff0000">scheduledTransferPeriod</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff">PT5M</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#ff0000">scheduledTransferLogLevelFilter</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff">Error</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#000000">&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font style="font-size: 9.5pt;" color="#0000ff"> /&gt;</font></span></font></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160;&#160;&#160;&#160;&#160; </font></span><font style="font-size: 9.5pt;">&lt;/</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">DiagnosticMonitorConfiguration</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160;&#160;&#160; </font></span><font style="font-size: 9.5pt;">&lt;/</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">WadCfg</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160; </font></span><font style="font-size: 9.5pt;">&lt;/</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">PublicConfig</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160; </font></span><font style="font-size: 9.5pt;">&lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">PrivateConfig</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">xmlns</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">https://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160;&#160;&#160; </font></span><font style="font-size: 9.5pt;">&lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">StorageAccount</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">name</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">endpoint</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff"> /&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160; </font></span><font style="font-size: 9.5pt;">&lt;/</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">PrivateConfig</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160; </font></span><font style="font-size: 9.5pt;">&lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">IsEnabled</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">&gt;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">true</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">&lt;/</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">IsEnabled</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">&gt;</font></span></font></font><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;">        <br /><font color="#000000" face="Consolas"></font></span></font><font face="Consolas"><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">&lt;/</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">DiagnosticsConfiguration</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font></p>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></font><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></font><span lang="EN" style="mso-ansi-language: en;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">&#160;</font></font></span></p>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><span lang="EN" style="mso-ansi-language: en;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">The diagnostics configuration dialog in Visual Studio lets you configure other settings like Application Logs, Windows Event Logs, Performance Counters, Infrastructure Logs, Log Directories, ETW Logs and Crash Dumps.</font></font></span></p>  <p class="MsoNormal" style="margin: 0in 0in 2.25pt; list-style-type: disc; mso-margin-top-alt: auto;"><span lang="EN" style="mso-ansi-language: en;"><font color="#000000" face="Calibri"></font></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 2.25pt; list-style-type: disc; mso-margin-top-alt: auto;"><span lang="EN" style="mso-ansi-language: en;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">Let’s look at another example for Performance Counters. With Azure SDK 2.4 (and prior) you would have to do the following in code:</font></font></span><span lang="EN" style="mso-ansi-language: en;">      <br /><font face="Calibri"><font style="font-size: 11pt;" color="#000000"></font></font></span><span style="mso-no-proof: yes;"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/8836.clip_image0066_737947A5.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/8836.clip_5F00_image0066_5F00_737947A5.jpg"><img title="clip_image006[6]" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image006[6]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/0728.clip_image0066_thumb_7CD50CD9.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/0728.clip_5F00_image0066_5F00_thumb_5F00_7CD50CD9.jpg" width="628" height="236" /></a></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 2.25pt; list-style-type: disc; mso-margin-top-alt: auto;"><span lang="EN" style="mso-ansi-language: en;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">&#160;</font></font></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 2.25pt; list-style-type: disc; mso-margin-top-alt: auto;"><span lang="EN" style="mso-ansi-language: en;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">With Azure SDK 2.5 you can use the diagnostics configuration UI to enable the default performance counters:</font></font></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 2.25pt; list-style-type: disc; mso-margin-top-alt: auto;"><span style="mso-no-proof: yes;"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/8357.clip_image0086_4351FCE2.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/8357.clip_5F00_image0086_5F00_4351FCE2.jpg"><img title="clip_image008[6]" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image008[6]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/8875.clip_image0086_thumb_7EA562A0.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/8875.clip_5F00_image0086_5F00_thumb_5F00_7EA562A0.jpg" width="628" height="468" /></a></span><span lang="EN" style="mso-ansi-language: en;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 2.25pt; list-style-type: disc; mso-margin-top-alt: auto;"><span lang="EN" style="mso-ansi-language: en;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">&#160;</font></font></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 2.25pt; list-style-type: disc; mso-margin-top-alt: auto;"><span lang="EN" style="mso-ansi-language: en;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">For Custom Performance counters you still have to instrument your code to create the custom performance category and counters as earlier. Once you have instrumented your code you can enable transferring these custom performance counters to storage by adding them to the list of performance counters in the diagnostics configuration UI. Eg. For a custom performance counter you can enter the category and name “\SampleCustomCategory\Total Button1 Clicks” in the text box and click Add.</font></font></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">&#160;</font></font></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">Visual Studio will automatically add the performance counters selected in the UI to the diagnostics configuration file diagnostics.wadcfgx:</font></font></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><font style="font-size: 9.5pt;">&lt;?</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">xml</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">version</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">1.0</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">encoding</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">utf-8</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">?&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><font style="font-size: 9.5pt;">&lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">DiagnosticsConfiguration</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">xmlns</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">https://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160; </font></span><font style="font-size: 9.5pt;">&lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">PublicConfig</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">xmlns</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">https://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160;&#160;&#160; </font></span><font style="font-size: 9.5pt;">&lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">WadCfg</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160;&#160;&#160;&#160;&#160; </font></span><font style="font-size: 9.5pt;">&lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">DiagnosticMonitorConfiguration</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">overallQuotaInMB</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">4096</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><font face="Consolas"><font style="background-color: rgb(255, 255, 0);"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff"><font style="font-size: 9.5pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#a31515">PerformanceCounters</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#ff0000">scheduledTransferPeriod</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff">PT1M</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#000000">&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><font face="Consolas"><font style="background-color: rgb(255, 255, 0);"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff"><font style="font-size: 9.5pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#a31515">PerformanceCounterConfiguration</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#ff0000">counterSpecifier</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff">\Processor(_Total)\% Processor Time</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#ff0000">sampleRate</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff">PT3M</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#000000">&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font style="font-size: 9.5pt;" color="#0000ff"> /&gt;</font></span></font></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><font face="Consolas"><font style="background-color: rgb(255, 255, 0);"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff"><font style="font-size: 9.5pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#a31515">PerformanceCounterConfiguration</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#ff0000">counterSpecifier</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff">\Memory\Available MBytes</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#ff0000">sampleRate</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff">PT3M</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#000000">&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font style="font-size: 9.5pt;" color="#0000ff"> /&gt;</font></span></font></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><font face="Consolas"><font style="background-color: rgb(255, 255, 0);"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff"><font style="font-size: 9.5pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#a31515">PerformanceCounters</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160;&#160;&#160;&#160;&#160; </font></span><font style="font-size: 9.5pt;">&lt;/</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">DiagnosticMonitorConfiguration</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160;&#160;&#160; </font></span><font style="font-size: 9.5pt;">&lt;/</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">WadCfg</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160; </font></span><font style="font-size: 9.5pt;">&lt;/</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">PublicConfig</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160; </font></span><font style="font-size: 9.5pt;">&lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">PrivateConfig</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">xmlns</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">https://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160;&#160;&#160; </font></span><font style="font-size: 9.5pt;">&lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">StorageAccount</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">name</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">endpoint</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff"> /&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160; </font></span><font style="font-size: 9.5pt;">&lt;/</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">PrivateConfig</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><span style="mso-spacerun: yes;"><font style="font-size: 9.5pt;">&#160; </font></span><font style="font-size: 9.5pt;">&lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">IsEnabled</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">&gt;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">true</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">&lt;/</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">IsEnabled</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">&gt;</font></span></font></font><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;">        <br /><font color="#000000" face="Consolas"></font></span></font><font face="Consolas"><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">&lt;/</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">DiagnosticsConfiguration</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font></p>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></font><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></font><span lang="EN" style="mso-ansi-language: en;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">&#160;</font></font></span></p>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><span lang="EN" style="mso-ansi-language: en;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">For WindowsEventLog data you can enable transfer of logs for common data sources directly from the diagnostics configuration UI. </font></font></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 2.25pt; list-style-type: disc; mso-margin-top-alt: auto;"><span style="mso-no-proof: yes;"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/3482.clip_image0106_39F8C85F.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/3482.clip_5F00_image0106_5F00_39F8C85F.jpg"><img title="clip_image010[6]" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image010[6]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/3426.clip_image0106_thumb_2E630B20.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/3426.clip_5F00_image0106_5F00_thumb_5F00_2E630B20.jpg" width="628" height="468" /></a></span><span lang="EN" style="mso-ansi-language: en;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 2.25pt; list-style-type: disc; mso-margin-top-alt: auto;"><span lang="EN" style="mso-ansi-language: en;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">&#160;</font></font></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 2.25pt; list-style-type: disc; mso-margin-top-alt: auto;"><span lang="EN" style="mso-ansi-language: en;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">For custom event logs that you define in your code for example -&gt; </font></font></span><span></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><span><font face="Calibri"><font style="font-size: 11pt;" color="#1f497d">&#160;</font></font></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <blockquote>   <p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in; list-style-type: disc;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#2b91af"><font style="font-size: 9.5pt;">EventLog</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">.CreateEventSource(</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">&quot;GuestBookSource&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">, </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">&quot;Application&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#000000">);</font></span></font></p>   <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>    <p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in; list-style-type: disc;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#2b91af"><font style="font-size: 9.5pt;">EventLog</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">.WriteEntry(</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">&quot;GuestBookSource&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">, </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">&quot;WebRole Started&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">, </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#2b91af">EventLogEntryType</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#000000">.Error, 9191);</font></span></font></p> </blockquote> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><span><font face="Calibri"><font style="font-size: 11pt;" color="#1f497d">&#160;</font></font></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">You have to manually add the custom source to the wadcfgx XML file under the WindowsEventLog node. Make sure the name matches the name specified in code:</font></font></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><span><font face="Consolas"><font style="font-size: 9.5pt;" color="#000000">&#160;</font></font></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <blockquote>   <p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in; list-style-type: disc;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><font style="font-size: 9.5pt;">&lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">WindowsEventLog</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">scheduledTransferPeriod</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">PT1M</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p>   <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>    <p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in; list-style-type: disc;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><font style="font-size: 9.5pt;">&#160;&#160; &lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">DataSource</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">name</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">Application!*</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff"> /&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p>   <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>    <p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in; list-style-type: disc;"><font face="Consolas"><font style="background-color: rgb(255, 255, 0);"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff"><font style="font-size: 9.5pt;">&#160;&#160; &lt;</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#a31515">DataSource</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#ff0000">name</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#0000ff">GuestBookSource!*</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font color="#000000">&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"><font style="font-size: 9.5pt;" color="#0000ff"> /&gt;</font></span></font></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: yellow;"></span></p>   <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>    <p class="MsoNormal" style="margin: 0in 0in 0pt 0.5in; list-style-type: disc;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><font style="font-size: 9.5pt;">&lt;/</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">WindowsEventLog</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">&gt;</font></span></font><span></span></p> </blockquote> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 2.25pt; list-style-type: disc; mso-margin-top-alt: auto;"><span lang="EN" style="mso-ansi-language: en;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">&#160;</font></font></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 2.25pt; list-style-type: disc; mso-margin-top-alt: auto;"><span lang="EN" style="mso-ansi-language: en;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">&#160;</font></font></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><span class="Heading1Char"><span><font face="Calibri Light"><font style="font-size: 16pt;" color="#2e74b5">Enabling diagnostics extension through PowerShell</font></font></span></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">&#160;</font></font></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">Since Azure SDK 2.5 uses the extension model the diagnostics extension, the configuration and the connection string to the diagnostic storage are no longer part of the deployment package and cscfg. All the diagnostics configuration is contained within the wadcfgx. The advantage with this approach is that diagnostics agent and settings are decoupled from the project and can be dynamically enabled and updated even after your application is deployed. </font></font></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">&#160;</font></font></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">Due to this change some existing workflows need to be rethought – instead of configuring the diagnostics as part of the application that gets deployed to each environment you can first deploy the application to the environment and then apply the diagnostics configuration for it.&#160; When you publish the application from Visual Studio this process is done automatically for you. However if you were deploying your application outside of VS using PowerShell then you have to install the extension separately through PowerShell. </font></font></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">&#160;</font></font></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">There PowerShell cmdlets for managing the diagnostics extensions on a Cloud Service are - </font></font></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoListParagraphCxSpFirst" style="margin: 0in 0in 8pt 0.5in; line-height: 12pt; text-indent: -0.25in; list-style-type: disc; mso-add-space: auto; mso-list: l1 level1 lfo1;"><span style="mso-fareast-font-family: symbol; mso-bidi-font-family: symbol;"><span style="mso-list: ignore;"><font color="#000000"><font face="Symbol"><font style="font-size: 11pt;">·</font></font><span style="line-height: normal; font-size-adjust: none; font-stretch: normal;"><font face="Times New Roman"><font style="font-size: 7pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></font></span></font></span></span><a style="cursor: auto;" href="https://msdn.microsoft.com/en-us/library/azure/dn495270.aspx"><font face="Calibri"><font style="font-size: 11pt;" color="#0563c1"><u>Set-AzureServiceDiagnosticsExtension</u></font></font></a></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 8pt 0.5in; line-height: 12pt; text-indent: -0.25in; list-style-type: disc; mso-add-space: auto; mso-list: l1 level1 lfo1;"><span style="mso-fareast-font-family: symbol; mso-bidi-font-family: symbol;"><span style="mso-list: ignore;"><font color="#000000"><font face="Symbol"><font style="font-size: 11pt;">·</font></font><span style="line-height: normal; font-size-adjust: none; font-stretch: normal;"><font face="Times New Roman"><font style="font-size: 7pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></font></span></font></span></span><a style="cursor: auto;" href="https://msdn.microsoft.com/en-us/library/azure/dn495145.aspx"><font face="Calibri"><font style="font-size: 11pt;" color="#0563c1"><u>Get-AzureServiceDiagnosticsExtension</u></font></font></a></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoListParagraphCxSpLast" style="margin: 0in 0in 8pt 0.5in; line-height: 12pt; text-indent: -0.25in; list-style-type: disc; mso-add-space: auto; mso-list: l1 level1 lfo1;"><span style="mso-fareast-font-family: symbol; mso-bidi-font-family: symbol;"><span style="mso-list: ignore;"><font color="#000000"><font face="Symbol"><font style="font-size: 11pt;">·</font></font><span style="line-height: normal; font-size-adjust: none; font-stretch: normal;"><font face="Times New Roman"><font style="font-size: 7pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></font></span></font></span></span><a style="cursor: auto;" href="https://msdn.microsoft.com/en-us/library/azure/dn495168.aspx"><font face="Calibri"><font style="font-size: 11pt;" color="#0563c1"><u>Remove-AzureServiceDiagnosticsExtension</u></font></font></a></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><font color="#000000" face="Calibri"><font style="font-size: 11pt;">You can use the Set-AzureServiceDiagnosticsExtension method to enable diagnostics extension on a cloud service. One of the parameters on this cmdlet is the XML configuration file. This file is slightly different from the diagnostics.wadcfgx file. You can create this file from scratch as described </font></font><font style="font-size: 11pt;"><a style="cursor: auto;" href="https://azure.microsoft.com/en-us/documentation/articles/cloud-services-dotnet-diagnostics/"><font color="#0563c1" face="Calibri"><u>here</u></font></a></font><font face="Calibri"><font style="font-size: 11pt;" color="#000000"> or you can modify the wadcfgx file and pass in the modified file as a parameter to the powershell cmdlet.</font></font></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">&#160;</font></font></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">To modify the wadcfgx file – </font></font></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoListParagraph" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; list-style-type: disc; mso-list: l0 level1 lfo2;"><font color="#000000"><span style="mso-fareast-font-family: calibri; mso-bidi-font-family: calibri;"><span style="mso-list: ignore;"><font face="Calibri"><font style="font-size: 11pt;">1.</font></font><span style="line-height: normal; font-size-adjust: none; font-stretch: normal;"><font face="Times New Roman"><font style="font-size: 7pt;">&#160;&#160;&#160;&#160;&#160;&#160; </font></font></span></span></span><font face="Calibri"><font style="font-size: 11pt;">Make a copy the .wadcfgx. </font></font></font></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoListParagraph" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; list-style-type: disc; mso-list: l0 level1 lfo2;"><font color="#000000"><span style="mso-fareast-font-family: calibri; mso-bidi-font-family: calibri;"><span style="mso-list: ignore;"><font face="Calibri"><font style="font-size: 11pt;">2.</font></font><span style="line-height: normal; font-size-adjust: none; font-stretch: normal;"><font face="Times New Roman"><font style="font-size: 7pt;">&#160;&#160;&#160;&#160;&#160;&#160; </font></font></span></span></span><font face="Calibri"><font style="font-size: 11pt;">Remove the following elements from the Copy:</font></font></font></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoListParagraph" style="margin: 0in 0in 0pt 0.75in; list-style-type: disc;"><font color="#000000" face="Calibri"><font style="font-size: 11pt;">&lt;DiagnosticsConfiguration xmlns=&quot;</font></font><font style="font-size: 11pt;"><a style="cursor: auto;" href="https://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration"><font color="#0563c1" face="Calibri"><u>https://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration</u></font></a></font><font face="Calibri"><font style="font-size: 11pt;" color="#000000">&quot;&gt;</font></font></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoListParagraph" style="margin: 0in 0in 0pt 0.75in; list-style-type: disc;"><font color="#000000" face="Calibri"><font style="font-size: 11pt;">&#160;&#160; &lt;PrivateConfig xmlns=&quot;</font></font><font style="font-size: 11pt;"><a style="cursor: auto;" href="https://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration"><font color="#0563c1" face="Calibri"><u>https://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration</u></font></a></font><font face="Calibri"><font style="font-size: 11pt;" color="#000000">&quot;&gt;</font></font></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoListParagraph" style="margin: 0in 0in 0pt 0.75in; list-style-type: disc;"><font color="#000000" face="Calibri"><font style="font-size: 11pt;">&#160;&#160;&#160;&#160; &lt;StorageAccount name=&quot; &quot; endpoint=&quot;</font></font><font style="font-size: 11pt;"><a style="cursor: auto;" href="https://core.windows.net/"><font color="#0563c1" face="Calibri"><u>https://core.windows.net/</u></font></a></font><font face="Calibri"><font style="font-size: 11pt;" color="#000000">&quot; /&gt;</font></font></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoListParagraph" style="margin: 0in 0in 0pt 0.75in; list-style-type: disc;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">&#160;&#160; &lt;/PrivateConfig&gt;</font></font></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoListParagraph" style="margin: 0in 0in 0pt 0.75in; list-style-type: disc;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">&#160;&#160; &lt;IsEnabled&gt;false&lt;/IsEnabled&gt;</font></font></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoListParagraph" style="margin: 0in 0in 0pt 0.75in; list-style-type: disc;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">&lt;/DiagnosticsConfiguration&gt;</font></font></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoListParagraph" style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; list-style-type: disc; mso-list: l0 level1 lfo2;"><font color="#000000"><span style="mso-fareast-font-family: calibri; mso-bidi-font-family: calibri;"><span style="mso-list: ignore;"><font face="Calibri"><font style="font-size: 11pt;">3.</font></font><span style="line-height: normal; font-size-adjust: none; font-stretch: normal;"><font face="Times New Roman"><font style="font-size: 7pt;">&#160;&#160;&#160;&#160;&#160;&#160; </font></font></span></span></span><font face="Calibri"><font style="font-size: 11pt;">Make sure the top of the file still has xml version and encoding – </font></font></font></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoListParagraphCxSpMiddle" style="margin: 0in 0in 0pt 0.5in; text-indent: 0.5in; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"><font style="font-size: 9.5pt;">&lt;?</font></font></span><font style="font-size: 9.5pt;"><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#a31515">xml</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">version</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">1.0</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff"> </font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#ff0000">encoding</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">=</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#0000ff">utf-8</font></span><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font color="#000000">&quot;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"><font style="font-size: 9.5pt;" color="#0000ff">?&gt;</font></span></font><span style="background-position: 0% 0%; background-image: none; background-attachment: scroll; background-repeat: repeat; background-size: auto; background-origin: padding-box; background-clip: border-box; mso-highlight: white;"></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoListParagraph" style="margin: 0in 0in 0pt 0.5in; list-style-type: disc;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">&#160;</font></font></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="margin: 0in 0in 0pt; list-style-type: disc;"><font face="Calibri"><font style="font-size: 11pt;" color="#000000">Effectively you are stripping down the Wadcfgx to only contain the &lt;PublicConfig&gt; section and the &lt;?xml&gt; header. You can then call the PowerShell cmdlet along with the appropriate parameters for the staging slots and roles:</font></font></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <blockquote>   <p class="MsoNormal" style="background: white; margin: 0in 0in 0pt 0.5in; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="mso-bidi-font-family: &quot;Lucida Console&quot;;"><font color="#ff4500"><font style="font-size: 9pt;">$storage_name</font></font></span><span style="mso-bidi-font-family: &quot;Lucida Console&quot;;"><font style="font-size: 9pt;"><font color="#000000"> </font><span><font color="#a9a9a9">=</font></span><font color="#000000"> </font></font><span><font style="font-size: 9pt;" color="#8b0000">‘&lt;storagename&gt;’</font></span></span></font></p>   <font style="font-size: 12pt;" color="#000000"></font><font face="Consolas"></font>    <p class="MsoNormal" style="background: white; margin: 0in 0in 0pt 0.5in; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="mso-bidi-font-family: &quot;Lucida Console&quot;;"><font color="#ff4500"><font style="font-size: 9pt;">$key</font></font></span><font style="font-size: 9pt;"><span style="mso-bidi-font-family: &quot;Lucida Console&quot;;"><font color="#a9a9a9">=</font></span></font><span style="mso-bidi-font-family: &quot;Lucida Console&quot;;"><font style="font-size: 9pt;"><font color="#000000"> </font></font><span><font style="font-size: 9pt;" color="#8b0000">‘&lt;key&gt;’</font></span></span></font></p>   <font style="font-size: 12pt;" color="#000000"></font><font face="Consolas"></font>    <p class="MsoNormal" style="background: white; margin: 0in 0in 0pt 0.5in; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="mso-bidi-font-family: &quot;Lucida Console&quot;;"><font color="#ff4500"><font style="font-size: 9pt;">$service_name</font></font></span><span style="mso-bidi-font-family: &quot;Lucida Console&quot;;"><font style="font-size: 9pt;"><font color="#000000"> </font><span><font color="#a9a9a9">=</font></span><font color="#000000"> </font></font><span><font style="font-size: 9pt;" color="#8b0000">'&lt;servicename&gt;'</font></span></span></font></p>   <font style="font-size: 12pt;" color="#000000"></font><font face="Consolas"></font>    <p class="MsoNormal" style="background: white; margin: 0in 0in 0pt 0.5in; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="mso-bidi-font-family: &quot;Lucida Console&quot;;"><font color="#ff4500"><font style="font-size: 9pt;">$public_config </font></font></span><font style="font-size: 9pt;"><span style="mso-bidi-font-family: &quot;Lucida Console&quot;;"><font color="#a9a9a9">=</font></span></font><span style="mso-bidi-font-family: &quot;Lucida Console&quot;;"><font style="font-size: 9pt;"><font color="#000000"> </font></font><span><font style="font-size: 9pt;" color="#8b0000">'&lt;thepublicconfigfrom_diagnostics.wadcfgx&gt;'</font></span></span></font></p>   <font style="font-size: 12pt;" color="#000000"></font><font face="Consolas"></font>    <p class="MsoNormal" style="background: white; margin: 0in 0in 0pt 0.5in; list-style-type: disc; mso-layout-grid-align: none;"><span style="mso-bidi-font-family: &quot;Lucida Console&quot;;"><font style="font-size: 9pt;" color="#ff4500" face="Consolas">&#160;</font></span></p>   <font style="font-size: 12pt;" color="#000000"></font><font face="Consolas"></font>    <p class="MsoNormal" style="background: white; margin: 0in 0in 0pt 0.5in; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="mso-bidi-font-family: &quot;Lucida Console&quot;;"><font color="#ff4500"><font style="font-size: 9pt;">$storageContext</font></font></span><span style="mso-bidi-font-family: &quot;Lucida Console&quot;;"><font style="font-size: 9pt;"><font color="#000000"> </font><span><font color="#a9a9a9">=</font></span><font color="#000000"> </font><span><font color="#0000ff">New-AzureStorageContext</font></span><font color="#000000"> </font><span><font color="#000080">–StorageAccountName</font></span><font color="#000000"> </font><span><font color="#ff4500">$storage_name</font></span><font color="#000000"> </font><span><font color="#000080">–StorageAccountKey</font></span><font color="#000000"> </font></font><span><font style="font-size: 9pt;" color="#ff4500">$key</font></span></span></font></p>   <font style="font-size: 12pt;" color="#000000"></font><font face="Consolas"></font>    <p class="MsoNormal" style="background: white; margin: 0in 0in 0pt 0.5in; list-style-type: disc; mso-layout-grid-align: none;"><span style="mso-bidi-font-family: &quot;Lucida Console&quot;;"><font style="font-size: 9pt;" color="#000000" face="Consolas">&#160;</font></span></p>   <font style="font-size: 12pt;" color="#000000"></font><font face="Consolas"></font>    <p class="MsoNormal" style="background: white; margin: 0in 0in 0pt 0.5in; list-style-type: disc; mso-layout-grid-align: none;"><font face="Consolas"><span style="mso-bidi-font-family: &quot;Lucida Console&quot;;"><font color="#0000ff"><font style="font-size: 9pt;">Set-AzureServiceDiagnosticsExtension</font></font></span><span style="mso-bidi-font-family: &quot;Lucida Console&quot;;"><font style="font-size: 9pt;"><font color="#000000"> </font><span><font color="#000080">-StorageContext</font></span><font color="#000000"> </font><span><font color="#ff4500">$storageContext</font></span><font color="#000000"> </font><span><font color="#000080">-DiagnosticsConfigurationPath</font></span><font color="#000000"> </font><span><font color="#ff4500">$public_config</font></span><font color="#000000"> </font><span><font color="#000080">–ServiceName</font></span><font color="#000000"> </font><span><font color="#ff4500">$service_name</font></span><font color="#000000"> </font><span><font color="#000080">-Slot</font></span><font color="#000000"> </font><span><font color="#8b0000">‘Staging’ </font></span><span><font color="#000080">-Role</font></span><font color="#000000"> </font></font><span><font style="font-size: 9pt;" color="#8b0000">‘WebRole1’</font></span></span></font></p> </blockquote> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>  <p class="MsoNormal" style="background: white; margin: 0in 0in 0pt; list-style-type: disc; mso-layout-grid-align: none;"><span style="mso-bidi-font-family: &quot;Lucida Console&quot;;"><font face="Lucida Console"><font style="font-size: 9pt;" color="#000000">&#160;</font></font></span></p> <font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font><font face="Times New Roman"><font style="font-size: 12pt;" color="#000000"></font></font>]]></content:encoded>
    </item>
    <item>
      <title>Windows Azure Storage Analytics SDP Package</title>
      <link>https://docs.microsoft.com/archive/blogs/kwill/windows-azure-storage-analytics-sdp-package</link>
      <pubDate>Thu, 06 Feb 2014 16:05:48 GMT</pubDate>
      <dc:creator><![CDATA[Kevin Williamson [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/kwill/2014/02/06/windows-azure-storage-analytics-sdp-package/</guid>
      <description><![CDATA[In a previous post we looked at the Windows Azure PaaS SDP package which allows you to quickly...]]></description>
      <content:encoded><![CDATA[<p><font size="2"></font></p> <font size="2"></font>  <p><font size="2">In a </font><a href="https://blogs.msdn.com/b/kwill/archive/2013/08/09/windows-azure-paas-compute-diagnostics-data.aspx"><font size="2">previous post</font></a><font size="2"> we looked at the Windows Azure PaaS SDP package which allows you to quickly and easily gather all of the log data to determine root cause for a variety of PaaS compute issues.&#160; This post will look at a new SDP package which allows you to quickly and easily gather all of the storage analytics logs.</font></p>  <p><font size="2"></font></p>  <p>&#160;</p> <font size="2"></font>  <h1>Getting the SDP Package</h1> <font size="2"></font>  <p><font size="2">This package will only work on a Windows 7 or later, or Windows Server 2008 R2 or later computer.</font></p> <font size="2"></font>  <ol>   <li><font size="2">Open PowerShell</font></li>   <font size="2"></font>    <li><font size="2">Copy/Paste and Run the following script</font></li>   <font size="2"></font></ol> <font size="2"></font>  <p><font style="background-color: rgb(208, 208, 208);" size="2">md c:\Diagnostics; Import-Module bitstransfer; Start-BitsTransfer </font><a href="https://dsazure.blob.core.windows.net/azuretools/AzureStorageAnalyticsLogs_global.DiagCab"><font style="background-color: rgb(204, 204, 204);" size="2">https://dsazure.blob.core.windows.net/azuretools/AzureStorageAnalyticsLogs_global.DiagCab</font></a><font style="background-color: rgb(204, 204, 204);" size="2"> c:\Diagnostics\AzureStorageAnalyticsLogs_global.DiagCab; c:\Diagnostics\AzureStorageAnalyticsLogs_global.DiagCab</font></p> <font size="2"></font>   <font size="2"></font>  <p><font size="2">Alternatively you can download and save the .DiagCab directly from </font><a title="https://dsazure.blob.core.windows.net/azuretools/AzureStorageAnalyticsLogs_global.DiagCab" href="https://dsazure.blob.core.windows.net/azuretools/AzureStorageAnalyticsLogs_global.DiagCab"><font size="2">https://dsazure.blob.core.windows.net/azuretools/AzureStorageAnalyticsLogs_global.DiagCab</font></a><font size="2">.</font></p> <font size="2"></font>  <p>&#160;</p> <font size="2"></font>  <h1>Running the SDP Package</h1> <font size="2"></font>  <ol><font size="2"></font>    <li><font size="2">Enter the <strong>storage account name</strong>.&#160; <br /></font><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/6013.image_033CC582.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/6013.image_5F00_033CC582.png"><font size="2"><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/01/29/21/metablogapi/4375.image_thumb_5381ADB3.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/4375.image_5F00_thumb_5F00_5381ADB3.png" width="484" height="374" /></font></a><font size="2">        <br />&#160;</font></li>   <font size="2"></font>    <li><font size="2">Enter the <strong>storage account key</strong>.&#160; Note that this key is only temporarily used within the SDP package utility.&#160; It is not saved or transferred.         <br /></font><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/0576.image_47EBF074.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/0576.image_5F00_47EBF074.png"><font size="2"><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/01/29/21/metablogapi/1663.image_thumb_477FBD7F.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/1663.image_5F00_thumb_5F00_477FBD7F.png" width="484" height="374" /></font></a><font size="2">        <br />&#160;</font></li>   <font size="2"></font>    <li><font size="2">Enter the <strong>starting time</strong> and <strong>ending time</strong>.&#160; The default values will gather logs from the past 24 hours         <br /></font><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/6765.image_54E5D085.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/6765.image_5F00_54E5D085.png"><font size="2"><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/01/29/21/metablogapi/1513.image_thumb_696B2003.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/1513.image_5F00_thumb_5F00_696B2003.png" width="484" height="374" /></font></a><font size="2">&#160;&#160; .</font><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/0028.image_0BC2B57D.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/0028.image_5F00_0BC2B57D.png"><font size="2"><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/01/29/21/metablogapi/3187.image_thumb_0B568288.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/3187.image_5F00_thumb_5F00_0B568288.png" width="484" height="374" /></font></a><font size="2">        <br />&#160;</font></li>   <font size="2"></font>    <li><font size="2">Select the <strong>analytics logs</strong> to gather.         <br /></font><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/3583.image_7FC0C548.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/3583.image_5F00_7FC0C548.png"><font size="2"><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/01/29/21/metablogapi/6758.image_thumb_4233677F.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/6758.image_5F00_thumb_5F00_4233677F.png" width="484" height="374" /></font></a><font size="2">        <br />&#160;</font></li>   <font size="2"></font>    <li><font size="2">When the tool is finished gathering data click Next and an Explorer window will open showing the latest.cab which is a compressed file containing the most recent set of data, along with folders containing the data from each time the SDP package was run.        <br /></font><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/2860.image_2454E37E.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/2860.image_5F00_2454E37E.png"><font size="2"><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/01/29/21/metablogapi/3146.image_thumb_7FC355F9.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/3146.image_5F00_thumb_5F00_7FC355F9.png" width="484" height="232" /></font></a></li>   <font size="2"></font></ol> <font size="2"></font>  <p><font size="2">&#160; </font></p>  <h1>The Results</h1>  <p><font size="2">There will be several files created as a result of running this SDP package.&#160; The important ones are:</font></p>  <ol>   <li><font size="2"><strong>ResultReport.xml</strong>.&#160; This file lists the data collected and includes the storage account name and time range specified.&#160; In the future we will include intelligent analytics results within this file (ie. “Event &lt;x&gt; found in Blob logs.&#160; This usually indicates &lt;y&gt;.&#160; You can find more information at &lt;link&gt;”).</font></li>    <li><font size="2"><strong>*.csv</strong>.&#160; This are the raw data files containing the logs and metrics.&#160; A header line is included in the file to make analysis easy.&#160; The headers correspond to the </font><a href="https://msdn.microsoft.com/en-us/library/windowsazure/hh343259.aspx"><font size="2">Logs format</font></a><font size="2"> and </font><a href="https://msdn.microsoft.com/en-us/library/windowsazure/hh343264.aspx"><font size="2">Metrics format</font></a><font size="2">.</font></li>    <li><font size="2"><strong>*.xlsx</strong>.&#160; If Excel is installed on the computer running the SDP package then these .xlsx files will be created which include pre-built charts showing the most commonly used metrics along with the option to select additional metrics.</font></li> </ol>  <p><font size="2">&#160;</font></p>  <h4>Excel charts (*.xlsx)</h4>  <p><font size="2">You can add or remove metrics from the Excel charts using the standard Chart filter tools:</font></p>  <blockquote>   <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/3051.image_5F3C1647.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/3051.image_5F00_5F3C1647.png"><font size="2"><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/01/29/21/metablogapi/8360.image_thumb_338B4C4B.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/8360.image_5F00_thumb_5F00_338B4C4B.png" width="484" height="276" /></font></a></p> </blockquote>  <p><font size="2">&#160;</font></p>  <h4>Logs (*.csv)</h4>  <p><font size="2">You can easily filter and sort the .CSV files within Excel.&#160; The following filter can help identify potentially inefficient queries by identifying requests that take longer than X number of milliseconds on the server:</font></p>  <blockquote>   <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/2018.image_35C7D507.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/2018.image_5F00_35C7D507.png"><font size="2"><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/01/29/21/metablogapi/2437.image_thumb_2A3217C8.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-21-metablogapi/2437.image_5F00_thumb_5F00_2A3217C8.png" width="484" height="458" /></font></a></p> </blockquote>  <p><font size="2">&#160;</font></p>  <p><font size="2">Look for additional blog posts in the future which walk through using the analytics data to identify and solve common issues.</font></p>  <p><font size="2">&#160;</font></p>  <h1>Additional Resources</h1>  <p><a title="https://msdn.microsoft.com/en-us/library/windowsazure/hh343270.aspx" href="https://msdn.microsoft.com/en-us/library/windowsazure/hh343270.aspx"><font size="2">https://msdn.microsoft.com/en-us/library/windowsazure/hh343270.aspx</font></a><font size="2"> – In depth documentation about storage analytics and what each field means.</font></p>  <p><a title="https://www.windowsazure.com/en-us/documentation/articles/storage-monitor-storage-account/" href="https://www.windowsazure.com/en-us/documentation/articles/storage-monitor-storage-account/"><font size="2">https://www.windowsazure.com/en-us/documentation/articles/storage-monitor-storage-account/</font></a><font size="2"> – How to enable and use metrics from the Azure Management Portal.</font></p>  <p><a title="https://channel9.msdn.com/Series/DIY-Windows-Azure-Troubleshooting/Storage-Analytics" href="https://channel9.msdn.com/Series/DIY-Windows-Azure-Troubleshooting/Storage-Analytics"><font size="2">https://channel9.msdn.com/Series/DIY-Windows-Azure-Troubleshooting/Storage-Analytics</font></a><font size="2"> – A short 5 and a half minute video showing how to enable and use storage analytics.</font></p>]]></content:encoded>
    </item>
    <item>
      <title>Topology Blast–Send topology change updates to all instances at once</title>
      <link>https://docs.microsoft.com/archive/blogs/kwill/topology-blastsend-topology-change-updates-to-all-instances-at-once</link>
      <pubDate>Fri, 06 Dec 2013 22:18:00 GMT</pubDate>
      <dc:creator><![CDATA[Kevin Williamson [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/kwill/2013/12/06/topology-blastsend-topology-change-updates-to-all-instances-at-once/</guid>
      <description><![CDATA[&nbsp;

Windows Azure SDK 2.2 introduces the concept of a topology blast.  This blog post will...]]></description>
      <content:encoded><![CDATA[&nbsp;

<span style="font-size: small">Windows Azure SDK 2.2 introduces the concept of a topology blast.  This blog post will describe how topology changes happen at the fabric level and how you can take advantage of topology blast to build a more robust service.</span>

<span style="font-size: small"> </span>

<span style="font-size: small">Definitions:</span>
<ul>
 	<li><span style="font-size: small"><strong>Role Topology</strong> – The number of instances, number of internal endpoints, and composition of internal endpoints (ie. internal IP addresses of instances, also known as DIP addresses ).</span></li>
 	<li><span style="font-size: small"><strong>Topology Change</strong> – Any change in this topology.  Typically a scale up or down of the number of instances, or a service healing event which causes one VM to move to a new physical server and obtain a new internal IP address.</span></li>
 	<li><span style="font-size: small"><strong>Rolling Upgrade</strong> – The process the fabric controller uses to make changes to a hosted service.  The fabric controller will send the change to Upgrade Domain #0, wait for all instances in UD #0 to return to the Ready state, and then move to UD #1, continuing until all UDs have been walked.  See the Upgrade Domain information at <a href="https://msdn.microsoft.com/en-us/library/windowsazure/hh472157.aspx" title="https://msdn.microsoft.com/en-us/library/windowsazure/hh472157.aspx">https://msdn.microsoft.com/en-us/library/windowsazure/hh472157.aspx</a>.</span></li>
 	<li><span style="font-size: small"><strong>Topology Blast</strong> – A new feature to allow topology changes to be sent to all UDs at one time, bypassing the normal UD walk.</span></li>
 	<li><span style="font-size: small"><strong>topologyChangeDiscovery</strong> – Use this .csdef &lt;ServiceDefinition&gt; attribute to control the type of topology change your service receives.  topologyChangeDiscovery="Blast" will turn on Topology Blast.</span></li>
 	<li><span style="font-size: small"><strong>RoleEnvironment.SimultaneousChanged/SimultaneousChanging</strong> – These events are raised in your code when a topology change happens and you have set topologyChangeDiscovery="Blast".</span></li>
</ul>
<span style="font-size: small">* Note that you must have an InternalEndpoint defined in order to receive topology changes.  If you turn on RDP for your service an internal endpoint is implicitly created.</span>

&nbsp;

<span style="font-size: small"> </span>

<span style="font-size: small"><strong>Picture 1 – Hosted service with 3 instances</strong></span>

<span style="font-size: small"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/1072.image_357FD84C.png"><img style="border: 0px currentcolor" title="Picture 1" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/7382.image_thumb_6294C51A.png" alt="Picture 1" width="1024" height="368" border="0" /></a></span>

&nbsp;

<span style="font-size: small">Picture 1 shows a standard Windows Azure hosted service with 3 role instances.  Each instance has a Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.CurrentRoleInstance.InstanceEndpoints list with the endpoints pointing to the correct DIPs for all other instances.</span>

<span style="font-size: small"> </span>

<span style="font-size: small"> </span>

<span style="font-size: small"><strong>Picture 2 – Standard topology change and rolling upgrade</strong></span>

<span style="font-size: small"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/8867.image_66A1A39D.png"><img title="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/1805.image_thumb_249DC50D.png" alt="image" width="1028" height="499" border="0" /></a></span>

&nbsp;

<span style="font-size: small">Picture 2 shows a <strong>standard rolling upgrade </strong>after a topology change has occurred.</span>
<ol>
 	<li><span style="font-size: small">The server hosting IN_2 (with original DIP 10.31.70.8) has had a failure.  The fabric controller automatically detects this failure and recreates IN_2 on a new server.  IN_2 receives a new DIP of 10.25.18.2.  This constitutes a topology change.</span></li>
 	<li><span style="font-size: small">The fabric controller <strong>begins the rolling upgrade process</strong> in order to notify the rest of the instances that there has been a topology change.  Each instance will receive a RoleEnvironment.Changing and RoleEnvironment.Changed event, with the change of type ServiceRuntime.RoleEnvironmentTopologyChange.  The InstanceEndpoints list will be updated with the new DIP(s).</span></li>
 	<li><span style="font-size: small">In Picture 2 the fabric controller is currently processing UD #0 and <strong>IN_0 has a correct InstanceEndpoints list</strong>.  When IN_0 attempts to communicate with IN_2 using an InternalEndpoint it will connect to the new DIP 10.25.18.2.</span></li>
 	<li><span style="font-size: small">IN_1 is in UD #1 and has not yet been notified of the topology change and <strong>IN_1 is still using the old incorrect InstanceEndpoints list</strong>.  When IN_1 attempts to communicate with IN_2 using an InternalEndpoint it will fail to connect to the old DIP 10.31.70.8.</span></li>
</ol>
<span style="font-size: small">Depending on the architecture of your service and how well your code tolerates communication failures this scenario of some instances with the correct InstanceEndpoints list and some with an incorrect InstanceEndpoints list can cause significant problems in your application.</span>

&nbsp;

<span style="font-size: small"> </span>

<span style="font-size: small"><strong>Picture 3 – Topology change with Topology Blast enabled</strong></span>

<span style="font-size: small"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/8666.image_088F96D3.png"><img title="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/21/metablogapi/3010.image_thumb_55BF905E.png" alt="image" width="1028" height="507" border="0" /></a></span>

<span style="font-size: small">Picture 3 shows a <strong>topology blast</strong> after a topology change has occurred.</span>
<ol>
 	<li><span style="font-size: small">The server hosting IN_2 (with original DIP 10.31.70.8) has had a failure.  The fabric controller automatically detects this failure and recreates IN_2 on a new server.  IN_2 receives a new DIP of 10.25.18.2.  This constitutes a topology change.</span></li>
 	<li><span style="font-size: small">The fabric controller initiates a topology change.  Because the service has set topologyChangeDiscovery="Blast" the fabric will initiate a topology blast and <strong>send the topology change to all instances at the same time</strong>.</span></li>
 	<li><span style="font-size: small">Both IN_0 and IN_1 receive a RoleEnvironment.SimultaneousChanging event at the same time with an updated InstanceEndpoints list.  <strong>Both instances are now able to successfully communicate with IN_2</strong>.</span></li>
</ol>
<span style="font-size: small">Note that your architecture must still be tolerant of the communication failures that will happen from the time that the server hosting IN_2 fails until the fabric recreates IN_2 and sends the topology change.</span>

<span style="font-size: x-small"> </span>

&nbsp;
<h1>Turning on Topology Blast</h1>
<span style="font-size: small">Topology Blast is enabled per deployment.  To turn this on for a deployment set topologyChangeDiscovery="Blast" in the csdef.  Your service will now begin receiving topology blast configuration changes.</span>
<div id="codeSnippetWrapper">
<pre style="margin: 0em;padding: 0px;width: 100%;text-align: left;color: black;line-height: 12pt;overflow: visible;font-family: 'Courier New', courier, monospace;font-size: 8pt;direction: ltr;background-color: #f4f4f4"><span style="font-size: small">&lt;ServiceDefinition name=<span style="color: #006080">"waTestFramework"</span> </span><span style="font-size: small;background-color: #ffff00">topologyChangeDiscovery=<span style="color: #006080">"Blast"</span></span><span style="font-size: small"> xmlns=<span style="color: #006080">"https://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition"</span> schemaVersion=<span style="color: #006080">"2013-10.2.2"</span>&gt;</span></pre>
</div>
<span style="font-size: small">You must also specify Mode=Simultaneous in the Upgrade Deployment operation (<a href="https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-upgrade-deployment">https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-upgrade-deployment</a>). </span>

<span style="font-size: small"><strong>Optionally</strong>, if you need to execute code to respond to a topology change you can implement the following events:</span>

<span style="font-size: small">Topology changes will now raise the RoleEnvironment.SimultaneousChanged/SimultaneousChanging events instead of the default Changed/Changing events.  Add handlers for these two events in OnStart and then implement your code in the appropriate event handler.  These new events behave the same as the old ones with two exceptions:</span>
<ul>
 	<li><span style="font-size: small">With topology blast turned on, only topology changes will fire the Simultaneous* events and all other types of changes will fire the standard Changed/Changing events.</span></li>
 	<li><span style="font-size: small">The SimultaneousChangingEventArgs does not implement a Cancel property.  This is to prevent all role instances from recycling at the same time.</span></li>
</ul>
&nbsp;
<div>
<pre style="margin: 0em;padding: 0px;width: 100%;text-align: left;color: black;line-height: 12pt;overflow: visible;font-family: 'Courier New', courier, monospace;font-size: 8pt;direction: ltr;background-color: #f4f4f4"><span style="color: #0000ff">public</span> <span style="color: #0000ff">override</span> <span style="color: #0000ff">bool</span> OnStart()
{
    <span style="color: #008000">// For information on handling configuration changes</span>
    <span style="color: #008000">// see the MSDN topic at https://go.microsoft.com/fwlink/?LinkId=166357.</span>
    RoleEnvironment.SimultaneousChanged += RoleEnvironment_SimultaneousChanged;
    RoleEnvironment.SimultaneousChanging += RoleEnvironment_SimultaneousChanging;</pre>
<span style="color: #0000ff">return</span> <span style="color: #0000ff">base</span>.OnStart();
}

<span style="color: #0000ff">void</span> RoleEnvironment_SimultaneousChanging(<span style="color: #0000ff">object</span> sender, SimultaneousChangingEventArgs e)
{
<span style="color: #008000">// Add code to run before the InstanceEndpoints list is updated</span>
<span style="color: #008000">// WARNING: Make sure you do not call RequestRecycle or throw an unhandled exception</span>
}

<span style="color: #0000ff">void</span> RoleEnvironment_SimultaneousChanged(<span style="color: #0000ff">object</span> sender, SimultaneousChangedEventArgs e)
{
<span style="color: #008000">// Add code to run after the InstanceEndpoints list is updated</span>
}

</div>]]></content:encoded>
    </item>
  </channel>
</rss>