
ナギオス – NRPEによるモニタリング
まぁ, まぁ… 私たちのNagiosにもう少しtxitxaを入れましょう, Centreonまたは私たちが得たものは何でも, より高度なアイテムを監視したい人のために非常に興味深いものを続けていきます! リモートのWindowsまたはLinuxコンピューターにインストールされる小さなエージェントを使用します, 何のためですか? まあ、とりわけ、これらのコンピューターでスクリプトを実行することです. 任意のPowerShellスクリプトを実行できます, バッチ, VBScript の, Perlの… そして、コマンドの結果を読み、それをNagiosと話し合います!
Nagios Remote プラグイン エグゼキューター (NRPEの) 監視対象のマシン上でサービスまたはデーモンとして実行され、Nagiosからリッスンします。, コマンド「check_nrpe」で, 私たちはあなたに要求します. 今後の他のドキュメントでは、他のタイプのエージェントについて説明します, 今日はお話しする時です (私のために) 最高のもの!
check_nrpeのインストール,
まず、「check_nrpe」をダウンロードしてコンパイルしました, 以前に要件をインストールしました, 以下は、その手順です, 最後に、バイナリをプラグインのパスに移動してテストします!
[ソースコード]
ヤム インストール -y GCC GLIBC GLIB-共通 OpenSSL-devel Perl WGET Git
cd /usr/src/
git clone https://github.com/NagiosEnterprises/nrpe
cd nrpe/
./セット
すべて作る
cp src/check_nrpe /usr/lib/nagios/plugins/
cd /usr/lib/nagios/plugins/
./check_nrpe[/ソースコード]
エージェントのインストール,
悪くありません, これには、NSClient++を使用します, ザ 彼らのウェブサイトからダウンロード, そして、原則として最新バージョンを使用します, この例では、Windows x64 バイナリを使用します.
NSClientのインストールを開始します, “次に”,
「ジェネリック」を選択します, “次に”,
オプションを見てみましょう “習慣”,
そして、興味のあるプラグインを選択します, 全部印をつけてあげるよ, 他の例で使用する理由, この場合、NRPEサポートをマークするだけで十分です.
これは、構成の適用に使用するINIファイルを示しています, “次に”,
クエリを実行するNagiosまたはCentreonマシンのIPアドレスを追加する必要があります, また、興味がある場合はcheck_ntを有効にします, それは私が必ずやることです, = が表示されます), また、NRPE安全モードも選択します, この場合、非セキュアモードを使用するときにパスワードを使用しません, 企業環境では, 少なくとも、セーフモードを選択します. “次に”,
悪くありません, 押した “取り付ける” この小さなエージェントをインストールするには…
… 数秒待ちます…
以上です, “終える”.
残っているのは、Nagiosチームからのコマンドを実行して、接続があるかどうかをテストすることだけです, 非常に簡単な例を次に示します:
[ソースコード]
./check_nrpe -H IP_EQUIPO_REMOTO -C check_uptime
[/ソースコード]
接続されていることがわかった場合、そのマシンがどのくらいの時間稼働していたかがわかります, 私たちは始めることができます!! あとは、WindowsまたはLinuxマシンにスクリプトをフィードし、リモートで必要なものを実行するだけです, 今後のドキュメントでは、興味深い例を挙げます, ただし、最初にこのドキュメントに従う必要があります.
Centreonでコマンドを作成する,
したがって、リモートコンピューターを監視する関心のあるサービスを作成するときに使用するコマンドを登録する必要があります. 私たちは、 “構成” > “コマンド” > “足す” そして、次のコマンドを作成します:
- コマンド名: コマンドに名前を付けます, 関連付けるには、実行するスクリプトの名前と同じにするのが最善です。, この場合は「check_nrpe」.
- コマンドの種類: 「チェック」を選択します.
- コマンドライン: いつも通り, このコマンドを呼び出すときに、CentreonまたはNagiosが実際に何を実行するかを示します, それは以下のようになります: '/usr/lib/nagios/plugins/check_nrpe -H IP_EQUIPO_REMOTO -c $ARG 1$ -t 30'.
この場合, 私たちが見ると, コマンドの最後にタイムアウトを追加します 30 お代わり, おそらく、リモートで実行する一部のコマンドは時間がかかるため、そうではありません? まぁ, それぞれが好きなように, クリック “引数の説明” そして、サービスを作成するときに何を埋める必要があるかを思い出すために、配置した引数を定義しました; これは、nsclient.iniで定義するチェック/コマンドになります. 今後のドキュメントで例を見ていきます.
nsclient.ini のスクリプトの例
操作は次のようになります, NSClientをインストールしたリモートマシン, 設定ファイル「nsclient.ini」があります, 私たちが行かなければならないということ (私) 実行するスクリプトを追加する (イ) スクリプトを参照するエイリアスの追加. 例:
[ソースコード]
[/設定/外部スクリプト/スクリプト]
comando_bat = スクリプト\archivo.bat
[/設定/外部スクリプト/エイリアス]
alias_bat = comando_bat
[/ソースコード]
前の, PowerShellスクリプトをコピーする必要があります, vbScript (英語), ジャワ, バッチ… 「scripts」フォルダにあること’ NSClientより. 設定ファイル 'nsclient.ini’ Windowsサービスを再起動する必要があります “NSClient++” 設定を再読み込みすると、リモートのNagiosからこのスクリプトを呼び出すことができます, 上記の例では、:
[ソースコード]
./check_nrpe -H IP_EQUIPO_REMOTO -C alias_bat
[/ソースコード]
引数の使用,
それでは、想像してみて下さい, 私たちが実行しようとしていること, Windows/Linux側のスクリプト, 引数が必要, そして、Nagiosマシンからそれらをあなたに伝えたいと思います. 分かりやすい例として, 私たちは、バックアップを監視するスクリプトを思い浮かべます, わかりました? PowerShellまたは何でも. そして、このスクリプトには、バックアップタスクの名前を引数として渡します, はい? もし私がしたいなら, 定義は避けてください 5 INI の times (私は持っているので 5 バックアップ タスク), 私はNagios/Centreonから、ヨブから直接議論をあなたに伝えます. 「nsclient.ini」で必要な設定の例を次に示します, まず、ローカル引数と外部引数を渡すことができるようにし、次に実行するコマンドを定義し、その後に期待する引数を定義します (この例では、PowerShell スクリプトです):
[ソースコード]
[/設定/NRPE/サーバー]
引数=true を許可する
[/設定/外部スクリプト]
引数=true を許可する
[/設定/外部スクリプト/スクリプト]
check_copias = cmd /c エコー スクリプト\check_copias_seguridad.ps1 $ARG$1 $ARG$2; 出口($ラストイグジットコード) | powershell.exe -コマンド –
[/設定/外部スクリプト/エイリアス]
alias_copias = check_copias
[/ソースコード]
そして、Nagiosマシンから引数を渡すことでコマンドを実行できます, これは、後で Centreon から GUI を使用して、より快適な方法で定義します:
[ソースコード]
./check_nrpe -H IP_EQUIPO_REMOTO -c alias_copias -a "最初の引数" 「第二の議論"
[/ソースコード]
私が言ったこと, 将来のドキュメントで、NRPEの使用の実際的な例を見ていきます, いくつかのスクリプトを使用して、関心のあるすべての情報を最大限に活用する方法. 多くの場合、自分でスクリプトを作成する必要があります, そして、なぜそうしないのか? すべてのニーズをNagiosに転送すると, 私たちは彼らをコントロールし、私たちの組織が完全に監視された状態で、はるかに平和に休むことができるでしょう!