{"id":14027,"date":"2018-09-25T12:02:26","date_gmt":"2018-09-25T10:02:26","guid":{"rendered":"https:\/\/www.inovex.de\/blog\/?p=14027"},"modified":"2026-03-17T08:33:21","modified_gmt":"2026-03-17T07:33:21","slug":"trovilo-prometheus-alerts","status":"publish","type":"post","link":"https:\/\/www.inovex.de\/de\/blog\/trovilo-prometheus-alerts\/","title":{"rendered":"trovilo: Decentrally Configuring Prometheus Alerts"},"content":{"rendered":"<p>This article highlights\u00a0<a href=\"https:\/\/github.com\/inovex\/trovilo\">trovilo,\u00a0<\/a>a simple helper tool aiming to collect ConfigMaps (files) via the Kubernetes API and writing them down into the filesystem for further processing by apps like Prometheus or Grafana. Most of our (and our customers&#8216;!) IT projects heavily rely on free and open source software (FOSS), boosting our customer solutions to a technical level that is far more sustainable than any proprietary software we have used 1-2 decades ago. Open sourcing tools we developed is our way of\u00a0 giving back to the community\u2014via our central <a href=\"https:\/\/github.com\/inovex\">Github organization account<\/a>.\u00a0<!--more--><\/p>\n<blockquote class=\"twitter-tweet\">\n<p dir=\"ltr\" lang=\"en\">We \u2764\ufe0f Open Source! <a href=\"https:\/\/twitter.com\/arnoldbechtoldt?ref_src=twsrc%5Etfw\">@arnoldbechtoldt<\/a> and Christoph just added some docs to our lovely new Prometheus helper trovilo. Get it on Github: <a href=\"https:\/\/t.co\/2YIeOOpPaF\">https:\/\/t.co\/2YIeOOpPaF<\/a><\/p>\n<p>\u2014 inovex GmbH (@inovexgmbh) <a href=\"https:\/\/twitter.com\/inovexgmbh\/status\/1031527292802134016?ref_src=twsrc%5Etfw\">20. August 2018<\/a><\/p><\/blockquote>\n<p>&nbsp;<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_83 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\"><p class=\"ez-toc-title\" style=\"cursor:inherit\"><\/p>\n<\/div><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.inovex.de\/de\/blog\/trovilo-prometheus-alerts\/#What-Why\" >What &amp; Why<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.inovex.de\/de\/blog\/trovilo-prometheus-alerts\/#Big-Picture\" >Big Picture<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.inovex.de\/de\/blog\/trovilo-prometheus-alerts\/#Unlimited-Use-Cases\" >Unlimited Use Cases<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.inovex.de\/de\/blog\/trovilo-prometheus-alerts\/#Contributing-to-trovilo\" >Contributing to trovilo<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.inovex.de\/de\/blog\/trovilo-prometheus-alerts\/#Tell-me-more\" >Tell me more!<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"What-Why\"><\/span>What &amp; Why<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The short description on <a href=\"https:\/\/github.com\/inovex\/trovilo\">Github<\/a> sums it up:<\/p>\n<blockquote>\n<div class=\"f4\"><span class=\"text-gray-dark mr-2\">trovilo collects and prepares files from Kubernetes ConfigMaps for Prometheus &amp; friends<\/span><\/div>\n<\/blockquote>\n<p>And that&#8217;s it. trovilo runs as a tiny listener written in the awesome language Golang that watches Kubernetes ConfigMaps for e.g. user-initiated changes:<\/p>\n<ul>\n<li>new<\/li>\n<li>modified<\/li>\n<li>deleted<\/li>\n<\/ul>\n<p>It then deploys these ConfigMaps as arbitrary files into the local filesystem. As a sidecar container in a pod another container\/application like the montoring tool Prometheus can then consume these files for any use case (e.g. configuration). This is <strong>especially useful<\/strong>\u00a0when ConfigMaps are treated as interface\/vehicle to allow (any) Kubernetes user to configure apps without administrative Kubernetes (namespace\/pod) access:<\/p>\n<blockquote><p>As a developer and Kubernetes user I want to manage Prometheus alert rules so that I can receive alerts for my app metrics stored in Prometheus.<\/p><\/blockquote>\n<p>Prometheus itself is managed by the central Site Reliability Engineering team (SRE) while developers <strong>dev<\/strong>elop and <strong>op<\/strong>erate their applications on Kubernetes themselves. The so-called Prometheus alert rules, that are simple YAML files, need to be deployed into the filesystem that Prometheus has access to. trovilo just fills the gap while keeping existing domains untouched.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Big-Picture\"><\/span>Big Picture<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a href=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/09\/trovilo-workflow.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14054 size-large\" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/09\/trovilo-workflow-1024x802.png\" alt=\"Graphic depicting the trovilo workflow described below\" width=\"1024\" height=\"802\" srcset=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/09\/trovilo-workflow-1024x802.png 1024w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/09\/trovilo-workflow-300x235.png 300w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/09\/trovilo-workflow-768x602.png 768w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/09\/trovilo-workflow-1536x1204.png 1536w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/09\/trovilo-workflow-2048x1605.png 2048w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/09\/trovilo-workflow-1920x1505.png 1920w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/09\/trovilo-workflow-400x313.png 400w, https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/09\/trovilo-workflow-360x282.png 360w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>The picture explained in a few steps:<\/p>\n<ol>\n<li>Site Reliability Engineers deploy a monitoring stack containing trovilo into the Kubernetes namespace &#8222;Monitoring&#8220;, e.g. as a sidecar container.<\/li>\n<li>Developers deploy their app into their own Kubernetes namespace &#8222;MyApp&#8220; which is exposing Prometheus-compatible monitoring metrics (via HTTP).<\/li>\n<li>Developers deploy a Kubernetes ConfigMap &#8222;alert-rules&#8220; containing Prometheus-compatible alert rules (YAML files). These alert rules (or queries) match the application&#8217;s monitoring metrics.<\/li>\n<li>trovilo automatically detects the new or modified Kubernetes ConfigMap &#8222;alert-rules&#8220; (via Kubernetes API).<\/li>\n<li>trovilo downloads the Kubernetes ConfigMap &#8222;alert-rules&#8220;, saves its YAML files to the shared pod filesystem (EmptyDir) and triggers a Prometheus config reload.<\/li>\n<li>Prometheus is now aware of the new alert rule(s) initially authored by the developers. As soon as Prometheus detects <em>evil<\/em> MyApp monitoring metrics, it will notify developers about it.<\/li>\n<\/ol>\n<h2><span class=\"ez-toc-section\" id=\"Unlimited-Use-Cases\"><\/span>Unlimited Use Cases<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>As stated in the <a href=\"https:\/\/github.com\/inovex\/trovilo#philosophy\">README&#8217;s section\u00a0<em>Philosophy<\/em><\/a>, trovilo aims to keep ConfigMap processing generic and is not limited to serve alert rules to Prometheus. Though it was our first\u00a0reasonable use case. trovilo can also be used to service JSON dashboards to Grafana or any other tools that should be configured\u00a0<em>remotely<\/em> by Kubernetes users.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Contributing-to-trovilo\"><\/span>Contributing to trovilo<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Want to extend trovlio? Found a bug? Please don&#8217;t hesitate to <a href=\"https:\/\/github.com\/inovex\/trovilo\/issues\">raise a Github issue<\/a> so we can step into further discussions. If you have questions feel free to ask in the comment section below! \ud83d\ude42<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Tell-me-more\"><\/span>Tell me more!<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>If you like what we&#8217;re doing and want to join inovex, e.g. as a DevOps Engineer, Security Specialist or Cloud Platform Engineer, have a look at our current job openings.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article highlights\u00a0trovilo,\u00a0a simple helper tool aiming to collect ConfigMaps (files) via the Kubernetes API and writing them down into the filesystem for further processing by apps like Prometheus or Grafana. Most of our (and our customers&#8216;!) IT projects heavily rely on free and open source software (FOSS), boosting our customer solutions to a technical [&hellip;]<\/p>\n","protected":false},"author":21,"featured_media":14047,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"ep_exclude_from_search":false,"footnotes":""},"tags":[66],"service":[],"coauthors":[{"id":21,"display_name":"Arnold Bechtoldt","user_nicename":"abechtoldt"}],"class_list":["post-14027","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-devops"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>trovilo: Decentrally Configuring Prometheus Alerts - inovex GmbH<\/title>\n<meta name=\"description\" content=\"This article highlights\u00a0trovilo,\u00a0a simple helper tool collecting ConfigMaps via the Kubernetes API and writing them down into the filesystem for further processing by apps like Prometheus or Grafana.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.inovex.de\/de\/blog\/trovilo-prometheus-alerts\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"trovilo: Decentrally Configuring Prometheus Alerts - inovex GmbH\" \/>\n<meta property=\"og:description\" content=\"This article highlights\u00a0trovilo,\u00a0a simple helper tool collecting ConfigMaps via the Kubernetes API and writing them down into the filesystem for further processing by apps like Prometheus or Grafana.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.inovex.de\/de\/blog\/trovilo-prometheus-alerts\/\" \/>\n<meta property=\"og:site_name\" content=\"inovex GmbH\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/inovexde\" \/>\n<meta property=\"article:published_time\" content=\"2018-09-25T10:02:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-17T07:33:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/09\/trovilo-title.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Arnold Bechtoldt\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/09\/trovilo-title-1024x576.png\" \/>\n<meta name=\"twitter:creator\" content=\"@inovexgmbh\" \/>\n<meta name=\"twitter:site\" content=\"@inovexgmbh\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Arnold Bechtoldt\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"3\u00a0Minuten\" \/>\n\t<meta name=\"twitter:label3\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data3\" content=\"Arnold Bechtoldt\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/trovilo-prometheus-alerts\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/trovilo-prometheus-alerts\\\/\"},\"author\":{\"name\":\"Arnold Bechtoldt\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#\\\/schema\\\/person\\\/3cb57585db2220584e0f6e48d048cc60\"},\"headline\":\"trovilo: Decentrally Configuring Prometheus Alerts\",\"datePublished\":\"2018-09-25T10:02:26+00:00\",\"dateModified\":\"2026-03-17T07:33:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/trovilo-prometheus-alerts\\\/\"},\"wordCount\":592,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/trovilo-prometheus-alerts\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/2018\\\/09\\\/trovilo-title.png\",\"keywords\":[\"DevOps\"],\"articleSection\":[\"Applications\",\"English Content\",\"Infrastructure\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/trovilo-prometheus-alerts\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/trovilo-prometheus-alerts\\\/\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/trovilo-prometheus-alerts\\\/\",\"name\":\"trovilo: Decentrally Configuring Prometheus Alerts - inovex GmbH\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/trovilo-prometheus-alerts\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/trovilo-prometheus-alerts\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/2018\\\/09\\\/trovilo-title.png\",\"datePublished\":\"2018-09-25T10:02:26+00:00\",\"dateModified\":\"2026-03-17T07:33:21+00:00\",\"description\":\"This article highlights\u00a0trovilo,\u00a0a simple helper tool collecting ConfigMaps via the Kubernetes API and writing them down into the filesystem for further processing by apps like Prometheus or Grafana.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/trovilo-prometheus-alerts\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/trovilo-prometheus-alerts\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/trovilo-prometheus-alerts\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/2018\\\/09\\\/trovilo-title.png\",\"contentUrl\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/2018\\\/09\\\/trovilo-title.png\",\"width\":1920,\"height\":1080,\"caption\":\"Kubernetes data flowing into stylized graphs\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/trovilo-prometheus-alerts\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"trovilo: Decentrally Configuring Prometheus Alerts\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/\",\"name\":\"inovex GmbH\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#organization\",\"name\":\"inovex GmbH\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/inovex-logo-16-9-1.png\",\"contentUrl\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/inovex-logo-16-9-1.png\",\"width\":1921,\"height\":1081,\"caption\":\"inovex GmbH\"},\"image\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/inovexde\",\"https:\\\/\\\/x.com\\\/inovexgmbh\",\"https:\\\/\\\/www.instagram.com\\\/inovexlife\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/inovex\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UC7r66GT14hROB_RQsQBAQUQ\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#\\\/schema\\\/person\\\/3cb57585db2220584e0f6e48d048cc60\",\"name\":\"Arnold Bechtoldt\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0c28f8dbb67c94f608c092cc625fbf1b8bacff2b6ef0e6218c1d8fd87afc8393?s=96&d=retro&r=g18a91ac4e28685d3afe9ee4473a3b229\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0c28f8dbb67c94f608c092cc625fbf1b8bacff2b6ef0e6218c1d8fd87afc8393?s=96&d=retro&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0c28f8dbb67c94f608c092cc625fbf1b8bacff2b6ef0e6218c1d8fd87afc8393?s=96&d=retro&r=g\",\"caption\":\"Arnold Bechtoldt\"},\"url\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/author\\\/abechtoldt\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"trovilo: Decentrally Configuring Prometheus Alerts - inovex GmbH","description":"This article highlights\u00a0trovilo,\u00a0a simple helper tool collecting ConfigMaps via the Kubernetes API and writing them down into the filesystem for further processing by apps like Prometheus or Grafana.","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:\/\/www.inovex.de\/de\/blog\/trovilo-prometheus-alerts\/","og_locale":"de_DE","og_type":"article","og_title":"trovilo: Decentrally Configuring Prometheus Alerts - inovex GmbH","og_description":"This article highlights\u00a0trovilo,\u00a0a simple helper tool collecting ConfigMaps via the Kubernetes API and writing them down into the filesystem for further processing by apps like Prometheus or Grafana.","og_url":"https:\/\/www.inovex.de\/de\/blog\/trovilo-prometheus-alerts\/","og_site_name":"inovex GmbH","article_publisher":"https:\/\/www.facebook.com\/inovexde","article_published_time":"2018-09-25T10:02:26+00:00","article_modified_time":"2026-03-17T07:33:21+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/09\/trovilo-title.png","type":"image\/png"}],"author":"Arnold Bechtoldt","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/09\/trovilo-title-1024x576.png","twitter_creator":"@inovexgmbh","twitter_site":"@inovexgmbh","twitter_misc":{"Verfasst von":"Arnold Bechtoldt","Gesch\u00e4tzte Lesezeit":"3\u00a0Minuten","Written by":"Arnold Bechtoldt"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.inovex.de\/de\/blog\/trovilo-prometheus-alerts\/#article","isPartOf":{"@id":"https:\/\/www.inovex.de\/de\/blog\/trovilo-prometheus-alerts\/"},"author":{"name":"Arnold Bechtoldt","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/3cb57585db2220584e0f6e48d048cc60"},"headline":"trovilo: Decentrally Configuring Prometheus Alerts","datePublished":"2018-09-25T10:02:26+00:00","dateModified":"2026-03-17T07:33:21+00:00","mainEntityOfPage":{"@id":"https:\/\/www.inovex.de\/de\/blog\/trovilo-prometheus-alerts\/"},"wordCount":592,"commentCount":1,"publisher":{"@id":"https:\/\/www.inovex.de\/de\/#organization"},"image":{"@id":"https:\/\/www.inovex.de\/de\/blog\/trovilo-prometheus-alerts\/#primaryimage"},"thumbnailUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/09\/trovilo-title.png","keywords":["DevOps"],"articleSection":["Applications","English Content","Infrastructure"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.inovex.de\/de\/blog\/trovilo-prometheus-alerts\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.inovex.de\/de\/blog\/trovilo-prometheus-alerts\/","url":"https:\/\/www.inovex.de\/de\/blog\/trovilo-prometheus-alerts\/","name":"trovilo: Decentrally Configuring Prometheus Alerts - inovex GmbH","isPartOf":{"@id":"https:\/\/www.inovex.de\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.inovex.de\/de\/blog\/trovilo-prometheus-alerts\/#primaryimage"},"image":{"@id":"https:\/\/www.inovex.de\/de\/blog\/trovilo-prometheus-alerts\/#primaryimage"},"thumbnailUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/09\/trovilo-title.png","datePublished":"2018-09-25T10:02:26+00:00","dateModified":"2026-03-17T07:33:21+00:00","description":"This article highlights\u00a0trovilo,\u00a0a simple helper tool collecting ConfigMaps via the Kubernetes API and writing them down into the filesystem for further processing by apps like Prometheus or Grafana.","breadcrumb":{"@id":"https:\/\/www.inovex.de\/de\/blog\/trovilo-prometheus-alerts\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.inovex.de\/de\/blog\/trovilo-prometheus-alerts\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/blog\/trovilo-prometheus-alerts\/#primaryimage","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/09\/trovilo-title.png","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2018\/09\/trovilo-title.png","width":1920,"height":1080,"caption":"Kubernetes data flowing into stylized graphs"},{"@type":"BreadcrumbList","@id":"https:\/\/www.inovex.de\/de\/blog\/trovilo-prometheus-alerts\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.inovex.de\/de\/"},{"@type":"ListItem","position":2,"name":"trovilo: Decentrally Configuring Prometheus Alerts"}]},{"@type":"WebSite","@id":"https:\/\/www.inovex.de\/de\/#website","url":"https:\/\/www.inovex.de\/de\/","name":"inovex GmbH","description":"","publisher":{"@id":"https:\/\/www.inovex.de\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.inovex.de\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.inovex.de\/de\/#organization","name":"inovex GmbH","url":"https:\/\/www.inovex.de\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png","width":1921,"height":1081,"caption":"inovex GmbH"},"image":{"@id":"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/inovexde","https:\/\/x.com\/inovexgmbh","https:\/\/www.instagram.com\/inovexlife\/","https:\/\/www.linkedin.com\/company\/inovex","https:\/\/www.youtube.com\/channel\/UC7r66GT14hROB_RQsQBAQUQ"]},{"@type":"Person","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/3cb57585db2220584e0f6e48d048cc60","name":"Arnold Bechtoldt","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/0c28f8dbb67c94f608c092cc625fbf1b8bacff2b6ef0e6218c1d8fd87afc8393?s=96&d=retro&r=g18a91ac4e28685d3afe9ee4473a3b229","url":"https:\/\/secure.gravatar.com\/avatar\/0c28f8dbb67c94f608c092cc625fbf1b8bacff2b6ef0e6218c1d8fd87afc8393?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0c28f8dbb67c94f608c092cc625fbf1b8bacff2b6ef0e6218c1d8fd87afc8393?s=96&d=retro&r=g","caption":"Arnold Bechtoldt"},"url":"https:\/\/www.inovex.de\/de\/blog\/author\/abechtoldt\/"}]}},"_links":{"self":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/14027","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/comments?post=14027"}],"version-history":[{"count":2,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/14027\/revisions"}],"predecessor-version":[{"id":66578,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/14027\/revisions\/66578"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/media\/14047"}],"wp:attachment":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/media?parent=14027"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/tags?post=14027"},{"taxonomy":"service","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/service?post=14027"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/coauthors?post=14027"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}