パフォーマンスデータ
導入 Introduction
Nagiosは プラグイン が返すステータスデータにパフォーマンスデータをつける事を許容しており、外部で動作するアプリケーションに処理させることも許容しています。パフォーマンスデータのタイプの違いの記述はデータ処理をどのように行うかというの情報は以下で述べます・・・
パフォーマンスデータのタイプ Types of Performance Data
Nagiosから得られるパフォーマンスデータには2つの基本的なカテゴリがあります:
- チェックパフォーマンスデータ
- プラグインパフォーマンスデータ
チェックパフォーマンスデータはホストやサービスチェックの実際の実行と関係のある内部データです。これはサービスチェック遅延 (例:サービスチェックが予定された時間と比べてどれだけ"遅れて"実行されたか) とホスト、サービスチェックの実行時間がどれぐらいであったかと言うことが含まれています。このタイプのパフォーマンスデータは実行される全チェックで有効です。 $HOSTEXECUTIONTIME$と$SERVICEEXECUTIONTIME$、 マクロ にてホスト、サービスチェックの実行時間を取得でき、 $HOSTLATENCY$と$SERVICELATENCY$ マクロにてホスト、サービスチェック実行がどれぐらい"遅延"しているか取得できます
プラグインパフォーマンスデータ はホスト、サービスチェックで使用する特定のプラグインの外部データです。プラグイン特有のデータにはパケットロスのパーセンテージ、ディスク空き容量、CPU負荷、現在のログインユーザ数などの情報が含まれています。 - 基本的にはプラグインが実行されたときの任意のメトリックタイプです。プラグイン特有のパフォーマンスデータはオプションで、プラグインによっては対応していないものもあるでしょう。プラグイン特有のパフォーマンスデータは(もし対応していれば) $HOSTPERFDATA$ と $SERVICEPERFDATA$ マクロで取得できます。プラグインがどのように$HOSTPERFDATA$と$SERVICEPERFDATA$マクロへ加わりNagiosにパフォーマンスデータを返すことができるかについて、詳細は読んでください。
プラグインパフォーマンスデータ Plugin Performance Data
通常はプラグインは計測データのタイプの状態を示した1行のテキストを返します。たとえばcheck_pingプラグインはおそらく次の行を返すでしょう:
PING ok - Packet loss = 0%, RTA = 0.80 ms
このシンプルな出力のタイプは、$HOSTOUTPUT$か$SERVICEOUTPUT$ macros で利用可能です (このプラグインがホストチェックで使われているのか、サービスチェックで使われているのかによる)。
プラグインがNagiosにパフォーマンスデータを返したければ、通常のテキストの返り文字列の後ろにパイプ文字(|)を加え、1つ以上のパフォーマンスデータメトリクス文字列を付け加えます。例としてcheck_pingプラグインを見てみると、パケットロスのパーセンテージとround tripタイムパフォーマンスデータメトリクスを返しています。サンプル出力は以下です:
PING ok - Packet loss = 0%, RTA = 0.80 ms | percent_packet_loss=0, rta=0.80
Nagiosはこのフォーマットのプラグイン出力を2つのパートに分割します:
- パイプ文字の前のすべての出力は、"通常の"プラグイン出力であると考えられ、$HOSTOUTPUT$か$SERVICEOUTPUT$マクロに保存されます
- パイプ文字の後のすべての出力は、プラグイン特有のパフォーマンスデータであると考えられ、$HOSTPERFDATA$または$SERVICEPERFDATA$マクロに保存されます
上記の例では、 $HOSTOUTPUT$または$SERVICEOUTPUT$マクロは、 "PING ok - Packet loss = 0%, RTA = 0.80 ms" (引用記号は除く) を保存し、$HOSTPERFDATA$または$SERVICEPERFDATA$マクロは "percent_packet_loss=0, rta=0.80" (引用記号は除く)を保存します。
パフォーマンスデータ(通常のテキスト出力と同様)の複数のラインがプラグインから得られることは、プラグインAPIドキュメンテーションに記述されています。
note: Nagiosデーモンはプラグインパフォーマンスデータを直接処理しないので、パフォーマンスデータがどのように見えるのか、全く気にしません。 パフォーマンスデータのフォーマットまたは内容に本来は限界が全くありません。しかし、パフォーマンスデータを処理するために外部アドオン(例:PerfParse)を使用しているならば、アドオンはプラグインが特定のフォーマットでパフォーマンスデータを返すと予想しているかもしれません。アドオンの詳細な情報はドキュメンテーションをチェックしてください。