{"id":26281,"date":"2023-06-27T12:07:13","date_gmt":"2023-06-27T10:07:13","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=26281"},"modified":"2024-09-11T10:18:32","modified_gmt":"2024-09-11T08:18:32","slug":"zabbix-from-problem-to-remediation","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/zabbix-from-problem-to-remediation\/","title":{"rendered":"Zabbix from Problem to Remediation"},"content":{"rendered":"\n<p>Until now, in my previous blog posts, we did not cover one of the main features of any monitoring platform: <strong>Alarming<\/strong>. In Zabbix, it is named <strong>triggers<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-item-and-trigger\">Item and Trigger<\/h2>\n\n\n\n<p>Trigger is based on an item calculation. Thus, the first thing to do is to create an item.<\/p>\n\n\n\n<p>So, let&#8217;s create a simple check HTTPS port like the following:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"799\" height=\"747\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-08_49_26-zabbix_-Configuration-of-items-\u2014-Mozilla-Firefox.png\" alt=\"\" class=\"wp-image-26333\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-08_49_26-zabbix_-Configuration-of-items-\u2014-Mozilla-Firefox.png 799w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-08_49_26-zabbix_-Configuration-of-items-\u2014-Mozilla-Firefox-300x280.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-08_49_26-zabbix_-Configuration-of-items-\u2014-Mozilla-Firefox-768x718.png 768w\" sizes=\"auto, (max-width: 799px) 100vw, 799px\" \/><\/figure>\n\n\n\n<p>As you can see, this is of type <em>Simple Check<\/em>, and it tests if a service is running and accepting TCP connections. Note that this item was created in a template for easier setup.<\/p>\n\n\n\n<p>We can check the historical data of this status:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"195\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-09_03_52-zabbix_-History-refreshed-every-30-sec.-\u2014-Mozilla-Firefox-1024x195.png\" alt=\"\" class=\"wp-image-26335\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-09_03_52-zabbix_-History-refreshed-every-30-sec.-\u2014-Mozilla-Firefox-1024x195.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-09_03_52-zabbix_-History-refreshed-every-30-sec.-\u2014-Mozilla-Firefox-300x57.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-09_03_52-zabbix_-History-refreshed-every-30-sec.-\u2014-Mozilla-Firefox-768x146.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-09_03_52-zabbix_-History-refreshed-every-30-sec.-\u2014-Mozilla-Firefox-1536x292.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-09_03_52-zabbix_-History-refreshed-every-30-sec.-\u2014-Mozilla-Firefox.png 1698w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Trigger Setup<\/h2>\n\n\n\n<p>Next step is to define a trigger on this item. In the same <em>Web Service<\/em> template, I go into <em>Triggers<\/em> tab and click <em>Create trigger<\/em> button. <\/p>\n\n\n\n<p>I name the trigger and select severity. The interesting part is the expression:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nlast(\/Web Service\/net.tcp.service&#x5B;https,,8443],#1)=0\n<\/pre><\/div>\n\n\n<p>Let&#8217;s try to understand that formula by decomposing it:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>last<\/code>: Takes the last available value of the item<\/li>\n\n\n\n<li><code>\/Web Service\/net.tcp.service[https,,8443]<\/code>: The template name followed by the check<\/li>\n\n\n\n<li><code>#1<\/code>: Is the latest value available. You can go further by looking at N# most recent value<\/li>\n\n\n\n<li><code>=0<\/code>: To indicate that trigger is raised when result of last evaluation is 0, meaning port is not reachable<\/li>\n<\/ul>\n\n\n\n<p>This is a first try in an attempt of auto-recovery as this test does not really check that application is responding. Only TCP connectivity is tested (TCP might be OK, when web application is not).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Action and Script<\/h2>\n\n\n\n<p>What follows is the creation of a script that will run when the trigger change to problem state. Go in Alerts and scripts. Scripts command are as follow:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nsudo -u mdw_user jcmd `pgrep java` Thread.print &gt; \/tmp\/java_stack_`pgrep java`.txt\nsudo systemctl restart mdw_user_WildFly.service\n<\/pre><\/div>\n\n\n<p>Before doing the restart, I am getting a stack trace:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"546\" height=\"430\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_15_08-zabbix_-Configuration-of-scripts-\u2014-Mozilla-Firefox.png\" alt=\"\" class=\"wp-image-26338\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_15_08-zabbix_-Configuration-of-scripts-\u2014-Mozilla-Firefox.png 546w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_15_08-zabbix_-Configuration-of-scripts-\u2014-Mozilla-Firefox-300x236.png 300w\" sizes=\"auto, (max-width: 546px) 100vw, 546px\" \/><\/figure>\n\n\n\n<p>Then, we must create a trigger action. In Alerts, Actions, click trigger actions and click <em>Create action<\/em> button. Name the action and add conditions which are filters to better target the hosts where action could be triggered. In my case, I only filter on host group but you have many filtering possibilities:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1021\" height=\"268\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_26_17-zabbix_-Configuration-of-actions-\u2014-Mozilla-Firefox.png\" alt=\"\" class=\"wp-image-26339\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_26_17-zabbix_-Configuration-of-actions-\u2014-Mozilla-Firefox.png 1021w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_26_17-zabbix_-Configuration-of-actions-\u2014-Mozilla-Firefox-300x79.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_26_17-zabbix_-Configuration-of-actions-\u2014-Mozilla-Firefox-768x202.png 768w\" sizes=\"auto, (max-width: 1021px) 100vw, 1021px\" \/><\/figure>\n\n\n\n<p>In the <em>operations <\/em>tab, you set what you want the action to do. I am adding an operation that is calling the script:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"572\" height=\"323\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_35_28-zabbix_-Configuration-of-actions-\u2014-Mozilla-Firefox.png\" alt=\"\" class=\"wp-image-26341\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_35_28-zabbix_-Configuration-of-actions-\u2014-Mozilla-Firefox.png 572w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_35_28-zabbix_-Configuration-of-actions-\u2014-Mozilla-Firefox-300x169.png 300w\" sizes=\"auto, (max-width: 572px) 100vw, 572px\" \/><\/figure>\n\n\n\n<p>Once completed, <em>Operations <\/em>tab will look like that:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"475\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_36_58-zabbix_-Configuration-of-actions-\u2014-Mozilla-Firefox-1024x475.png\" alt=\"\" class=\"wp-image-26342\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_36_58-zabbix_-Configuration-of-actions-\u2014-Mozilla-Firefox-1024x475.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_36_58-zabbix_-Configuration-of-actions-\u2014-Mozilla-Firefox-300x139.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_36_58-zabbix_-Configuration-of-actions-\u2014-Mozilla-Firefox-768x356.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_36_58-zabbix_-Configuration-of-actions-\u2014-Mozilla-Firefox.png 1029w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Testing<\/h2>\n\n\n\n<p>It is time to test our setup. For that, I will simply stop the service. Of course, thread dump will be empty in that case.<\/p>\n\n\n\n<p>As soon as service is stopped, a <mark class=\"has-inline-color has-luminous-vivid-orange-color\"><strong>high<\/strong><\/mark> severity problem is raised:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"60\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_44_34-zabbix_-Problems-\u2014-Mozilla-Firefox-1024x60.png\" alt=\"\" class=\"wp-image-26344\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_44_34-zabbix_-Problems-\u2014-Mozilla-Firefox-1024x60.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_44_34-zabbix_-Problems-\u2014-Mozilla-Firefox-300x18.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_44_34-zabbix_-Problems-\u2014-Mozilla-Firefox-768x45.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_44_34-zabbix_-Problems-\u2014-Mozilla-Firefox.png 1060w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>After one minute, problem resolve itself:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1019\" height=\"59\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_46_16-zabbix_-Problems-\u2014-Mozilla-Firefox.png\" alt=\"\" class=\"wp-image-26346\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_46_16-zabbix_-Problems-\u2014-Mozilla-Firefox.png 1019w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_46_16-zabbix_-Problems-\u2014-Mozilla-Firefox-300x17.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_46_16-zabbix_-Problems-\u2014-Mozilla-Firefox-768x44.png 768w\" sizes=\"auto, (max-width: 1019px) 100vw, 1019px\" \/><\/figure>\n\n\n\n<p>In Actions column, I can click to get more information on what happened (most recent event on top):<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"597\" height=\"270\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_47_01-zabbix_-Problems-\u2014-Mozilla-Firefox.png\" alt=\"\" class=\"wp-image-26347\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_47_01-zabbix_-Problems-\u2014-Mozilla-Firefox.png 597w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_47_01-zabbix_-Problems-\u2014-Mozilla-Firefox-300x136.png 300w\" sizes=\"auto, (max-width: 597px) 100vw, 597px\" \/><\/figure>\n\n\n\n<p>Not only you can see the remote command but also Slack notification I previously setup and tested.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Improvements<\/h2>\n\n\n\n<p>One possible improvement is to use Web scenario instead of simple TCP test as, in some situations, server keep port available, but application itself is not responding HTTP 200 code.<\/p>\n\n\n\n<p>I will create a Web scenario with only one step as my web application is a simple Hello World application. I filled first scenario tab like that:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"823\" height=\"481\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_53_35-zabbix_-Configuration-of-web-monitoring-\u2014-Mozilla-Firefox.png\" alt=\"\" class=\"wp-image-26348\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_53_35-zabbix_-Configuration-of-web-monitoring-\u2014-Mozilla-Firefox.png 823w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_53_35-zabbix_-Configuration-of-web-monitoring-\u2014-Mozilla-Firefox-300x175.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_53_35-zabbix_-Configuration-of-web-monitoring-\u2014-Mozilla-Firefox-768x449.png 768w\" sizes=\"auto, (max-width: 823px) 100vw, 823px\" \/><\/figure>\n\n\n\n<p>And first, and only step:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"730\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_54_36-zabbix_-Configuration-of-web-monitoring-\u2014-Mozilla-Firefox.png\" alt=\"\" class=\"wp-image-26349\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_54_36-zabbix_-Configuration-of-web-monitoring-\u2014-Mozilla-Firefox.png 680w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-10_54_36-zabbix_-Configuration-of-web-monitoring-\u2014-Mozilla-Firefox-279x300.png 279w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/figure>\n\n\n\n<p>For step to be considered successful, it requires two conditions:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Returned content must contain &#8220;Congrats&#8221; string<\/li>\n\n\n\n<li>Status code must be 200<\/li>\n<\/ul>\n\n\n\n<p>As this scenario is in a template, URL must be generic, thus I used {HOST.HOST} built-in macro.<\/p>\n\n\n\n<p>Another advantage of scenario is that it automatically creates few items on performance:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"211\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-11_08_55-zabbix_-Latest-data-\u2014-Mozilla-Firefox-1024x211.png\" alt=\"\" class=\"wp-image-26350\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-11_08_55-zabbix_-Latest-data-\u2014-Mozilla-Firefox-1024x211.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-11_08_55-zabbix_-Latest-data-\u2014-Mozilla-Firefox-300x62.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-11_08_55-zabbix_-Latest-data-\u2014-Mozilla-Firefox-768x158.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-11_08_55-zabbix_-Latest-data-\u2014-Mozilla-Firefox.png 1128w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Finally, we can create a trigger as before with a different Expression:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nlast(\/Web Service\/web.test.fail&#x5B;Check HTTP Status])&amp;lt;&amp;gt;0\n<\/pre><\/div>\n\n\n<p>When any step of the scenario is failed, meaning web.test.fail will be different from 0, then a problem will be raised and automatically resolved.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"69\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-11_21_15-zabbix_-Problems-\u2014-Mozilla-Firefox-1024x69.png\" alt=\"\" class=\"wp-image-26351\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-11_21_15-zabbix_-Problems-\u2014-Mozilla-Firefox-1024x69.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-11_21_15-zabbix_-Problems-\u2014-Mozilla-Firefox-300x20.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-11_21_15-zabbix_-Problems-\u2014-Mozilla-Firefox-768x52.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-27-11_21_15-zabbix_-Problems-\u2014-Mozilla-Firefox.png 1094w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Et voil\u00e0 !<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>I am not a fan of auto-recovery if nothing is really done to prevent issues from happening, but how this trigger has been defined, it will automatically gather logs and recover just after. That I like very much!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Until now, in my previous blog posts, we did not cover one of the main features of any monitoring platform: Alarming. In Zabbix, it is named triggers. Item and Trigger Trigger is based on an item calculation. Thus, the first thing to do is to create an item. So, let&#8217;s create a simple check HTTPS [&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":[143,2430],"type_dbi":[],"class_list":["post-26281","post","type-post","status-publish","format-standard","hentry","category-application-integration-middleware","tag-monitoring","tag-zabbix"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Zabbix from Problem to Remediation - dbi Blog<\/title>\n<meta name=\"description\" content=\"What is the procedure to setup alarms and automatic remediation in Zabbix.\" \/>\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\/zabbix-from-problem-to-remediation\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Zabbix from Problem to Remediation\" \/>\n<meta property=\"og:description\" content=\"What is the procedure to setup alarms and automatic remediation in Zabbix.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/zabbix-from-problem-to-remediation\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-06-27T10:07:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-11T08:18:32+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=\"6 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\/zabbix-from-problem-to-remediation\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/zabbix-from-problem-to-remediation\/\"},\"author\":{\"name\":\"Middleware Team\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1\"},\"headline\":\"Zabbix from Problem to Remediation\",\"datePublished\":\"2023-06-27T10:07:13+00:00\",\"dateModified\":\"2024-09-11T08:18:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/zabbix-from-problem-to-remediation\/\"},\"wordCount\":636,\"commentCount\":0,\"keywords\":[\"Monitoring\",\"Zabbix\"],\"articleSection\":[\"Application integration &amp; Middleware\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/zabbix-from-problem-to-remediation\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/zabbix-from-problem-to-remediation\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/zabbix-from-problem-to-remediation\/\",\"name\":\"Zabbix from Problem to Remediation - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2023-06-27T10:07:13+00:00\",\"dateModified\":\"2024-09-11T08:18:32+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1\"},\"description\":\"What is the procedure to setup alarms and automatic remediation in Zabbix.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/zabbix-from-problem-to-remediation\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/zabbix-from-problem-to-remediation\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/zabbix-from-problem-to-remediation\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Zabbix from Problem to Remediation\"}]},{\"@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":"Zabbix from Problem to Remediation - dbi Blog","description":"What is the procedure to setup alarms and automatic remediation in Zabbix.","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\/zabbix-from-problem-to-remediation\/","og_locale":"en_US","og_type":"article","og_title":"Zabbix from Problem to Remediation","og_description":"What is the procedure to setup alarms and automatic remediation in Zabbix.","og_url":"https:\/\/www.dbi-services.com\/blog\/zabbix-from-problem-to-remediation\/","og_site_name":"dbi Blog","article_published_time":"2023-06-27T10:07:13+00:00","article_modified_time":"2024-09-11T08:18:32+00:00","author":"Middleware Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Middleware Team","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/zabbix-from-problem-to-remediation\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/zabbix-from-problem-to-remediation\/"},"author":{"name":"Middleware Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1"},"headline":"Zabbix from Problem to Remediation","datePublished":"2023-06-27T10:07:13+00:00","dateModified":"2024-09-11T08:18:32+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/zabbix-from-problem-to-remediation\/"},"wordCount":636,"commentCount":0,"keywords":["Monitoring","Zabbix"],"articleSection":["Application integration &amp; Middleware"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/zabbix-from-problem-to-remediation\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/zabbix-from-problem-to-remediation\/","url":"https:\/\/www.dbi-services.com\/blog\/zabbix-from-problem-to-remediation\/","name":"Zabbix from Problem to Remediation - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2023-06-27T10:07:13+00:00","dateModified":"2024-09-11T08:18:32+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1"},"description":"What is the procedure to setup alarms and automatic remediation in Zabbix.","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/zabbix-from-problem-to-remediation\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/zabbix-from-problem-to-remediation\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/zabbix-from-problem-to-remediation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Zabbix from Problem to Remediation"}]},{"@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\/26281","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=26281"}],"version-history":[{"count":8,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/26281\/revisions"}],"predecessor-version":[{"id":26353,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/26281\/revisions\/26353"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=26281"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=26281"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=26281"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=26281"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}