{"id":72432,"date":"2024-08-06T19:47:19","date_gmt":"2024-08-06T16:17:19","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/open-source-puppet-preventative-maintenance-1dab\/"},"modified":"2024-08-06T19:47:19","modified_gmt":"2024-08-06T16:17:19","slug":"open-source-puppet-preventative-maintenance-1dab","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/open-source-puppet-preventative-maintenance-1dab\/","title":{"rendered":"\u062a\u0639\u0645\u06cc\u0631 \u0648 \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u067e\u06cc\u0634\u06af\u06cc\u0631\u0627\u0646\u0647 \u0639\u0631\u0648\u0633\u06a9\u06cc \u0645\u0646\u0628\u0639 \u0628\u0627\u0632"},"content":{"rendered":"<p>Summarize this content to 400 words in Persian Lang<br \/>\n            \u0647\u0646\u06af\u0627\u0645 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0647\u0631 \u067e\u0634\u062a\u0647 \u0641\u0646\u0627\u0648\u0631\u06cc\u060c \u0647\u0645\u0647 \u0645\u0627 \u0633\u0648\u0627\u0644\u0627\u062a \u0632\u06cc\u0631 \u0631\u0627 \u0686\u0647 \u062f\u0631 \u062f\u0627\u062e\u0644 \u06cc\u0627 \u0686\u0647 \u0627\u0632 \u0647\u0645\u062a\u0627\u06cc\u0627\u0646 \u062e\u0648\u062f \u067e\u0631\u0633\u06cc\u062f\u0647 \u0627\u06cc\u0645:<\/p>\n<p>\u0622\u06cc\u0627 \u067e\u0634\u062a\u0647 \u0628\u0647 \u0637\u0648\u0631 \u0628\u0647\u06cc\u0646\u0647 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a\u061f<br \/>\n\u0622\u06cc\u0627 \u0645\u0633\u0627\u0626\u0644\u06cc \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u06a9\u0647 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u062a\u0648\u062c\u0647 \u0641\u0648\u0631\u06cc \u0645\u0646 (\u06cc\u0627 \u062a\u06cc\u0645 \u0645\u0646) \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f\u061f<br \/>\n\u0622\u06cc\u0627 &#8220;\u06af\u0648\u0686\u0627&#8221; \u0628\u0627\u0644\u0642\u0648\u0647 \u0627\u06cc \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u06a9\u0647 \u0628\u0627\u06cc\u062f \u062f\u0631 \u0647\u0641\u062a\u0647 \u0647\u0627\/\u0645\u0627\u0647 \u0647\u0627\u06cc \u0622\u06cc\u0646\u062f\u0647 \u0645\u0648\u0631\u062f \u062a\u0648\u062c\u0647 \u0642\u0631\u0627\u0631 \u06af\u06cc\u0631\u062f\u061f<\/p>\n<p>\u062f\u0631 \u0645\u0648\u0631\u062f Puppet\u060c \u0628\u0631\u0627\u06cc \u067e\u0627\u0633\u062e \u0628\u0647 \u0627\u06cc\u0646 \u0633\u0624\u0627\u0644\u0627\u062a\u060c \u0645\u062f\u06cc\u0631\u0627\u0646 \u0627\u0632 \u0646\u0638\u0631 \u062a\u0627\u0631\u06cc\u062e\u06cc \u0628\u0647 \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0631\u0648\u06cc \u0645\u06cc \u0622\u0648\u0631\u0646\u062f:<\/p>\n<p>\u0628\u0631\u0631\u0633\u06cc \u062e\u0631\u0648\u062c\u06cc \u062a\u0645\u0627\u0633 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 HTTP API.<br \/>\n\u0628\u0631\u0631\u0633\u06cc \u062f\u0627\u0634\u0628\u0648\u0631\u062f\u0647\u0627\u06cc \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc \u062d\u0627\u0648\u06cc \u0646\u0645\u0627\u06cc\u0634 \u0628\u0635\u0631\u06cc \u0645\u0639\u06cc\u0627\u0631\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641.<br \/>\n\u062a\u062c\u0632\u06cc\u0647 \u0641\u0627\u06cc\u0644(\u0647\u0627\u06cc) log \u0628\u0631\u0627\u06cc \u0627\u062c\u0632\u0627\u06cc \u0645\u062e\u062a\u0644\u0641.<\/p>\n<p>\u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 \u0647\u0645\u0647 \u0627\u06cc\u0646 \u0645\u0646\u0627\u0628\u0639 \u0628\u06cc\u0646\u0634 \u0627\u0631\u0632\u0634\u0645\u0646\u062f\u06cc \u062f\u0631 \u0645\u0648\u0631\u062f \u0646\u062d\u0648\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f \u06cc\u06a9 \u0646\u0635\u0628 \u0639\u0631\u0648\u0633\u06a9\u06cc \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u0646\u062f\u060c \u0647\u0645\u0647 \u0622\u0646\u0647\u0627 \u062f\u0631 \u06cc\u06a9 \u0686\u06cc\u0632 \u0645\u0634\u062a\u0631\u06a9 \u0647\u0633\u062a\u0646\u062f.  \u0627\u06cc\u0646 \u062d\u062c\u0645 \u0642\u0627\u0628\u0644 \u062a\u0648\u062c\u0647\u06cc \u0627\u0632 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 \u0628\u0647 \u0645\u062f\u06cc\u0631 \u0627\u0633\u062a.  \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc \u06a9\u0647 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u062a\u062c\u0631\u0628\u0647 \u0642\u0628\u0644\u06cc \u062f\u0631 \u0645\u0648\u0631\u062f \u0622\u0646\u0686\u0647 \u06a9\u0647 \u0628\u0627\u06cc\u062f \u062c\u0633\u062a\u062c\u0648 \u06a9\u0631\u062f\u060c \u06a9\u062c\u0627 \u062c\u0633\u062a\u062c\u0648 \u06a9\u0631\u062f \u0648 \u0686\u06af\u0648\u0646\u0647 \u0628\u0647 \u062f\u0633\u062a \u0622\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f.  \u062a\u062c\u0631\u0628\u0647 \u0631\u0627 \u06a9\u0646\u0627\u0631 \u0628\u06af\u0630\u0627\u0631\u06cc\u0645\u060c \u062c\u0645\u0639 \u0622\u0648\u0631\u06cc \u0647\u0645\u0647 \u0627\u06cc\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0632\u0645\u0627\u0646 \u0645\u06cc \u0628\u0631\u062f.  \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0627\u062d\u062a\u0645\u0627\u0644\u0627\u064b \u0645\u062c\u0628\u0648\u0631 \u0646\u06cc\u0633\u062a\u06cc\u062f \u062f\u0631 \u0648\u0633\u0637 \u06cc\u06a9 \u0634\u06cc\u0641\u062a \u06a9\u0627\u0631\u06cc \u0634\u0628\u0627\u0646\u0647 \u0648\u0642\u062a \u0628\u06af\u0630\u0627\u0631\u06cc\u062f.  \u062d\u062a\u06cc \u0627\u06af\u0631 \u0645\u0642\u0635\u0631 \u0631\u0627 \u067e\u06cc\u062f\u0627 \u06a9\u0631\u062f\u06cc\u062f\u060c \u0622\u0646 \u062f\u0641\u062a\u0631\u0686\u0647 \u06cc\u0627\u062f\u062f\u0627\u0634\u062a \u0628\u0627 \u06cc\u0627\u062f\u062f\u0627\u0634\u062a\u200c\u0647\u0627\u06cc \u0645\u0631\u0645\u0648\u0632 \u0634\u0645\u0627 \u062f\u0631 \u0645\u0648\u0631\u062f \u0686\u06af\u0648\u0646\u06af\u06cc \u062d\u0644 \u0622\u0646 \u0627\u0632 \u0622\u062e\u0631\u06cc\u0646 \u0628\u0627\u0631\u06cc \u06a9\u0647 \u0628\u0627 \u0627\u06cc\u0646 \u0633\u0646\u0627\u0631\u06cc\u0648 \u0645\u0648\u0627\u062c\u0647 \u0634\u062f\u06cc\u062f \u06a9\u062c\u0627 \u0631\u0641\u062a\u0647 \u0627\u0633\u062a\u061f  \u06cc\u0627 \u0634\u0627\u06cc\u062f \u0627\u06cc\u0646 \u0627\u0648\u0644\u06cc\u0646 \u0628\u0627\u0631\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u0633\u0646\u0627\u0631\u06cc\u0648 \u0647\u0633\u062a\u06cc\u062f \u0648 Google-Fu \u0634\u0645\u0627 \u0631\u0627 \u062f\u0631 \u062d\u0627\u0644\u062a \u0645\u062d\u0631\u0648\u0645 \u0627\u0632 \u06a9\u0627\u0641\u0626\u06cc\u0646 \u0634\u06a9\u0633\u062a \u0645\u06cc \u062f\u0647\u062f\u061f<\/p>\n<p>\u062e\u0648\u0628\u060c \u0628\u0627 \u0641\u0631\u0636\u06cc\u0627\u062a \u0628\u0633 \u0627\u0633\u062a.  \u0627\u06af\u0631 \u0628\u0647 \u0634\u0645\u0627 \u0628\u06af\u0648\u06cc\u0645 \u06af\u0632\u06cc\u0646\u0647 \u0633\u0627\u062f\u0647 \u062a\u0631\u06cc \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u0686\u0647\u061f  \u062e\u0648\u0628\u060c \u0634\u0645\u0627 \u062e\u0648\u0634 \u0634\u0627\u0646\u0633 \u0647\u0633\u062a\u06cc\u062f\u060c \u0645\u0627\u0698\u0648\u0644 puppetlabs\/puppet_status_check \u06cc\u06a9 \u0631\u0627\u0647 \u0641\u0639\u0627\u0644 \u0631\u0627 \u0628\u0631\u0627\u06cc \u062a\u0639\u06cc\u06cc\u0646 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0646\u0635\u0628 \u0639\u0631\u0648\u0633\u06a9 \u062f\u0631 \u0648\u0636\u0639\u06cc\u062a \u0627\u06cc\u062f\u0647 \u0622\u0644 \u0646\u06cc\u0633\u062a\u060c \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f.  \u0627\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644 \u0627\u0632 \u0646\u0634\u0627\u0646\u06af\u0631\u0647\u0627\u06cc \u0627\u0632 \u067e\u06cc\u0634 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f \u062a\u0627 \u0646\u0647 \u062a\u0646\u0647\u0627 \u062e\u0631\u0648\u062c\u06cc \u0633\u0627\u062f\u0647 \u0627\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u062a\u0634\u062e\u06cc\u0635 \u0627\u0634\u062a\u0628\u0627\u0647 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u062f\u060c \u0628\u0644\u06a9\u0647 \u0634\u0645\u0627 \u0631\u0627 \u0628\u0647 \u0645\u0631\u0627\u062d\u0644 \u0628\u0639\u062f\u06cc \u0628\u0631\u0627\u06cc \u062a\u0641\u06a9\u06cc\u06a9 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>&#8220;\u0627\u06cc\u0646 \u0639\u0627\u0644\u06cc \u0628\u0647 \u0646\u0638\u0631 \u0645\u06cc \u0631\u0633\u062f\u060c \u0627\u0645\u0627 \u0686\u06af\u0648\u0646\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u0645 \u0627\u06cc\u0646 \u0645\u0648\u0631\u062f \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0645\u061f&#8221;  \u062e\u0648\u0628 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0634\u06cc\u0631\u062c\u0647 \u0628\u0632\u0646\u06cc\u0645\u061f<\/p>\n<p>  \u0628\u0631\u067e\u0627\u06cc\u06cc<\/p>\n<p>\u0627\u0628\u062a\u062f\u0627 \u0628\u0627\u06cc\u062f \u0645\u0627\u0698\u0648\u0644 \u0631\u0627 \u062f\u0631 \u067e\u0627\u06cc\u06af\u0627\u0647 \u06a9\u062f \u062e\u0648\u062f \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u0645.  \u0627\u06af\u0631 \u0627\u0632 \u06cc\u06a9 \u0645\u062e\u0632\u0646 \u06a9\u0646\u062a\u0631\u0644 \u0648 \u06cc\u06a9 Puppetfile \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u062d\u062a\u0648\u06cc\u0627\u062a \u067e\u0627\u06cc\u06af\u0627\u0647 \u06a9\u062f \u062e\u0648\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u062f\u060c \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0647 Puppetfile \u062e\u0648\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f\u060c \u0632\u06cc\u0631\u0627 \u0645\u0627\u0698\u0648\u0644 \u0647\u0627\u06cc \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f:<\/p>\n<p>mod &#8216;puppetlabs-puppet_status_check&#8217;, &#8216;0.9.2&#8217;<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0627\u06af\u0631 \u0648\u0628 \u0647\u0648\u06a9 \u06cc\u0627 \u0627\u062a\u0648\u0645\u0627\u0633\u06cc\u0648\u0646 \u062f\u06cc\u06af\u0631\u06cc \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0628\u0631\u0627\u06cc \u0634\u0645\u0627 \u0646\u062f\u0627\u0631\u06cc\u062f\u060c \u062d\u062a\u0645\u0627\u064b \u06a9\u062f \u062e\u0648\u062f \u0631\u0627 \u0645\u0633\u062a\u0642\u0631 \u06a9\u0646\u06cc\u062f.  \u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644\u060c \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 r10k \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0628\u0627 \u0627\u062c\u0631\u0627\u06cc \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u062d\u0644\u06cc \u0631\u0648\u06cc \u0633\u0631\u0648\u0631(\u0647\u0627\u06cc) Puppet \u062e\u0648\u062f \u0645\u0633\u062a\u0642\u0631 \u0634\u0648\u0646\u062f:<\/p>\n<p>r10k deploy environment production -mv<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u062d\u0627\u0644\u0627 \u062f\u0641\u0639\u0647 \u0628\u0639\u062f \u06a9\u0647 \u0639\u0627\u0645\u0644 Puppet \u0631\u0648\u06cc \u06af\u0631\u0647 \u0647\u0627\u06cc \u0627\u06cc\u0646 \u0645\u062d\u06cc\u0637 \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u062f\u060c Puppet_status_check \u0648 \u0646\u0642\u0634_\u0628\u0631\u0631\u0633\u06cc_\u0648\u0636\u0639\u06cc\u062a_\u0639\u0631\u0648\u0633\u06a9\u06cc \u062d\u0642\u0627\u06cc\u0642 \u0628\u0631 \u0631\u0648\u06cc \u0647\u0631 \u06af\u0631\u0647 \u0628\u0627 \u067e\u0644\u0627\u06af\u06cc\u0646 \u0647\u0645\u06af\u0627\u0645 \u0633\u0627\u0632\u06cc \u0645\u06cc \u0634\u0648\u0646\u062f.  \u0627\u06cc\u0646 \u062d\u0642\u0627\u06cc\u0642 \u0686\u06cc\u0632\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc \u0631\u0627 \u06a9\u0647 \u0628\u0647 \u062f\u0646\u0628\u0627\u0644 \u0622\u0646 \u0647\u0633\u062a\u06cc\u0645 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 \u0645\u0627 \u0642\u0631\u0627\u0631 \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<p>\u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u0642\u0628\u0644 \u0627\u0632 \u0634\u0631\u0648\u0639 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u06cc\u0646 \u062d\u0642\u0627\u06cc\u0642\u060c \u0627\u0628\u062a\u062f\u0627 \u0628\u0627\u06cc\u062f \u0622\u0646\u0647\u0627 \u0631\u0627 \u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0647 \u0648 \u0628\u0647 \u0635\u0648\u0631\u062a \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u06a9\u062f\u0627\u0645 \u0632\u06cc\u0631\u0645\u062c\u0645\u0648\u0639\u0647 \u0627\u0632 \u0686\u06a9\u200c\u0647\u0627\u06cc\u06cc \u0631\u0627 \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u0645 \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u0645.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 \u062d\u0642\u0627\u06cc\u0642 \u0628\u0631\u0631\u0633\u06cc \u0648\u0636\u0639\u06cc\u062a\u060c \u0628\u0647 \u0633\u0627\u062f\u06af\u06cc \u0628\u0627\u06cc\u062f \u06af\u0631\u0647(\u0647\u0627\u06cc) \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u062f\u0633\u062a\u0647 \u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u0645 Puppet_status_check \u06a9\u0644\u0627\u0633  \u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644\u060c \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0647 \u0645\u062e\u0632\u0646 \u06a9\u0646\u062a\u0631\u0644 \u062e\u0648\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f manifests\/site.pp:<\/p>\n<p>node default {<br \/>\n  include &#8216;puppet_status_check&#8217;<br \/>\n}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0634\u0627\u06cc\u0627\u0646 \u0630\u06a9\u0631 \u0627\u0633\u062a\u060c \u062a\u0639\u0631\u06cc\u0641 \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u06af\u0631\u0647 \u0628\u0631\u0627\u06cc \u062a\u0645\u0627\u0645 \u06af\u0631\u0647\u200c\u0647\u0627\u06cc\u06cc \u0627\u0639\u0645\u0627\u0644 \u0645\u06cc\u200c\u0634\u0648\u062f \u06a9\u0647 \u062a\u0639\u0631\u06cc\u0641 \u06af\u0631\u0647 \u062e\u0627\u0635\u200c\u062a\u0631\u06cc \u062f\u0631 \u06af\u0631\u0647 \u0646\u062f\u0627\u0631\u0646\u062f. manifests\/site.pp.<\/p>\n<p>\u0634\u0627\u06cc\u0627\u0646 \u0630\u06a9\u0631 \u0627\u0633\u062a \u06a9\u0647 \u0631\u0641\u062a\u0627\u0631 \u067e\u06cc\u0634 \u0641\u0631\u0636 \u0627\u0632 Puppet_status_check \u06a9\u0644\u0627\u0633 \u0628\u0631\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0646\u0642\u0634 \u0628\u0631\u0631\u0633\u06cc \u0648\u0636\u0639\u06cc\u062a \u0627\u0633\u062a \u0639\u0627\u0645\u0644.  \u0627\u06cc\u0646 \u0628\u062f\u0627\u0646 \u0645\u0639\u0646\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u06af\u0631\u0647 \u0647\u0627\u060c \u0641\u0642\u0637 \u0628\u0631\u0631\u0633\u06cc \u0648\u0636\u0639\u06cc\u062a \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f \u0639\u0627\u0645\u0644 \u0639\u0631\u0648\u0633\u06a9\u06cc \u0641\u0639\u0627\u0644 \u0627\u0633\u062a.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0633\u0631\u0648\u0631 \u0639\u0631\u0648\u0633\u06a9\u06cc \u0634\u0645\u0627\u060c \u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 \u062f\u0627\u0646\u0633\u062a\u0646 \u0639\u0645\u0644\u06a9\u0631\u062f \u0635\u062d\u06cc\u062d \u0639\u0627\u0645\u0644 Puppet \u0645\u0641\u06cc\u062f \u0627\u0633\u062a\u060c \u062e\u062f\u0645\u0627\u062a \u0645\u0647\u0645 \u062f\u06cc\u06af\u0631\u06cc \u06a9\u0647 \u0628\u0631 \u0631\u0648\u06cc \u0633\u0631\u0648\u0631 \u0639\u0631\u0648\u0633\u06a9\u06cc \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u0646\u062f \u0686\u0637\u0648\u0631\u061f  \u0628\u0631\u0627\u06cc \u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 \u0628\u0631\u0631\u0633\u06cc \u0648\u0636\u0639\u06cc\u062a \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc \u062f\u06cc\u06af\u0631\u060c \u062a\u0646\u0647\u0627 \u06a9\u0627\u0631\u06cc \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u0645 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u067e\u0627\u0631\u0627\u0645\u062a\u0631 \u0646\u0642\u0634 \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u0645 Puppet_status_check \u06a9\u0644\u0627\u0633 \u0628\u0647 \u0627\u0648\u0644\u06cc\u0647 \u0628\u0631\u0627\u06cc \u06af\u0631\u0647(\u0647\u0627\u06cc) \u062e\u0627\u0635.  \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c \u0634\u0645\u0627 manifests\/site.pp \u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u06cc\u06a9 \u062a\u0639\u0631\u06cc\u0641 \u06af\u0631\u0647 \u0645\u0627\u0646\u0646\u062f \u0627\u06cc\u0646 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f:<\/p>\n<p>node &#8216;puppet-primary.corp.com&#8217; {<br \/>\n  class { &#8216;puppet_status_check&#8217;:<br \/>\n    role =&gt; &#8216;primary&#8217;,<br \/>\n  }<br \/>\n}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u0627\u06cc\u0646 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0637\u0628\u0642\u0647 \u0628\u0646\u062f\u06cc \u062f\u0631 \u0633\u0631\u0648\u0631(\u0647\u0627\u06cc) Puppet \u0634\u0645\u0627 \u0645\u0633\u062a\u0642\u0631 \u0634\u062f \u0648 \u0639\u0627\u0645\u0644 Puppet \u0631\u0648\u06cc \u06af\u0631\u0647(\u0647\u0627\u06cc) \u0634\u0645\u0627 \u0627\u062c\u0631\u0627 \u0634\u062f\u060c \u0645\u0627 \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u0622\u0645\u0627\u062f\u0647 \u0647\u0633\u062a\u06cc\u0645 \u062a\u0627 \u062a\u0645\u0627\u0645 \u06a9\u0627\u0631\u0647\u0627\u06cc \u0633\u062e\u062a \u062e\u0648\u062f \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\n<p>  \u0628\u0631\u0631\u0633\u06cc \u062e\u0631\u0648\u062c\u06cc<\/p>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0627 \u0646\u06af\u0627\u0647 \u06a9\u0631\u062f\u0646 \u0628\u0647 \u0622\u0646 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u0645 Puppet_status_check\u0627\u06cc\u0646 \u0648\u0627\u0642\u0639\u06cc\u062a \u0628\u0647 \u0637\u0648\u0631 \u0645\u0633\u062a\u0642\u06cc\u0645 \u062f\u0631 \u06cc\u06a9\u06cc \u0627\u0632 \u06af\u0631\u0647 \u0647\u0627\u06cc \u0645\u0627 \u0628\u0627 \u0646\u0642\u0634 \u0628\u0631\u0631\u0633\u06cc \u0648\u0636\u0639\u06cc\u062a \u062a\u0646\u0638\u06cc\u0645 \u0634\u062f\u0647 \u0627\u0633\u062a \u0639\u0627\u0645\u0644:<\/p>\n<p>root@agent01:~# puppet facts puppet_status_check<br \/>\n{<br \/>\n  &#8220;puppet_status_check&#8221;: {<br \/>\n    &#8220;AS001&#8221;: true,<br \/>\n    &#8220;AS003&#8221;: true,<br \/>\n    &#8220;AS004&#8221;: true,<br \/>\n    &#8220;S0001&#8221;: false,<br \/>\n    &#8220;S0003&#8221;: true,<br \/>\n    &#8220;S0012&#8221;: true,<br \/>\n    &#8220;S0013&#8221;: true,<br \/>\n    &#8220;S0021&#8221;: true,<br \/>\n    &#8220;S0030&#8221;: true<br \/>\n  }<br \/>\n}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u062f\u0631 \u062d\u0627\u0644\u062a \u0627\u06cc\u062f\u0647\u200c\u0622\u0644\u060c \u062f\u0631 \u0627\u06cc\u0646 \u062e\u0631\u0648\u062c\u06cc \u0647\u0631 \u06cc\u06a9 \u0627\u0632 \u0628\u0631\u0631\u0633\u06cc\u200c\u0647\u0627\u06cc \u0648\u0636\u0639\u06cc\u062a \u0628\u0631\u0645\u06cc\u200c\u06af\u0631\u062f\u062f \u062f\u0631\u0633\u062a \u0627\u0633\u062a\u060c \u0648\u0627\u0642\u0639\u06cc\u060c \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0639\u0646\u06cc \u06a9\u0647 \u0647\u0631 \u0686\u06a9 \u062e\u0627\u0635\u06cc \u0628\u0647 \u062f\u0646\u0628\u0627\u0644 \u0622\u0646 \u0628\u0627\u0634\u062f \u0645\u0637\u0627\u0628\u0642 \u0627\u0646\u062a\u0638\u0627\u0631 \u0627\u0633\u062a.  \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f AS001 \u0634\u0646\u0627\u0633\u0647 \u0647\u0627\u06cc \u0634\u0627\u062e\u0635 \u062e\u0627\u0635\u06cc \u0647\u0633\u062a\u0646\u062f \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0627 \u062c\u062f\u0648\u0644\u06cc \u062f\u0631 \u0645\u0633\u062a\u0646\u062f\u0627\u062a puppetlabs\/puppet_status_check \u0627\u0631\u062c\u0627\u0639 \u062f\u0627\u062f\u0647 \u0634\u0648\u0646\u062f.<\/p>\n<p>\u062f\u0631 \u06af\u0631\u0647 \u0645\u062b\u0627\u0644 \u0645\u0646\u060c \u0628\u0647 \u0646\u0638\u0631 \u0645\u06cc \u0631\u0633\u062f \u06a9\u0647 S0001 \u062f\u0631 \u062d\u0627\u0644 \u0628\u0627\u0632\u06af\u0634\u062a \u0627\u0633\u062a \u0646\u0627\u062f\u0631\u0633\u062a\u060c \u06cc\u0639\u0646\u06cc \u0686\u06cc\u0632\u06cc \u0628\u0627 \u0639\u0627\u0645\u0644 Puppet \u062f\u0631 \u0627\u06cc\u0646 \u06af\u0631\u0647 \u062e\u0627\u0635 \u062f\u0631\u0633\u062a \u0646\u06cc\u0633\u062a.  \u0628\u0627 \u0627\u0631\u062c\u0627\u0639 \u0628\u0647 \u062c\u062f\u0648\u0644 \u062f\u0631 \u0645\u0633\u062a\u0646\u062f\u0627\u062a \u0645\u0627\u0698\u0648\u0644 \u0647\u0627\u060c \u0628\u0647 \u0633\u0631\u0639\u062a \u0645\u06cc \u062a\u0648\u0627\u0646\u0645 \u062a\u0639\u06cc\u06cc\u0646 \u06a9\u0646\u0645 \u06a9\u0647 \u0639\u0631\u0648\u0633\u06a9 \u062e\u06cc\u0645\u0647 \u0634\u0628 \u0628\u0627\u0632\u06cc \u0633\u0631\u0648\u06cc\u0633 \u062f\u0631 \u0627\u06cc\u0646 \u06af\u0631\u0647 \u0627\u062c\u0631\u0627 \u0646\u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u062d\u062a\u06cc \u0645\u0631\u0627\u062d\u0644\u06cc \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u06a9\u0647 \u0628\u0647 \u0645\u0646 \u0645\u06cc\u200c\u06af\u0648\u06cc\u062f \u0686\u06af\u0648\u0646\u0647 \u0648\u0636\u0639\u06cc\u062a \u0631\u0627 \u0627\u0635\u0644\u0627\u062d \u06a9\u0646\u0645 (\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0648\u0631\u062f \u067e\u06cc\u0648\u0646\u062f \u0645\u0633\u062a\u0646\u062f\u0627\u062a \u0627\u0633\u062a).<\/p>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0633\u0639\u06cc \u06a9\u0646\u06cc\u0645 \u0645\u0631\u0627\u062d\u0644 \u0633\u0644\u0641 \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u0645 \u062a\u0627 \u0628\u0628\u06cc\u0646\u06cc\u0645 \u0622\u06cc\u0627 \u0646\u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0645\u0634\u06a9\u0644 \u0631\u0627 \u062d\u0644 \u06a9\u0646\u06cc\u0645.<\/p>\n<p>root@agent01:~# puppet resource service puppet ensure=running<br \/>\nNotice: \/Service[puppet]\/ensure: ensure changed &#8216;stopped&#8217; to &#8216;running&#8217;<br \/>\nservice { &#8216;puppet&#8217;:<br \/>\n  ensure   =&gt; &#8216;running&#8217;,<br \/>\n  provider =&gt; &#8216;systemd&#8217;,<br \/>\n}<br \/>\nroot@agent01:~# puppet facts puppet_status_check<br \/>\n{<br \/>\n  &#8220;puppet_status_check&#8221;: {<br \/>\n    &#8220;AS001&#8221;: true,<br \/>\n    &#8220;AS003&#8221;: true,<br \/>\n    &#8220;AS004&#8221;: true,<br \/>\n    &#8220;S0001&#8221;: true,<br \/>\n    &#8220;S0003&#8221;: true,<br \/>\n    &#8220;S0012&#8221;: true,<br \/>\n    &#8220;S0013&#8221;: true,<br \/>\n    &#8220;S0021&#8221;: true,<br \/>\n    &#8220;S0030&#8221;: true<br \/>\n  }<br \/>\n}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0639\u0627\u0644\u06cc!  \u062d\u0627\u0644\u0627 \u06a9\u0647 \u0647\u0645\u0647 \u0686\u06a9 \u0647\u0627 \u0628\u0631\u06af\u0634\u062a\u0647 \u0627\u0646\u062f \u062f\u0631\u0633\u062a \u0627\u0633\u062a\u060c \u0648\u0627\u0642\u0639\u06cc \u062f\u0631 \u0627\u06cc\u0646 \u06af\u0631\u0647\u060c \u0639\u0627\u0645\u0644 Puppet \u062f\u0648\u0628\u0627\u0631\u0647 \u062f\u0631 \u0648\u0636\u0639\u06cc\u062a \u062e\u0648\u0628\u06cc \u0642\u0631\u0627\u0631 \u062f\u0627\u0631\u062f.<\/p>\n<p>\u0628\u0633\u06cc\u0627\u0631 \u062e\u0648\u0628\u060c \u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc \u062f\u0627\u0646\u0645 \u06a9\u0647 \u0627\u062d\u062a\u0645\u0627\u0644\u0627\u064b \u0628\u0647 \u0686\u0647 \u0686\u06cc\u0632\u06cc \u0641\u06a9\u0631 \u0645\u06cc \u06a9\u0646\u06cc\u062f: &#8220;\u0634\u0645\u0627 \u0641\u0642\u0637 \u0628\u0647 \u0622\u0646 \u0646\u06af\u0627\u0647 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f Puppet_status_check \u0648\u0627\u0642\u0639\u06cc\u062a \u0628\u0647 \u0637\u0648\u0631 \u0645\u0633\u062a\u0642\u06cc\u0645 \u062f\u0631 \u06cc\u06a9 \u06af\u0631\u0647.  \u0645\u0646 \u0635\u062f\u0647\u0627 (\u06cc\u0627 \u0647\u0632\u0627\u0631\u0627\u0646) \u06af\u0631\u0647 \u062f\u0627\u0631\u0645\u060c \u0622\u06cc\u0627 \u0628\u0631\u0631\u0633\u06cc \u0647\u0631 \u06cc\u06a9 \u0628\u0647 \u0635\u0648\u0631\u062a \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u062e\u0633\u062a\u0647 \u06a9\u0646\u0646\u062f\u0647 \u0646\u06cc\u0633\u062a\u061f&#8221;<\/p>\n<p>  \u0645\u0634\u0627\u0647\u062f\u0647 \u0648\u0636\u0639\u06cc\u062a \u0628\u0631\u0627\u06cc \u0686\u0646\u062f\u06cc\u0646 \u06af\u0631\u0647 &#8211; \u067e\u06cc\u0686<\/p>\n<p>\u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0628\u0648\u0644\u062a\u060c \u0645\u0627\u0698\u0648\u0644 puppetlabs\/puppet_status_check \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u06cc\u06a9 \u0645\u0648\u0631\u062f \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f puppet_status_check::summary \u0628\u0631\u0627\u06cc \u062d\u0644 \u0627\u06cc\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062f\u0631 \u0686\u0646\u062f\u06cc\u0646 \u06af\u0631\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u06cc\u0632\u06cc \u06a9\u0646\u06cc\u062f.  \u0645\u062b\u0644\u0627:<\/p>\n<p>someuser@jumpbox:~#bolt plan run puppet_status_check::summary targets=puppet-primary.corm.com,agent01.corp.com<br \/>\nStarting: plan puppet_status_check::summary<br \/>\nFinished: plan puppet_status_check::summary in 7.85 sec<br \/>\n{<br \/>\n  &#8220;nodes&#8221;: {<br \/>\n    &#8220;details&#8221;: {<br \/>\n      &#8220;puppet-primary.corp.com&#8221;: {<br \/>\n        &#8220;passing_tests_count&#8221;: 32,<br \/>\n        &#8220;failed_tests_count&#8221;: 0,<br \/>\n        &#8220;failed_tests_details&#8221;: [<\/p>\n<p>        ]\n      },<br \/>\n      &#8220;agent01.corp.com&#8221;: {<br \/>\n        &#8220;passing_tests_count&#8221;: 9,<br \/>\n        &#8220;failed_tests_count&#8221;: 0,<br \/>\n        &#8220;failed_tests_details&#8221;: [<\/p>\n<p>        ]\n      }<br \/>\n    },<br \/>\n    &#8220;passing&#8221;: [<br \/>\n      &#8220;puppet-primary.corp.com&#8221;,<br \/>\n      &#8220;agent01.corp.com&#8221;<br \/>\n    ],<br \/>\n    &#8220;failing&#8221;: [<\/p>\n<p>    ]\n  },<br \/>\n  &#8220;errors&#8221;: {<br \/>\n  },<br \/>\n  &#8220;status&#8221;: &#8220;passing&#8221;,<br \/>\n  &#8220;passing_node_count&#8221;: 2,<br \/>\n  &#8220;failing_node_count&#8221;: 0<br \/>\n}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u0645\u062b\u0627\u0644 \u0645\u0634\u0627\u0647\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f\u060c \u0645\u0646 \u0628\u0647 \u0635\u0631\u0627\u062d\u062a \u062f\u0648 \u06af\u0631\u0647 \u0631\u0627 \u06a9\u0647 \u0642\u0628\u0644\u0627\u064b \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0631\u062f\u0647 \u0628\u0648\u062f\u06cc\u0645 \u0647\u062f\u0641 \u0642\u0631\u0627\u0631 \u0645\u06cc \u062f\u0647\u0645\u060c \u0627\u06af\u0631\u0686\u0647 \u062f\u0631 \u0639\u0645\u0644 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0628\u062e\u0648\u0627\u0647\u06cc\u062f \u0627\u0632 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u06cc\u0627 \u0628\u0648\u0644\u062a \u0631\u0627 \u0628\u0647 PuppetDB \u0645\u062a\u0635\u0644 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u06af\u0631\u0648\u0647 \u0647\u0627 \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u0647\u062f\u0641 \u0642\u0631\u0627\u0631 \u062f\u0627\u062f\u0646 \u06af\u0631\u0647 \u0647\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u0646\u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f.<\/p>\n<p>  \u0645\u0634\u0627\u0647\u062f\u0647 \u0648\u0636\u0639\u06cc\u062a \u0628\u0631\u0627\u06cc \u0686\u0646\u062f\u06cc\u0646 \u06af\u0631\u0647 &#8211; PuppetDB<\/p>\n<p>\u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 PuppetDB\u060c \u0634\u0645\u0627 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 PuppetDB API \u0628\u0631\u0627\u06cc \u062c\u0633\u062a\u062c\u0648 \u062f\u0631 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc \u062c\u062f\u06cc\u062f\u062a\u0631\u06cc\u0646 \u0645\u0648\u0627\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. Puppet_status_check \u062e\u0631\u0648\u062c\u06cc \u0648\u0627\u0642\u0639\u06cc\u062a \u06af\u0632\u0627\u0631\u0634 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u0647\u0631 \u06af\u0631\u0647.<\/p>\n<p>\u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u067e\u0631\u0633 \u0648 \u062c\u0648 \u0628\u0631\u0627\u06cc \u0647\u0645\u0647 \u06af\u0631\u0647 \u0647\u0627\u06cc \u0637\u0628\u0642\u0647 \u0628\u0646\u062f\u06cc \u0634\u062f\u0647 \u0628\u0627 Puppet_status_check \u06a9\u0644\u0627\u0633:<\/p>\n<p>root@puppet-primary:~# curl -s -X GET https:\/\/$(puppet config print certname):8081\/pdb\/query\/v4 \\<br \/>\n&#8211;cacert $(puppet config print localcacert) \\<br \/>\n&#8211;cert $(puppet config print hostcert) \\<br \/>\n&#8211;key $(puppet config print hostprivkey) \\<br \/>\n&#8211;data-urlencode &#8216;pretty=true&#8217; \\<br \/>\n&#8211;data-urlencode &#8216;query=facts[certname,value] { name = &#8220;puppet_status_check&#8221; }&#8217;<br \/>\n[ {<br \/>\n    &#8220;certname&#8221;: &#8220;agent01.corp.com&#8221;,<br \/>\n    &#8220;value&#8221;: {<br \/>\n      &#8220;AS001&#8221;: true,<br \/>\n      &#8220;S0003&#8221;: true,<br \/>\n      &#8220;S0001&#8221;: true,<br \/>\n      &#8220;S0021&#8221;: true,<br \/>\n      &#8220;S0030&#8221;: true,<br \/>\n      &#8220;S0013&#8221;: true,<br \/>\n      &#8220;AS003&#8221;: true,<br \/>\n      &#8220;S0012&#8221;: true,<br \/>\n      &#8220;AS004&#8221;: true<br \/>\n    }<br \/>\n  },<br \/>\n  {<br \/>\n    &#8220;certname&#8221;: &#8220;puppet-primary.corp.com&#8221;,<br \/>\n    &#8220;value&#8221;: {<br \/>\n      &#8220;S0035&#8221;: true,<br \/>\n      &#8220;S0039&#8221;: true,<br \/>\n      &#8220;AS001&#8221;: true,<br \/>\n      &#8220;S0036&#8221;: true,<br \/>\n      &#8220;S0038&#8221;: true,<br \/>\n      &#8220;S0003&#8221;: true,<br \/>\n      &#8220;S0001&#8221;: true,<br \/>\n      &#8220;S0007&#8221;: true,<br \/>\n      &#8220;S0008&#8221;: true,<br \/>\n      &#8220;S0021&#8221;: true,<br \/>\n      &#8220;S0014&#8221;: true,<br \/>\n      &#8220;S0030&#8221;: true,<br \/>\n      &#8220;S0024&#8221;: true,<br \/>\n      &#8220;S0010&#8221;: true,<br \/>\n      &#8220;S0034&#8221;: true,<br \/>\n      &#8220;S0009&#8221;: true,<br \/>\n      &#8220;S0005&#8221;: true,<br \/>\n      &#8220;S0019&#8221;: true,<br \/>\n      &#8220;S0045&#8221;: true,<br \/>\n      &#8220;S0011&#8221;: true,<br \/>\n      &#8220;S0017&#8221;: true,<br \/>\n      &#8220;S0004&#8221;: true,<br \/>\n      &#8220;S0033&#8221;: true,<br \/>\n      &#8220;S0029&#8221;: true,<br \/>\n      &#8220;S0013&#8221;: true,<br \/>\n      &#8220;S0027&#8221;: true,<br \/>\n      &#8220;AS003&#8221;: true,<br \/>\n      &#8220;S0023&#8221;: true,<br \/>\n      &#8220;S0016&#8221;: true,<br \/>\n      &#8220;S0012&#8221;: true,<br \/>\n      &#8220;S0026&#8221;: true,<br \/>\n      &#8220;AS004&#8221;: true<br \/>\n    }<br \/>\n  } ]\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0646\u0645\u0648\u0646\u0647 \u0627\u06cc \u06a9\u0647 \u0628\u0631\u0627\u06cc \u06cc\u06a9 \u0645\u0648\u0631\u062f \u062e\u0627\u0635 \u067e\u0631\u0633 \u0648 \u062c\u0648 \u0645\u06cc \u06a9\u0646\u062f \u0646\u0642\u0634_\u0628\u0631\u0631\u0633\u06cc_\u0648\u0636\u0639\u06cc\u062a_\u0639\u0631\u0648\u0633\u06a9\u06cc\u060c \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0648\u0631\u062f \u0627\u0648\u0644\u06cc\u0647:<\/p>\n<p>root@puppet-primary:~# curl -s -X GET https:\/\/$(puppet config print certname):8081\/pdb\/query\/v4 \\<br \/>\n&#8211;cacert $(puppet config print localcacert) \\<br \/>\n&#8211;cert $(puppet config print hostcert) \\<br \/>\n&#8211;key $(puppet config print hostprivkey) \\<br \/>\n&#8211;data-urlencode &#8216;pretty=true&#8217; \\<br \/>\n&#8211;data-urlencode &#8216;query=facts[certname,value] { name = &#8220;puppet_status_check&#8221; and certname in facts[certname] { name = &#8220;puppet_status_check_role&#8221; and value = &#8220;primary&#8221;}}&#8217;<br \/>\n[ {<br \/>\n    &#8220;certname&#8221;: &#8220;puppet-primary.corp.com&#8221;,<br \/>\n    &#8220;value&#8221;: {<br \/>\n      &#8220;S0035&#8221;: true,<br \/>\n      &#8220;S0039&#8221;: true,<br \/>\n      &#8220;AS001&#8221;: true,<br \/>\n      &#8220;S0036&#8221;: true,<br \/>\n      &#8220;S0038&#8221;: true,<br \/>\n      &#8220;S0003&#8221;: true,<br \/>\n      &#8220;S0001&#8221;: true,<br \/>\n      &#8220;S0007&#8221;: true,<br \/>\n      &#8220;S0008&#8221;: true,<br \/>\n      &#8220;S0021&#8221;: true,<br \/>\n      &#8220;S0014&#8221;: true,<br \/>\n      &#8220;S0030&#8221;: true,<br \/>\n      &#8220;S0024&#8221;: true,<br \/>\n      &#8220;S0010&#8221;: true,<br \/>\n      &#8220;S0034&#8221;: true,<br \/>\n      &#8220;S0009&#8221;: true,<br \/>\n      &#8220;S0005&#8221;: true,<br \/>\n      &#8220;S0019&#8221;: true,<br \/>\n      &#8220;S0045&#8221;: true,<br \/>\n      &#8220;S0011&#8221;: true,<br \/>\n      &#8220;S0017&#8221;: true,<br \/>\n      &#8220;S0004&#8221;: true,<br \/>\n      &#8220;S0033&#8221;: true,<br \/>\n      &#8220;S0029&#8221;: true,<br \/>\n      &#8220;S0013&#8221;: true,<br \/>\n      &#8220;S0027&#8221;: true,<br \/>\n      &#8220;AS003&#8221;: true,<br \/>\n      &#8220;S0023&#8221;: true,<br \/>\n      &#8220;S0016&#8221;: true,<br \/>\n      &#8220;S0012&#8221;: true,<br \/>\n      &#8220;S0026&#8221;: true,<br \/>\n      &#8220;AS004&#8221;: true<br \/>\n    }<br \/>\n  } ]\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  \u062c\u0627\u06cc\u0632\u0647 \u0646\u06a9\u062a\u0647<\/p>\n<p>\u0627\u06af\u0631 \u0634\u0645\u0627 \u0647\u0645 \u0645\u062b\u0644 \u0645\u0646 \u0647\u0633\u062a\u06cc\u062f \u0648 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0646\u0634\u0627\u0646\u06af\u0631\u0647\u0627\u06cc \u0648\u0636\u0639\u06cc\u062a \u062f\u0631 \u062e\u0631\u0648\u062c\u06cc \u0645\u0631\u062a\u0628 \u0646\u0634\u062f\u0647 \u0627\u0646\u062f \u0646\u0627\u0631\u0627\u062d\u062a\u062a\u0627\u0646 \u0645\u06cc \u06a9\u0646\u062f\u060c \u0647\u0645\u06cc\u0634\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0641\u0631\u0648\u0634\u0646\u062f\u0647 \u062f\u0631 \u0632\u0645\u0627\u0646 \u0627\u062c\u0631\u0627\u06cc Ruby \u06a9\u0647 \u0639\u0627\u0645\u0644 Puppet \u0647\u0645\u0631\u0627\u0647 \u0628\u0627 \u0622\u0646 \u0627\u0633\u062a \u0648 \u0645\u0642\u062f\u0627\u0631\u06cc \u06a9\u062f \u0631\u0648\u0628\u06cc \u062f\u0631\u0648\u0646 \u062e\u0637\u06cc \u0633\u0631\u06cc\u0639 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<p>root@puppet-primary:~# curl -s -X GET https:\/\/$(puppet config print certname):8081\/pdb\/query\/v4 \\<br \/>\n&#8211;cacert $(puppet config print localcacert) \\<br \/>\n&#8211;cert $(puppet config print hostcert) \\<br \/>\n&#8211;key $(puppet config print hostprivkey) \\<br \/>\n&#8211;data-urlencode &#8216;pretty=true&#8217; \\<br \/>\n&#8211;data-urlencode &#8216;query=facts[certname,value] { name = &#8220;puppet_status_check&#8221; and certname in facts[certname] { name = &#8220;puppet_status_check_role&#8221; and value = &#8220;primary&#8221;}}&#8217; \\<br \/>\n| \/opt\/puppetlabs\/puppet\/bin\/ruby -rjson -e &#8220;puts JSON.pretty_generate(JSON.parse(STDIN.read).each {|h| h[&#8216;value&#8217;] = h[&#8216;value&#8217;].sort.to_h })&#8221;<br \/>\n[<br \/>\n  {<br \/>\n    &#8220;certname&#8221;: &#8220;puppet-primary.corp.com&#8221;,<br \/>\n    &#8220;value&#8221;: {<br \/>\n      &#8220;AS001&#8221;: true,<br \/>\n      &#8220;AS003&#8221;: true,<br \/>\n      &#8220;AS004&#8221;: true,<br \/>\n      &#8220;S0001&#8221;: true,<br \/>\n      &#8220;S0003&#8221;: true,<br \/>\n      &#8220;S0004&#8221;: true,<br \/>\n      &#8220;S0005&#8221;: true,<br \/>\n      &#8220;S0007&#8221;: true,<br \/>\n      &#8220;S0008&#8221;: true,<br \/>\n      &#8220;S0009&#8221;: true,<br \/>\n      &#8220;S0010&#8221;: true,<br \/>\n      &#8220;S0011&#8221;: true,<br \/>\n      &#8220;S0012&#8221;: true,<br \/>\n      &#8220;S0013&#8221;: true,<br \/>\n      &#8220;S0014&#8221;: true,<br \/>\n      &#8220;S0016&#8221;: true,<br \/>\n      &#8220;S0017&#8221;: true,<br \/>\n      &#8220;S0019&#8221;: true,<br \/>\n      &#8220;S0021&#8221;: true,<br \/>\n      &#8220;S0023&#8221;: true,<br \/>\n      &#8220;S0024&#8221;: true,<br \/>\n      &#8220;S0026&#8221;: true,<br \/>\n      &#8220;S0027&#8221;: true,<br \/>\n      &#8220;S0029&#8221;: true,<br \/>\n      &#8220;S0030&#8221;: true,<br \/>\n      &#8220;S0033&#8221;: true,<br \/>\n      &#8220;S0034&#8221;: true,<br \/>\n      &#8220;S0035&#8221;: true,<br \/>\n      &#8220;S0036&#8221;: true,<br \/>\n      &#8220;S0038&#8221;: true,<br \/>\n      &#8220;S0039&#8221;: true,<br \/>\n      &#8220;S0045&#8221;: true<br \/>\n    }<br \/>\n  }<br \/>\n]\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>  \u0627\u0633\u062a\u062b\u0646\u0627\u0647\u0627\u06cc \u0634\u0627\u062e\u0635<\/p>\n<p>\u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 \u0645\u0646 \u062a\u0648\u0635\u06cc\u0647 \u0645\u06cc \u06a9\u0646\u0645 \u0628\u0627 \u0634\u0631\u0648\u0639 \u06af\u0632\u0627\u0631\u0634 \u062f\u0631 \u0645\u0648\u0631\u062f \u0647\u0645\u0647 \u0634\u0627\u062e\u0635 \u0647\u0627\u06cc \u067e\u06cc\u0634 \u0641\u0631\u0636\u060c \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0633\u0646\u0627\u0631\u06cc\u0648\u0647\u0627\u06cc\u06cc \u0648\u062c\u0648\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f \u06a9\u0647 \u0628\u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u0631\u062e\u06cc \u0627\u0632 \u0634\u0627\u062e\u0635 \u0647\u0627 \u0631\u0627 \u062f\u0631 \u0633\u0627\u0632\u0645\u0627\u0646 \u062e\u0648\u062f \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f. <\/p>\n<p>\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c \u0641\u0631\u0636 \u06a9\u0646\u06cc\u062f \u0633\u0631\u0648\u0631 \u0627\u0635\u0644\u06cc \u0639\u0631\u0648\u0633\u06a9\u06cc \u062e\u0648\u062f \u0631\u0627 \u062f\u0642\u06cc\u0642\u0627\u064b \u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u062f\u0631 \u0628\u0627\u0644\u0627 \u062a\u0648\u0636\u06cc\u062d \u062f\u0627\u062f\u0647 \u0634\u062f \u0628\u0627 \u0646\u0642\u0634 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f \u0627\u0648\u0644\u06cc\u0647.  \u0627\u06cc\u0646 \u0646\u0634\u0627\u0646\u06af\u0631\u0647\u0627 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0639\u0627\u0645\u0644 Puppet\u060c Puppet Server\u060c PuppetDB \u0648 Certificate Authority \u0641\u0639\u0627\u0644 \u0645\u06cc \u06a9\u0646\u062f.  \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u0641\u0631\u0636 \u06a9\u0646\u06cc\u062f \u06a9\u0647 PuppetDB \u0631\u0648\u06cc \u0622\u0646 \u06af\u0631\u0647 \u0646\u0635\u0628 \u0646\u0634\u062f\u0647 \u0627\u0633\u062a.  \u0647\u0631 \u0628\u0627\u0631 \u06a9\u0647 \u0639\u0627\u0645\u0644 Puppet \u0631\u0648\u06cc \u0622\u0646 \u06af\u0631\u0647 \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u062f\u060c \u062e\u0631\u0648\u062c\u06cc \u0645\u0634\u0627\u0628\u0647\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u0627\u0634\u062a:<\/p>\n<p>root@puppet-primary:~# puppet agent -t<br \/>\nInfo: Using environment &#8216;production&#8217;<br \/>\nInfo: Retrieving pluginfacts<br \/>\nInfo: Retrieving plugin<br \/>\nInfo: Loading facts<br \/>\nWarning: Facter: Error in fact &#8216;puppet_status_check.S0007&#8217; when checking postgres info: statvfs() function failed: No such file or directory<br \/>\nWarning: Facter: Error in fact &#8216;puppet_status_check.S0011&#8242; failed to get service name: undefined method `[]&#8217; for nil:NilClass<br \/>\ntail: cannot open &#8216;\/var\/log\/puppetlabs\/puppetdb\/puppetdb.log&#8217; for reading: No such file or directory<br \/>\nNotice: Requesting catalog from puppet-primary.corp.com:8140 (172.31.112.200)<br \/>\nNotice: Catalog compiled by puppet-primary.corp.com<br \/>\nInfo: Caching catalog for puppet-primary.corp.com<br \/>\nInfo: Applying configuration version &#8216;puppet-primary-production-f457e3d2333&#8217;<br \/>\nNotice: S0007 is at fault, Checks that there is at least 20% disk space free on PostgreSQL data partition. Refer to documentation for required action.<br \/>\nNotice: \/Stage[main]\/Puppet_status_check\/Notify[puppet_status_check S0007]\/message: defined &#8216;message&#8217; as &#8216;S0007 is at fault, Checks that there is at least 20% disk space free on PostgreSQL data partition. Refer to documentation for required action.&#8217;<br \/>\nNotice: S0010 is at fault, Checks that puppetdb service is running and enabled on relevant components. Refer to documentation for required action.<br \/>\nNotice: \/Stage[main]\/Puppet_status_check\/Notify[puppet_status_check S0010]\/message: defined &#8216;message&#8217; as &#8216;S0010 is at fault, Checks that puppetdb service is running and enabled on relevant components. Refer to documentation for required action.&#8217;<br \/>\nNotice: S0011 is at fault, Checks that postgres service is running and enabled on relevant components. Refer to documentation for required action.<br \/>\nNotice: \/Stage[main]\/Puppet_status_check\/Notify[puppet_status_check S0011]\/message: defined &#8216;message&#8217; as &#8216;S0011 is at fault, Checks that postgres service is running and enabled on relevant components. Refer to documentation for required action.&#8217;<br \/>\nNotice: S0027 is at fault, Checks that the Puppetdb JVM heap max is set to an efficient volume. Refer to documentation for required action.<br \/>\nNotice: \/Stage[main]\/Puppet_status_check\/Notify[puppet_status_check S0027]\/message: defined &#8216;message&#8217; as &#8216;S0027 is at fault, Checks that the Puppetdb JVM heap max is set to an efficient volume. Refer to documentation for required action.&#8217;<br \/>\nNotice: S0029 is at fault, Checks whether the number of current connections to PostgreSQL DB is approaching 90% of the max_connections defined. Refer to documentation for required action.<br \/>\nNotice: \/Stage[main]\/Puppet_status_check\/Notify[puppet_status_check S0029]\/message: defined &#8216;message&#8217; as &#8216;S0029 is at fault, Checks whether the number of current connections to PostgreSQL DB is approaching 90% of the max_connections defined. Refer to documentation for required action.&#8217;<br \/>\nNotice: Applied catalog in 0.02 seconds<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0633\u0646\u0627\u0631\u06cc\u0648\u06cc \u062e\u0627\u0635\u060c \u062a\u0645\u0627\u0645 \u0627\u06cc\u0646 \u062e\u0631\u0648\u062c\u06cc \u0646\u0648\u06cc\u0632 \u0627\u0634\u062a\u0628\u0627\u0647 \u0627\u0633\u062a\u060c \u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u0645\u06cc \u062f\u0627\u0646\u06cc\u062f PuppetDB \u0646\u0635\u0628 \u0646\u0634\u062f\u0647 \u0627\u0633\u062a.  \u0622\u06cc\u0627 \u0648\u0627\u0642\u0639\u0627\u064b \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u0647 \u0634\u0645\u0627 \u0647\u0634\u062f\u0627\u0631 \u062f\u0627\u062f\u0647 \u0634\u0648\u062f \u06a9\u0647 puppetdb \u0633\u0631\u0648\u06cc\u0633 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0646\u06cc\u0633\u062a\u060c \u0648 \u063a\u06cc\u0631\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u0633\u0646\u0627\u0631\u06cc\u0648\u061f  \u0645\u0646 \u0634\u0631\u0637 \u0646\u0645\u06cc \u0628\u0646\u062f\u0645\u060c \u067e\u0633 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0627\u06cc\u0646 \u0633\u0631 \u0648 \u0635\u062f\u0627 \u0631\u0627 \u062e\u0627\u0645\u0648\u0634 \u06a9\u0646\u06cc\u0645\u061f<\/p>\n<p>\u0628\u0631\u0627\u06cc \u063a\u06cc\u0631\u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 \u0646\u0634\u0627\u0646\u06af\u0631\u0647\u0627\u060c \u062a\u0646\u0647\u0627 \u06a9\u0627\u0631\u06cc \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u0645 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0622\u0646 \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u0645 indicator_exclusions \u067e\u0627\u0631\u0627\u0645\u062a\u0631 \u0627\u0632 Puppet_status_check \u06a9\u0644\u0627\u0633 \u0648 \u0628\u0647 \u0622\u0646 \u0628\u06af\u0648\u06cc\u06cc\u062f \u06a9\u062f\u0627\u0645 \u0634\u0627\u062e\u0635 \u0647\u0627 \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0646\u062f.<\/p>\n<p>\u0645\u062b\u0644\u0627:<\/p>\n<p>node &#8216;puppet-primary.corp.com&#8217; {<br \/>\n  class { &#8216;puppet_status_check&#8217;:<br \/>\n    role                 =&gt; &#8216;primary&#8217;,<br \/>\n    indicator_exclusions =&gt; [<br \/>\n      &#8216;S0007&#8217;, &#8216;S0010&#8217;, &#8216;S0011&#8217;,<br \/>\n      &#8216;S0017&#8217;, &#8216;S0027&#8217;, &#8216;S0029&#8217;<br \/>\n    ],<br \/>\n  }<br \/>\n}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u067e\u0633 \u0627\u0632 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u06a9\u062f \u062e\u0648\u062f\u060c \u0639\u0627\u0645\u0644 Puppet \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0627\u0639\u0645\u0627\u0644 \u0634\u0648\u062f.<\/p>\n<p>root@puppet-primary:~# puppet agent -t<br \/>\nInfo: Using environment &#8216;production&#8217;<br \/>\nInfo: Retrieving pluginfacts<br \/>\nInfo: Retrieving plugin<br \/>\nInfo: Loading facts<br \/>\nWarning: Facter: Error in fact &#8216;puppet_status_check.S0007&#8217; when checking postgres info: statvfs() function failed: No such file or directory<br \/>\nWarning: Facter: Error in fact &#8216;puppet_status_check.S0011&#8242; failed to get service name: undefined method `[]&#8217; for nil:NilClass<br \/>\ntail: cannot open &#8216;\/var\/log\/puppetlabs\/puppetdb\/puppetdb.log&#8217; for reading: No such file or directory<br \/>\nNotice: Requesting catalog from puppet-primary.corp.com:8140 (172.31.112.200)<br \/>\nNotice: Catalog compiled by puppet-primary.corp.com<br \/>\nInfo: Caching catalog for puppet-primary.corp.com<br \/>\nInfo: Applying configuration version &#8216;puppet-primary-5bc7859de41&#8217;<br \/>\nNotice: \/Stage[main]\/Puppet_status_check\/File[\/opt\/puppetlabs\/puppet\/cache\/state\/status_check.json]\/content:<br \/>\n&#8212; \/opt\/puppetlabs\/puppet\/cache\/state\/status_check.json    2024-07-31 22:18:33.311548817 +0000<br \/>\n+++ \/tmp\/puppet-file20240731-23598-baocro   2024-07-31 22:29:21.437758201 +0000<br \/>\n@@ -2,5 +2,5 @@<br \/>\n   &#8220;role&#8221;: &#8220;primary&#8221;,<br \/>\n   &#8220;pg_config&#8221;: &#8220;pg_config&#8221;,<br \/>\n   &#8220;postgresql_service&#8221;: &#8220;postgresql@%{pg_major_version}-main&#8221;,<br \/>\n&#8211;  &#8220;indicator_exclusions&#8221;: &#8220;[]&#8221;<br \/>\n+  &#8220;indicator_exclusions&#8221;: &#8220;[S0007, S0010, S0011, S0017, S0027, S0029]&#8221;<br \/>\n }<\/p>\n<p>Notice: \/Stage[main]\/Puppet_status_check\/File[\/opt\/puppetlabs\/puppet\/cache\/state\/status_check.json]\/content: content changed &#8216;{sha256}e62e3a6ce0380a07dc426d2c936a74061daba893846696a19c0d91ef69f4cc6c&#8217; to &#8216;{sha256}6db3bfddabe0b2f6e78d25a229184746ca3d003caa7980c9fbc20370d5ccb265&#8217;<br \/>\nNotice: Applied catalog in 0.05 seconds<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u062f\u0641\u0639\u0647 \u0628\u0639\u062f \u06a9\u0647 \u0645\u0627\u0645\u0648\u0631 Puppet \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u062f\u060c \u062a\u0645\u0627\u0645 \u0622\u0646 \u0633\u0631 \u0648 \u0635\u062f\u0627 \u0628\u0627\u06cc\u062f \u0627\u0632 \u0628\u06cc\u0646 \u0628\u0631\u0648\u062f!<\/p>\n<p>root@puppet-primary:~# puppet agent -t<br \/>\nInfo: Using environment &#8216;production&#8217;<br \/>\nInfo: Retrieving pluginfacts<br \/>\nInfo: Retrieving plugin<br \/>\nInfo: Loading facts<br \/>\nNotice: Requesting catalog from puppet-primary.corp.com:8140 (172.31.112.200)<br \/>\nNotice: Catalog compiled by puppet-primary.corp.com<br \/>\nInfo: Caching catalog for puppet-primary.corp.com<br \/>\nInfo: Applying configuration version &#8216;puppet-primary-production-5bc7859de41&#8217;<br \/>\nNotice: Applied catalog in 0.04 seconds<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0627\u06cc\u0646\u060c \u0645\u0627 \u0646\u0628\u0627\u06cc\u062f \u0634\u0627\u062e\u0635 \u0647\u0627\u06cc\u06cc \u0631\u0627 \u06a9\u0647 \u062f\u0631 \u062e\u0631\u0648\u062c\u06cc \u0648\u0627\u0642\u0639\u06cc \u062d\u0630\u0641 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u0645 \u0628\u0628\u06cc\u0646\u06cc\u0645:<\/p>\n<p>root@puppet-primary:~# puppet facts puppet_status_check<br \/>\n{<br \/>\n  &#8220;puppet_status_check&#8221;: {<br \/>\n    &#8220;AS001&#8221;: true,<br \/>\n    &#8220;AS003&#8221;: false,<br \/>\n    &#8220;AS004&#8221;: true,<br \/>\n    &#8220;S0001&#8221;: true,<br \/>\n    &#8220;S0003&#8221;: true,<br \/>\n    &#8220;S0004&#8221;: true,<br \/>\n    &#8220;S0005&#8221;: true,<br \/>\n    &#8220;S0008&#8221;: true,<br \/>\n    &#8220;S0009&#8221;: true,<br \/>\n    &#8220;S0012&#8221;: true,<br \/>\n    &#8220;S0013&#8221;: true,<br \/>\n    &#8220;S0014&#8221;: true,<br \/>\n    &#8220;S0016&#8221;: true,<br \/>\n    &#8220;S0019&#8221;: true,<br \/>\n    &#8220;S0021&#8221;: true,<br \/>\n    &#8220;S0023&#8221;: true,<br \/>\n    &#8220;S0024&#8221;: true,<br \/>\n    &#8220;S0026&#8221;: true,<br \/>\n    &#8220;S0030&#8221;: true,<br \/>\n    &#8220;S0033&#8221;: true,<br \/>\n    &#8220;S0034&#8221;: true,<br \/>\n    &#8220;S0035&#8221;: true,<br \/>\n    &#8220;S0036&#8221;: true,<br \/>\n    &#8220;S0038&#8221;: true,<br \/>\n    &#8220;S0039&#8221;: true,<br \/>\n    &#8220;S0045&#8221;: true<br \/>\n  }<br \/>\n}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<div data-article-id=\"1925768\" id=\"article-body\">\n<p>\u0647\u0646\u06af\u0627\u0645 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0647\u0631 \u067e\u0634\u062a\u0647 \u0641\u0646\u0627\u0648\u0631\u06cc\u060c \u0647\u0645\u0647 \u0645\u0627 \u0633\u0648\u0627\u0644\u0627\u062a \u0632\u06cc\u0631 \u0631\u0627 \u0686\u0647 \u062f\u0631 \u062f\u0627\u062e\u0644 \u06cc\u0627 \u0686\u0647 \u0627\u0632 \u0647\u0645\u062a\u0627\u06cc\u0627\u0646 \u062e\u0648\u062f \u067e\u0631\u0633\u06cc\u062f\u0647 \u0627\u06cc\u0645:<\/p>\n<ul>\n<li>\u0622\u06cc\u0627 \u067e\u0634\u062a\u0647 \u0628\u0647 \u0637\u0648\u0631 \u0628\u0647\u06cc\u0646\u0647 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a\u061f<\/li>\n<li>\u0622\u06cc\u0627 \u0645\u0633\u0627\u0626\u0644\u06cc \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u06a9\u0647 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u062a\u0648\u062c\u0647 \u0641\u0648\u0631\u06cc \u0645\u0646 (\u06cc\u0627 \u062a\u06cc\u0645 \u0645\u0646) \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f\u061f<\/li>\n<li>\u0622\u06cc\u0627 &#8220;\u06af\u0648\u0686\u0627&#8221; \u0628\u0627\u0644\u0642\u0648\u0647 \u0627\u06cc \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u06a9\u0647 \u0628\u0627\u06cc\u062f \u062f\u0631 \u0647\u0641\u062a\u0647 \u0647\u0627\/\u0645\u0627\u0647 \u0647\u0627\u06cc \u0622\u06cc\u0646\u062f\u0647 \u0645\u0648\u0631\u062f \u062a\u0648\u062c\u0647 \u0642\u0631\u0627\u0631 \u06af\u06cc\u0631\u062f\u061f<\/li>\n<\/ul>\n<p>\u062f\u0631 \u0645\u0648\u0631\u062f Puppet\u060c \u0628\u0631\u0627\u06cc \u067e\u0627\u0633\u062e \u0628\u0647 \u0627\u06cc\u0646 \u0633\u0624\u0627\u0644\u0627\u062a\u060c \u0645\u062f\u06cc\u0631\u0627\u0646 \u0627\u0632 \u0646\u0638\u0631 \u062a\u0627\u0631\u06cc\u062e\u06cc \u0628\u0647 \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0631\u0648\u06cc \u0645\u06cc \u0622\u0648\u0631\u0646\u062f:<\/p>\n<ul>\n<li>\u0628\u0631\u0631\u0633\u06cc \u062e\u0631\u0648\u062c\u06cc \u062a\u0645\u0627\u0633 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 HTTP API.<\/li>\n<li>\u0628\u0631\u0631\u0633\u06cc \u062f\u0627\u0634\u0628\u0648\u0631\u062f\u0647\u0627\u06cc \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc \u062d\u0627\u0648\u06cc \u0646\u0645\u0627\u06cc\u0634 \u0628\u0635\u0631\u06cc \u0645\u0639\u06cc\u0627\u0631\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641.<\/li>\n<li>\u062a\u062c\u0632\u06cc\u0647 \u0641\u0627\u06cc\u0644(\u0647\u0627\u06cc) log \u0628\u0631\u0627\u06cc \u0627\u062c\u0632\u0627\u06cc \u0645\u062e\u062a\u0644\u0641.<\/li>\n<\/ul>\n<p>\u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 \u0647\u0645\u0647 \u0627\u06cc\u0646 \u0645\u0646\u0627\u0628\u0639 \u0628\u06cc\u0646\u0634 \u0627\u0631\u0632\u0634\u0645\u0646\u062f\u06cc \u062f\u0631 \u0645\u0648\u0631\u062f \u0646\u062d\u0648\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f \u06cc\u06a9 \u0646\u0635\u0628 \u0639\u0631\u0648\u0633\u06a9\u06cc \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u0646\u062f\u060c \u0647\u0645\u0647 \u0622\u0646\u0647\u0627 \u062f\u0631 \u06cc\u06a9 \u0686\u06cc\u0632 \u0645\u0634\u062a\u0631\u06a9 \u0647\u0633\u062a\u0646\u062f.  \u0627\u06cc\u0646 \u062d\u062c\u0645 \u0642\u0627\u0628\u0644 \u062a\u0648\u062c\u0647\u06cc \u0627\u0632 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 \u0628\u0647 \u0645\u062f\u06cc\u0631 \u0627\u0633\u062a.  \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc \u06a9\u0647 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u062a\u062c\u0631\u0628\u0647 \u0642\u0628\u0644\u06cc \u062f\u0631 \u0645\u0648\u0631\u062f \u0622\u0646\u0686\u0647 \u06a9\u0647 \u0628\u0627\u06cc\u062f \u062c\u0633\u062a\u062c\u0648 \u06a9\u0631\u062f\u060c \u06a9\u062c\u0627 \u062c\u0633\u062a\u062c\u0648 \u06a9\u0631\u062f \u0648 \u0686\u06af\u0648\u0646\u0647 \u0628\u0647 \u062f\u0633\u062a \u0622\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f.  \u062a\u062c\u0631\u0628\u0647 \u0631\u0627 \u06a9\u0646\u0627\u0631 \u0628\u06af\u0630\u0627\u0631\u06cc\u0645\u060c \u062c\u0645\u0639 \u0622\u0648\u0631\u06cc \u0647\u0645\u0647 \u0627\u06cc\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0632\u0645\u0627\u0646 \u0645\u06cc \u0628\u0631\u062f.  \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0627\u062d\u062a\u0645\u0627\u0644\u0627\u064b \u0645\u062c\u0628\u0648\u0631 \u0646\u06cc\u0633\u062a\u06cc\u062f \u062f\u0631 \u0648\u0633\u0637 \u06cc\u06a9 \u0634\u06cc\u0641\u062a \u06a9\u0627\u0631\u06cc \u0634\u0628\u0627\u0646\u0647 \u0648\u0642\u062a \u0628\u06af\u0630\u0627\u0631\u06cc\u062f.  \u062d\u062a\u06cc \u0627\u06af\u0631 \u0645\u0642\u0635\u0631 \u0631\u0627 \u067e\u06cc\u062f\u0627 \u06a9\u0631\u062f\u06cc\u062f\u060c \u0622\u0646 \u062f\u0641\u062a\u0631\u0686\u0647 \u06cc\u0627\u062f\u062f\u0627\u0634\u062a \u0628\u0627 \u06cc\u0627\u062f\u062f\u0627\u0634\u062a\u200c\u0647\u0627\u06cc \u0645\u0631\u0645\u0648\u0632 \u0634\u0645\u0627 \u062f\u0631 \u0645\u0648\u0631\u062f \u0686\u06af\u0648\u0646\u06af\u06cc \u062d\u0644 \u0622\u0646 \u0627\u0632 \u0622\u062e\u0631\u06cc\u0646 \u0628\u0627\u0631\u06cc \u06a9\u0647 \u0628\u0627 \u0627\u06cc\u0646 \u0633\u0646\u0627\u0631\u06cc\u0648 \u0645\u0648\u0627\u062c\u0647 \u0634\u062f\u06cc\u062f \u06a9\u062c\u0627 \u0631\u0641\u062a\u0647 \u0627\u0633\u062a\u061f  \u06cc\u0627 \u0634\u0627\u06cc\u062f \u0627\u06cc\u0646 \u0627\u0648\u0644\u06cc\u0646 \u0628\u0627\u0631\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u0633\u0646\u0627\u0631\u06cc\u0648 \u0647\u0633\u062a\u06cc\u062f \u0648 Google-Fu \u0634\u0645\u0627 \u0631\u0627 \u062f\u0631 \u062d\u0627\u0644\u062a \u0645\u062d\u0631\u0648\u0645 \u0627\u0632 \u06a9\u0627\u0641\u0626\u06cc\u0646 \u0634\u06a9\u0633\u062a \u0645\u06cc \u062f\u0647\u062f\u061f<\/p>\n<p>\u062e\u0648\u0628\u060c \u0628\u0627 \u0641\u0631\u0636\u06cc\u0627\u062a \u0628\u0633 \u0627\u0633\u062a.  \u0627\u06af\u0631 \u0628\u0647 \u0634\u0645\u0627 \u0628\u06af\u0648\u06cc\u0645 \u06af\u0632\u06cc\u0646\u0647 \u0633\u0627\u062f\u0647 \u062a\u0631\u06cc \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u0686\u0647\u061f  \u062e\u0648\u0628\u060c \u0634\u0645\u0627 \u062e\u0648\u0634 \u0634\u0627\u0646\u0633 \u0647\u0633\u062a\u06cc\u062f\u060c \u0645\u0627\u0698\u0648\u0644 puppetlabs\/puppet_status_check \u06cc\u06a9 \u0631\u0627\u0647 \u0641\u0639\u0627\u0644 \u0631\u0627 \u0628\u0631\u0627\u06cc \u062a\u0639\u06cc\u06cc\u0646 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0646\u0635\u0628 \u0639\u0631\u0648\u0633\u06a9 \u062f\u0631 \u0648\u0636\u0639\u06cc\u062a \u0627\u06cc\u062f\u0647 \u0622\u0644 \u0646\u06cc\u0633\u062a\u060c \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f.  \u0627\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644 \u0627\u0632 \u0646\u0634\u0627\u0646\u06af\u0631\u0647\u0627\u06cc \u0627\u0632 \u067e\u06cc\u0634 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f \u062a\u0627 \u0646\u0647 \u062a\u0646\u0647\u0627 \u062e\u0631\u0648\u062c\u06cc \u0633\u0627\u062f\u0647 \u0627\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u062a\u0634\u062e\u06cc\u0635 \u0627\u0634\u062a\u0628\u0627\u0647 \u0627\u0631\u0627\u0626\u0647 \u062f\u0647\u062f\u060c \u0628\u0644\u06a9\u0647 \u0634\u0645\u0627 \u0631\u0627 \u0628\u0647 \u0645\u0631\u0627\u062d\u0644 \u0628\u0639\u062f\u06cc \u0628\u0631\u0627\u06cc \u062a\u0641\u06a9\u06cc\u06a9 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>&#8220;\u0627\u06cc\u0646 \u0639\u0627\u0644\u06cc \u0628\u0647 \u0646\u0638\u0631 \u0645\u06cc \u0631\u0633\u062f\u060c \u0627\u0645\u0627 \u0686\u06af\u0648\u0646\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u0645 \u0627\u06cc\u0646 \u0645\u0648\u0631\u062f \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0645\u061f&#8221;  \u062e\u0648\u0628 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0634\u06cc\u0631\u062c\u0647 \u0628\u0632\u0646\u06cc\u0645\u061f<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<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:\/\/nabfollower.com\/blog\/open-source-puppet-preventative-maintenance-1dab\/#%D8%A8%D8%B1%D9%BE%D8%A7%DB%8C%DB%8C\" >\u0628\u0631\u067e\u0627\u06cc\u06cc<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/open-source-puppet-preventative-maintenance-1dab\/#%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C_%D8%AE%D8%B1%D9%88%D8%AC%DB%8C\" >\u0628\u0631\u0631\u0633\u06cc \u062e\u0631\u0648\u062c\u06cc<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/open-source-puppet-preventative-maintenance-1dab\/#%D9%85%D8%B4%D8%A7%D9%87%D8%AF%D9%87_%D9%88%D8%B6%D8%B9%DB%8C%D8%AA_%D8%A8%D8%B1%D8%A7%DB%8C_%DA%86%D9%86%D8%AF%DB%8C%D9%86_%DA%AF%D8%B1%D9%87_%E2%80%93_%D9%BE%DB%8C%DA%86\" >\u0645\u0634\u0627\u0647\u062f\u0647 \u0648\u0636\u0639\u06cc\u062a \u0628\u0631\u0627\u06cc \u0686\u0646\u062f\u06cc\u0646 \u06af\u0631\u0647 &#8211; \u067e\u06cc\u0686<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/open-source-puppet-preventative-maintenance-1dab\/#%D9%85%D8%B4%D8%A7%D9%87%D8%AF%D9%87_%D9%88%D8%B6%D8%B9%DB%8C%D8%AA_%D8%A8%D8%B1%D8%A7%DB%8C_%DA%86%D9%86%D8%AF%DB%8C%D9%86_%DA%AF%D8%B1%D9%87_%E2%80%93_PuppetDB\" >\u0645\u0634\u0627\u0647\u062f\u0647 \u0648\u0636\u0639\u06cc\u062a \u0628\u0631\u0627\u06cc \u0686\u0646\u062f\u06cc\u0646 \u06af\u0631\u0647 &#8211; PuppetDB<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/open-source-puppet-preventative-maintenance-1dab\/#%D8%AC%D8%A7%DB%8C%D8%B2%D9%87_%D9%86%DA%A9%D8%AA%D9%87\" >\u062c\u0627\u06cc\u0632\u0647 \u0646\u06a9\u062a\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/open-source-puppet-preventative-maintenance-1dab\/#%D8%A7%D8%B3%D8%AA%D8%AB%D9%86%D8%A7%D9%87%D8%A7%DB%8C_%D8%B4%D8%A7%D8%AE%D8%B5\" >\u0627\u0633\u062a\u062b\u0646\u0627\u0647\u0627\u06cc \u0634\u0627\u062e\u0635<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A8%D8%B1%D9%BE%D8%A7%DB%8C%DB%8C\"><\/span>\n<p>  \u0628\u0631\u067e\u0627\u06cc\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u0628\u062a\u062f\u0627 \u0628\u0627\u06cc\u062f \u0645\u0627\u0698\u0648\u0644 \u0631\u0627 \u062f\u0631 \u067e\u0627\u06cc\u06af\u0627\u0647 \u06a9\u062f \u062e\u0648\u062f \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u0645.  \u0627\u06af\u0631 \u0627\u0632 \u06cc\u06a9 \u0645\u062e\u0632\u0646 \u06a9\u0646\u062a\u0631\u0644 \u0648 \u06cc\u06a9 Puppetfile \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u062d\u062a\u0648\u06cc\u0627\u062a \u067e\u0627\u06cc\u06af\u0627\u0647 \u06a9\u062f \u062e\u0648\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u062f\u060c \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0647 Puppetfile \u062e\u0648\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f\u060c \u0632\u06cc\u0631\u0627 \u0645\u0627\u0698\u0648\u0644 \u0647\u0627\u06cc \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>mod 'puppetlabs-puppet_status_check', '0.9.2'\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06af\u0631 \u0648\u0628 \u0647\u0648\u06a9 \u06cc\u0627 \u0627\u062a\u0648\u0645\u0627\u0633\u06cc\u0648\u0646 \u062f\u06cc\u06af\u0631\u06cc \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0628\u0631\u0627\u06cc \u0634\u0645\u0627 \u0646\u062f\u0627\u0631\u06cc\u062f\u060c \u062d\u062a\u0645\u0627\u064b \u06a9\u062f \u062e\u0648\u062f \u0631\u0627 \u0645\u0633\u062a\u0642\u0631 \u06a9\u0646\u06cc\u062f.  \u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644\u060c \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 r10k \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0628\u0627 \u0627\u062c\u0631\u0627\u06cc \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u062d\u0644\u06cc \u0631\u0648\u06cc \u0633\u0631\u0648\u0631(\u0647\u0627\u06cc) Puppet \u062e\u0648\u062f \u0645\u0633\u062a\u0642\u0631 \u0634\u0648\u0646\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>r10k deploy environment production -mv\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062d\u0627\u0644\u0627 \u062f\u0641\u0639\u0647 \u0628\u0639\u062f \u06a9\u0647 \u0639\u0627\u0645\u0644 Puppet \u0631\u0648\u06cc \u06af\u0631\u0647 \u0647\u0627\u06cc \u0627\u06cc\u0646 \u0645\u062d\u06cc\u0637 \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u062f\u060c <strong>Puppet_status_check<\/strong> \u0648 <strong>\u0646\u0642\u0634_\u0628\u0631\u0631\u0633\u06cc_\u0648\u0636\u0639\u06cc\u062a_\u0639\u0631\u0648\u0633\u06a9\u06cc<\/strong> \u062d\u0642\u0627\u06cc\u0642 \u0628\u0631 \u0631\u0648\u06cc \u0647\u0631 \u06af\u0631\u0647 \u0628\u0627 \u067e\u0644\u0627\u06af\u06cc\u0646 \u0647\u0645\u06af\u0627\u0645 \u0633\u0627\u0632\u06cc \u0645\u06cc \u0634\u0648\u0646\u062f.  \u0627\u06cc\u0646 \u062d\u0642\u0627\u06cc\u0642 \u0686\u06cc\u0632\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc \u0631\u0627 \u06a9\u0647 \u0628\u0647 \u062f\u0646\u0628\u0627\u0644 \u0622\u0646 \u0647\u0633\u062a\u06cc\u0645 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 \u0645\u0627 \u0642\u0631\u0627\u0631 \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<p>\u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u0642\u0628\u0644 \u0627\u0632 \u0634\u0631\u0648\u0639 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u06cc\u0646 \u062d\u0642\u0627\u06cc\u0642\u060c \u0627\u0628\u062a\u062f\u0627 \u0628\u0627\u06cc\u062f \u0622\u0646\u0647\u0627 \u0631\u0627 \u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0647 \u0648 \u0628\u0647 \u0635\u0648\u0631\u062a \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u06a9\u062f\u0627\u0645 \u0632\u06cc\u0631\u0645\u062c\u0645\u0648\u0639\u0647 \u0627\u0632 \u0686\u06a9\u200c\u0647\u0627\u06cc\u06cc \u0631\u0627 \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u0645 \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u0645.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 \u062d\u0642\u0627\u06cc\u0642 \u0628\u0631\u0631\u0633\u06cc \u0648\u0636\u0639\u06cc\u062a\u060c \u0628\u0647 \u0633\u0627\u062f\u06af\u06cc \u0628\u0627\u06cc\u062f \u06af\u0631\u0647(\u0647\u0627\u06cc) \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u062f\u0633\u062a\u0647 \u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u0645 <strong>Puppet_status_check<\/strong> \u06a9\u0644\u0627\u0633  \u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644\u060c \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0647 \u0645\u062e\u0632\u0646 \u06a9\u0646\u062a\u0631\u0644 \u062e\u0648\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f <strong>manifests\/site.pp<\/strong>:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight ruby\"><code><span class=\"n\">node<\/span> <span class=\"n\">default<\/span> <span class=\"p\">{<\/span>\n  <span class=\"kp\">include<\/span> <span class=\"s1\">'puppet_status_check'<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0634\u0627\u06cc\u0627\u0646 \u0630\u06a9\u0631 \u0627\u0633\u062a\u060c \u062a\u0639\u0631\u06cc\u0641 \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u06af\u0631\u0647 \u0628\u0631\u0627\u06cc \u062a\u0645\u0627\u0645 \u06af\u0631\u0647\u200c\u0647\u0627\u06cc\u06cc \u0627\u0639\u0645\u0627\u0644 \u0645\u06cc\u200c\u0634\u0648\u062f \u06a9\u0647 \u062a\u0639\u0631\u06cc\u0641 \u06af\u0631\u0647 \u062e\u0627\u0635\u200c\u062a\u0631\u06cc \u062f\u0631 \u06af\u0631\u0647 \u0646\u062f\u0627\u0631\u0646\u062f. <strong>manifests\/site.pp<\/strong>.<\/p>\n<p>\u0634\u0627\u06cc\u0627\u0646 \u0630\u06a9\u0631 \u0627\u0633\u062a \u06a9\u0647 \u0631\u0641\u062a\u0627\u0631 \u067e\u06cc\u0634 \u0641\u0631\u0636 \u0627\u0632 <strong>Puppet_status_check<\/strong> \u06a9\u0644\u0627\u0633 \u0628\u0631\u0627\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0646\u0642\u0634 \u0628\u0631\u0631\u0633\u06cc \u0648\u0636\u0639\u06cc\u062a \u0627\u0633\u062a <strong>\u0639\u0627\u0645\u0644<\/strong>.  \u0627\u06cc\u0646 \u0628\u062f\u0627\u0646 \u0645\u0639\u0646\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u06af\u0631\u0647 \u0647\u0627\u060c \u0641\u0642\u0637 \u0628\u0631\u0631\u0633\u06cc \u0648\u0636\u0639\u06cc\u062a \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f \u0639\u0627\u0645\u0644 \u0639\u0631\u0648\u0633\u06a9\u06cc \u0641\u0639\u0627\u0644 \u0627\u0633\u062a.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0633\u0631\u0648\u0631 \u0639\u0631\u0648\u0633\u06a9\u06cc \u0634\u0645\u0627\u060c \u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 \u062f\u0627\u0646\u0633\u062a\u0646 \u0639\u0645\u0644\u06a9\u0631\u062f \u0635\u062d\u06cc\u062d \u0639\u0627\u0645\u0644 Puppet \u0645\u0641\u06cc\u062f \u0627\u0633\u062a\u060c \u062e\u062f\u0645\u0627\u062a \u0645\u0647\u0645 \u062f\u06cc\u06af\u0631\u06cc \u06a9\u0647 \u0628\u0631 \u0631\u0648\u06cc \u0633\u0631\u0648\u0631 \u0639\u0631\u0648\u0633\u06a9\u06cc \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u0646\u062f \u0686\u0637\u0648\u0631\u061f  \u0628\u0631\u0627\u06cc \u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 \u0628\u0631\u0631\u0633\u06cc \u0648\u0636\u0639\u06cc\u062a \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc \u062f\u06cc\u06af\u0631\u060c \u062a\u0646\u0647\u0627 \u06a9\u0627\u0631\u06cc \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u0645 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u067e\u0627\u0631\u0627\u0645\u062a\u0631 \u0646\u0642\u0634 \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u0645 <strong>Puppet_status_check<\/strong> \u06a9\u0644\u0627\u0633 \u0628\u0647 <strong>\u0627\u0648\u0644\u06cc\u0647<\/strong> \u0628\u0631\u0627\u06cc \u06af\u0631\u0647(\u0647\u0627\u06cc) \u062e\u0627\u0635.  \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c \u0634\u0645\u0627 <strong>manifests\/site.pp<\/strong> \u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u06cc\u06a9 \u062a\u0639\u0631\u06cc\u0641 \u06af\u0631\u0647 \u0645\u0627\u0646\u0646\u062f \u0627\u06cc\u0646 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight ruby\"><code><span class=\"n\">node<\/span> <span class=\"s1\">'puppet-primary.corp.com'<\/span> <span class=\"p\">{<\/span>\n  <span class=\"k\">class<\/span> <span class=\"p\">{<\/span> <span class=\"s1\">'puppet_status_check'<\/span><span class=\"p\">:<\/span>\n    <span class=\"n\">role<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"s1\">'primary'<\/span><span class=\"p\">,<\/span>\n  <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u0627\u06cc\u0646 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0637\u0628\u0642\u0647 \u0628\u0646\u062f\u06cc \u062f\u0631 \u0633\u0631\u0648\u0631(\u0647\u0627\u06cc) Puppet \u0634\u0645\u0627 \u0645\u0633\u062a\u0642\u0631 \u0634\u062f \u0648 \u0639\u0627\u0645\u0644 Puppet \u0631\u0648\u06cc \u06af\u0631\u0647(\u0647\u0627\u06cc) \u0634\u0645\u0627 \u0627\u062c\u0631\u0627 \u0634\u062f\u060c \u0645\u0627 \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u0622\u0645\u0627\u062f\u0647 \u0647\u0633\u062a\u06cc\u0645 \u062a\u0627 \u062a\u0645\u0627\u0645 \u06a9\u0627\u0631\u0647\u0627\u06cc \u0633\u062e\u062a \u062e\u0648\u062f \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C_%D8%AE%D8%B1%D9%88%D8%AC%DB%8C\"><\/span>\n<p>  \u0628\u0631\u0631\u0633\u06cc \u062e\u0631\u0648\u062c\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0627 \u0646\u06af\u0627\u0647 \u06a9\u0631\u062f\u0646 \u0628\u0647 \u0622\u0646 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u0645 <strong>Puppet_status_check<\/strong>\u0627\u06cc\u0646 \u0648\u0627\u0642\u0639\u06cc\u062a \u0628\u0647 \u0637\u0648\u0631 \u0645\u0633\u062a\u0642\u06cc\u0645 \u062f\u0631 \u06cc\u06a9\u06cc \u0627\u0632 \u06af\u0631\u0647 \u0647\u0627\u06cc \u0645\u0627 \u0628\u0627 \u0646\u0642\u0634 \u0628\u0631\u0631\u0633\u06cc \u0648\u0636\u0639\u06cc\u062a \u062a\u0646\u0638\u06cc\u0645 \u0634\u062f\u0647 \u0627\u0633\u062a <strong>\u0639\u0627\u0645\u0644<\/strong>:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>root@agent01:~# puppet facts puppet_status_check\n<span class=\"o\">{<\/span>\n  <span class=\"s2\">\"puppet_status_check\"<\/span>: <span class=\"o\">{<\/span>\n    <span class=\"s2\">\"AS001\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"AS003\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"AS004\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0001\"<\/span>: <span class=\"nb\">false<\/span>,\n    <span class=\"s2\">\"S0003\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0012\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0013\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0021\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0030\"<\/span>: <span class=\"nb\">true<\/span>\n  <span class=\"o\">}<\/span>\n<span class=\"o\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u062d\u0627\u0644\u062a \u0627\u06cc\u062f\u0647\u200c\u0622\u0644\u060c \u062f\u0631 \u0627\u06cc\u0646 \u062e\u0631\u0648\u062c\u06cc \u0647\u0631 \u06cc\u06a9 \u0627\u0632 \u0628\u0631\u0631\u0633\u06cc\u200c\u0647\u0627\u06cc \u0648\u0636\u0639\u06cc\u062a \u0628\u0631\u0645\u06cc\u200c\u06af\u0631\u062f\u062f <strong>\u062f\u0631\u0633\u062a \u0627\u0633\u062a\u060c \u0648\u0627\u0642\u0639\u06cc<\/strong>\u060c \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0639\u0646\u06cc \u06a9\u0647 \u0647\u0631 \u0686\u06a9 \u062e\u0627\u0635\u06cc \u0628\u0647 \u062f\u0646\u0628\u0627\u0644 \u0622\u0646 \u0628\u0627\u0634\u062f \u0645\u0637\u0627\u0628\u0642 \u0627\u0646\u062a\u0638\u0627\u0631 \u0627\u0633\u062a.  \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f <strong>AS001<\/strong> \u0634\u0646\u0627\u0633\u0647 \u0647\u0627\u06cc \u0634\u0627\u062e\u0635 \u062e\u0627\u0635\u06cc \u0647\u0633\u062a\u0646\u062f \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0627 \u062c\u062f\u0648\u0644\u06cc \u062f\u0631 \u0645\u0633\u062a\u0646\u062f\u0627\u062a puppetlabs\/puppet_status_check \u0627\u0631\u062c\u0627\u0639 \u062f\u0627\u062f\u0647 \u0634\u0648\u0646\u062f.<\/p>\n<p>\u062f\u0631 \u06af\u0631\u0647 \u0645\u062b\u0627\u0644 \u0645\u0646\u060c \u0628\u0647 \u0646\u0638\u0631 \u0645\u06cc \u0631\u0633\u062f \u06a9\u0647 <strong>S0001<\/strong> \u062f\u0631 \u062d\u0627\u0644 \u0628\u0627\u0632\u06af\u0634\u062a \u0627\u0633\u062a <strong>\u0646\u0627\u062f\u0631\u0633\u062a<\/strong>\u060c \u06cc\u0639\u0646\u06cc \u0686\u06cc\u0632\u06cc \u0628\u0627 \u0639\u0627\u0645\u0644 Puppet \u062f\u0631 \u0627\u06cc\u0646 \u06af\u0631\u0647 \u062e\u0627\u0635 \u062f\u0631\u0633\u062a \u0646\u06cc\u0633\u062a.  \u0628\u0627 \u0627\u0631\u062c\u0627\u0639 \u0628\u0647 \u062c\u062f\u0648\u0644 \u062f\u0631 \u0645\u0633\u062a\u0646\u062f\u0627\u062a \u0645\u0627\u0698\u0648\u0644 \u0647\u0627\u060c \u0628\u0647 \u0633\u0631\u0639\u062a \u0645\u06cc \u062a\u0648\u0627\u0646\u0645 \u062a\u0639\u06cc\u06cc\u0646 \u06a9\u0646\u0645 \u06a9\u0647 <em>\u0639\u0631\u0648\u0633\u06a9 \u062e\u06cc\u0645\u0647 \u0634\u0628 \u0628\u0627\u0632\u06cc<\/em> \u0633\u0631\u0648\u06cc\u0633 \u062f\u0631 \u0627\u06cc\u0646 \u06af\u0631\u0647 \u0627\u062c\u0631\u0627 \u0646\u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u062d\u062a\u06cc \u0645\u0631\u0627\u062d\u0644\u06cc \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u06a9\u0647 \u0628\u0647 \u0645\u0646 \u0645\u06cc\u200c\u06af\u0648\u06cc\u062f \u0686\u06af\u0648\u0646\u0647 \u0648\u0636\u0639\u06cc\u062a \u0631\u0627 \u0627\u0635\u0644\u0627\u062d \u06a9\u0646\u0645 (\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0648\u0631\u062f \u067e\u06cc\u0648\u0646\u062f \u0645\u0633\u062a\u0646\u062f\u0627\u062a \u0627\u0633\u062a).<\/p>\n<p><\/p>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0633\u0639\u06cc \u06a9\u0646\u06cc\u0645 \u0645\u0631\u0627\u062d\u0644 \u0633\u0644\u0641 \u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u0645 \u062a\u0627 \u0628\u0628\u06cc\u0646\u06cc\u0645 \u0622\u06cc\u0627 \u0646\u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0645\u0634\u06a9\u0644 \u0631\u0627 \u062d\u0644 \u06a9\u0646\u06cc\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>root@agent01:~# puppet resource service puppet <span class=\"nv\">ensure<\/span><span class=\"o\">=<\/span>running\nNotice: \/Service[puppet]\/ensure: ensure changed <span class=\"s1\">'stopped'<\/span> to <span class=\"s1\">'running'<\/span>\nservice <span class=\"o\">{<\/span> <span class=\"s1\">'puppet'<\/span>:\n  ensure   <span class=\"o\">=&gt;<\/span> <span class=\"s1\">'running'<\/span>,\n  provider <span class=\"o\">=&gt;<\/span> <span class=\"s1\">'systemd'<\/span>,\n<span class=\"o\">}<\/span>\nroot@agent01:~# puppet facts puppet_status_check\n<span class=\"o\">{<\/span>\n  <span class=\"s2\">\"puppet_status_check\"<\/span>: <span class=\"o\">{<\/span>\n    <span class=\"s2\">\"AS001\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"AS003\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"AS004\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0001\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0003\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0012\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0013\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0021\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0030\"<\/span>: <span class=\"nb\">true<\/span>\n  <span class=\"o\">}<\/span>\n<span class=\"o\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0639\u0627\u0644\u06cc!  \u062d\u0627\u0644\u0627 \u06a9\u0647 \u0647\u0645\u0647 \u0686\u06a9 \u0647\u0627 \u0628\u0631\u06af\u0634\u062a\u0647 \u0627\u0646\u062f <strong>\u062f\u0631\u0633\u062a \u0627\u0633\u062a\u060c \u0648\u0627\u0642\u0639\u06cc<\/strong> \u062f\u0631 \u0627\u06cc\u0646 \u06af\u0631\u0647\u060c \u0639\u0627\u0645\u0644 Puppet \u062f\u0648\u0628\u0627\u0631\u0647 \u062f\u0631 \u0648\u0636\u0639\u06cc\u062a \u062e\u0648\u0628\u06cc \u0642\u0631\u0627\u0631 \u062f\u0627\u0631\u062f.<\/p>\n<p>\u0628\u0633\u06cc\u0627\u0631 \u062e\u0648\u0628\u060c \u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc \u062f\u0627\u0646\u0645 \u06a9\u0647 \u0627\u062d\u062a\u0645\u0627\u0644\u0627\u064b \u0628\u0647 \u0686\u0647 \u0686\u06cc\u0632\u06cc \u0641\u06a9\u0631 \u0645\u06cc \u06a9\u0646\u06cc\u062f: &#8220;\u0634\u0645\u0627 \u0641\u0642\u0637 \u0628\u0647 \u0622\u0646 \u0646\u06af\u0627\u0647 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f <strong>Puppet_status_check<\/strong> \u0648\u0627\u0642\u0639\u06cc\u062a \u0628\u0647 \u0637\u0648\u0631 \u0645\u0633\u062a\u0642\u06cc\u0645 \u062f\u0631 \u06cc\u06a9 \u06af\u0631\u0647.  \u0645\u0646 \u0635\u062f\u0647\u0627 (\u06cc\u0627 \u0647\u0632\u0627\u0631\u0627\u0646) \u06af\u0631\u0647 \u062f\u0627\u0631\u0645\u060c \u0622\u06cc\u0627 \u0628\u0631\u0631\u0633\u06cc \u0647\u0631 \u06cc\u06a9 \u0628\u0647 \u0635\u0648\u0631\u062a \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u062e\u0633\u062a\u0647 \u06a9\u0646\u0646\u062f\u0647 \u0646\u06cc\u0633\u062a\u061f&#8221;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D9%85%D8%B4%D8%A7%D9%87%D8%AF%D9%87_%D9%88%D8%B6%D8%B9%DB%8C%D8%AA_%D8%A8%D8%B1%D8%A7%DB%8C_%DA%86%D9%86%D8%AF%DB%8C%D9%86_%DA%AF%D8%B1%D9%87_%E2%80%93_%D9%BE%DB%8C%DA%86\"><\/span>\n<p>  \u0645\u0634\u0627\u0647\u062f\u0647 \u0648\u0636\u0639\u06cc\u062a \u0628\u0631\u0627\u06cc \u0686\u0646\u062f\u06cc\u0646 \u06af\u0631\u0647 &#8211; \u067e\u06cc\u0686<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0628\u0648\u0644\u062a\u060c \u0645\u0627\u0698\u0648\u0644 puppetlabs\/puppet_status_check \u0628\u0647 \u0631\u0627\u062d\u062a\u06cc \u06cc\u06a9 \u0645\u0648\u0631\u062f \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f <strong>puppet_status_check::summary<\/strong> \u0628\u0631\u0627\u06cc \u062d\u0644 \u0627\u06cc\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u062f\u0631 \u0686\u0646\u062f\u06cc\u0646 \u06af\u0631\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u06cc\u0632\u06cc \u06a9\u0646\u06cc\u062f.  \u0645\u062b\u0644\u0627:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>someuser@jumpbox:~#bolt plan run puppet_status_check::summary <span class=\"nv\">targets<\/span><span class=\"o\">=<\/span>puppet-primary.corm.com,agent01.corp.com\nStarting: plan puppet_status_check::summary\nFinished: plan puppet_status_check::summary <span class=\"k\">in <\/span>7.85 sec\n<span class=\"o\">{<\/span>\n  <span class=\"s2\">\"nodes\"<\/span>: <span class=\"o\">{<\/span>\n    <span class=\"s2\">\"details\"<\/span>: <span class=\"o\">{<\/span>\n      <span class=\"s2\">\"puppet-primary.corp.com\"<\/span>: <span class=\"o\">{<\/span>\n        <span class=\"s2\">\"passing_tests_count\"<\/span>: 32,\n        <span class=\"s2\">\"failed_tests_count\"<\/span>: 0,\n        <span class=\"s2\">\"failed_tests_details\"<\/span>: <span class=\"o\">[<\/span>\n\n        <span class=\"o\">]<\/span>\n      <span class=\"o\">}<\/span>,\n      <span class=\"s2\">\"agent01.corp.com\"<\/span>: <span class=\"o\">{<\/span>\n        <span class=\"s2\">\"passing_tests_count\"<\/span>: 9,\n        <span class=\"s2\">\"failed_tests_count\"<\/span>: 0,\n        <span class=\"s2\">\"failed_tests_details\"<\/span>: <span class=\"o\">[<\/span>\n\n        <span class=\"o\">]<\/span>\n      <span class=\"o\">}<\/span>\n    <span class=\"o\">}<\/span>,\n    <span class=\"s2\">\"passing\"<\/span>: <span class=\"o\">[<\/span>\n      <span class=\"s2\">\"puppet-primary.corp.com\"<\/span>,\n      <span class=\"s2\">\"agent01.corp.com\"<\/span>\n    <span class=\"o\">]<\/span>,\n    <span class=\"s2\">\"failing\"<\/span>: <span class=\"o\">[<\/span>\n\n    <span class=\"o\">]<\/span>\n  <span class=\"o\">}<\/span>,\n  <span class=\"s2\">\"errors\"<\/span>: <span class=\"o\">{<\/span>\n  <span class=\"o\">}<\/span>,\n  <span class=\"s2\">\"status\"<\/span>: <span class=\"s2\">\"passing\"<\/span>,\n  <span class=\"s2\">\"passing_node_count\"<\/span>: 2,\n  <span class=\"s2\">\"failing_node_count\"<\/span>: 0\n<span class=\"o\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u0645\u062b\u0627\u0644 \u0645\u0634\u0627\u0647\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f\u060c \u0645\u0646 \u0628\u0647 \u0635\u0631\u0627\u062d\u062a \u062f\u0648 \u06af\u0631\u0647 \u0631\u0627 \u06a9\u0647 \u0642\u0628\u0644\u0627\u064b \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0631\u062f\u0647 \u0628\u0648\u062f\u06cc\u0645 \u0647\u062f\u0641 \u0642\u0631\u0627\u0631 \u0645\u06cc \u062f\u0647\u0645\u060c \u0627\u06af\u0631\u0686\u0647 \u062f\u0631 \u0639\u0645\u0644 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0628\u062e\u0648\u0627\u0647\u06cc\u062f \u0627\u0632 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u06cc\u0627 \u0628\u0648\u0644\u062a \u0631\u0627 \u0628\u0647 PuppetDB \u0645\u062a\u0635\u0644 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u06af\u0631\u0648\u0647 \u0647\u0627 \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u0647\u062f\u0641 \u0642\u0631\u0627\u0631 \u062f\u0627\u062f\u0646 \u06af\u0631\u0647 \u0647\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u0646\u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D9%85%D8%B4%D8%A7%D9%87%D8%AF%D9%87_%D9%88%D8%B6%D8%B9%DB%8C%D8%AA_%D8%A8%D8%B1%D8%A7%DB%8C_%DA%86%D9%86%D8%AF%DB%8C%D9%86_%DA%AF%D8%B1%D9%87_%E2%80%93_PuppetDB\"><\/span>\n<p>  \u0645\u0634\u0627\u0647\u062f\u0647 \u0648\u0636\u0639\u06cc\u062a \u0628\u0631\u0627\u06cc \u0686\u0646\u062f\u06cc\u0646 \u06af\u0631\u0647 &#8211; PuppetDB<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0628\u0631\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 PuppetDB\u060c \u0634\u0645\u0627 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 PuppetDB API \u0628\u0631\u0627\u06cc \u062c\u0633\u062a\u062c\u0648 \u062f\u0631 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc \u062c\u062f\u06cc\u062f\u062a\u0631\u06cc\u0646 \u0645\u0648\u0627\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. <strong>Puppet_status_check<\/strong> \u062e\u0631\u0648\u062c\u06cc \u0648\u0627\u0642\u0639\u06cc\u062a \u06af\u0632\u0627\u0631\u0634 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 \u0647\u0631 \u06af\u0631\u0647.<\/p>\n<p>\u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u067e\u0631\u0633 \u0648 \u062c\u0648 \u0628\u0631\u0627\u06cc \u0647\u0645\u0647 \u06af\u0631\u0647 \u0647\u0627\u06cc \u0637\u0628\u0642\u0647 \u0628\u0646\u062f\u06cc \u0634\u062f\u0647 \u0628\u0627 <strong>Puppet_status_check<\/strong> \u06a9\u0644\u0627\u0633:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>root@puppet-primary:~# curl <span class=\"nt\">-s<\/span> <span class=\"nt\">-X<\/span> GET https:\/\/<span class=\"si\">$(<\/span>puppet config print certname<span class=\"si\">)<\/span>:8081\/pdb\/query\/v4 <span class=\"se\">\\<\/span>\n<span class=\"nt\">--cacert<\/span> <span class=\"si\">$(<\/span>puppet config print localcacert<span class=\"si\">)<\/span> <span class=\"se\">\\<\/span>\n<span class=\"nt\">--cert<\/span> <span class=\"si\">$(<\/span>puppet config print hostcert<span class=\"si\">)<\/span> <span class=\"se\">\\<\/span>\n<span class=\"nt\">--key<\/span> <span class=\"si\">$(<\/span>puppet config print hostprivkey<span class=\"si\">)<\/span> <span class=\"se\">\\<\/span>\n<span class=\"nt\">--data-urlencode<\/span> <span class=\"s1\">'pretty=true'<\/span> <span class=\"se\">\\<\/span>\n<span class=\"nt\">--data-urlencode<\/span> <span class=\"s1\">'query=facts[certname,value] { name = \"puppet_status_check\" }'<\/span>\n<span class=\"o\">[<\/span> <span class=\"o\">{<\/span>\n    <span class=\"s2\">\"certname\"<\/span>: <span class=\"s2\">\"agent01.corp.com\"<\/span>,\n    <span class=\"s2\">\"value\"<\/span>: <span class=\"o\">{<\/span>\n      <span class=\"s2\">\"AS001\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0003\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0001\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0021\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0030\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0013\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"AS003\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0012\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"AS004\"<\/span>: <span class=\"nb\">true<\/span>\n    <span class=\"o\">}<\/span>\n  <span class=\"o\">}<\/span>,\n  <span class=\"o\">{<\/span>\n    <span class=\"s2\">\"certname\"<\/span>: <span class=\"s2\">\"puppet-primary.corp.com\"<\/span>,\n    <span class=\"s2\">\"value\"<\/span>: <span class=\"o\">{<\/span>\n      <span class=\"s2\">\"S0035\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0039\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"AS001\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0036\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0038\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0003\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0001\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0007\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0008\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0021\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0014\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0030\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0024\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0010\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0034\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0009\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0005\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0019\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0045\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0011\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0017\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0004\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0033\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0029\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0013\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0027\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"AS003\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0023\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0016\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0012\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0026\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"AS004\"<\/span>: <span class=\"nb\">true<\/span>\n    <span class=\"o\">}<\/span>\n  <span class=\"o\">}<\/span> <span class=\"o\">]<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0646\u0645\u0648\u0646\u0647 \u0627\u06cc \u06a9\u0647 \u0628\u0631\u0627\u06cc \u06cc\u06a9 \u0645\u0648\u0631\u062f \u062e\u0627\u0635 \u067e\u0631\u0633 \u0648 \u062c\u0648 \u0645\u06cc \u06a9\u0646\u062f <strong>\u0646\u0642\u0634_\u0628\u0631\u0631\u0633\u06cc_\u0648\u0636\u0639\u06cc\u062a_\u0639\u0631\u0648\u0633\u06a9\u06cc<\/strong>\u060c \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0648\u0631\u062f <strong>\u0627\u0648\u0644\u06cc\u0647<\/strong>:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>root@puppet-primary:~# curl <span class=\"nt\">-s<\/span> <span class=\"nt\">-X<\/span> GET https:\/\/<span class=\"si\">$(<\/span>puppet config print certname<span class=\"si\">)<\/span>:8081\/pdb\/query\/v4 <span class=\"se\">\\<\/span>\n<span class=\"nt\">--cacert<\/span> <span class=\"si\">$(<\/span>puppet config print localcacert<span class=\"si\">)<\/span> <span class=\"se\">\\<\/span>\n<span class=\"nt\">--cert<\/span> <span class=\"si\">$(<\/span>puppet config print hostcert<span class=\"si\">)<\/span> <span class=\"se\">\\<\/span>\n<span class=\"nt\">--key<\/span> <span class=\"si\">$(<\/span>puppet config print hostprivkey<span class=\"si\">)<\/span> <span class=\"se\">\\<\/span>\n<span class=\"nt\">--data-urlencode<\/span> <span class=\"s1\">'pretty=true'<\/span> <span class=\"se\">\\<\/span>\n<span class=\"nt\">--data-urlencode<\/span> <span class=\"s1\">'query=facts[certname,value] { name = \"puppet_status_check\" and certname in facts[certname] { name = \"puppet_status_check_role\" and value = \"primary\"}}'<\/span>\n<span class=\"o\">[<\/span> <span class=\"o\">{<\/span>\n    <span class=\"s2\">\"certname\"<\/span>: <span class=\"s2\">\"puppet-primary.corp.com\"<\/span>,\n    <span class=\"s2\">\"value\"<\/span>: <span class=\"o\">{<\/span>\n      <span class=\"s2\">\"S0035\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0039\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"AS001\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0036\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0038\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0003\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0001\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0007\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0008\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0021\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0014\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0030\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0024\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0010\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0034\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0009\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0005\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0019\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0045\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0011\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0017\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0004\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0033\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0029\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0013\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0027\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"AS003\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0023\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0016\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0012\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0026\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"AS004\"<\/span>: <span class=\"nb\">true<\/span>\n    <span class=\"o\">}<\/span>\n  <span class=\"o\">}<\/span> <span class=\"o\">]<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D8%AC%D8%A7%DB%8C%D8%B2%D9%87_%D9%86%DA%A9%D8%AA%D9%87\"><\/span>\n<p>  \u062c\u0627\u06cc\u0632\u0647 \u0646\u06a9\u062a\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u06af\u0631 \u0634\u0645\u0627 \u0647\u0645 \u0645\u062b\u0644 \u0645\u0646 \u0647\u0633\u062a\u06cc\u062f \u0648 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0646\u0634\u0627\u0646\u06af\u0631\u0647\u0627\u06cc \u0648\u0636\u0639\u06cc\u062a \u062f\u0631 \u062e\u0631\u0648\u062c\u06cc \u0645\u0631\u062a\u0628 \u0646\u0634\u062f\u0647 \u0627\u0646\u062f \u0646\u0627\u0631\u0627\u062d\u062a\u062a\u0627\u0646 \u0645\u06cc \u06a9\u0646\u062f\u060c \u0647\u0645\u06cc\u0634\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0641\u0631\u0648\u0634\u0646\u062f\u0647 \u062f\u0631 \u0632\u0645\u0627\u0646 \u0627\u062c\u0631\u0627\u06cc Ruby \u06a9\u0647 \u0639\u0627\u0645\u0644 Puppet \u0647\u0645\u0631\u0627\u0647 \u0628\u0627 \u0622\u0646 \u0627\u0633\u062a \u0648 \u0645\u0642\u062f\u0627\u0631\u06cc \u06a9\u062f \u0631\u0648\u0628\u06cc \u062f\u0631\u0648\u0646 \u062e\u0637\u06cc \u0633\u0631\u06cc\u0639 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>root@puppet-primary:~# curl <span class=\"nt\">-s<\/span> <span class=\"nt\">-X<\/span> GET https:\/\/<span class=\"si\">$(<\/span>puppet config print certname<span class=\"si\">)<\/span>:8081\/pdb\/query\/v4 <span class=\"se\">\\<\/span>\n<span class=\"nt\">--cacert<\/span> <span class=\"si\">$(<\/span>puppet config print localcacert<span class=\"si\">)<\/span> <span class=\"se\">\\<\/span>\n<span class=\"nt\">--cert<\/span> <span class=\"si\">$(<\/span>puppet config print hostcert<span class=\"si\">)<\/span> <span class=\"se\">\\<\/span>\n<span class=\"nt\">--key<\/span> <span class=\"si\">$(<\/span>puppet config print hostprivkey<span class=\"si\">)<\/span> <span class=\"se\">\\<\/span>\n<span class=\"nt\">--data-urlencode<\/span> <span class=\"s1\">'pretty=true'<\/span> <span class=\"se\">\\<\/span>\n<span class=\"nt\">--data-urlencode<\/span> <span class=\"s1\">'query=facts[certname,value] { name = \"puppet_status_check\" and certname in facts[certname] { name = \"puppet_status_check_role\" and value = \"primary\"}}'<\/span> <span class=\"se\">\\<\/span>\n| \/opt\/puppetlabs\/puppet\/bin\/ruby <span class=\"nt\">-rjson<\/span> <span class=\"nt\">-e<\/span> <span class=\"s2\">\"puts JSON.pretty_generate(JSON.parse(STDIN.read).each {|h| h['value'] = h['value'].sort.to_h })\"<\/span>\n<span class=\"o\">[<\/span>\n  <span class=\"o\">{<\/span>\n    <span class=\"s2\">\"certname\"<\/span>: <span class=\"s2\">\"puppet-primary.corp.com\"<\/span>,\n    <span class=\"s2\">\"value\"<\/span>: <span class=\"o\">{<\/span>\n      <span class=\"s2\">\"AS001\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"AS003\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"AS004\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0001\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0003\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0004\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0005\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0007\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0008\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0009\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0010\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0011\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0012\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0013\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0014\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0016\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0017\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0019\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0021\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0023\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0024\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0026\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0027\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0029\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0030\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0033\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0034\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0035\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0036\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0038\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0039\"<\/span>: <span class=\"nb\">true<\/span>,\n      <span class=\"s2\">\"S0045\"<\/span>: <span class=\"nb\">true<\/span>\n    <span class=\"o\">}<\/span>\n  <span class=\"o\">}<\/span>\n<span class=\"o\">]<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%D8%B3%D8%AA%D8%AB%D9%86%D8%A7%D9%87%D8%A7%DB%8C_%D8%B4%D8%A7%D8%AE%D8%B5\"><\/span>\n<p>  \u0627\u0633\u062a\u062b\u0646\u0627\u0647\u0627\u06cc \u0634\u0627\u062e\u0635<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 \u0645\u0646 \u062a\u0648\u0635\u06cc\u0647 \u0645\u06cc \u06a9\u0646\u0645 \u0628\u0627 \u0634\u0631\u0648\u0639 \u06af\u0632\u0627\u0631\u0634 \u062f\u0631 \u0645\u0648\u0631\u062f \u0647\u0645\u0647 \u0634\u0627\u062e\u0635 \u0647\u0627\u06cc \u067e\u06cc\u0634 \u0641\u0631\u0636\u060c \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0633\u0646\u0627\u0631\u06cc\u0648\u0647\u0627\u06cc\u06cc \u0648\u062c\u0648\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f \u06a9\u0647 \u0628\u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u0631\u062e\u06cc \u0627\u0632 \u0634\u0627\u062e\u0635 \u0647\u0627 \u0631\u0627 \u062f\u0631 \u0633\u0627\u0632\u0645\u0627\u0646 \u062e\u0648\u062f \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f. <\/p>\n<p>\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c \u0641\u0631\u0636 \u06a9\u0646\u06cc\u062f \u0633\u0631\u0648\u0631 \u0627\u0635\u0644\u06cc \u0639\u0631\u0648\u0633\u06a9\u06cc \u062e\u0648\u062f \u0631\u0627 \u062f\u0642\u06cc\u0642\u0627\u064b \u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u062f\u0631 \u0628\u0627\u0644\u0627 \u062a\u0648\u0636\u06cc\u062d \u062f\u0627\u062f\u0647 \u0634\u062f \u0628\u0627 \u0646\u0642\u0634 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f <strong>\u0627\u0648\u0644\u06cc\u0647<\/strong>.  \u0627\u06cc\u0646 \u0646\u0634\u0627\u0646\u06af\u0631\u0647\u0627 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0639\u0627\u0645\u0644 Puppet\u060c Puppet Server\u060c PuppetDB \u0648 Certificate Authority \u0641\u0639\u0627\u0644 \u0645\u06cc \u06a9\u0646\u062f.  \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u0641\u0631\u0636 \u06a9\u0646\u06cc\u062f \u06a9\u0647 PuppetDB \u0631\u0648\u06cc \u0622\u0646 \u06af\u0631\u0647 \u0646\u0635\u0628 \u0646\u0634\u062f\u0647 \u0627\u0633\u062a.  \u0647\u0631 \u0628\u0627\u0631 \u06a9\u0647 \u0639\u0627\u0645\u0644 Puppet \u0631\u0648\u06cc \u0622\u0646 \u06af\u0631\u0647 \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u062f\u060c \u062e\u0631\u0648\u062c\u06cc \u0645\u0634\u0627\u0628\u0647\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u0627\u0634\u062a:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>root@puppet-primary:~# puppet agent -t\nInfo: Using environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Loading facts\nWarning: Facter: Error in fact 'puppet_status_check.S0007' when checking postgres info: statvfs() function failed: No such file or directory\nWarning: Facter: Error in fact 'puppet_status_check.S0011' failed to get service name: undefined method `[]' for nil:NilClass\ntail: cannot open '\/var\/log\/puppetlabs\/puppetdb\/puppetdb.log' for reading: No such file or directory\nNotice: Requesting catalog from puppet-primary.corp.com:8140 (172.31.112.200)\nNotice: Catalog compiled by puppet-primary.corp.com\nInfo: Caching catalog for puppet-primary.corp.com\nInfo: Applying configuration version 'puppet-primary-production-f457e3d2333'\nNotice: S0007 is at fault, Checks that there is at least 20% disk space free on PostgreSQL data partition. Refer to documentation for required action.\nNotice: \/Stage[main]\/Puppet_status_check\/Notify[puppet_status_check S0007]\/message: defined 'message' as 'S0007 is at fault, Checks that there is at least 20% disk space free on PostgreSQL data partition. Refer to documentation for required action.'\nNotice: S0010 is at fault, Checks that puppetdb service is running and enabled on relevant components. Refer to documentation for required action.\nNotice: \/Stage[main]\/Puppet_status_check\/Notify[puppet_status_check S0010]\/message: defined 'message' as 'S0010 is at fault, Checks that puppetdb service is running and enabled on relevant components. Refer to documentation for required action.'\nNotice: S0011 is at fault, Checks that postgres service is running and enabled on relevant components. Refer to documentation for required action.\nNotice: \/Stage[main]\/Puppet_status_check\/Notify[puppet_status_check S0011]\/message: defined 'message' as 'S0011 is at fault, Checks that postgres service is running and enabled on relevant components. Refer to documentation for required action.'\nNotice: S0027 is at fault, Checks that the Puppetdb JVM heap max is set to an efficient volume. Refer to documentation for required action.\nNotice: \/Stage[main]\/Puppet_status_check\/Notify[puppet_status_check S0027]\/message: defined 'message' as 'S0027 is at fault, Checks that the Puppetdb JVM heap max is set to an efficient volume. Refer to documentation for required action.'\nNotice: S0029 is at fault, Checks whether the number of current connections to PostgreSQL DB is approaching 90% of the max_connections defined. Refer to documentation for required action.\nNotice: \/Stage[main]\/Puppet_status_check\/Notify[puppet_status_check S0029]\/message: defined 'message' as 'S0029 is at fault, Checks whether the number of current connections to PostgreSQL DB is approaching 90% of the max_connections defined. Refer to documentation for required action.'\nNotice: Applied catalog in 0.02 seconds\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0633\u0646\u0627\u0631\u06cc\u0648\u06cc \u062e\u0627\u0635\u060c \u062a\u0645\u0627\u0645 \u0627\u06cc\u0646 \u062e\u0631\u0648\u062c\u06cc \u0646\u0648\u06cc\u0632 \u0627\u0634\u062a\u0628\u0627\u0647 \u0627\u0633\u062a\u060c \u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u0645\u06cc \u062f\u0627\u0646\u06cc\u062f PuppetDB \u0646\u0635\u0628 \u0646\u0634\u062f\u0647 \u0627\u0633\u062a.  \u0622\u06cc\u0627 \u0648\u0627\u0642\u0639\u0627\u064b \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u0647 \u0634\u0645\u0627 \u0647\u0634\u062f\u0627\u0631 \u062f\u0627\u062f\u0647 \u0634\u0648\u062f \u06a9\u0647 <em>puppetdb<\/em> \u0633\u0631\u0648\u06cc\u0633 \u062f\u0631 \u062d\u0627\u0644 \u0627\u062c\u0631\u0627 \u0646\u06cc\u0633\u062a\u060c \u0648 \u063a\u06cc\u0631\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u0633\u0646\u0627\u0631\u06cc\u0648\u061f  \u0645\u0646 \u0634\u0631\u0637 \u0646\u0645\u06cc \u0628\u0646\u062f\u0645\u060c \u067e\u0633 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0627\u06cc\u0646 \u0633\u0631 \u0648 \u0635\u062f\u0627 \u0631\u0627 \u062e\u0627\u0645\u0648\u0634 \u06a9\u0646\u06cc\u0645\u061f<\/p>\n<p>\u0628\u0631\u0627\u06cc \u063a\u06cc\u0631\u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 \u0646\u0634\u0627\u0646\u06af\u0631\u0647\u0627\u060c \u062a\u0646\u0647\u0627 \u06a9\u0627\u0631\u06cc \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u0645 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0622\u0646 \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u0645 <code>indicator_exclusions<\/code> \u067e\u0627\u0631\u0627\u0645\u062a\u0631 \u0627\u0632 <strong>Puppet_status_check<\/strong> \u06a9\u0644\u0627\u0633 \u0648 \u0628\u0647 \u0622\u0646 \u0628\u06af\u0648\u06cc\u06cc\u062f \u06a9\u062f\u0627\u0645 \u0634\u0627\u062e\u0635 \u0647\u0627 \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0646\u062f.<\/p>\n<p>\u0645\u062b\u0644\u0627:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight puppet\"><code><span class=\"k\">node<\/span> <span class=\"s1\">'puppet-primary.corp.com'<\/span> <span class=\"p\">{<\/span>\n  <span class=\"k\">class<\/span> <span class=\"p\">{<\/span> <span class=\"s1\">'puppet_status_check'<\/span><span class=\"p\">:<\/span>\n    <span class=\"py\">role<\/span>                 <span class=\"p\">=&gt;<\/span> <span class=\"s1\">'primary'<\/span><span class=\"p\">,<\/span>\n    <span class=\"py\">indicator_exclusions<\/span> <span class=\"p\">=&gt;<\/span> <span class=\"p\">[<\/span>\n      <span class=\"s1\">'S0007'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'S0010'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'S0011'<\/span><span class=\"p\">,<\/span>\n      <span class=\"s1\">'S0017'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'S0027'<\/span><span class=\"p\">,<\/span> <span class=\"s1\">'S0029'<\/span>\n    <span class=\"p\">],<\/span>\n  <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u067e\u0633 \u0627\u0632 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u06a9\u062f \u062e\u0648\u062f\u060c \u0639\u0627\u0645\u0644 Puppet \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0627\u0639\u0645\u0627\u0644 \u0634\u0648\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>root@puppet-primary:~# puppet agent -t\nInfo: Using environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Loading facts\nWarning: Facter: Error in fact 'puppet_status_check.S0007' when checking postgres info: statvfs() function failed: No such file or directory\nWarning: Facter: Error in fact 'puppet_status_check.S0011' failed to get service name: undefined method `[]' for nil:NilClass\ntail: cannot open '\/var\/log\/puppetlabs\/puppetdb\/puppetdb.log' for reading: No such file or directory\nNotice: Requesting catalog from puppet-primary.corp.com:8140 (172.31.112.200)\nNotice: Catalog compiled by puppet-primary.corp.com\nInfo: Caching catalog for puppet-primary.corp.com\nInfo: Applying configuration version 'puppet-primary-5bc7859de41'\nNotice: \/Stage[main]\/Puppet_status_check\/File[\/opt\/puppetlabs\/puppet\/cache\/state\/status_check.json]\/content:\n--- \/opt\/puppetlabs\/puppet\/cache\/state\/status_check.json    2024-07-31 22:18:33.311548817 +0000\n+++ \/tmp\/puppet-file20240731-23598-baocro   2024-07-31 22:29:21.437758201 +0000\n@@ -2,5 +2,5 @@\n   \"role\": \"primary\",\n   \"pg_config\": \"pg_config\",\n   \"postgresql_service\": \"postgresql@%{pg_major_version}-main\",\n-  \"indicator_exclusions\": \"[]\"\n+  \"indicator_exclusions\": \"[S0007, S0010, S0011, S0017, S0027, S0029]\"\n }\n\nNotice: \/Stage[main]\/Puppet_status_check\/File[\/opt\/puppetlabs\/puppet\/cache\/state\/status_check.json]\/content: content changed '{sha256}e62e3a6ce0380a07dc426d2c936a74061daba893846696a19c0d91ef69f4cc6c' to '{sha256}6db3bfddabe0b2f6e78d25a229184746ca3d003caa7980c9fbc20370d5ccb265'\nNotice: Applied catalog in 0.05 seconds\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0641\u0639\u0647 \u0628\u0639\u062f \u06a9\u0647 \u0645\u0627\u0645\u0648\u0631 Puppet \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u062f\u060c \u062a\u0645\u0627\u0645 \u0622\u0646 \u0633\u0631 \u0648 \u0635\u062f\u0627 \u0628\u0627\u06cc\u062f \u0627\u0632 \u0628\u06cc\u0646 \u0628\u0631\u0648\u062f!<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>root@puppet-primary:~# puppet agent -t\nInfo: Using environment 'production'\nInfo: Retrieving pluginfacts\nInfo: Retrieving plugin\nInfo: Loading facts\nNotice: Requesting catalog from puppet-primary.corp.com:8140 (172.31.112.200)\nNotice: Catalog compiled by puppet-primary.corp.com\nInfo: Caching catalog for puppet-primary.corp.com\nInfo: Applying configuration version 'puppet-primary-production-5bc7859de41'\nNotice: Applied catalog in 0.04 seconds\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0627\u06cc\u0646\u060c \u0645\u0627 \u0646\u0628\u0627\u06cc\u062f \u0634\u0627\u062e\u0635 \u0647\u0627\u06cc\u06cc \u0631\u0627 \u06a9\u0647 \u062f\u0631 \u062e\u0631\u0648\u062c\u06cc \u0648\u0627\u0642\u0639\u06cc \u062d\u0630\u0641 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u0645 \u0628\u0628\u06cc\u0646\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>root@puppet-primary:~# puppet facts puppet_status_check\n<span class=\"o\">{<\/span>\n  <span class=\"s2\">\"puppet_status_check\"<\/span>: <span class=\"o\">{<\/span>\n    <span class=\"s2\">\"AS001\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"AS003\"<\/span>: <span class=\"nb\">false<\/span>,\n    <span class=\"s2\">\"AS004\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0001\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0003\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0004\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0005\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0008\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0009\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0012\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0013\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0014\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0016\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0019\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0021\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0023\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0024\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0026\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0030\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0033\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0034\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0035\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0036\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0038\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0039\"<\/span>: <span class=\"nb\">true<\/span>,\n    <span class=\"s2\">\"S0045\"<\/span>: <span class=\"nb\">true<\/span>\n  <span class=\"o\">}<\/span>\n<span class=\"o\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Summarize this content to 400 words in Persian Lang \u0647\u0646\u06af\u0627\u0645 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0647\u0631 \u067e\u0634\u062a\u0647 \u0641\u0646\u0627\u0648\u0631\u06cc\u060c \u0647\u0645\u0647 \u0645\u0627 \u0633\u0648\u0627\u0644\u0627\u062a \u0632\u06cc\u0631 \u0631\u0627 \u0686\u0647 \u062f\u0631 \u062f\u0627\u062e\u0644 \u06cc\u0627 \u0686\u0647 \u0627\u0632 \u0647\u0645\u062a\u0627\u06cc\u0627\u0646 \u062e\u0648\u062f \u067e\u0631\u0633\u06cc\u062f\u0647 \u0627\u06cc\u0645: \u0622\u06cc\u0627 \u067e\u0634\u062a\u0647 \u0628\u0647 \u0637\u0648\u0631 \u0628\u0647\u06cc\u0646\u0647 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a\u061f \u0622\u06cc\u0627 \u0645\u0633\u0627\u0626\u0644\u06cc \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u06a9\u0647 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u062a\u0648\u062c\u0647 \u0641\u0648\u0631\u06cc \u0645\u0646 (\u06cc\u0627 \u062a\u06cc\u0645 \u0645\u0646) \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f\u061f \u0622\u06cc\u0627 &#8220;\u06af\u0648\u0686\u0627&#8221; \u0628\u0627\u0644\u0642\u0648\u0647 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":72433,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-72432","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/72432","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=72432"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/72432\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/72433"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=72432"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=72432"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=72432"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}