まず、明確にしたいのは、組織に既にNagiosを備えたサーバーがあり、ノードやサービスの監視が構成されていることです。 したがって、 スプーラーサービスを停止することが多いPrintServerというサーバーがあるとしましょう。 これはごく当たり前のことですが、これは単なる例であり、それに基づいて多くの有用なものを思いつくことができます。 最初に行うことは、このサービスの監視を設定することです。
管理者の下のNagios Webインターフェイスに移動し、ページの上部にある[ 構成]を選択します。 次に、新しい監視を追加するには、 監視ウィザードを実行する必要があります。 その後、新しいホストを編集して追加するには、すぐにCore Config Managerを実行することをお勧めします(左側の列)。最初の知り合いにはウィザードの方が適しています。
![](https://habrastorage.org/files/d3d/ad9/90a/d3dad990a40845379e68f9c5214b0a01.png)
ウィザードは、必要なパラメーターが示されるいくつかの簡単なステップで構成されています。
1.これはWindowsサービスであるため、 Windows Serverを選択する必要があります 。
2. IPアドレスを入力します。
3.ここでは、すでにより興味深いものになっています。 Windowsエージェントセクションで、 (Nagios.com Webサイトからのリンクを介して)Agent for Windows(クライアント側にインストールされている)の最新バージョンをダウンロードし、エージェントパスワードを入力できます。 パスワードはサーバー側で設定され、クライアントとサーバーの相互作用のためにクライアント側で設定されます。 次のセクションはServer Metricsです。 ここで、検証用のさまざまなメトリックを構成できます。 ここではすべてが明確だと思います。 サービスを設定する必要があります。このセクションでは、すべてのDAWを削除する必要があります。 次はサービスセクションです。 これは、監視に必要なサービスを登録し、DAWを配置する必要がある場所です。 [Windowsサービス ]列で 、 サービス名を指定する必要があります。これは重要です。
![](https://habrastorage.org/files/5b5/20a/e91/5b520ae916814a73a01fa4a464e7c6b3.png)
次は、 プロセスとパフォーマンスカウンターのセクションです。 将来的には、それらが最も役立つ可能性が高いですが、今はそれらをスキップしてステップ4に進む必要があります。
4.ここで、Nagiosがアラートを生成するまでの検証頻度を分単位で設定し、時間間隔とチェック回数を設定できます。 これらの設定は特定のタスクにのみ依存するため、このセクションはスキップします。 これで、[ 完了 ]をクリックして、ウィザードレポートを表示できます。 3つのステージすべてが成功した場合、これはサービスが作成されたことを意味します。
![](https://habrastorage.org/files/0f9/e23/3c2/0f9e233c2b2e41f9a49f642c75ee0a88.png)
次に、左側のメニューから「 Core Config Manager」を選択し、下の「 監視」セクションから「 サービス」を選択します 。 このセクションでは、 印刷スプーラーの検索ドライブで、作成された構成を見つけます。 これで、Nagiosはサービスのステータスを監視します。 次に、イベントごとにサービスの再起動の構成に進むことができます。 これを行うには、最初にクライアント側を構成する必要があります。 サーバーにアクセスして、Nagiosエージェントをインストールします。 インストール後、フォルダーC:\ Program Files \ NSClient ++に移動します。 おそらくパスは異なるでしょう、主なことはプログラムのインストールフォルダに入ることです。 NSC.iniまたはnsclient.iniを探し 、編集用に開きます。 ここで、いくつかのパラメーターを変更する必要があります。
1.「;」を削除して、ファイルの先頭にあるCheckExternalScripts.dllエントリのコメントを解除します。
2. allow_argumentsのコメントを外し、0ではなくパラメーター1を入力します。
3. [外部スクリプト]セクションに、エントリrestart_svc = scripts \ restart_svc.bat“ $ ARG1 $”を追加します。
変更を保存し、ファイルを埋めます。 次に、このフォルダーでScriptsフォルダーを見つけ、 その中に次の内容のsvc_restart.bat バッチファイルを作成します 。
反響する
ネットストップ%1
ネットスタート%1
0番出口
その後、NSClient ++サービスを再起動して、変更を.iniファイルにロードする必要があります。 これで、クライアントのセットアップの準備が整い、サーバーを構成するために残ります。
再起動プロセスは次のようになります。
1.サービスが停止し、Nagiosでサービスのステータスがクリティカルであるというイベントが生成されます。
2.イベントハンドラーは、そのために構成されたコマンドを起動します。
3.コマンドは、Nagiosサーバーにあるスクリプトを実行します。
4.スクリプトはNSClient ++に引数付きのコマンドを渡します。
5. NSClient ++は、クライアント.batにあるスクリプトを実行して
原則として、すべてがシンプルです。 順番に行きましょう。 サービスの監視は、サービスが停止したときにイベントが生成されるように構成されます。 次に進む前に、イベントハンドラーのコマンドを作成します。 Configure => Core Config Manager => Commandsに移動します。 Add Newを使用して新しいチームを作成し、必要なパラメーターを入力します。
コマンド名= svc_restart
コマンドライン= $ USER1 $ / svc_restart.sh $ SERVICESTATE $ $ HOSTADDRESS $ $ _SERVICESERVICE $
コマンドタイプ= miscコマンド
そして、DAWをアクティブにします。
![](https://habrastorage.org/files/8cc/800/316/8cc8003168d346aab194b05589141637.png)
コマンドが作成されたら、「構成の適用 」をクリックします。 次に、[ サービス]セクションに移動し、作成した印刷スプーラーサービスを開きます。 ここで、イベントハンドラー(イベントハンドラー)の[設定の確認]タブで、コマンド(svc_restart)を選択します。これは、イベントが発生したときに開始し、ハンドラー自体をオンにします。
![](https://habrastorage.org/files/4a9/0b8/2e8/4a90b82e80be4bb884beb7c1cd47227d.png)
次に、[ その他の設定 ]タブに移動し、 [変数定義の管理 ]をクリックします。 ここに入力します:
変数名= _SERVICE
変数値=スプーラー
[ 挿入して閉じる ]をクリックします 。
これでサービスの構成が完了し、変更を保存して適用できます(構成の保存と適用)。 これで、Nagiosは、サービスが停止すると、 svc_restartコマンドを実行し、 次に svc_restart.shを必要なパラメーターで実行します。 問題は、そのようなスクリプトがなく、作成する必要があることです。 チームは、サーバー上のスクリプトとバイナリを含むローカルフォルダー内のスクリプトを探すため、次のステップは、サーバー上のコンソールにログインし、 / usr / local / Nagios / libexecフォルダーに移動し、便利なテキストエディター(私はnanoを使用)を使用してファイルを作成します次の内容のsvc_restart.sh :
1.#!/ Bin / sh
2.#Windowsサービスを再起動するためのイベントハンドラー
3.ケース「$ 1」
4. OK)
5. ;;
6.警告)
7. ;;
8.不明)
9. ;;
10.クリティカル)
11。
12. / usr / local / nagios / libexec / check_nrpe -H "$ 2" -p 5666 –c svc_restart -a "$ 3"
13. ;;
14. esac
15。
16.終了0
次のコンソールコマンドを使用して、このファイルの権限を変更する必要があります。
chown nagios:nagios /usr/local/nagios/libexec/servicerestart.sh
chmod 775 /usr/local/nagios/libexec/servicerestart.sh
これでセットアップは完了です。 すべてが指示に従って行われれば、問題はないはずです。 最後に、作業のメカニズムと少しのトラブルシューティングについてもう一度説明します。
1.サービスが停止し、クライアントは、重要なサービスのステータスがあることをサーバーに送信します。
2.サーバーは、引数hostname、servicename、servicestateを使用してイベントを作成します。
3.イベントハンドラーは、指定されたパラメーターを使用してsvc_restartコマンドを実行します。
4.コマンドは、必要なパラメーターを使用してsvc_restart.shを開始します。
5. Svc_restart.shは、必要なパラメーターを指定してcheck_nrpeを起動します。
6. Check_nrpeは、指定されたパラメーターを使用してsvc_restartを実行する方法をクライアントに指示します。
7. iniファイル内のクライアントは、svc_restartがスクリプト内にあるbatファイルであることを検出します。
8.指定されたパラメーターを持つbatファイルが実行されます。
9. Batファイルはサービスを再起動します。
何かが機能しない場合:
1. batファイル自体が機能する場合は、試してください。
2.サーバーで、コンソールに移動して次のことを試してください。
cd / usr / local / nagios / libexec
./check_nrpe -H -p 5666 -c svc_restart -aスプーラー
このコマンドは、コマンドハンドラーがクライアントで機能するかどうかを確認し、機能する場合はそれを確認します。
3.コンソールで、試してください
cd / usr / local / nagios / libexec
./svc_restart.sh CRITICALスプーラー
このコマンドは、svc_restart.shスクリプトのスペルが正しいことを確認します。
執筆時には、公式サイトのNagiosマニュアルが使用されました。 残念ながら、リンクは残っていませんが、自分で簡単にグーグルで検索できると思います。