{"id":2491,"date":"2026-10-29T10:32:06","date_gmt":"2026-10-29T09:32:06","guid":{"rendered":"https:\/\/thomas-kopton.de\/vblog\/?p=2491"},"modified":"2026-10-29T10:40:27","modified_gmt":"2026-10-29T09:40:27","slug":"vcf-operations-super-metrics-part-3-filtering-logic","status":"publish","type":"post","link":"https:\/\/thomas-kopton.de\/vblog\/?p=2491","title":{"rendered":"VMware VCF Operations Super Metrics from 0 to Hero \u2013 Part 3: Filtering and Logic"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">At the end of <a href=\"https:\/\/thomas-kopton.de\/vblog\/?p=2488\">Part 2<\/a> I left you with a flawed formula. Our vCPU to pCore ratio summed the vCPUs of <em><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">every<\/mark><\/em> VM in the cluster, including the ones that have been powered off for months. A customer looking at that number would see an overcommitment that doesn\u2019t exist.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So far, a resource entry has used every object it found. In this part we get picky: only powered-on VMs, only fresh data, only VMs above a threshold. And we turn numbers into states that alerts and dashboards can act on.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The WHERE clause<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The <code>where<\/code> clause sits <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">inside<\/mark><\/strong> the resource entry and is evaluated <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">per object, before aggregation<\/mark><\/strong>. An object that doesn\u2019t pass is simply ignored.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The simplest form filters on the value itself. <code>$value<\/code> is the metric the resource entry reads:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>count(${adaptertype=VMWARE, objecttype=VirtualMachine, metric=cpu|usage_average, depth=2, where=($value &gt; 80)})<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Assigned to a cluster, this counts the VMs running above 80% CPU. Combined with count, the where clause becomes one of the most useful tools we have.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Filtering on a different metric<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Often, the condition is about a different metric of the same object. For that, you put a resource entry <em><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-purple-color\">inside<\/mark><\/em> the <code>where<\/code> clause, with only a metric and no adaptertype or objecttype:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>where=(${metric=sys|poweredOn} == 1)<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This reads <code>sys|poweredOn<\/code> of the very VM being evaluated. And that fixes the ratio from Part 2:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sum(${adaptertype=VMWARE, objecttype=VirtualMachine, metric=config|hardware|num_Cpu, depth=2, where=(${metric=sys|poweredOn} == 1)}) \/ sum(${adaptertype=VMWARE, objecttype=HostSystem, metric=hardware|cpuinfo|num_CpuCores, depth=1})<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Put both versions side by side on the same cluster. The difference is the vCPU allocated to powered-off VMs, which is a good conversation starter on its own.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Conditions can be combined with <code>&amp;&amp;<\/code> (and), <code>||<\/code> (or) and <code>!<\/code> (not), and compared with <code>==<\/code>, <code>!=<\/code>, <code>&lt;<\/code>, <code>&lt;=<\/code>, &gt; and <code>&gt;=<\/code>. Here is a rightsizing view in a single number, the idle VMs that are actually running:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>count(${adaptertype=VMWARE, objecttype=VirtualMachine, metric=cpu|usage_average, depth=2, where=($value &lt; 5 &amp;&amp; ${metric=sys|poweredOn} == 1)})<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Without the second condition, every powered-off VM would count as idle, too.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2026\/10\/image-3.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"556\" src=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2026\/10\/image-3-1024x556.png\" alt=\"\" class=\"wp-image-2520\" srcset=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2026\/10\/image-3-1024x556.png 1024w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2026\/10\/image-3-767x416.png 767w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2026\/10\/image-3-1536x833.png 1536w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2026\/10\/image-3-300x163.png 300w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2026\/10\/image-3-2048x1111.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\"><em>Figure 01: Super Metric with a filtering function.<\/em><\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Don\u2019t trust stale data: isFresh()<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Here is a subtle one. When a host or VM stops reporting, its last value doesn\u2019t disappear. Without precautions, that frozen number keeps flowing into your average or sum.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <code>isFresh()<\/code> function protects against that. It returns true when the last data point of a metric is newer than the metric\u2019s expected publishing interval:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>avg(${adaptertype=VMWARE, objecttype=HostSystem, metric=cpu|usage_average, depth=1, where=($value.isFresh())})<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">It combines with other conditions like any other expression:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>where=($value &lt; 5 &amp;&amp; $value.isFresh() &amp;&amp; ${metric=sys|poweredOn} == 1)<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I add <code>isFresh()<\/code> to most aggregating KPIs that feed alerts or dashboards. A KPI that silently reports yesterday\u2019s value is worse than one that reports nothing.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Matching on text<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The <code>where<\/code> clause also understands string operators for string metrics and properties: <code>equals<\/code>, <code>contains<\/code>, <code>startsWith<\/code>, <code>endsWith<\/code> and their negations. For example, counting Linux VMs in a cluster:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>count(${adaptertype=VMWARE, objecttype=VirtualMachine, metric=sys|poweredOn, depth=2, where=\"summary|guest|fullName contains Linux\"})<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Property keys can differ between versions, so pick the guest OS key with autocomplete and confirm the result with Preview. A word of advice: if your filter describes a business scope (all SAP VMs, all VMs of tenant X), a custom group is usually the cleaner solution. More on that in Part 4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For another real-world filtering example, see my earlier post <a href=\"https:\/\/thomas-kopton.de\/vblog\/?p=894\">Exclude \u201cAggregate\u201d Instanced Metric using vRealize Operations Super Metric<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Turning numbers into decisions: conditional expressions<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The ternary operator is an if-else in one line: <code>condition ? value_if_true : value_if_false<\/code>. Ternaries can contain any expression, including other ternaries. That makes them perfect for status codes:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Name: <code>YourPrefix - Cluster Host CPU Status<\/code> &#8211; Assigned to: Cluster Compute Resource, Unit: none<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>max(${adaptertype=VMWARE, objecttype=HostSystem, metric=cpu|usage_average, depth=1}) &gt; 80 ? 2 : (max(${adaptertype=VMWARE, objecttype=HostSystem, metric=cpu|usage_average, depth=1}) &gt; 60 ? 1 : 0)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The status follows the busiest host in the cluster. Read it as: if any host is above 80% CPU usage, return 2 (critical); otherwise, if any host is above 60%, return 1 (warning); otherwise return 0 (healthy). The formula reads the host metric through a looping function, because <code>cpu|usage_average<\/code> is a metric of the hosts, not of the cluster object. The resource entry appears twice here, in Part 4 we\u2019ll see how an alias avoids that.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Why convert a perfectly good percentage into 0, 1 and 2? Because:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A heatmap with three discrete values is readable at a glance across hundreds of objects.<\/li>\n\n\n\n<li>One symptom, \u201cgreater than or equal to 2\u201d, is all you need to alert on it.<\/li>\n\n\n\n<li>The thresholds live in one place: change the super metric, and every dashboard and alert follows.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">One caveat: a status code throws information away. Keep the raw KPI next to it.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Try it<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">On <strong>Cluster Compute Resource<\/strong>, build:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code>YourPrefix - Count Idle VMs<\/code>: below 5% CPU and powered on.<\/li>\n\n\n\n<li><code>YourPrefix - vCPU to pCore Ratio (Powered On)<\/code>: the fixed ratio, compared with the Part 2 version.<\/li>\n\n\n\n<li><code>YourPrefix- Cluster CPU Status<\/code>: the 0\/1\/2 status code. Adjust the thresholds so you see more than one state in your lab.<\/li>\n\n\n\n<li>Bonus: add <code>isFresh()<\/code> to the idle VM count.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">What\u2019s next<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">You can now pick exactly the objects you want and turn values into states. In <strong>Part 4<\/strong> we look at the patterns that turn a working formula into a production KPI: aliasing, safe division, custom groups and keeping thousands of super metric computations cheap.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Stay<\/mark><\/strong> <strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f5d800\" class=\"has-inline-color\">safe<\/mark><\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Thomas \u2013&nbsp;<a href=\"https:\/\/twitter.com\/ThomasKopton\">https:\/\/twitter.com\/ThomasKopton<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>At the end of Part 2 I left you with a flawed formula. Our vCPU to pCore ratio summed the vCPUs of every VM in the cluster, including the ones that have been powered off for months. A customer looking at that number would see an overcommitment that doesn\u2019t exist. So far, a resource entry &#8230;<\/p>\n","protected":false},"author":1,"featured_media":2542,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[57,15,14,95,93,34,2],"tags":[58,94],"class_list":["post-2491","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aria-operations","category-super-metric","category-supermetric","category-vcf","category-vcf-operations","category-vrealize-operations","category-vrops","tag-aria-operations","tag-vcf-operations"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>VMware VCF Operations Super Metrics from 0 to Hero \u2013 Part 3: Filtering and Logic - TOMsOps<\/title>\n<meta name=\"description\" content=\"Learn how VCF Operations Super Metrics work: resource entries, metric keys, depth and the editor. Part 1 of a 5-part series, from first formula to KPIs.\" \/>\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=2491\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"VMware VCF Operations Super Metrics from 0 to Hero \u2013 Part 3: Filtering and Logic - TOMsOps\" \/>\n<meta property=\"og:description\" content=\"Learn how VCF Operations Super Metrics work: resource entries, metric keys, depth and the editor. Part 1 of a 5-part series, from first formula to KPIs.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thomas-kopton.de\/vblog\/?p=2491\" \/>\n<meta property=\"og:site_name\" content=\"TOMsOps\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-29T09:32:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-29T09:40:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2026\/10\/image-4-scaled.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1150\" \/>\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=\"4 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=2491#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=2491\"},\"author\":{\"name\":\"Thomas Kopton\",\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/#\\\/schema\\\/person\\\/892d6b96c66b1dd4b75c6e32fdbfea82\"},\"headline\":\"VMware VCF Operations Super Metrics from 0 to Hero \u2013 Part 3: Filtering and Logic\",\"datePublished\":\"2026-10-29T09:32:06+00:00\",\"dateModified\":\"2026-10-29T09:40:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=2491\"},\"wordCount\":765,\"commentCount\":1,\"image\":{\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=2491#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/image-4-scaled.png\",\"keywords\":[\"Aria Operations\",\"VCF Operations\"],\"articleSection\":[\"Aria Operations\",\"Super Metric\",\"SuperMetric\",\"VCF\",\"VCF Operations\",\"vRealize Operations\",\"vROps\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=2491#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=2491\",\"url\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=2491\",\"name\":\"VMware VCF Operations Super Metrics from 0 to Hero \u2013 Part 3: Filtering and Logic - TOMsOps\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=2491#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=2491#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/image-4-scaled.png\",\"datePublished\":\"2026-10-29T09:32:06+00:00\",\"dateModified\":\"2026-10-29T09:40:27+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/#\\\/schema\\\/person\\\/892d6b96c66b1dd4b75c6e32fdbfea82\"},\"description\":\"Learn how VCF Operations Super Metrics work: resource entries, metric keys, depth and the editor. Part 1 of a 5-part series, from first formula to KPIs.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=2491#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=2491\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=2491#primaryimage\",\"url\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/image-4-scaled.png\",\"contentUrl\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/image-4-scaled.png\",\"width\":2560,\"height\":1150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\\\/?p=2491#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thomas-kopton.de\\\/vblog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"VMware VCF Operations Super Metrics from 0 to Hero \u2013 Part 3: Filtering and Logic\"}]},{\"@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":"VMware VCF Operations Super Metrics from 0 to Hero \u2013 Part 3: Filtering and Logic - TOMsOps","description":"Learn how VCF Operations Super Metrics work: resource entries, metric keys, depth and the editor. Part 1 of a 5-part series, from first formula to KPIs.","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=2491","og_locale":"en_US","og_type":"article","og_title":"VMware VCF Operations Super Metrics from 0 to Hero \u2013 Part 3: Filtering and Logic - TOMsOps","og_description":"Learn how VCF Operations Super Metrics work: resource entries, metric keys, depth and the editor. Part 1 of a 5-part series, from first formula to KPIs.","og_url":"https:\/\/thomas-kopton.de\/vblog\/?p=2491","og_site_name":"TOMsOps","article_published_time":"2026-10-29T09:32:06+00:00","article_modified_time":"2026-10-29T09:40:27+00:00","og_image":[{"width":2560,"height":1150,"url":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2026\/10\/image-4-scaled.png","type":"image\/png"}],"author":"Thomas Kopton","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Thomas Kopton","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thomas-kopton.de\/vblog\/?p=2491#article","isPartOf":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=2491"},"author":{"name":"Thomas Kopton","@id":"https:\/\/thomas-kopton.de\/vblog\/#\/schema\/person\/892d6b96c66b1dd4b75c6e32fdbfea82"},"headline":"VMware VCF Operations Super Metrics from 0 to Hero \u2013 Part 3: Filtering and Logic","datePublished":"2026-10-29T09:32:06+00:00","dateModified":"2026-10-29T09:40:27+00:00","mainEntityOfPage":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=2491"},"wordCount":765,"commentCount":1,"image":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=2491#primaryimage"},"thumbnailUrl":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2026\/10\/image-4-scaled.png","keywords":["Aria Operations","VCF Operations"],"articleSection":["Aria Operations","Super Metric","SuperMetric","VCF","VCF Operations","vRealize Operations","vROps"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thomas-kopton.de\/vblog\/?p=2491#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thomas-kopton.de\/vblog\/?p=2491","url":"https:\/\/thomas-kopton.de\/vblog\/?p=2491","name":"VMware VCF Operations Super Metrics from 0 to Hero \u2013 Part 3: Filtering and Logic - TOMsOps","isPartOf":{"@id":"https:\/\/thomas-kopton.de\/vblog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=2491#primaryimage"},"image":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=2491#primaryimage"},"thumbnailUrl":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2026\/10\/image-4-scaled.png","datePublished":"2026-10-29T09:32:06+00:00","dateModified":"2026-10-29T09:40:27+00:00","author":{"@id":"https:\/\/thomas-kopton.de\/vblog\/#\/schema\/person\/892d6b96c66b1dd4b75c6e32fdbfea82"},"description":"Learn how VCF Operations Super Metrics work: resource entries, metric keys, depth and the editor. Part 1 of a 5-part series, from first formula to KPIs.","breadcrumb":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=2491#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thomas-kopton.de\/vblog\/?p=2491"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/thomas-kopton.de\/vblog\/?p=2491#primaryimage","url":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2026\/10\/image-4-scaled.png","contentUrl":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2026\/10\/image-4-scaled.png","width":2560,"height":1150},{"@type":"BreadcrumbList","@id":"https:\/\/thomas-kopton.de\/vblog\/?p=2491#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thomas-kopton.de\/vblog"},{"@type":"ListItem","position":2,"name":"VMware VCF Operations Super Metrics from 0 to Hero \u2013 Part 3: Filtering and Logic"}]},{"@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\/2491","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=2491"}],"version-history":[{"count":25,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/posts\/2491\/revisions"}],"predecessor-version":[{"id":2572,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/posts\/2491\/revisions\/2572"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/media\/2542"}],"wp:attachment":[{"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2491"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2491"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2491"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}