harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

nagios/引数マクロ(macros)

   


nagiosで設定される引数がどこで定義されているのかをちょっと調べてみた。
システム内で使われる変数はマクロとして扱われる。
(言うなればnagiosの環境変数、的な?ちょっと語弊があるかも)

例:$HOSTNAME$、$HOSTADDRESS$、$USERn$など

システム定義マクロ

一部は設定ファイルでよく見るのでなじみがあるが、あまり見かけない定義も多数あるので
設定ファイル内のパラメータとマクロ変数の相関関係などを確認する場合は、下記公式ページを参照のこと。

マクロ一覧はこちら。
http://nagios.sourceforge.net/docs/3_0/macrolist.html

ソースファイル中の、common/macros.cで確認することができる。
以下、macros.cから抜粋。

  • マクロ"HOSTNAME"の場合
    case MACRO_HOSTNAME:

output = (char *)strdup(temp_host->name);

break;

  • マクロ"HOSTSTATE"の場合
    case MACRO_HOSTSTATE:
    if(temp_host->current_state == HOST_DOWN)

output = (char *)strdup("DOWN");

else if(temp_host->current_state == HOST_UNREACHABLE)

output = (char *)strdup("UNREACHABLE");

else

output = (char *)strdup("UP");

break;

ユーザー定義マクロ

ユーザーが定義できる引数マクロ。etc/resource.cfgに記述し、最大32個まで定義できる。

引数:$USERn$

Nagios統合監視[実践]リファレンス (Software Design plus)
株式会社エクストランス 佐藤 省吾 Team-Nagios
技術評論社
売り上げランキング: 398,071
Nagios Core Administration Cookbook
Packt Publishing (2013-01-25)

 - nagios, 運用