はじめに
Nagiosを監視システムとして選択すると、環境の質的特性と状態変化の履歴の追跡システムが得られます。 また、現在のプローブメッセージのテキストを見て、過去の状態の変更中にそれがまだ可能である場合、変更間の期間のデータはクラスとして存在しません。 監視を伴う多かれ少なかれアクティブな作業では、標準的なNagiosが提供できない量的特性の変化の履歴も表示することが望まれます。 もちろん、必要なすべてのプローブを同じCactiで複製できますが、これは少なくとも、構成とポーラー付きの車の両方のオーバーヘッドです。 幸いなことに、Nagiosはこれをユーザーの肩に渡すことができ、いわゆる「パフォーマンスデータ」のメカニズムを提供します。 この記事では、受信したデータを収集して視覚化するためのソリューションの1つであるPnp4Nagiosについて説明します。
パフォーマンスデータ
パフォーマンスデータが追加されたプローブの状態は、次のようになります。

配信方法とデータ要件についてはドキュメントで詳細に説明されていますが、この場合、Webインターフェイスに追加の行が存在すると特定の多様性がもたらされるため、Nagiosがプラグイン出力からデータを取得して外部ユーティリティに提供できることが重要ですしかし、それは少しの利益をもたらします:)。
外部ユーティリティ
exchange.nagios.org/directory/Addons/Graphing-and-Trendingにのみ掲載されている、パフォーマンスデータを処理する(およびグラフに変換する)ユーティリティは約20個。 彼らは同じことをしているように見えるにもかかわらず、彼らはまだ異なっています。 自分でツールを選択したとき、次の特性のリストに導かれました。
- インターフェース 冗談は別として-アドオンのグラフとトレンドのリストにあるものを見てください-ほとんど誰もが悲惨ではないにしても、青白く見えます。 Cactiの後、私は少なくともZoomグラフィックを作成する機会が欲しかった。 さて、チャートを表示するためのテンプレート。
- 統計を保存する方法-RRDに対するほぼ普遍的な熱意がなければ、そもそもその可能性があります。www.opmon.org/ documentationが際立っており 、 Mysqlデータベースにデータを保存します。データベースにデータを保存します。
- 構成管理-XMLの後、Cactiは人間的なものを望んでいました。
Pnp4nagios
Pnp4nagiosが提供するものを検討してください。
- インターフェース Pnp4NagiosスクリーンショットとNagiosGrapher'ovskieの簡単な比較。明らかに後者を支持していません。
pnp4nagios
ナギオスグラフ
特に、Pnp4Nagiosでは、カレンダーの日付範囲の選択を含む、指定された期間のグラフを概算して表示できます。 グラフをpdfファイルとしてエクスポートすると、レターに写真を挿入することなくファイルを適宜送信できます。 将来の迅速な移行のために「バスケット」にチャートを追加します。 選択した期間のNagiosのアラートのリストに移動します。 これに加えて、異なるホストからのチャートをグループ化する手段、いわゆる「ページ」があります。 ローカライズはサポートされていますが、これは事実ではなく、プラスです:) - 統計を保存する方法。
Pnp4NagiosがRRDCachedをサポートしていない限り、特に注意する必要はありません。大規模なインストールで役立ちます。 RRDCachedとiohellの利点については、 ここで詳しく説明します。 - 構成
もちろん、Pnp4Nagiosの設定は同じZabbixほど柔軟ではありませんが、OOM-Killerは付属していません;)
最も顕著な部分であるチャートの外観は、パターンによって決まります。 キットには、多数の標準テンプレートが付属しています。 独自のチェックのために、規格があなたに合わない場合は、別のテンプレートを作成できます。 テンプレートはincludeを介して実行されるphpスクリプトであり、本質的にrrdtoolのコマンドラインを形成する必要があります。 テンプレートの処理中、Nagiosによってエクスポートされた内部データ、たとえば、ホストが最後に生きていた時間($ LASTHOSTUP $)を利用できます。これにより、ほぼすべての情報コンテンツのグラフを表示できます。 テンプレートはコマンド名から決定され、重要な部分の選択がサポートされています。 check_nrpeを使用したチェックがある場合、check_nrpeが破棄されるようにテンプレートの選択を構成できます。
rrdファイルの作成時に指定されたパラメーターは、テンプレートで変更することもできます。 サポートされるオプションには、データ型(データソース)-GAUGE、COUNTER、DERIVEが含まれます。 最小値および/または最大値の制限を使用します。これは、サーバーの再起動/デーモンの再起動の場合に、COUNTER / DERIVEカウンターの目立たないようにするのに役立ちます。
データ処理
3種類の処理パフォーマンスデータがサポートされています。
- 同期モード。 データ処理コマンドprocess_perfdata.plは、チェックごとに呼び出されます。 最も簡単な設定(4行編集:)であると同時に「最悪」の設定-このスクリプトが終了するまで、Nagiosはブロックされます。これは、ディスクサブシステムが原因で多数のチェックで顕著になります。 たとえば、アンロードされたホストでは次のことを確認できます。
2009-12-23 20:41:54 [28100] [2] RRDs::update /var/lib/pnp4nagios/nginx.local/load_average.rrd 1261590114:0.00:0.00:0.00
2009-12-23 20:41:54 [28100] [2] /var/lib/pnp4nagios/nginx.local/load_average.rrd updated
2009-12-23 20:41:54 [28100] [1] PNP exiting (runtime 0.003274s) ...
一見、3ミリ秒は非常に小さいですが、ファイルI / Oはvmcacheに送られることに注意してください。これは、28個しかないため、rrdファイルを保持するのに十分です。
- スコープモード。 Nagiosはデータをファイルに書き込み、一定の頻度でスクリプトprocess_perfdata.plを呼び出します。このプロセスはファイル全体を読み取り、処理します。これは同期モードよりもはるかに高速ですが、Nagiosを少し長い期間ロックすることができます。 例:
2009-12-23 20:28:11 [7299] [1] 83 Lines processed
2009-12-23 20:28:11 [7299] [1] /var/spool/pnp4nagios/service-perfdata-PID-7299 deleted
2009-12-23 20:28:11 [7299] [1] PNP exiting (runtime 0.118031s) ...
10分の1秒はすでにより顕著ですが、この場合は十分なvmcache(491個のrrdファイル)があるため、高速です。
- 「Skopom」ですが、別のデーモンを使用すると、2番目の方法とほぼ同じですが、ハンドラーを呼び出す代わりに、Nagiosはファイルを転送して落ち着きます。 同じファイルシステム内でファイルを転送するのはほとんど瞬時であるため、この方法はNagiosをブロックせず、忙しい環境に推奨されます。
WebインターフェイスNagiosとの統合
Nagios Webインターフェースへの統合は、ホストおよびサービスのaction_urlを使用して実行できます。これにより、a)ワンクリックでグラフを表示できます2) カーソルを合わせるだけでグラフのプレビューを見ることができます
短所
- 最初のマイナスは誰にとっても標準ですか? RRDベースのシステム-表示用の一連のグラフとテンプレートを柔軟に管理することはできません。 PHPでテンプレートを編集することは難しくはありませんが、時間をかけて大きなメリットを得る方法があります。
- Nagiosプラグインは、誰もが持っているわけではないパフォーマンスデータの出力をサポートする必要があります。 「カウンター」(たとえば、インターフェイス上のトラフィック)をチェックするプラグインの場合、パフォーマンスデータラインの最小/最大許容値の出力をサポートすることが非常に望ましいです。
- Nagios / Pnp4Nagiosは、システムの状態に関する統計情報の収集に代わるものではありません。 この役割を主張できることを別に書きます。
参照:
プロジェクトサイト -インストールと構成に関するかなり明確なドキュメントと手順が含まれています。 パッケージからインストールする場合は、/ usr / share / doc / pnp4nagios / README.Debian.gzの指示に従ってください。
ソースコードアクセス
Debian pnp4nagiosパッケージは、リポジトリhttp://repo.coolcold.orgで入手できます。
IRC:#pnp4nagios @ freenode