すべてのノードがpuppetmasterによって提供された現在のカタログバージョンを使用しているかどうかをnagiosモニタリングで確認したいと思います。
私の状況では、次のとおりです。
Host1、Host2、hostXにnrpeプラグインを作成したいと思います:
問題:
だから私の質問は、パペットエージェントの状態を監視し、ホストが古いパペットカタログを使用している場合に通知を受ける方法です。それは意味がありますか?
私は簡単な check_puppet NRPEスクリプトを書いて、あなたが望むことのほとんどを実行します。それは RI Pienaar's オリジナルに基づいており、私が必要以上のものでした。どちらの場合も、/ var/lib/puppet/state/last_run_summary.yamlを解析して、最後に実行されたエージェントの状態を確認します。
通常のエージェントの実行で適切に警告するのに十分なデータが提供される場合に、3番目のソフトウェアを使用してマスターとエージェントの間でカタログバージョンを比較する利点はわかりません。
これが私たちの仕事です:
この設定では、puppet agent --test
の呼び出しに関するラッパースクリプトを使用して、ログインした管理者が一時的に自動化を無効にできる「ストッパーファイル」の存在など、いくつかの環境設定をチェックしています。
ラッパースクリプトでは、パペットエージェントがステータスコード0で終了するたびに、状態ファイル(/ var/state/puppet-run)にアクセスします。
次に、このファイルの経過時間を追跡して、パペットの実行間隔の1.5倍よりも古いかどうかを判断します。
この正確な問題から、これをサービスとして構築するようになりました。これにより、人々は先に進むだけで、独自の監視ツールを構築する必要がなくなります。チェックアウト http://cronitor.io -1台のモニターが無料で、有料のビジネスプランがあります。