{"id":46260,"date":"2024-05-15T02:07:20","date_gmt":"2024-05-15T02:07:20","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=46260"},"modified":"2024-05-29T03:05:09","modified_gmt":"2024-05-29T03:05:09","slug":"icinga-tutorials-command-line-reference","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/icinga-tutorials-command-line-reference\/","title":{"rendered":"icinga tutorials: command line reference"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">How to do icinga Configuration Validation\u00a0<\/h2>\n\n\n\n<p>Once you\u2019ve edited the configuration files make sure to tell Icinga 2 to validate the configuration changes. Icinga 2 will log any configuration error including a hint on the file, the line number and the affected configuration line itself.<\/p>\n\n\n\n<p>The following example creates an apply rule without any&nbsp;<code>assign<\/code>&nbsp;condition.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">apply Service <span class=\"hljs-string\">\"my-ping4\"<\/span> {\n  <span class=\"hljs-keyword\">import<\/span> <span class=\"hljs-string\">\"generic-service\"<\/span>\n  check_command = <span class=\"hljs-string\">\"ping4\"<\/span>\n  <span class=\"hljs-comment\">\/\/assign where host.address<\/span>\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Validate the configuration:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># icinga2 daemon -C<\/span>\n\n&#91;<span class=\"hljs-number\">2014<\/span><span class=\"hljs-number\">-05<\/span><span class=\"hljs-number\">-22<\/span> <span class=\"hljs-number\">17<\/span>:<span class=\"hljs-number\">07<\/span>:<span class=\"hljs-number\">25<\/span> +<span class=\"hljs-number\">0200<\/span>] critical\/ConfigItem: Location:\n\/etc\/icinga2\/conf.d\/tests\/my.conf(<span class=\"hljs-number\">5<\/span>): }\n\/etc\/icinga2\/conf.d\/tests\/my.conf(<span class=\"hljs-number\">6<\/span>):\n\/etc\/icinga2\/conf.d\/tests\/my.conf(<span class=\"hljs-number\">7<\/span>): apply Service <span class=\"hljs-string\">\"my-ping4\"<\/span> {\n                                        ^^^^^^^^^^^^^\n\/etc\/icinga2\/conf.d\/tests\/my.conf(<span class=\"hljs-number\">8<\/span>):   import <span class=\"hljs-string\">\"test-generic-service\"<\/span>\n\/etc\/icinga2\/conf.d\/tests\/my.conf(<span class=\"hljs-number\">9<\/span>):   check_command = <span class=\"hljs-string\">\"ping4\"<\/span>\n\nConfig error: <span class=\"hljs-string\">'apply'<\/span> is missing <span class=\"hljs-string\">'assign'<\/span>\n&#91;<span class=\"hljs-number\">2014<\/span><span class=\"hljs-number\">-05<\/span><span class=\"hljs-number\">-22<\/span> <span class=\"hljs-number\">17<\/span>:<span class=\"hljs-number\">07<\/span>:<span class=\"hljs-number\">25<\/span> +<span class=\"hljs-number\">0200<\/span>] critical\/ConfigItem: <span class=\"hljs-number\">1<\/span> errors, <span class=\"hljs-number\">0<\/span> warnings.\nIcinga <span class=\"hljs-number\">2<\/span> detected configuration errors.<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Troubleshooting Reference &#8211; <a href=\"https:\/\/icinga.com\/docs\/icinga-2\/latest\/doc\/15-troubleshooting\/\" target=\"_blank\" rel=\"noopener\">https:\/\/icinga.com\/docs\/icinga-2\/latest\/doc\/15-troubleshooting\/<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">List Configuration Objects<\/h2>\n\n\n\n<p>The\u00a0<code>icinga2 object list<\/code>\u00a0CLI command can be used to list all configuration objects and their attributes. The tool also shows where each of the attributes was modified.<\/p>\n\n\n\n<p>That way you can also identify which objects have been created from your&nbsp;<a href=\"https:\/\/icinga.com\/docs\/icinga-2\/latest\/doc\/17-language-reference\/#apply\" target=\"_blank\" rel=\"noopener\">apply rules<\/a>.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\"># icinga2 object list<\/span>\n\nObject <span class=\"hljs-string\">'localhost!ssh'<\/span> of type <span class=\"hljs-string\">'Service'<\/span>:\n  * __name = <span class=\"hljs-string\">'localhost!ssh'<\/span>\n  * check_command = <span class=\"hljs-string\">'ssh'<\/span>\n    % = modified in <span class=\"hljs-string\">'\/etc\/icinga2\/conf.d\/hosts\/localhost\/ssh.conf'<\/span>, lines <span class=\"hljs-number\">5<\/span>:<span class=\"hljs-number\">3<\/span><span class=\"hljs-number\">-5<\/span>:<span class=\"hljs-number\">23<\/span>\n  * check_interval = <span class=\"hljs-number\">60<\/span>\n    % = modified in <span class=\"hljs-string\">'\/etc\/icinga2\/conf.d\/templates.conf'<\/span>, lines <span class=\"hljs-number\">24<\/span>:<span class=\"hljs-number\">3<\/span><span class=\"hljs-number\">-24<\/span>:<span class=\"hljs-number\">21<\/span>\n  * host_name = <span class=\"hljs-string\">'localhost'<\/span>\n    % = modified in <span class=\"hljs-string\">'\/etc\/icinga2\/conf.d\/hosts\/localhost\/ssh.conf'<\/span>, lines <span class=\"hljs-number\">4<\/span>:<span class=\"hljs-number\">3<\/span><span class=\"hljs-number\">-4<\/span>:<span class=\"hljs-number\">25<\/span>\n  * max_check_attempts = <span class=\"hljs-number\">3<\/span>\n    % = modified in <span class=\"hljs-string\">'\/etc\/icinga2\/conf.d\/templates.conf'<\/span>, lines <span class=\"hljs-number\">23<\/span>:<span class=\"hljs-number\">3<\/span><span class=\"hljs-number\">-23<\/span>:<span class=\"hljs-number\">24<\/span>\n  * name = <span class=\"hljs-string\">'ssh'<\/span>\n  * retry_interval = <span class=\"hljs-number\">30<\/span>\n    % = modified in <span class=\"hljs-string\">'\/etc\/icinga2\/conf.d\/templates.conf'<\/span>, lines <span class=\"hljs-number\">25<\/span>:<span class=\"hljs-number\">3<\/span><span class=\"hljs-number\">-25<\/span>:<span class=\"hljs-number\">22<\/span>\n  * templates = &#91; <span class=\"hljs-string\">'ssh'<\/span>, <span class=\"hljs-string\">'generic-service'<\/span> ]\n    % += modified in <span class=\"hljs-string\">'\/etc\/icinga2\/conf.d\/hosts\/localhost\/ssh.conf'<\/span>, lines <span class=\"hljs-number\">1<\/span>:<span class=\"hljs-number\">0<\/span><span class=\"hljs-number\">-7<\/span>:<span class=\"hljs-number\">1<\/span>\n    % += modified in <span class=\"hljs-string\">'\/etc\/icinga2\/conf.d\/templates.conf'<\/span>, lines <span class=\"hljs-number\">22<\/span>:<span class=\"hljs-number\">1<\/span><span class=\"hljs-number\">-26<\/span>:<span class=\"hljs-number\">1<\/span>\n  * type = <span class=\"hljs-string\">'Service'<\/span>\n  * vars\n    % += modified in <span class=\"hljs-string\">'\/etc\/icinga2\/conf.d\/hosts\/localhost\/ssh.conf'<\/span>, lines <span class=\"hljs-number\">6<\/span>:<span class=\"hljs-number\">3<\/span><span class=\"hljs-number\">-6<\/span>:<span class=\"hljs-number\">19<\/span>\n    * sla = <span class=\"hljs-string\">'24x7'<\/span>\n      % = modified in <span class=\"hljs-string\">'\/etc\/icinga2\/conf.d\/hosts\/localhost\/ssh.conf'<\/span>, lines <span class=\"hljs-number\">6<\/span>:<span class=\"hljs-number\">3<\/span><span class=\"hljs-number\">-6<\/span>:<span class=\"hljs-number\">19<\/span>\n\n&#91;...]<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>","protected":false},"excerpt":{"rendered":"<p>How to do icinga Configuration Validation\u00a0 Once you\u2019ve edited the configuration files make sure to tell Icinga 2 to validate the configuration changes. Icinga 2 will log any configuration error&#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[8217],"tags":[],"class_list":["post-46260","post","type-post","status-publish","format-standard","hentry","category-icinga"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/46260","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=46260"}],"version-history":[{"count":1,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/46260\/revisions"}],"predecessor-version":[{"id":46261,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/46260\/revisions\/46261"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=46260"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=46260"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=46260"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}