{"id":193,"date":"2019-12-22T17:02:57","date_gmt":"2019-12-22T16:02:57","guid":{"rendered":"http:\/\/thomas-kopton.de\/vblog\/?p=193"},"modified":"2019-12-22T17:04:23","modified_gmt":"2019-12-22T16:04:23","slug":"maintenance-mode-for-vrealize-operations-objects-part-2","status":"publish","type":"post","link":"https:\/\/thomas-kopton.de\/vblog\/?p=193","title":{"rendered":"Maintenance Mode for vRealize Operations Objects, Part 2"},"content":{"rendered":"\n<p><a href=\"https:\/\/thomas-kopton.de\/vblog\/?p=157\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Part 1 (opens in a new tab)\">Part 1<\/a> of the \u201cMaintenance Mode in vRealize Operations\u201d blog series focused on a very basic scenario.<\/p>\n\n\n\n<p>Simplified, we turned off data collection and made the object basically not existent from vROps point of view as the requirements were straight forward. To accomplish this, we used the <strong>vROps Maintenance<\/strong> feature. <\/p>\n\n\n\n<p>In this part we consider a slightly <strong>more complex scenario<\/strong>. The use case for this blog post is:<\/p>\n\n\n\n<p>\u201cIn case of ESXi host maintenance mode I do not want to receive any alerts for the affected Host System objects.\u201d As always during assessment we collected following additional information: <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>There are only <strong>few ESXi hosts<\/strong> in maintenance at the same time<\/li><li>The team doing the maintenance in vCenter has <strong>read-only access to vROps UI<\/strong><\/li><li><strong>Automation<\/strong> could be used but is not mandatory<\/li><li><strong>Metrics<\/strong> and <strong>properties<\/strong> need to be <strong>collected<\/strong> during the maintenance<\/li><\/ul>\n\n\n\n<p>Obviously,\nwe cannot use the vROps Maintenance feature as this would violate the last\nrequirement and the vCenter team would need additional permissions in vROps.<\/p>\n\n\n\n<p>The <strong>ingredients<\/strong> for one possible solution are:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>vCenter Maintenance Mode<\/strong> \u2013 Interface for the vCenter team to start the host maintenance<\/li><li><strong>vROps Policy<\/strong> \u2013 place where we modify the behavior of vROps with regard to distinct objects<\/li><li><strong>vROps Custom Group<\/strong> \u2013 place where we group objects to apply a vROps policy to them<\/li><\/ul>\n\n\n\n<p>The following picture describes (simplified) the model of Objects, Custom Groups and Policies in vROps: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1602\" height=\"902\" src=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-1-1.png\" alt=\"\" class=\"wp-image-197\" srcset=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-1-1.png 1602w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-1-1-300x169.png 300w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-1-1-1024x577.png 1024w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-1-1-768x432.png 768w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-1-1-1536x865.png 1536w\" sizes=\"auto, (max-width: 1602px) 100vw, 1602px\" \/><figcaption><em>Figure 1: Simplified object model &#8211; vROps objects and policies<\/em><\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Step 1 \u2013 Create a vROps Policy which implements the requirements. <\/h4>\n\n\n\n<p>In our case\nthe requirement is to disable all alerts for Host Systems during ESXi\nmaintenance hence we need a vROps Policy in which we are going to disable the\ncorresponding alert definitions.<\/p>\n\n\n\n<p>A new policy is being created based on an existing one, so only few changes will be needed to tweak the default behavior of vROps.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1602\" height=\"927\" src=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-2-1.png\" alt=\"\" class=\"wp-image-200\" srcset=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-2-1.png 1602w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-2-1-300x174.png 300w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-2-1-1024x593.png 1024w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-2-1-768x444.png 768w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-2-1-1536x889.png 1536w\" sizes=\"auto, (max-width: 1602px) 100vw, 1602px\" \/><figcaption><em>Figure 2: Creating new vROps Policy<\/em><br><\/figcaption><\/figure>\n\n\n\n<p>In my test environment I am using my default policy as the base line for the new policy.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"699\" height=\"1024\" src=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-3-1-699x1024.png\" alt=\"\" class=\"wp-image-202\" srcset=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-3-1-699x1024.png 699w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-3-1-205x300.png 205w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-3-1.png 743w\" sizes=\"auto, (max-width: 699px) 100vw, 699px\" \/><figcaption><em>Figure 3: Setting the policy baseline<\/em><\/figcaption><\/figure>\n\n\n\n<p>We go to the Alert Definitions section and disable the corresponding alert definitions for the Host System objects.<\/p>\n\n\n\n<p>To reduce the list of alert definitions some filtering options may be applied. In the following picture you see filters for object type and the current state of the alert definitions. We do not care about disabled alert definitions as this is the is the desired state.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1602\" height=\"597\" src=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-4-1.png\" alt=\"\" class=\"wp-image-204\" srcset=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-4-1.png 1602w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-4-1-300x112.png 300w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-4-1-1024x382.png 1024w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-4-1-768x286.png 768w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-4-1-1536x572.png 1536w\" sizes=\"auto, (max-width: 1602px) 100vw, 1602px\" \/><figcaption><em>Figure 4: Alert definitions &#8211; display filter<\/em><\/figcaption><\/figure>\n\n\n\n<p>The easiest way to get rid of all vROps Host System related alerts is to select all alert definitions in the list and disable them locally.<\/p>\n\n\n\n<p class=\"has-text-color has-vivid-red-color\"><strong>NOTE:<\/strong> This is a very simplified approach. In real life scenarios the requirements may be more complex and could result in alert definitions left enabled even during ESXi maintenance operations.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1602\" height=\"750\" src=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-5-1.png\" alt=\"\" class=\"wp-image-206\" srcset=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-5-1.png 1602w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-5-1-300x140.png 300w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-5-1-1024x479.png 1024w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-5-1-768x360.png 768w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-5-1-1536x719.png 1536w\" sizes=\"auto, (max-width: 1602px) 100vw, 1602px\" \/><figcaption><em>Figure 5: Disabling all Alert Definitions<\/em> &#8211; 1<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"563\" src=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-6-1-1024x563.png\" alt=\"\" class=\"wp-image-208\" srcset=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-6-1-1024x563.png 1024w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-6-1-300x165.png 300w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-6-1-768x422.png 768w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-6-1-1536x845.png 1536w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-6-1.png 1602w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption><em>Figure 6: Disabling all Alert Definitions<\/em> &#8211; 2<\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Step 2 \u2013 Create vROps Custom Group which will contain ESXi hosts being in Maintenance Mode <\/h4>\n\n\n\n<p>Following the simplified object model we need a dedicated vROps Custom Group to pool the objects we want to receive the new policy.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1602\" height=\"779\" src=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-7-1.png\" alt=\"\" class=\"wp-image-209\" srcset=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-7-1.png 1602w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-7-1-300x146.png 300w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-7-1-1024x498.png 1024w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-7-1-768x373.png 768w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-7-1-1536x747.png 1536w\" sizes=\"auto, (max-width: 1602px) 100vw, 1602px\" \/><figcaption><em>Figure 7: Creating a vROps Custom Group<\/em><\/figcaption><\/figure>\n\n\n\n<p>\u201c<strong>Group Type<\/strong>\u201d is just an arbitrary categorization to reflect your environment, once you have created a custom group, you cannot change the \u201cGroup Type\u201d (at least not using the UI).<\/p>\n\n\n\n<p>In <strong>Policy<\/strong> we select the newly created vROps Policy which disables the alert definitions.<\/p>\n\n\n\n<p>\u201c<strong>Keep group membership up to date<\/strong>\u201d ticked ensures that the membership will be re-validated every 20 minutes.<\/p>\n\n\n\n<p>To tell vROps which object should be members of the group we need to specify appropriate <strong>membership criteria<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1343\" height=\"1089\" src=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-8-1.png\" alt=\"\" class=\"wp-image-211\" srcset=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-8-1.png 1343w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-8-1-300x243.png 300w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-8-1-1024x830.png 1024w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-8-1-768x623.png 768w\" sizes=\"auto, (max-width: 1343px) 100vw, 1343px\" \/><figcaption><em>Figure 8: Specifying the vROps Custom Group<\/em> &#8211; 1<\/figcaption><\/figure>\n\n\n\n<p>In the previous figure we select the &#8220;Maintenance Mode&#8221; property of the Host System object type as the criteria to determine if a certain ESXi host system should become member of the custom group or not.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1602\" height=\"710\" src=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-9-1.png\" alt=\"\" class=\"wp-image-215\" srcset=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-9-1.png 1602w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-9-1-300x133.png 300w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-9-1-1024x454.png 1024w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-9-1-768x340.png 768w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-9-1-1536x681.png 1536w\" sizes=\"auto, (max-width: 1602px) 100vw, 1602px\" \/><\/figure>\n\n\n\n<p>In the following picture we see a host being in vCenter Maintenance Mode.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2008\" height=\"810\" src=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-10-1.png\" alt=\"\" class=\"wp-image-214\" srcset=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-10-1.png 2008w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-10-1-300x121.png 300w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-10-1-1024x413.png 1024w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-10-1-768x310.png 768w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-10-1-1536x620.png 1536w\" sizes=\"auto, (max-width: 2008px) 100vw, 2008px\" \/><figcaption><em>Figure 10: vCenter &#8211; ESXi in Maintenance Mode<\/em><\/figcaption><\/figure>\n\n\n\n<p>The &#8220;Preview&#8221; button let us check the configured membership criteria.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1116\" height=\"1089\" src=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-11-1.png\" alt=\"\" class=\"wp-image-216\" srcset=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-11-1.png 1116w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-11-1-300x293.png 300w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-11-1-1024x999.png 1024w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-11-1-768x749.png 768w\" sizes=\"auto, (max-width: 1116px) 100vw, 1116px\" \/><figcaption><em>Figure 11: <\/em>Host in Maintenance Mode and member of the custom group<\/figcaption><\/figure>\n\n\n\n<p>Now the ESXi host system is member of the custom group and receives the new policy which disables all alert definitions for this particular object. In vROps one can see the current policy for any selected object in the upper right corner.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"319\" src=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-12-1024x319.png\" alt=\"\" class=\"wp-image-219\" srcset=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-12-1024x319.png 1024w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-12-300x93.png 300w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-12-768x239.png 768w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-12-1536x478.png 1536w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-12-2048x637.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption><em>Figure 12: <\/em>Host in Maintenance Mode receiving the new vROps Policy<\/figcaption><\/figure>\n\n\n\n<p>Once the maintenance has been completed, vCenter admin disables the Maintenance Mode in vCenter and after up to 20 minutes the ESXi host is no longer member of our custom group and the previous (could be default) policy is being applied again.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"3818\" height=\"1200\" src=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-13.png\" alt=\"\" class=\"wp-image-221\" srcset=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-13.png 3818w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-13-300x94.png 300w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-13-1024x322.png 1024w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-13-768x241.png 768w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-13-1536x483.png 1536w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-13-2048x644.png 2048w\" sizes=\"auto, (max-width: 3818px) 100vw, 3818px\" \/><figcaption><em>Figure 13: <\/em>Maintenance Mode ended &#8211; ESXi host receiving the original vROps Policy<\/figcaption><\/figure>\n\n\n\n<p>As you probably noticed, one drawback of this method is a possible<strong> gap of max. 20 minutes <\/strong>between entering the vCenter Maintenance Mode for a host and vROps completing the re-evaluation of the custom group membership. That fact should be taken into account while designing the maintenance procedure.<\/p>\n\n\n\n<p>In case automation plays a role in your environment and the policy needs to be applied immediately after entering the vCenter Maintenance Mode the corresponding vROps REST API call can be leveraged to programatically retrieve a list of ESXi hosts from vCenter and populate the custom group with the appropriate vROps objects. But this is another story&#8230;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"494\" src=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-14-1024x494.png\" alt=\"\" class=\"wp-image-226\" srcset=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-14-1024x494.png 1024w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-14-300x145.png 300w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-14-768x371.png 768w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-14-1536x741.png 1536w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-14-2048x989.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption><em>Figure 14: <\/em>vROps Custom Group REST API method<\/figcaption><\/figure>\n\n\n\n<p>In <strong>Part 3<\/strong> I will focus on use cases comprising additional objects types.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Part 1 of the \u201cMaintenance Mode in vRealize Operations\u201d blog series focused on a very basic scenario. Simplified, we turned off data collection and made the object basically not existent from vROps point of view as the requirements were straight forward. To accomplish this, we used the vROps Maintenance feature. In this part we consider &#8230;<\/p>\n","protected":false},"author":1,"featured_media":214,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[27,28,3],"class_list":["post-193","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vrops","tag-customgroup","tag-policy","tag-vrops"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Maintenance Mode for vRealize Operations Objects, Part 2 - TOMsOps<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thomas-kopton.de\/vblog\/?p=193\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Maintenance Mode for vRealize Operations Objects, Part 2 - TOMsOps\" \/>\n<meta property=\"og:description\" content=\"Part 1 of the \u201cMaintenance Mode in vRealize Operations\u201d blog series focused on a very basic scenario. Simplified, we turned off data collection and made the object basically not existent from vROps point of view as the requirements were straight forward. To accomplish this, we used the vROps Maintenance feature. In this part we consider ...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thomas-kopton.de\/vblog\/?p=193\" \/>\n<meta property=\"og:site_name\" content=\"TOMsOps\" \/>\n<meta property=\"article:published_time\" content=\"2019-12-22T16:02:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-12-22T16:04:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-10-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2008\" \/>\n\t<meta property=\"og:image:height\" content=\"810\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Thomas Kopton\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Thomas Kopton\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=193#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=193\"},\"author\":{\"name\":\"Thomas Kopton\",\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/#\\\/schema\\\/person\\\/892d6b96c66b1dd4b75c6e32fdbfea82\"},\"headline\":\"Maintenance Mode for vRealize Operations Objects, Part 2\",\"datePublished\":\"2019-12-22T16:02:57+00:00\",\"dateModified\":\"2019-12-22T16:04:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=193\"},\"wordCount\":913,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=193#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/wp-content\\\/uploads\\\/2019\\\/12\\\/Picture-10-1.png\",\"keywords\":[\"CustomGroup\",\"Policy\",\"vROps\"],\"articleSection\":[\"vROps\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=193#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=193\",\"url\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=193\",\"name\":\"Maintenance Mode for vRealize Operations Objects, Part 2 - TOMsOps\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=193#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=193#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/wp-content\\\/uploads\\\/2019\\\/12\\\/Picture-10-1.png\",\"datePublished\":\"2019-12-22T16:02:57+00:00\",\"dateModified\":\"2019-12-22T16:04:23+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/#\\\/schema\\\/person\\\/892d6b96c66b1dd4b75c6e32fdbfea82\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=193#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=193\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=193#primaryimage\",\"url\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/wp-content\\\/uploads\\\/2019\\\/12\\\/Picture-10-1.png\",\"contentUrl\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/wp-content\\\/uploads\\\/2019\\\/12\\\/Picture-10-1.png\",\"width\":2008,\"height\":810},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=193#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Maintenance Mode for vRealize Operations Objects, Part 2\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/#website\",\"url\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/\",\"name\":\"TOMsOps\",\"description\":\"Just another VMware Cloud Management Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/#\\\/schema\\\/person\\\/892d6b96c66b1dd4b75c6e32fdbfea82\",\"name\":\"Thomas Kopton\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e746aafbd3733172ceb4d600ba1feda61bc87cd3b70f5a9dfb581907cc7973b1?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e746aafbd3733172ceb4d600ba1feda61bc87cd3b70f5a9dfb581907cc7973b1?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e746aafbd3733172ceb4d600ba1feda61bc87cd3b70f5a9dfb581907cc7973b1?s=96&d=mm&r=g\",\"caption\":\"Thomas Kopton\"},\"url\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Maintenance Mode for vRealize Operations Objects, Part 2 - TOMsOps","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thomas-kopton.de\/vblog\/?p=193","og_locale":"en_US","og_type":"article","og_title":"Maintenance Mode for vRealize Operations Objects, Part 2 - TOMsOps","og_description":"Part 1 of the \u201cMaintenance Mode in vRealize Operations\u201d blog series focused on a very basic scenario. Simplified, we turned off data collection and made the object basically not existent from vROps point of view as the requirements were straight forward. To accomplish this, we used the vROps Maintenance feature. In this part we consider ...","og_url":"https:\/\/thomas-kopton.de\/vblog\/?p=193","og_site_name":"TOMsOps","article_published_time":"2019-12-22T16:02:57+00:00","article_modified_time":"2019-12-22T16:04:23+00:00","og_image":[{"width":2008,"height":810,"url":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-10-1.png","type":"image\/png"}],"author":"Thomas Kopton","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Thomas Kopton","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thomas-kopton.de\/vblog\/?p=193#article","isPartOf":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=193"},"author":{"name":"Thomas Kopton","@id":"https:\/\/thomas-kopton.de\/vblog\/#\/schema\/person\/892d6b96c66b1dd4b75c6e32fdbfea82"},"headline":"Maintenance Mode for vRealize Operations Objects, Part 2","datePublished":"2019-12-22T16:02:57+00:00","dateModified":"2019-12-22T16:04:23+00:00","mainEntityOfPage":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=193"},"wordCount":913,"commentCount":0,"image":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=193#primaryimage"},"thumbnailUrl":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-10-1.png","keywords":["CustomGroup","Policy","vROps"],"articleSection":["vROps"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thomas-kopton.de\/vblog\/?p=193#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thomas-kopton.de\/vblog\/?p=193","url":"https:\/\/thomas-kopton.de\/vblog\/?p=193","name":"Maintenance Mode for vRealize Operations Objects, Part 2 - TOMsOps","isPartOf":{"@id":"https:\/\/thomas-kopton.de\/vblog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=193#primaryimage"},"image":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=193#primaryimage"},"thumbnailUrl":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-10-1.png","datePublished":"2019-12-22T16:02:57+00:00","dateModified":"2019-12-22T16:04:23+00:00","author":{"@id":"https:\/\/thomas-kopton.de\/vblog\/#\/schema\/person\/892d6b96c66b1dd4b75c6e32fdbfea82"},"breadcrumb":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=193#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thomas-kopton.de\/vblog\/?p=193"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/thomas-kopton.de\/vblog\/?p=193#primaryimage","url":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-10-1.png","contentUrl":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2019\/12\/Picture-10-1.png","width":2008,"height":810},{"@type":"BreadcrumbList","@id":"https:\/\/thomas-kopton.de\/vblog\/?p=193#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thomas-kopton.de\/vblog"},{"@type":"ListItem","position":2,"name":"Maintenance Mode for vRealize Operations Objects, Part 2"}]},{"@type":"WebSite","@id":"https:\/\/thomas-kopton.de\/vblog\/#website","url":"https:\/\/thomas-kopton.de\/vblog\/","name":"TOMsOps","description":"Just another VMware Cloud Management Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thomas-kopton.de\/vblog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/thomas-kopton.de\/vblog\/#\/schema\/person\/892d6b96c66b1dd4b75c6e32fdbfea82","name":"Thomas Kopton","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/e746aafbd3733172ceb4d600ba1feda61bc87cd3b70f5a9dfb581907cc7973b1?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/e746aafbd3733172ceb4d600ba1feda61bc87cd3b70f5a9dfb581907cc7973b1?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e746aafbd3733172ceb4d600ba1feda61bc87cd3b70f5a9dfb581907cc7973b1?s=96&d=mm&r=g","caption":"Thomas Kopton"},"url":"https:\/\/thomas-kopton.de\/vblog\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/posts\/193","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=193"}],"version-history":[{"count":22,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/posts\/193\/revisions"}],"predecessor-version":[{"id":229,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/posts\/193\/revisions\/229"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/media\/214"}],"wp:attachment":[{"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=193"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=193"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=193"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}