{"id":5,"date":"2021-09-09T21:35:00","date_gmt":"2021-09-09T21:35:00","guid":{"rendered":"http:\/\/monitoringstuff.com\/?p=5"},"modified":"2021-09-09T21:38:36","modified_gmt":"2021-09-09T21:38:36","slug":"scom-resource-pools-part-1-how-why-to-create-one","status":"publish","type":"post","link":"https:\/\/monitoringstuff.com\/?p=5","title":{"rendered":"SCOM Resource Pools, part 1: how &#038; why to create one"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Creating a SCOM Management Pack is not the hardest thing in the world, as long as you want to monitor something on a single box. There\u2019s&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/channel9.msdn.com\/Series\/System-Center-2012-R2-Operations-Manager-Management-Packs\" target=\"_blank\">an excellent course by Brian Wren on Channel9<\/a>, and Kevin Holman has made life a whole lot easier by publishing his famous&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/kevinholman.com\/2016\/06\/04\/authoring-management-packs-the-fast-and-easy-way-using-visual-studio\/\" target=\"_blank\">VSAE fragments<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But what if you want to monitor larger entities, like firewall clusters or storage arrays? Preferably by using not a single point of failure? Well, SCOM has a solution for this: Resource Pools. Kevin has written a great&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/kevinholman.com\/2016\/11\/21\/understanding-scom-resource-pools\/\" target=\"_blank\">blog post<\/a>&nbsp;on these, detailing how to populate them and what the requirements are, if you want high availability.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Some time ago, we started getting complaints from one of our systems management teams. We have quite a large number of Web Application Availability Monitoring configurations active, and these were using the agents on two dedicated servers. One of these was experiencing problems, causing false alerts. We ended up reinstalling it, but that left us with something I despise: reconfiguring all the web monitors, manually.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That started me thinking about the Resource Pools. What if we could move the web monitors to a Resource Pool? Better yet, what if we could set up our own Resource Pool \u2013 and use that to run workflows on as we saw fit? Would that be feasible?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It took some time, but yes \u2013 that will work. It turns out that creating your own Resource Pool isn\u2019t even that hard, and using the Powershell scripts from Kevins blog you can populate them with any Management Servers you want to use for this purpose. It\u2019s even possible to include agents \u2013&nbsp;<em><strong>but please keep in mind, Microsoft does not support using agents in a Resource Pool<\/strong><\/em><strong>.&nbsp;<\/strong>That being said, we have this exact setup running \u2013 without any problems so far.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The XML is quite simple, if you know how to read SCOM MP&#8217;s. For obvious reasons, it contains a class for the Resource Pool:<\/p>\n\n\n\n<pre class=\"wp-block-code #bbpress-forums div.bbp-topic-content code, div.bbp-reply-content pre, pre { color: #ff0000; background-color: #0000ff; border-color: #00ff00; }\"><code><span class=\"has-inline-color has-bright-blue-color\">&lt;ClassType ID=\"MoSt.Custom.ResourcePool.Class\" Base=\"SC!Microsoft.SystemCenter.ManagementServicePool\" Accessibility=\"Public\" Abstract=\"false\" Hosted=\"false\" Singleton=\"true\">&lt;\/ClassType><\/span>\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">There is, however, no way to discover a Resource Pool. The discovery is done by discovering the Resource Pool Watcher:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><span class=\"has-inline-color has-bright-blue-color\">&lt;ConditionDetection ID=\"Mapper\" TypeID=\"System!System.Discovery.ClassSnapshotDataMapper\">\n  &lt;ClassId>$MPElement&#91;Name=\"SC!Microsoft.SystemCenter.ManagementServicePoolWatcher\"]$&lt;\/ClassId>\n    &lt;InstanceSettings>\n      &lt;Settings>\n        &lt;Setting>\n          &lt;Name>$MPElement&#91;Name=\"SC!Microsoft.SystemCenter.ManagementServicePoolWatcher\"]\/PoolId$&lt;\/Name>\n          &lt;Value>$Target\/Id$&lt;\/Value>\n        &lt;\/Setting>\n        &lt;Setting>\n          &lt;Name>$MPElement&#91;Name=\"SC!Microsoft.SystemCenter.ManagementServiceRuntimePool\"]\/Name$&lt;\/Name>\n          &lt;Value>Custom Resource Pool by MonitoringStuff&lt;\/Value>\n        &lt;\/Setting>\n        &lt;Setting>\n          &lt;Name>$MPElement&#91;Name=\"SC!Microsoft.SystemCenter.ManagementServicePoolWatcher\"]\/PoolName$&lt;\/Name>\n          &lt;Value>$Target\/Property&#91;Type=\"System!System.Entity\"]\/DisplayName$&lt;\/Value>\n        &lt;\/Setting>\n        &lt;Setting>\n          &lt;Name>$MPElement&#91;Name=\"System!System.Entity\"]\/DisplayName$&lt;\/Name>\n          &lt;Value>$Target\/Property&#91;Type=\"System!System.Entity\"]\/DisplayName$ Watcher&lt;\/Value>\n        &lt;\/Setting>\n      &lt;\/Settings>\n    &lt;\/InstanceSettings>\n&lt;\/ConditionDetection><\/span>\n\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">With this XML, you should be able to create a SCOM Resource Pool to provide highly available monitoring ; the complete file is available <a href=\"https:\/\/github.com\/gleversluis\/monitoringstuff\/blob\/main\/MoSt.CustomResourcePool.xml\" target=\"_blank\" rel=\"noreferrer noopener\">on Github<\/a>. However, you might want to wait &#8211; I&#8217;m working on a complete, sealed MP with some classes that are targeted against this Resource Pool, ready to use. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Keep monitoring!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Creating a SCOM Management Pack is not the hardest thing in the world, as long as you want to monitor something on a single box. There\u2019s&nbsp;an excellent course by Brian Wren on Channel9, and Kevin Holman has made life a whole lot easier by publishing his famous&nbsp;VSAE fragments. But what if you want to monitor &hellip; <a href=\"https:\/\/monitoringstuff.com\/?p=5\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">SCOM Resource Pools, part 1: how &#038; why to create one<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-5","post","type-post","status-publish","format-standard","hentry","category-scom"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/monitoringstuff.com\/index.php?rest_route=\/wp\/v2\/posts\/5","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/monitoringstuff.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/monitoringstuff.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/monitoringstuff.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/monitoringstuff.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5"}],"version-history":[{"count":15,"href":"https:\/\/monitoringstuff.com\/index.php?rest_route=\/wp\/v2\/posts\/5\/revisions"}],"predecessor-version":[{"id":124,"href":"https:\/\/monitoringstuff.com\/index.php?rest_route=\/wp\/v2\/posts\/5\/revisions\/124"}],"wp:attachment":[{"href":"https:\/\/monitoringstuff.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/monitoringstuff.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/monitoringstuff.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}