Nagios

序論


組込Perlインタプリタ

組込Perlインタプリタをサポートした形でNagiosをコンパイルできます。 これが無い場合に比べてはるかに効率的にNabiosがPerlプラグインを実行します、それゆえPerlでかかれた重いプラグインに頼るあなたにとって、興味深いかもしれません。

組込Perlインタプリタがなければ、Nagiosは、外部のコマンドとしてプラグインをフォークして、実行することによって、Perl(そして、Perl以外)のプラグインを実行します。 組込Perlインタプリタが使われると、Nagiosは単純にライブラリを呼び出してPerlプラグインを実行できます。

チップ チップ: 組込PerlインタプリタはNagiosが実行するすべてのPerlスクリプトで働いています--プラグインだけではない。 このドキュメントはホストとサービスチェックに使用されるプラグインと関連して組込Perlインタプリタについて議論します。しかし、それは他のタイプの コマンドに使用しているかもしれない他のタイプのPerlスクリプト(例えば、通知スクリプト、イベントハンドラ・スクリプトなど)に当てはまります。

スティーブン・デイヴィースはオリジナルの組込Perlインタプリタ・コードを数年前に寄付しました。 スタンリー・ホップクロフトは、組込Perlインタプリタ・コードを大きく改良するのを助ける第一人者であり、それを使用する利点と欠点をコメントしました。 また、彼は組込インタプリタで動作するPerlプラグインを作成するとき役立つ幾つかのヒントを与えました。

このドキュメントで使用される"ePN"が組込Perl Nagiosを示すことに注意してください、それは組込Perlインタプリタと共にコンパイルされたNagiosです。

利点


ePN(embedded Perl Nagios)のいくつかの利点は:

難点


ePN(組込Perl Nagios)の難点はアパッチ・mod_perl(すなわち、組込インタプリタがあるアパッチ)が通常のアパッチと比較されたのに似たり寄ったりです:

組込Perlインタプリタの使用


Perlプラグインとスクリプトを動かすのに組込Perlインタプリタを使用したいと思うなら、ここに、行う必要があることがあります:

  1. 組込PerlインタプリタのサポートがあるNagiosをコンパイルします(以下での命令を見ます)。
  2. メイン設定ファイルのenable_embedded_perl オプションを許可
  3. use_embedded_perl_implicitly オプションを設定し、あなたの要求に合わせます。 このオプションは、Perlインタプリタが個々のPerlプラグインとスクリプトにデフォルトで使われるかどうか決定します。
  4. オプションで組込Perlインタプリタを使用することで実行できるPerlプラグインとスクリプトを許可するか、禁止します。 あるPerlスクリプトがPerlインタプリタの下で実行するのに問題があるなら、これは役に立つ場合があります。 これを行う詳しい情報は以下での命令を見ます。

組込Perlと一緒にNagiosをコンパイルします。


組込Perlインタプリタを使用したいなら、最初に、それのサポートがあるNagiosをコンパイルする必要があります。 これをするために、単に configure スクリプトを --enable-embedded-perl オプションを付けて実行します。 組込インタプリタに内部的にコンパイルされたスクリプトをキャッシュして欲しいなら、--with-perlcache オプションをまた加えます。 例:

./configure --enable-embedded-perl --with-perlcache otheroptions...

新しいオプションでスクリプトを設定して、configを再実行し、Nagiosを必ず再コンパイルします。

Perlインタプリタのプラグイン特有の用法


Nagios3とから、どのPerlプラグインやスクリプトが組込Perlインタプリタの下で動かされるべきかそうでないかを指定できます。 Perlインタプリタでうまくいかない厄介なPerlスクリプトが、ありましたらこれは特に役に立ちます。

特定のPerlスクリプトに組込Perlインタプリタを使用するかどうか明確にNagiosに指定するため、Perlスクリプト/プラグインに以下の1つのエントリーを追加します…

特定のスクリプトにPerlインタプリタを使用するようにNagiosに指定するには、この行をPerlスクリプトに追加します:

# nagios: +epn

特定のスクリプトに組込Perlインタプリタを使用しないようNagiosに指定するは、この行ををPerlスクリプトに追加します:

# nagios: -epn

Nagiosがそれを検出できる様に、どちらの行もスクリプトの最初の10行の中に位置しなければなりません。

チップ チップ: Perlインタプリタの下で個々のプラグインを実行する否かを上の方法使って明確にNagiosに指定しないと、Nagiosはあなたのために行うと決めます。 この決定の過程はuse_embedded_perl_implicitly 変数で制御されます。 値が1に設定されると、すべてのPerlプラグイン/スクリプト(それは、明らかにePNを有効にするか、または無効にしない)がPerlインタプリタので実行されます。 値が0であれば、それらはPerlインタプリタの下で実行されません。

組込Perlを使うプラグインの開発


ここに組込Perlインタプリタを使ってプラグインを開発する情報を見つけることができます。

参照 参照: 組込Perlを使用したプラグイン開発

English Deutsch 日本語

目次