<?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>Jimmy Harper's Operations Manager Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/jimmyharper/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/jimmyharper/feed.xml</link>
    <description>Posts in this blog are provided &amp;quot;AS IS&amp;quot; with no warranties, and confers no rights. Use of included script samples are subject to the terms specified in the Terms of Use</description>
    <lastBuildDate>Sat, 13 Aug 2016 05:46:03 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>SCOM Task to Add or Remove Management Groups on Agents</title>
      <link>https://docs.microsoft.com/archive/blogs/jimmyharper/scom-task-to-add-or-remove-management-groups-on-agents</link>
      <pubDate>Sat, 13 Aug 2016 05:46:03 GMT</pubDate>
      <dc:creator><![CDATA[Jimmy Harper]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jimmyharper/?p=1015</guid>
      <description><![CDATA[A customer of mine found that they had numerous SCOM Agents which were multi-homed to defunct...]]></description>
      <content:encoded><![CDATA[A customer of mine found that they had numerous SCOM Agents which were multi-homed to defunct Management Groups, and they were looking for an easy way to remove these old Management Groups from the Agents. They were also building out a new pre-production environment and would need  to multi-home some of the production agents to it.

I put together a Management Pack that does the following
<ul>
 	<li>Creates a new class named "Agent Management Groups"</li>
 	<li>Runs a discovery on all Agents to discover each Management Group they are configured to connect to</li>
 	<li>Provides tasks to Add and Remove Management Groups on the Agents</li>
</ul>
&nbsp;

<strong>To use this Management Pack</strong>
<ol>
 	<li>Import the Management Pack</li>
 	<li>Wait a little while for the Discovery to happen</li>
 	<li>Go to the Agent Management Groups\Agents view in the SCOM Console to see the list of Agents and the Management Groups they are configured to communicate with.</li>
 	<li>Use the Agent Management Group Tasks in the Tasks pane to Add or Remove Management Groups.</li>
</ol>
<strong>NOTE: Running these task)s will restart the Microsoft Monitoring Agent (Health Service on the Agent. I have seen occasional cases where the service stops and does not start back up. In these cases, you will need to remotely connect to the Agent (or log on to it) and start the service.</strong>

<a href="https://msdnshared.blob.core.windows.net/media/2016/08/Agents.jpg"><img width="989" height="587" class="alignnone wp-image-1045 size-full" alt="Agents" src="https://msdnshared.blob.core.windows.net/media/2016/08/Agents.jpg" /></a>

&nbsp;

<strong>Add a Management Group to Agents</strong>

Select the Agents to modify, then select the “Add a Management Group” task

<a href="https://msdnshared.blob.core.windows.net/media/2016/08/AddMG-1.jpg"><img width="1093" height="498" class="alignnone wp-image-1065 size-full" alt="AddMG-1" src="https://msdnshared.blob.core.windows.net/media/2016/08/AddMG-1.jpg" /></a>

&nbsp;

In the “Run Task” window, select “Arguments” and click on Override.

<a href="https://msdnshared.blob.core.windows.net/media/2016/08/AddMG-2.jpg"><img width="924" height="862" class="alignnone size-full wp-image-1075" alt="AddMG-2" src="https://msdnshared.blob.core.windows.net/media/2016/08/AddMG-2.jpg" /></a>

&nbsp;

Enter the Management Group name and Management Server name in the Arguments override

<a href="https://msdnshared.blob.core.windows.net/media/2016/08/AddMG-3.jpg"><img width="983" height="461" class="alignnone size-full wp-image-1085" alt="AddMG-3" src="https://msdnshared.blob.core.windows.net/media/2016/08/AddMG-3.jpg" /></a>

&nbsp;

Run the task

<a href="https://msdnshared.blob.core.windows.net/media/2016/08/AddMG-4.jpg"><img width="895" height="930" class="alignnone size-full wp-image-1095" alt="AddMG-4" src="https://msdnshared.blob.core.windows.net/media/2016/08/AddMG-4.jpg" /></a>

&nbsp;

When the task completes successfully, you should need the new Management Groups on the Agents within 5 minutes (when the discovery runs again)

&nbsp;

<strong>Remove a Management Group from Agents</strong>

Let’s say you have decommissioned a Management Group (MG1), but several agents are still configured to use it.

Simply enter MG1 in the search bar to find all Agents that are configured with to connect to that Management Group, select all of them (CTRL—A), and select the "Remove a Management Group" task.

<a href="https://msdnshared.blob.core.windows.net/media/2016/08/RemoveMG-1.jpg"><img width="1116" height="449" class="alignnone size-full wp-image-1105" alt="RemoveMG-1" src="https://msdnshared.blob.core.windows.net/media/2016/08/RemoveMG-1.jpg" /></a>

&nbsp;

Override the Arguments parameter and enter the name of the Management Group to remove, then run the task

<a href="https://msdnshared.blob.core.windows.net/media/2016/08/RemoveMG-2.jpg"><img width="927" height="726" class="alignnone size-full wp-image-1055" alt="RemoveMG-2" src="https://msdnshared.blob.core.windows.net/media/2016/08/RemoveMG-2.jpg" /></a>

&nbsp;

Within a few minutes, you should see the Management Group removed from the view.

A third Task is also included – “Remove all but one Management Group”. In this task, you override the Arguments parameter with the name of the Management Group that you want to KEEP, and all others will be removed.

<a href="https://msdnshared.blob.core.windows.net/media/2016/08/Agent.Management.Groups.zip">Agent.Management.Groups</a>]]></content:encoded>
    </item>
    <item>
      <title>PowerShell Command to Approve SCOM Agents Listed in a Text File</title>
      <link>https://docs.microsoft.com/archive/blogs/jimmyharper/powershell-command-to-approve-scom-agents-listed-in-a-text-file</link>
      <pubDate>Tue, 15 Dec 2015 12:10:53 GMT</pubDate>
      <dc:creator><![CDATA[Jimmy Harper]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jimmyharper/2015/12/15/powershell-command-to-approve-scom-agents-listed-in-a-text-file/</guid>
      <description><![CDATA[&nbsp; My customer has a lot of manually installed SCOM Agents that have not yet been approved in...]]></description>
      <content:encoded><![CDATA[<p>&nbsp;</p> <p>My customer has a lot of manually installed SCOM Agents that have not yet been approved in the console, and wanted a quick way to approve only the ones that are listed in a text file.</p> <p>The following PowerShell command can take care of this pretty easily (modify the C:\Servers.txt path as needed). Also, be sure that the servers are in FQDN format in the text file (Server.Domain.com).</p> <p><font color="#c0504d">Foreach ($Computer in (Get-Content C:\Servers.txt)) {Get-SCOMPendingManagement | where {$_.AgentPendingActionType -eq &quot;ManualApproval&quot; -and $_.AgentName -eq $Computer}| Approve-SCOMPendingManagement}</font></p>]]></content:encoded>
    </item>
    <item>
      <title>Management Pack to Monitor and Reduce Health Service Store Size</title>
      <link>https://docs.microsoft.com/archive/blogs/jimmyharper/management-pack-to-monitor-and-reduce-health-service-store-size</link>
      <pubDate>Wed, 02 Sep 2015 12:12:00 GMT</pubDate>
      <dc:creator><![CDATA[Jimmy Harper]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jimmyharper/2015/09/02/management-pack-to-monitor-and-reduce-health-service-store-size/</guid>
      <description><![CDATA[A customer of mine monitors some agents that only have 1gb of storage, so disk space must be...]]></description>
      <content:encoded><![CDATA[<p>A customer of mine monitors some agents that only have 1gb of storage, so disk space must be conserved as much as possible. The Health Service store file (a JET database named HealthServiceStore.edb) on these Agents is around 100mb-200mb, which is pretty normal for a SCOM Agent.</p>
<p>I researched this a bit and found that unused space in the Health Service store is not cleaned up automatically. To clean it up and reduce the size of the file, you can do an offline defragmentation of the file by doing the following:</p>
<ol>
<li>Stop the Microsoft Monitoring Agent service (HealthService)</li>
<li>Open an admin command prompt and run the following command (modify the file path as needed)
<p><span style="color:#c0504d;">esentutl /d &quot;C:\Program Files\Microsoft Monitoring Agent\Agent\Health Service State\Health Service Store\HealthServiceStore.edb&quot;</span><br /><br /></p>
</li>
<li>Restart the Microsoft Monitoring Agent service</li>
</ol>
<p>Doing this in my test environment will generally reduce the file size from ~110mb to ~25mb</p>
<p>To help my customer detect and automate this, I&rsquo;ve created the attached Management Pack to monitor, collect, and reduce the size of the Health Service store file.</p>
<p>&nbsp;<strong>The Management Pack contains:</strong></p>
<ul>
<li>A Monitor to check the size of the Health Service database file
<ul>
<li>Monitor name is &ldquo;Health Service Store File Size Check&rdquo;</li>
<li>Targeted at the &ldquo;Agent&rdquo; class</li>
<li>Disabled by default</li>
<li>Warning Alert/State Change is generated if the file size is greater than the defined threshold</li>
<li>File size threshold is 100mb by default and can be configured via override</li>
</ul>
</li>
<li>A Rule to collect the size of the Health Service database file
<ul>
<li>Rule name is &ldquo;Collection: Health Service Database File Size&rdquo;</li>
<li>Targeted at the &ldquo;Agent&rdquo; class</li>
<li>Collected performance counter is
<ul>
<li><strong>Object:</strong> Health Service Database</li>
<li><strong>Counter:</strong> File Size</li>
<li><strong>Instance:</strong> &lt;Path to health service store file&gt;</li>
</ul>
</li>
</ul>
</li>
<li>A Task to manually do an offline defrag of the Health Service database file
<ul>
<li>Task name is &ldquo;Health Service Database Offline Defrag&rdquo;</li>
<li>Targeted at the &ldquo;Agent&rdquo; class</li>
</ul>
</li>
<li>A Recovery to automatically do an offline defrag of the Health Service database file when the monitor detects the size is over the defined threshold
<ul>
<li>Disabled by default</li>
</ul>
</li>
</ul>
<p><strong>Details of the workflows</strong></p>
<ul>
<li>The Monitor runs a PowerShell script that gets the Health Service State directory from the registry, then checks the size of the HealthServiceStore.edb file and compares against the defined threshold. The script returns a Property Bag to SCOM with the file path, size, threshold, and status (above/below threshold).</li>
<li>The Collection Rule uses the same script as the Monitor, and just uses the file size property and maps it to performance counter data.</li>
<li>The offline defrag Task and Recovery use a VBScript based on Matt Taylor&rsquo;s <a href="/b/scom_atlas/archive/2015/05/21/task-to-restart-scom-health-service.aspx">task to restart SCOM Health Service</a> script&hellip;all I did is modify it to run the offline defrag before restarting the service.</li>
</ul>
<p>&nbsp;</p>
<p><strong>Screen shots from the Management Pack</strong></p>
<p><strong>Monitor</strong></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/monitor_257633F5.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/monitor_5F00_257633F5.png"><img width="644" height="364" title="monitor" style="background-image:none;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-width:0px;" alt="monitor" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/monitor_thumb_52240F30.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/monitor_5F00_thumb_5F00_52240F30.png" border="0" /></a></p>
<p>&nbsp;</p>
<p><strong>Rule</strong></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/rule_6AB63D31.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/rule_5F00_6AB63D31.png"><img width="644" height="211" title="rule" style="background-image:none;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-width:0px;" alt="rule" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/rule_thumb_495BB8F7.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/rule_5F00_thumb_5F00_495BB8F7.png" border="0" /></a></p>
<p>&nbsp;</p>
<p><strong>Task</strong></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/task_11A8FEC7.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/task_5F00_11A8FEC7.png"><img width="644" height="326" title="task" style="background-image:none;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-width:0px;" alt="task" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/task_thumb_21DC78D3.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/task_5F00_thumb_5F00_21DC78D3.png" border="0" /></a></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/task_209D0156.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/task_5F00_209D0156.png"><img width="373" height="484" title="task" style="background-image:none;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-width:0px;" alt="task" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/task_thumb_6B26CFE1.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/task_5F00_thumb_5F00_6B26CFE1.png" border="0" /></a></p>
<p>&nbsp;</p>
<p><strong>Health Explorer</strong></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/explorer_152BEF6C.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/explorer_5F00_152BEF6C.png"><img width="612" height="484" title="explorer" style="background-image:none;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-width:0px;" alt="explorer" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/explorer_thumb_7989F426.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/explorer_5F00_thumb_5F00_7989F426.png" border="0" /></a></p>
<p>&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/explorer_39E4B8F6.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/explorer_5F00_39E4B8F6.png"><img width="631" height="329" title="explorer" style="background-image:none;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-width:0px;" alt="explorer" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/explorer_thumb_5A90A3FD.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/explorer_5F00_thumb_5F00_5A90A3FD.png" border="0" /></a></p>
<p>&nbsp;</p>
<p><strong>Alert</strong></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/alert_7C12643D.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/alert_5F00_7C12643D.png"><img width="644" height="165" title="alert" style="background-image:none;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-width:0px;" alt="alert" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/alert_thumb_1FCE1C89.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/alert_5F00_thumb_5F00_1FCE1C89.png" border="0" /></a></p>
<p>&nbsp;</p>
<p><strong>Performance Collection</strong></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/perf_2F071607.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/perf_5F00_2F071607.png"><img width="644" height="265" title="perf" style="background-image:none;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border:0px;" alt="perf" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/perf_thumb_10BC5F11.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/perf_5F00_thumb_5F00_10BC5F11.png" border="0" /></a></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/telligent.evolution.components.attachments/01/6699/00/00/03/65/41/98/HealthServiceStore.Monitoring.zip" original-url="https://blogs.technet.com/cfs-filesystemfile.ashx/__key/telligent-evolution-components-attachments/01-6699-00-00-03-65-41-98/HealthServiceStore.Monitoring.zip">HealthServiceStore.Monitoring.zip</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Exchange 2010 Correlation Engine Not Generating Alerts</title>
      <link>https://docs.microsoft.com/archive/blogs/jimmyharper/exchange-2010-correlation-engine-not-generating-alerts</link>
      <pubDate>Wed, 15 Apr 2015 21:52:38 GMT</pubDate>
      <dc:creator><![CDATA[Jimmy Harper]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jimmyharper/2015/04/15/exchange-2010-correlation-engine-not-generating-alerts/</guid>
      <description><![CDATA[While helping a customer migrate from SCOM 2007 to SCOM 2012 R2, we noticed a large reduction in...]]></description>
      <content:encoded><![CDATA[<p>While helping a customer migrate from SCOM 2007 to SCOM 2012 R2, we noticed a large reduction in Alerts for Exchange 2010.&nbsp; After investigating further, we noticed that we were not getting any Alerts that come from the Exchange 2010 Correlation Engine.</p>
<p>After verifying with my customer that the Exchange 2010 Monitors were generating state changes, but no alerts were coming in, we reviewed the event log for the Correlation Engine (it logs to the Application Event log on the server it is installed on) and saw event 717 being logged every 5 minutes (more details below).</p>
<p>After doing some research, I found the following information which resolved the problem (provided by Microsoft Escalation Engineer <strong>Manoj Parvathaneni</strong>).</p>
<p><strong>Quick Summary:</strong><br /><span style="font-size:xx-small;">We had to install the Correlation Engine on a server without any SCOM 2012 server components installed, and include some SCOM 2007 dlls in the Correlation Engine installation directory.</span></p>
<p><b>Symptoms</b></p>
<p>When the Exchange Correlation Engine is installed on a System Center 2012 Operations Manager Management Server, the Automatic Alert Resolution feature in the Exchange Correlation Engine ceases to function and the following event is logged in the Application event log on the Management Server:</p>
<p><i>Log Name: Application<br />Source: MSExchangeMonitoringCorrelation<br />Event ID: 717<br />Task Category: General<br />Level: Warning<br />Keywords: Classic<br />User: N/A<br />Description:<br />Connection with the Operations Manager Root Management Server failed.</i></p>
<p><i>Error: System.InvalidCastException: [A]System.Collections.Generic.List`1[Microsoft.EnterpriseManagement.Monitoring.MonitoringAlertUpdateStatusIndigo] cannot be cast to [B]System.Collections.Generic.List`1[Microsoft.EnterpriseManagement.Monitoring.MonitoringAlertUpdateStatusIndigo]. Type A originates from &#39;mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&#39; in the context &#39;LoadNeither&#39; at location &#39;C:\Windows\assembly\GAC_64\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll&#39;. Type B originates from &#39;mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&#39; in the context &#39;LoadNeither&#39; at location &#39;C:\Windows\assembly\GAC_64\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll&#39;.<br />at Microsoft.EnterpriseManagement.Utilities.GetDeserializeObject[T](Byte[] serializedObject)<br />at Microsoft.EnterpriseManagement.DataAbstractionLayer.InstanceSpaceOperations.UpdateAlerts(Byte[] alerts, String comments, Nullable`1 modifyingConnectorId)<br />at Microsoft.EnterpriseManagement.Monitoring.MonitoringAlert.UpdateAlertsInternal[T](IList`1 alerts, String comments, Nullable`1 modifyingConnectorId, ManagementGroup managementGroup)<br />at Microsoft.EnterpriseManagement.Monitoring.MonitoringAlert.UpdateInternal(String comments, Nullable`1 modifyingConnectorId)<br />at Microsoft.EnterpriseManagement.Monitoring.MonitoringAlert.Update(String comments)<br />at Microsoft.Exchange.Monitoring.CorrelationEngine.MomSdkProxy.ResolveEntityAlert(Entity entity, MonitoringAlert monAlert)<br />at Microsoft.Exchange.Monitoring.CorrelationEngine.MomSdkProxy.ResolveEntityAlerts(Entity entity, String alertCriteriaString)<br />at Microsoft.Exchange.Monitoring.CorrelationEngine.CorrelationEngine.CorrelateWithinEntity(Node entity)<br />at Microsoft.Exchange.Monitoring.CorrelationEngine.CorrelationEngine.CorrelateBatchTask(Object batchData)</i></p>
<p><i>Number of occurrence: 3</i></p>
<p>You&#39;ll also notice the following error in the Exchange Correlation Engine logs:</p>
<p><i>2013-11-18T08:16:15.673Z,4,Information,&quot;CorrelateBatchTask: caught exception [System.InvalidCastException: [A]System.Collections.Generic.List`1[Microsoft.EnterpriseManagement.Monitoring.MonitoringAlertUpdateStatusIndigo] cannot be cast to [B]System.Collections.Generic.List`1[Microsoft.EnterpriseManagement.Monitoring.MonitoringAlertUpdateStatusIndigo]. Type A originates from &#39;mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&#39; in the context &#39;LoadNeither&#39; at location &#39;C:\Windows\assembly\GAC_64\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll&#39;. Type B originates from &#39;mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&#39; in the context &#39;LoadNeither&#39; at location &#39;C:\Windows\assembly\GAC_64\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll&#39;.&nbsp;&nbsp;&nbsp; at Microsoft.EnterpriseManagement.Utilities.GetDeserializeObject[T](Byte[] serializedObject)&nbsp;&nbsp;&nbsp; at Microsoft.EnterpriseManagement.DataAbstractionLayer.InstanceSpaceOperations.UpdateAlerts(Byte[] alerts, String comments, Nullable`1 modifyingConnectorId)&nbsp;&nbsp;&nbsp; at Microsoft.EnterpriseManagement.Monitoring.MonitoringAlert.UpdateAlertsInternal[T](IList`1 alerts, String comments, Nullable`1 modifyingConnectorId, ManagementGroup managementGroup)&nbsp;&nbsp;&nbsp; at Microsoft.EnterpriseManagement.Monitoring.MonitoringAlert.UpdateInternal(String comments, Nullable`1 modifyingConnectorId)&nbsp;&nbsp;&nbsp; at Microsoft.EnterpriseManagement.Monitoring.MonitoringAlert.Update(String comments)&nbsp;&nbsp;&nbsp; at Microsoft.Exchange.Monitoring.CorrelationEngine.MomSdkProxy.ResolveEntityAlert(Entity entity, MonitoringAlert monAlert)&nbsp;&nbsp;&nbsp; at Microsoft.Exchange.Monitoring.CorrelationEngine.MomSdkProxy.ResolveEntityAlerts(Entity entity, String alertCriteriaString)&nbsp;&nbsp;&nbsp; at Microsoft.Exchange.Monitoring.CorrelationEngine.CorrelationEngine.CorrelateWithinEntity(Node entity)&nbsp;&nbsp;&nbsp; at Microsoft.Exchange.Monitoring.CorrelationEngine.CorrelationEngine.CorrelateBatchTask(Object batchData)]. </i></p>
<p>In addition, the Exchange Correlation Engine will not report any new Alerts or report the alerts to SCOM 2012 inconsistently.</p>
<p><b>Resolution</b></p>
<p>The exception above can be resolved by using one of the following methods:</p>
<p><b>Method 1: </b><b>Install Exchange Correlation Engine on a dedicated system without the SCOM 2012 Management Server component</b></p>
<ol>
<li>Install Exchange Correlation engine on this machine.</li>
<li>Stop the Microsoft Exchange Monitoring Correlation service.</li>
<li>Copy SCOM 2007 R2 SDK binaries into the CE install directory (Program Files\Microsoft\Exchange Server\v14\Bin). <br />&bull; Microsoft.EnterpriseManagement.OperationsManager.Common.dll<br />&bull; Microsoft.EnterpriseManagement.OperationsManager.dll<br />&bull; MomBidLdr.dll</li>
</ol>
<p>**UPDATE: Files attached to this blog</p>
<p><b>Where can you find the above binary files?</b></p>
<ul>
<li>The SCOM 2007 R2 SDK Binaries Microsoft.EnterpriseManagement.OperationsManager.Common.dll and Microsoft.EnterpriseManagement.OperationsManager.dll can be found on a system that has SCOM 2007 R2 Console in the following directory Program Files\System Center Operations Manager 2007\SDK Binaries.</li>
<li>The MOmBidLdr.dll can be found can be found on a system that has SCOM 2007 R2 Console in the following directory Program Files\System Center Operations Manager 2007</li>
</ul>
<p><b>Method 2:</b> <b>Disable the Automatic Alert Resolution Feature in the Correlation Engine</b></p>
<p>By following this approach the customer will lose the ability to resolve the alerts automatically via the Exchange Correlation Engine.</p>
<p>To disable Automatic Alert Resolution, perform the following steps:</p>
<ol>
<li>Log on to the server that&#39;s hosting the Microsoft Exchange Monitoring Correlation Engine service.</li>
<li>Locate the Correlation Engine configuration file named Microsoft.Exchange.Monitoring.CorrelationEngine.exe.config. By default, the file is located in C:\Program Files\Microsoft\Exchange Server\V14\Bin\, where C:\ is the Exchange installation directory.</li>
<li>Open Microsoft.Exchange.Monitoring.CorrelationEngine.exe.config in a text editor such as Notepad</li>
<li>Locate the following line in the configuration file:<br />&lt;add key=&quot;AutoResolveAlerts&quot; value=&quot;true&quot; /&gt;</li>
<li>Change &lt;add key=&quot;AutoResolveAlerts&quot; value=&quot;true&quot; /&gt; to &lt;add key=&quot;AutoResolveAlerts&quot; value=&quot;false&quot; /&gt;</li>
<li>Restart the Microsoft Exchange Monitoring Correlation Engine service.</li>
</ol>
<p><b>More Information</b></p>
<p><b>Exchange Correlation Engine:<br /></b>The Correlation Engine(CE) is a stand-alone Windows service that uses the Operations Manager SDK interface to first retrieve the health model (or instance space) and then process state change events. By maintaining the health model in memory, and processing state change events, the Correlation Engine is able to determine when to raise an alert based on the state of the system. The Correlation Engine solely relies on the Operations Manager SDK. It does not use the agent to perform any of the correlation and other aspects of its operations. For further details, you can also reference the <b>Exchange 2010 Management Pack guide</b>.</p>
<p><b>Automatic Alert Resolution feature in Exchange Correlation Engine:<br /></b>The Automatic Alert Resolution feature automatically closes related alerts when the Exchange 2010 Management Pack determines that the underlying issue is no longer a problem. This feature is provided by the Correlation Engine, and is enabled by default. Using Automatic Alert Resolution can cause multiple alerts to be logged if the same alert is logged again for another instance of the problem before the associated ticket has been resolved by support teams.</p>
<p>You may also want to disable this feature under the following or other conditions:</p>
<ul>
<li>If you&#39;re using ticketing or another support system that wouldn&#39;t work correctly if alerts are automatically resolved.</li>
</ul>
<p>If you&#39;re using a connector with Operations Manager 2007. A connector is a custom service or program that allows Operations Manager to communicate with external systems. For example, you may want to disable this feature if you&#39;re using a connector that allows an external application to track Exchange 2010 Management Pack alerts.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/telligent.evolution.components.attachments/01/6699/00/00/03/64/81/09/SCOM2007FilesForEXCHCorrelationEngine.zip" original-url="https://blogs.technet.com/cfs-filesystemfile.ashx/__key/telligent-evolution-components-attachments/01-6699-00-00-03-64-81-09/SCOM2007FilesForEXCHCorrelationEngine.zip">SCOM2007FilesForEXCHCorrelationEngine.zip</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Agent Version and Health report</title>
      <link>https://docs.microsoft.com/archive/blogs/jimmyharper/agent-version-and-health-report</link>
      <pubDate>Thu, 09 Apr 2015 06:54:00 GMT</pubDate>
      <dc:creator><![CDATA[Jimmy Harper]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jimmyharper/2015/04/09/agent-version-and-health-report/</guid>
      <description><![CDATA[A customer asked me to put together a SCOM data warehouse report that would list Agents from all...]]></description>
      <content:encoded><![CDATA[<p>A customer asked me to put together a SCOM data warehouse report that would list Agents from all Management Groups, and some general Agent version and health information. The report I put together is attached.&nbsp; It’s a pretty simple report that can be used to get a list of agents that are offline, agents with a specific patch installed, or agents with a specific Agent version.&nbsp; You can also get one big list of all agents, export to Excel and filter/sort as needed. It also works well for environments with multiple Management Groups sharing one Data Warehouse.</p> <p>The report has the following fields  <ul> <li>Agent Name  </li><li>Agent Version  </li><li>Agent Version Number  </li><li>Patch List  </li><li>Management Group  </li><li>HS Availability  </li><li>HSOutage Last Modified  </li><li>Health Service Watcher Previous Day Healthy  </li><li>Health Service Watcher Previous Day Unhealthy  </li><li>Health Service Watcher Previous Day Maintenance  </li><li>Heartbeat Previous Day Healthy  </li><li>Heartbeat Previous Day Unhealthy  </li><li>Heartbeat Previous Day Maintenance  </li><li>OSVersion</li></ul> <p>&nbsp;</p> <p>The HS Availability field indicates whether the agent is currently connecting to SCOM. This is based this on data from the vHealthServiceOutage view in the data warehouse, which tracks when Health Service outages begin and end for an Agent. The “HSOutage Last Modified” field will tell you when the agent availability last changes.</p> <p>The “Previous Day Healthy/Unhealthy/Maintenance” fields show the percentage of the previous day that the Health Service Watcher and Heartbeat monitor for the agent were in a Healthy/Unhealthy/Maintenance state. I do see occasional issues with these numbers being inaccurate, but these fields plus the HSOutage fields should give a pretty good indication of whether or not an agent is online.</p> <p>&nbsp; <p>The following parameters are available for filtering:  <p><b>Agent Name</b>  <p>Include only agents that contain the text entered  <p>Leave this blank to include all agents  <p>&nbsp; <p><b>Patch List</b>  <p>Include only Agents whose PatchList property contains the text entered  <p>Leave this blank to include all agents  <p>&nbsp; <p><b>Health Service Availability</b>  <p>Select to include only Available agents, Unavailable agents, or both  <p>&nbsp; <p><b>Agent Version</b>  <p>Select to include/exclude SCOM 2007, SCOM 2012, or SCOM 2012 R2 Agents (all are selected by default)  <p>&nbsp; <p><b>Management Group</b>  <p>Select to include/exclude agents from specific Management Groups (all are included by default)  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/image_359D2516.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/image_5F00_359D2516.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/image_thumb_50D57E17.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/image_5F00_thumb_5F00_50D57E17.png" width="621" height="304" /></a>  <p>&nbsp; <a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/image_531206D3.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/image_5F00_531206D3.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/image_thumb_4305C8CD.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/image_5F00_thumb_5F00_4305C8CD.png" width="659" height="162" /></a></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/telligent.evolution.components.attachments/01/6699/00/00/03/64/78/34/Agent%20Version%20and%20Health.rdl" original-url="https://blogs.technet.com/cfs-filesystemfile.ashx/__key/telligent-evolution-components-attachments/01-6699-00-00-03-64-78-34/Agent-Version-and-Health.rdl">Agent Version and Health.rdl</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Alerting when performance counters cannot be resolved by SCOM</title>
      <link>https://docs.microsoft.com/archive/blogs/jimmyharper/alerting-when-performance-counters-cannot-be-resolved-by-scom</link>
      <pubDate>Tue, 03 Feb 2015 08:32:00 GMT</pubDate>
      <dc:creator><![CDATA[Jimmy Harper]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jimmyharper/2015/02/03/alerting-when-performance-counters-cannot-be-resolved-by-scom/</guid>
      <description><![CDATA[A customer of mine is seeing some random issues with SCOM not being able to resolve Exchange...]]></description>
      <content:encoded><![CDATA[<p>A customer of mine is seeing some random issues with SCOM not being able to resolve Exchange performance counters and would like to get an alert when this happens so we can troubleshoot right away.</p>
<p>When SCOM cannot resolve a performance counter, it will log one of two events:</p>
<ul>
<li>Event ID 10102 (could not resolve counter)</li>
<li>Event ID 10103 (could not resolve counter instance)</li>
</ul>
<p>&nbsp;</p>
<p>I created a simple Management Pack with an Alert Rule to alert on these events. The attached MP contains one Rule with the following criteria:</p>
<p><strong>Name:</strong> Alert on Missing Performance Counters<br /><strong>Target:</strong> Health Service<br /><strong>Criteria:<br /></strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>Event log:</strong> Operations Manager<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>Event Source:</strong> Health Service Modules<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong> Event ID:</strong>10102 / 10103</p>
<p>The Rule will generate an alert when event ID 10102 (could not resolve counter) or 10103 (could not resolve counter instance) are logged.&nbsp; Alert suppression is enabled for the Object, Counter, and Instance parameters so it will generate a separate alert for each counter that cannot be resolved on a monitored computer.</p>
<p>The Rule is disabled by default&hellip;I would generally recommend only enabling it on computers that you are having problems with at first, then on others if needed.</p>
<p>Here is a screen shot of the Alert:</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/image_3DDD66B0.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/image_5F00_3DDD66B0.png"><img width="898" height="422" title="image" style="display:inline;border:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/image_thumb_0DB61BED.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/image_5F00_thumb_5F00_0DB61BED.png" border="0" /></a></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/telligent.evolution.components.attachments/01/6699/00/00/03/64/45/78/MissingPerfCounterAlerting.xml" original-url="https://blogs.technet.com/cfs-filesystemfile.ashx/__key/telligent-evolution-components-attachments/01-6699-00-00-03-64-45-78/MissingPerfCounterAlerting.xml">MissingPerfCounterAlerting.xml</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Pre-reqs for SCOM 2012 Consoles</title>
      <link>https://docs.microsoft.com/archive/blogs/jimmyharper/pre-reqs-for-scom-2012-consoles</link>
      <pubDate>Thu, 30 Oct 2014 09:18:36 GMT</pubDate>
      <dc:creator><![CDATA[Jimmy Harper]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jimmyharper/2014/10/30/pre-reqs-for-scom-2012-consoles/</guid>
      <description><![CDATA[Whenever I’m installing SCOM 2012, it takes me a little extra time to get the pre-reqs installed for...]]></description>
      <content:encoded><![CDATA[<p>Whenever I’m installing SCOM 2012, it takes me a little extra time to get the pre-reqs installed for the Operations Console and Web Console, so I’m adding this to my blog for an easy place to find the download links and steps.</p> <p>&nbsp;</p> <p><strong><u><font size="4">Operations Console</font></u></strong></p> <p>Before installing the SCOM 2012 Operations Console, you will need to install <strong>SQL CLR Types</strong> and <strong>Report View 2012 Runtime</strong>:</p> <p>&nbsp;</p> <p>· <b>SQL CLR Types</b></p> <blockquote> <p><b><a href="https://go.microsoft.com/fwlink/?LinkID=239643&amp;clcid=0x409">X86 Package</a></b>(SQLSysClrTypes.msi)<br /><b><a href="https://go.microsoft.com/fwlink/?LinkID=239644&amp;clcid=0x409">X64 Package</a></b> (SQLSysClrTypes.msi)</p></blockquote> <p>· <b>Report Viewer 2012 Runtime – <a href="https://www.microsoft.com/en-us/download/details.aspx?id=35747">Download here</a></b>  <p><strong></strong>&nbsp; <p><strong></strong>&nbsp; <p><strong><font size="4"><u>Web Console</u></font></strong>  <p>Before installing the SCOM 2012 Web Console role, you will need to install the IIS Role and a number of services.&nbsp; <a href="https://www.scom2k7.com/">Tim McFadden</a> has documented the steps for doing this with PowerShell in Windows Server 2008 R2 and Windows Server 2012…links to Tim’s blog and overview of the steps below…  <p>&nbsp; <p><a href="https://www.scom2k7.com/installing-the-scom-2012-web-console-prerequisites-the-easy-way"><strong>Windows Server 2008 R2</strong></a>  <ol> <li>Run the following PowerShell commands to install the prerequisites:<br /><br /><em><font color="#800000">Import-Module ServerManager<br /><br />Add-WindowsFeature NET-Framework-Core,Web-Static-Content,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-Http-Logging,Web-Request-Monitor,Web-Filtering,Web-Stat-Compression,AS-Web-Support,Web-Metabase,Web-Asp-Net,Web-Windows-Auth –restart <br /><br /></font></em> </li><li>Run the following command from elevated command prompt to register the ASP .NET 4 with IIS.<br /><br /><em><font color="#800000">c:\windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe –r</font></em> <br /><br /> </li><li>Run the following command to enable IIS to work with .net 4.0<br /><br /><em><font color="#800000">c:\windows\system32\inetsrv\appcmd set config /section:isapiCgiRestriction /[path=`&#39;C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll`&#39;].allowed:True <br /><br /></font></em> </li><li>Restart the server</li></ol> <p><strong></strong>&nbsp; <p><a href="https://www.scom2k7.com/installing-the-scom-2012-sp1-web-console-prerequisites-on-server-2012-the-easy-way/"><strong>Windows Server 2012</strong></a>  <ol>Run the following PowerShell commands to install the prerequisites:<br /><br /><em><font color="#800000">Import-Module ServerManager<br /><br />Add-WindowsFeature NET-Framework-Core,AS-HTTP-Activation,Web-Static-Content,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-Http-Logging,Web-Request-Monitor,Web-Filtering,Web-Stat-Compression,AS-Web-Support,Web-Metabase,Web-Asp-Net,Web-Windows-Auth –restart</font></em></ol></p></p></p></p></p></p></p></p></p>]]></content:encoded>
    </item>
    <item>
      <title>Alerting on Deadlocks with the SQL Server Management Pack</title>
      <link>https://docs.microsoft.com/archive/blogs/jimmyharper/alerting-on-deadlocks-with-the-sql-server-management-pack</link>
      <pubDate>Tue, 28 Oct 2014 13:20:39 GMT</pubDate>
      <dc:creator><![CDATA[Jimmy Harper]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jimmyharper/2014/10/28/alerting-on-deadlocks-with-the-sql-server-management-pack/</guid>
      <description><![CDATA[Today a customer asked me how to configure SCOM to generate Alerts for SQL Deadlocks.&nbsp; Looking...]]></description>
      <content:encoded><![CDATA[<p>Today a customer asked me how to configure SCOM to generate Alerts for SQL Deadlocks.&nbsp; Looking in the SQL Server Management Pack, I found that we have event log Rules for deadlocks for SQL 2005, 2008, and 2012:</p> <p>&nbsp;</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/image_01A5AE83.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/image_5F00_01A5AE83.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/image_thumb_47B66B96.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/image_5F00_thumb_5F00_47B66B96.png" width="833" height="202" /></a> </p> <p>&nbsp;</p> <p>&nbsp;</p> <p>The Rules are targeted at DB Engine and alert on Event ID 1205 in the Application Event Log:</p> <p>&nbsp;</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/image_17FB53C8.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/image_5F00_17FB53C8.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/image_thumb_178F20D3.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/image_5F00_thumb_5F00_178F20D3.png" width="538" height="199" /></a> </p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/image_72FD934E.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/image_5F00_72FD934E.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/image_thumb_0E35EC50.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/image_5F00_thumb_5F00_0E35EC50.png" width="827" height="232" /></a> </p> <p>&nbsp;</p> <p>&nbsp;</p> <p>However, my customer generated a deadlock and no SCOM Alert was generated.&nbsp; Looking in the Application Event Log on the SQL Server, we saw that the 1205 event was not logged.</p> <p>&nbsp;</p> <p>After doing some digging, I found that that SQL Server does not log this event by default…which was confirmed by running <font color="#800000"><em>Select * from sys.messages where message_id=1205</em></font> on the master database…the results showed is_event_logged=0:</p> <p>&nbsp;</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/image_3497CF9B.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/image_5F00_3497CF9B.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/image_thumb_44A69E52.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/image_5F00_thumb_5F00_44A69E52.png" width="911" height="409" /></a> </p> <p>&nbsp;</p> <p>&nbsp;</p> <p></p> <p></p> <p>To change this, we ran <font color="#800000"><em>Exec sp_altermessage 1205, &#39;WITH_LOG&#39;, &#39;true&#39;</em></font> and verified the change (is_event_logged=1):</p> <p>&nbsp;</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/image_11D697DE.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/image_5F00_11D697DE.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/image_thumb_1AC62A1D.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/image_5F00_thumb_5F00_1AC62A1D.png" width="745" height="364" /></a> </p> <p>&nbsp;</p> <p>&nbsp;</p> <p>Now I generate a deadlock and get the 1205 event in the Application Event Log:</p> <p>&nbsp;</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/image_1D02B2D9.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/image_5F00_1D02B2D9.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/image_thumb_1F3F3B95.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/image_5F00_thumb_5F00_1F3F3B95.png" width="878" height="183" /></a> </p> <p>&nbsp;</p> <p>&nbsp;</p> <p>And I get an Alert from the SQL Server Management Pack:</p> <p>&nbsp;</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/image_7EB7FBE2.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/image_5F00_7EB7FBE2.png"><img title="image" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;display:inline;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/image_thumb_0EC6CA9A.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/image_5F00_thumb_5F00_0EC6CA9A.png" width="936" height="323" /></a> </p> <p>&nbsp;</p> <p></p> <p>To generate a deadlock, I used the steps documented <a href="https://stackoverflow.com/questions/22825147/how-to-simulate-deadlock-on-sql-server">here</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>CPU/Memory Monitors – Include Top Processes in Alert Description</title>
      <link>https://docs.microsoft.com/archive/blogs/jimmyharper/cpumemory-monitors-include-top-processes-in-alert-description</link>
      <pubDate>Fri, 29 Aug 2014 13:03:00 GMT</pubDate>
      <dc:creator><![CDATA[Jimmy Harper]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jimmyharper/2014/08/29/cpumemory-monitors-include-top-processes-in-alert-description/</guid>
      <description><![CDATA[Here is a Management Pack that I wrote for a customer a while back.&nbsp; The requirement was to...]]></description>
      <content:encoded><![CDATA[<p>Here is a Management Pack that I wrote for a customer a while back.&nbsp; The requirement was to take the alerting for CPU Utilization and Available Memory from the Windows Server Management Pack and add the top 5 processes consuming CPU/Memory to the Alert Description.</p>
<p>The MP that I wrote for this is attached</p>
<ul>
<li>The MP contains replicas of the &ldquo;Available Megabytes of Memory&rdquo; and &ldquo;Total CPU Utilization Percentage&rdquo; Monitors from the Windows Server MPs</li>
<li>The only change is a modification to the VBScript to get the Top 5 processes and include them in the Property Bag and Alert.</li>
<li>The memory monitor will show the top 5 instances of Process\Private Bytes</li>
<li>The CPU monitor will show the top 5 instances of Process\% Processor Time</li>
<li>The MP has separate Monitors for Server 2003, 2008, 2008 R2 and 2012</li>
</ul>
<p>&nbsp;</p>
<p>Screenshots of the alerts are below:</p>
<p>&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/image_0052B3DB.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/image_5F00_0052B3DB.png"><img width="816" height="274" title="image" style="display:inline;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/image_thumb_14FCAEAE.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/image_5F00_thumb_5F00_14FCAEAE.png" border="0" /></a></p>
<p>&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/image_4BFE3EFA.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/image_5F00_4BFE3EFA.png"><img width="823" height="289" title="image" style="display:inline;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/66/99/metablogapi/image_thumb_07E28303.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-66-99-metablogapi/image_5F00_thumb_5F00_07E28303.png" border="0" /></a></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/telligent.evolution.components.attachments/01/6699/00/00/03/63/68/27/SAMPLE.Windows.Server.CPU_Memory.Monitoring.zip" original-url="https://blogs.technet.com/cfs-filesystemfile.ashx/__key/telligent-evolution-components-attachments/01-6699-00-00-03-63-68-27/SAMPLE.Windows.Server.CPU_5F00_Memory.Monitoring.zip">SAMPLE.Windows.Server.CPU_Memory.Monitoring.zip</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Several Management Packs Updated, fix for MaxConcurrentAPI Monitor included</title>
      <link>https://docs.microsoft.com/archive/blogs/jimmyharper/several-management-packs-updated-fix-for-maxconcurrentapi-monitor-included</link>
      <pubDate>Tue, 26 Aug 2014 13:34:34 GMT</pubDate>
      <dc:creator><![CDATA[Jimmy Harper]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/jimmyharper/2014/08/26/several-management-packs-updated-fix-for-maxconcurrentapi-monitor-included/</guid>
      <description><![CDATA[We recently released updated versions of several Management Packs, including the Windows Server OS...]]></description>
      <content:encoded><![CDATA[<p>We recently released updated versions of several Management Packs, including the Windows Server OS MP. Below are links to the updated MPs and the fixes that I am aware of:</p>  <p>&#160;</p>  <p><a href="https://www.microsoft.com/en-us/download/details.aspx?id=9296"><strong>Windows Server Operating System – Version 6.0.7230.0</strong></a></p>  <ul>   <li>Bug fixed: Microsoft.Windows.Server.LogicalDiskDiscovery.Module.Type.vbs script does not discover logical disks with large disk size</li>    <li>Update to support two configurable threshold values (waiters and timeouts) for triggering alert ‘MAX concurrent API Reached’</li> </ul>  <p>One change that may require some attention is the update to the “Max Concurrent API Monitor”.</p>  <p>In the previous version of the MP (6.0.7061.0), the Max Concurrent API monitor would run a script that looks at three Netlogon semaphore counters (Waiters, Holders, and Timeouts).&#160; If any of them are greater than 0 and less than 4gb, then we generate an alert. Some customers were seeing false alerts from the Monitor due to some of the counters (especially Semaphore Holders) being greater than zero during non-problematic conditions.</p>  <p>In the new version of the Management Pack, the Max Concurrent API Monitor has the following changes:</p>  <ul>   <li>The Semaphore Holders counter has been removed from the criteria that generates the alert</li>    <li>The Alert will only be generated if Semaphore Waiters or Timeouts exceed a defined threshold (instead of 0).&#160; These thresholds can be configured as needed via Overrides.&#160; The default thresholds are:</li>    </ul><ul>     <li>Semaphore Waiters = 50</li>      <li>Semaphore Timeouts = 2000        <br /></li>   </ul>   <p>More information on the MaxConcurrentAPI setting can be found <a href="https://support.microsoft.com/kb/2688798">here</a>.</p>  <p>&#160;</p>  <p><a href="https://www.microsoft.com/en-us/download/details.aspx?id=21357"><strong>Active Directory - Version 6.0.8293.0</strong></a></p>  <ul>   <li>Issue fixed: AD-Trust Monitor does not come back to healthy state</li>    <li>Issue fixed: AD_Database_and_Log.vbs does not support using ‘.’ as decimal sign for non-English account.</li> </ul>  <p>&#160;</p> <strong></strong>  <p><a href="https://www.microsoft.com/en-us/download/details.aspx?id=2268"><strong>Cluster – Version 6.0.7230.0</strong></a></p>  <ul>   <li>Issue fixed: Cluster 2008 MP does not collect certain performance metrics.</li> </ul>  <p>&#160;</p>  <p><a href="https://www.microsoft.com/en-us/download/details.aspx?id=37141"><strong>DNS – Version 7.1.10259.0</strong></a></p>  <ul>   <li>Issue fixed: DNSMetrics2012R2Probe script can cause high CPU in MonitoringHost.exe</li> </ul>  <p>&#160;</p> <strong></strong>  <p><a href="https://www.microsoft.com/en-us/download/details.aspx?id=39062"><strong>DHCP – Version 6.0.7230.0</strong></a></p>  <ul>   <li>Various issues fixed.</li> </ul>  <p>&#160;</p>  <p><a href="https://www.microsoft.com/en-us/download/details.aspx?id=12962"><strong>MSMQ 5.0</strong></a><strong> (6.0.6709.88)     <br /></strong><a href="https://www.microsoft.com/en-us/download/details.aspx?id=36775"><strong>MSMQ 6.0</strong></a><strong>&#160; (7.0.8569.0)     <br /></strong><a href="https://www.microsoft.com/en-us/download/details.aspx?id=41539"><strong>MSMQ 6.3</strong></a><strong> (7.1.10109.0)</strong></p>  <ul>   <li>Update to support monitoring workgroup machines</li> </ul>]]></content:encoded>
    </item>
  </channel>
</rss>