{"id":27892,"date":"2023-09-19T14:37:40","date_gmt":"2023-09-19T12:37:40","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=27892"},"modified":"2024-09-11T10:16:10","modified_gmt":"2024-09-11T08:16:10","slug":"adapt-zabbix-to-your-needs","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/adapt-zabbix-to-your-needs\/","title":{"rendered":"Adapt Zabbix to Your Needs"},"content":{"rendered":"\n<p>Zabbix comes with an long list of smart and customizable templates (more than 270). In this blog post, I will explain how to customize these templates and adapt them to your environment&#8217;s needs.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-macro\">Macro<\/h2>\n\n\n\n<p>The first level of customization is the macro. There are several types of macros:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>{MACRO}<\/code> built-in macro<\/li>\n\n\n\n<li><code>{&lt;macro&gt;.&lt;func&gt;(&lt;params&gt;)}<\/code> macro functions<\/li>\n\n\n\n<li><code>{$MACRO}<\/code> user-defined macro<\/li>\n\n\n\n<li><code>{#MACRO}<\/code> macro for low-level discovery<\/li>\n\n\n\n<li><code>{?EXPRESSION}<\/code> expression macro<\/li>\n<\/ul>\n\n\n\n<p>For templates, it declares user-defined macros (ie. with $ sign).<\/p>\n\n\n\n<p>By looking at Linux by <em>Zabbix agent template<\/em>, we can see that it defines 28 macros. You can either get that list from Zabbix user interface or on Zabbix <a href=\"https:\/\/www.zabbix.com\/integrations\/linux\" target=\"_blank\" rel=\"noreferrer noopener\">web site<\/a>. We can classify them in different category:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Threshold in value:<br>For example, <code>$VFS.FS.FREE.MIN.CRIT<\/code> is &#8220;the critical threshold for utilization of the filesystem&#8221; with a default value of 5G<\/li>\n\n\n\n<li>Threshold in percent:<br>For example, <code>$MEMORY.UTIL.MAX<\/code> is a &#8220;macro used as a threshold in the memory utilization trigger&#8221; with a default value of 90 (%)<\/li>\n\n\n\n<li>Discovery filter:<br>For example, <code>$VFS.FS.FSNAME.NOT_MATCHES<\/code> is the macro used for discovery of the filesystems. Default value is <code>^(\/dev|\/sys|\/run|\/proc|.+\/shm$)<\/code>. This avoids monitoring non-relevant filesystem.<\/li>\n<\/ul>\n\n\n\n<p>It is nice that these can be customized, but where should we do it?<\/p>\n\n\n\n<p>If a macro is global to your environment, the default value can be changed at template level.<\/p>\n\n\n\n<p>It is also possible to set macro at host level. Typically, when you monitor servers with different partition sizes, you don&#8217;t want to set the same thresholds. Small aside, the template trigger expression uses multiple macros to reduce customization required at the minimal.<\/p>\n\n\n\n<p>How does it do it? By combining thresholds by percent and value. Let&#8217;s take &#8220;Disk space is low&#8221; as an example. Trigger will be raised when:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Partition usage (%) is above <code>$VFS.FS.PUSED.MAX.WARN<\/code> (default = 80)<br>AND<\/li>\n\n\n\n<li>A combination with an OR of these two conditions:\n<ul class=\"wp-block-list\">\n<li>(Partition size &#8211; Partition used) is below <code>$VFS.FS.FREE.MIN.WARN<\/code> (default = 10G)<\/li>\n\n\n\n<li><code>timeleft<\/code> which is a function predicting when partition will reach a threshold based on past data evolution. This is also a cool feature of Zabbix \ud83d\ude42<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-user-macros-with-context\">User Macros with Context<\/h2>\n\n\n\n<p>When you set a macro&#8217;s value at host level, it will be applied to all occurrences of the macro, but in some cases, you might not want to do that. A classic example is when you want to differentiate partition usage thresholds per partition on same host. If we look at trigger from previous chapter in more details, we can see that point 1 expression definition is:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>last(\/Linux by Zabbix agent\/vfs.fs.dependent.size&#091;{#FSNAME},pused])&gt;{$VFS.FS.PUSED.MAX.WARN:<strong>\"{#FSNAME}\"<\/strong>}<\/code><\/pre>\n\n\n\n<p>The context here is the low level discovery macro which equals the file system name (<code>#FSNAME<\/code>). That means instead of defining a global to host value (which you can still do if desired), you can set per partition values. For example:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>$VFS.FS.PUSED.MAX.WARN<\/code> = 90<\/li>\n\n\n\n<li><code>$VFS.FS.PUSED.MAX.WARN:\/home<\/code> = 60<\/li>\n\n\n\n<li><code>$VFS.FS.PUSED.MAX.WARN:\/var\/log<\/code> = 75<\/li>\n<\/ul>\n\n\n\n<p>In plain English, this means that the applied threshold will be 60% for \/home, 75% for \/var\/log and 90% for any other discovered partitions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-overriding-discovery-rules\">Overriding Discovery Rules<\/h2>\n\n\n\n<p>Another way to have customization is to use &#8220;<em>Overrides<\/em>&#8221; feature of the <em>Discovery Rules<\/em>. <mark class=\"has-inline-color has-luminous-vivid-orange-color\">Low Level Discovery<\/mark>, aka LLD, is one of my favorite features of Zabbix templates as it avoids manual declaration of many Zabbix entities to declare (for instance, network interfaces of server, pluggable databases of an Oracle instance). You can achieve the same goal as user macros with context, and much more complex filtering and operations.<\/p>\n\n\n\n<p>With current version of the &#8220;<em>Linux by Zabbix agent<\/em>&#8221; template, each discovered filesystem will create 6 items based on the following 6 items prototypes:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"766\" height=\"253\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/09\/2023-09-19-09_18_13-zabbix_-Configuration-of-item-prototypes-\u2014-Mozilla-Firefox.png\" alt=\"\" class=\"wp-image-27908\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/09\/2023-09-19-09_18_13-zabbix_-Configuration-of-item-prototypes-\u2014-Mozilla-Firefox.png 766w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/09\/2023-09-19-09_18_13-zabbix_-Configuration-of-item-prototypes-\u2014-Mozilla-Firefox-300x99.png 300w\" sizes=\"auto, (max-width: 766px) 100vw, 766px\" \/><\/figure>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nImagine that you don&#039;t want to monitor any NFS share mounted on the server but the &quot;Filesystem is read-only&quot; item as usage is already monitored through another host (the one which is hosting the filesystem).\n<\/pre><\/div>\n\n\n<p>If template is used as is, LLD will automatically create these items for \/mnt\/nfs mount point:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"996\" height=\"230\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/09\/2023-09-19-09_24_57-zabbix_-Latest-data-\u2014-Mozilla-Firefox.png\" alt=\"\" class=\"wp-image-27909\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/09\/2023-09-19-09_24_57-zabbix_-Latest-data-\u2014-Mozilla-Firefox.png 996w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/09\/2023-09-19-09_24_57-zabbix_-Latest-data-\u2014-Mozilla-Firefox-300x69.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/09\/2023-09-19-09_24_57-zabbix_-Latest-data-\u2014-Mozilla-Firefox-768x177.png 768w\" sizes=\"auto, (max-width: 996px) 100vw, 996px\" \/><\/figure>\n\n\n\n<p>I just want to keep the one named &#8220;\/mnt\/nfs: Filesystem is read-only&#8221;. I must also keep &#8220;<em>\/mnt\/nfs: Filesystem is read-only<\/em>&#8221; as it is the master item (ie. &#8220;<em>Filesystem is read-only<\/em>&#8221; depends on &#8220;<em>Filesystem is read-only<\/em>&#8220;). Dependent item is another great feature of Zabbix to avoid unnecessary load on agent and Zabbix poller as agent is queried only <span style=\"text-decoration: underline\">once<\/span> for all items on the screenshot.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-add-a-discover-rule\">Add a Discover Rule<\/h3>\n\n\n\n<p>The first step is to find where to define the new override. So, I go in the template, then <em>Discover rules<\/em> where I can find the &#8220;Mounted filesystem discovery&#8221; rule:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"755\" height=\"392\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/09\/2023-09-19-14_14_35-zabbix_-Configuration-of-discovery-rules-\u2014-Mozilla-Firefox.png\" alt=\"\" class=\"wp-image-27913\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/09\/2023-09-19-14_14_35-zabbix_-Configuration-of-discovery-rules-\u2014-Mozilla-Firefox.png 755w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/09\/2023-09-19-14_14_35-zabbix_-Configuration-of-discovery-rules-\u2014-Mozilla-Firefox-300x156.png 300w\" sizes=\"auto, (max-width: 755px) 100vw, 755px\" \/><\/figure>\n\n\n\n<p>Next, I go in Overrides tab and click the small <em>Add <\/em>button:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"863\" height=\"254\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/09\/2023-09-19-14_12_35-zabbix_-Configuration-of-discovery-rules-\u2014-Mozilla-Firefox.png\" alt=\"\" class=\"wp-image-27914\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/09\/2023-09-19-14_12_35-zabbix_-Configuration-of-discovery-rules-\u2014-Mozilla-Firefox.png 863w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/09\/2023-09-19-14_12_35-zabbix_-Configuration-of-discovery-rules-\u2014-Mozilla-Firefox-300x88.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/09\/2023-09-19-14_12_35-zabbix_-Configuration-of-discovery-rules-\u2014-Mozilla-Firefox-768x226.png 768w\" sizes=\"auto, (max-width: 863px) 100vw, 863px\" \/><\/figure>\n\n\n\n<p>Then, I can name it and add a filter. In my case, if #FSNAME macro contains nfs, I will apply it:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"893\" height=\"281\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/09\/2023-09-19-14_17_42-zabbix_-Configuration-of-discovery-rules-\u2014-Mozilla-Firefox.png\" alt=\"\" class=\"wp-image-27915\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/09\/2023-09-19-14_17_42-zabbix_-Configuration-of-discovery-rules-\u2014-Mozilla-Firefox.png 893w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/09\/2023-09-19-14_17_42-zabbix_-Configuration-of-discovery-rules-\u2014-Mozilla-Firefox-300x94.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/09\/2023-09-19-14_17_42-zabbix_-Configuration-of-discovery-rules-\u2014-Mozilla-Firefox-768x242.png 768w\" sizes=\"auto, (max-width: 893px) 100vw, 893px\" \/><\/figure>\n\n\n\n<p>Now, I must add an operation in other words, what should this override do when filter is matching?<\/p>\n\n\n\n<p>I want to avoid discovering anything that is not one of the two items. This is done by a regular expression and Discover option set to No:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"669\" height=\"324\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/09\/2023-09-19-14_20_09-zabbix_-Configuration-of-discovery-rules-\u2014-Mozilla-Firefox.png\" alt=\"\" class=\"wp-image-27916\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/09\/2023-09-19-14_20_09-zabbix_-Configuration-of-discovery-rules-\u2014-Mozilla-Firefox.png 669w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/09\/2023-09-19-14_20_09-zabbix_-Configuration-of-discovery-rules-\u2014-Mozilla-Firefox-300x145.png 300w\" sizes=\"auto, (max-width: 669px) 100vw, 669px\" \/><\/figure>\n\n\n\n<p>That implies that the following items will pass the condition as they do not match and will not be discovered:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Free inodes in %<\/li>\n\n\n\n<li>Space utilization<\/li>\n\n\n\n<li>Total space<\/li>\n\n\n\n<li>Used space<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusion<\/h2>\n\n\n\n<p>Clearly, the last method is more complex, but it is also much more powerful. For instance, you can customize the item update interval, storage and trend duration as well as tags on specific entities (Items, Triggers, Graphs or Hosts prototypes).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Zabbix comes with an long list of smart and customizable templates (more than 270). In this blog post, I will explain how to customize these templates and adapt them to your environment&#8217;s needs. Macro The first level of customization is the macro. There are several types of macros: For templates, it declares user-defined macros (ie. [&hellip;]<\/p>\n","protected":false},"author":40,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[197],"tags":[2136,2430],"type_dbi":[],"class_list":["post-27892","post","type-post","status-publish","format-standard","hentry","category-application-integration-middleware","tag-template-file","tag-zabbix"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Adapt Zabbix to Your Needs - dbi Blog<\/title>\n<meta name=\"description\" content=\"Zabbix comes with an long list of smart and customizable templates (more than 270). In this blog post, I will explain how to customize these templates and adapt them to your environment&#039;s needs.\" \/>\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.dbi-services.com\/blog\/adapt-zabbix-to-your-needs\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Adapt Zabbix to Your Needs\" \/>\n<meta property=\"og:description\" content=\"Zabbix comes with an long list of smart and customizable templates (more than 270). In this blog post, I will explain how to customize these templates and adapt them to your environment&#039;s needs.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/adapt-zabbix-to-your-needs\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-09-19T12:37:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-11T08:16:10+00:00\" \/>\n<meta name=\"author\" content=\"Middleware Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Middleware Team\" \/>\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:\\\/\\\/www.dbi-services.com\\\/blog\\\/adapt-zabbix-to-your-needs\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/adapt-zabbix-to-your-needs\\\/\"},\"author\":{\"name\":\"Middleware Team\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/8d8563acfc6e604cce6507f45bac0ea1\"},\"headline\":\"Adapt Zabbix to Your Needs\",\"datePublished\":\"2023-09-19T12:37:40+00:00\",\"dateModified\":\"2024-09-11T08:16:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/adapt-zabbix-to-your-needs\\\/\"},\"wordCount\":816,\"commentCount\":0,\"keywords\":[\"Template file\",\"Zabbix\"],\"articleSection\":[\"Application integration &amp; Middleware\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/adapt-zabbix-to-your-needs\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/adapt-zabbix-to-your-needs\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/adapt-zabbix-to-your-needs\\\/\",\"name\":\"Adapt Zabbix to Your Needs - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"datePublished\":\"2023-09-19T12:37:40+00:00\",\"dateModified\":\"2024-09-11T08:16:10+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/8d8563acfc6e604cce6507f45bac0ea1\"},\"description\":\"Zabbix comes with an long list of smart and customizable templates (more than 270). In this blog post, I will explain how to customize these templates and adapt them to your environment's needs.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/adapt-zabbix-to-your-needs\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/adapt-zabbix-to-your-needs\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/adapt-zabbix-to-your-needs\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Adapt Zabbix to Your Needs\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/8d8563acfc6e604cce6507f45bac0ea1\",\"name\":\"Middleware Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g\",\"caption\":\"Middleware Team\"},\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/middleware-team\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Adapt Zabbix to Your Needs - dbi Blog","description":"Zabbix comes with an long list of smart and customizable templates (more than 270). In this blog post, I will explain how to customize these templates and adapt them to your environment's needs.","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.dbi-services.com\/blog\/adapt-zabbix-to-your-needs\/","og_locale":"en_US","og_type":"article","og_title":"Adapt Zabbix to Your Needs","og_description":"Zabbix comes with an long list of smart and customizable templates (more than 270). In this blog post, I will explain how to customize these templates and adapt them to your environment's needs.","og_url":"https:\/\/www.dbi-services.com\/blog\/adapt-zabbix-to-your-needs\/","og_site_name":"dbi Blog","article_published_time":"2023-09-19T12:37:40+00:00","article_modified_time":"2024-09-11T08:16:10+00:00","author":"Middleware Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Middleware Team","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/adapt-zabbix-to-your-needs\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/adapt-zabbix-to-your-needs\/"},"author":{"name":"Middleware Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1"},"headline":"Adapt Zabbix to Your Needs","datePublished":"2023-09-19T12:37:40+00:00","dateModified":"2024-09-11T08:16:10+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/adapt-zabbix-to-your-needs\/"},"wordCount":816,"commentCount":0,"keywords":["Template file","Zabbix"],"articleSection":["Application integration &amp; Middleware"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/adapt-zabbix-to-your-needs\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/adapt-zabbix-to-your-needs\/","url":"https:\/\/www.dbi-services.com\/blog\/adapt-zabbix-to-your-needs\/","name":"Adapt Zabbix to Your Needs - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2023-09-19T12:37:40+00:00","dateModified":"2024-09-11T08:16:10+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1"},"description":"Zabbix comes with an long list of smart and customizable templates (more than 270). In this blog post, I will explain how to customize these templates and adapt them to your environment's needs.","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/adapt-zabbix-to-your-needs\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/adapt-zabbix-to-your-needs\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/adapt-zabbix-to-your-needs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Adapt Zabbix to Your Needs"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1","name":"Middleware Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g","caption":"Middleware Team"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/middleware-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/27892","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/40"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=27892"}],"version-history":[{"count":17,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/27892\/revisions"}],"predecessor-version":[{"id":27920,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/27892\/revisions\/27920"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=27892"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=27892"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=27892"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=27892"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}