Nagios XIでのWindowsサービスの自動再起動の構成

Nagiosのような有名な製品について多くのことを話す必要はないと思います。多くの人がそれを使用しています。 聞いたことのない人のために、私はあなたにお知らせします。これは、これ以外にも多くの有用なことができる監視システムです。 現在、私はこのシステムを積極的に研究しています。この出版物では、システム管理者の作業を少し簡単にする方法を説明します。



まず、明確にしたいのは、組織に既にNagiosを備えたサーバーがあり、ノードやサービスの監視が構成されていることです。 したがって、 スプーラーサービスを停止することが多いPrintServerというサーバーがあるとしましょう。 これはごく当たり前のことですが、これは単なる例であり、それに基づいて多くの有用なものを思いつくことができます。 最初に行うことは、このサービスの監視を設定することです。



管理者の下のNagios Webインターフェイスに移動し、ページの上部にある[ 構成]を選択します。 次に、新しい監視を追加するには、 監視ウィザードを実行する必要があります。 その後、新しいホストを編集して追加するには、すぐにCore Config Managerを実行することをお勧めします(左側の列)。最初の知り合いにはウィザードの方が適しています。







ウィザードは、必要なパラメーターが示されるいくつかの簡単なステップで構成されています。



1.これはWindowsサービスであるため、 Windows Serverを選択する必要があります

2. IPアドレスを入力します。

3.ここでは、すでにより興味深いものになっています。 Windowsエージェントセクションで (Nagios.com Webサイトからのリンクを介して)Agent for Windows(クライアント側にインストールされている)の最新バージョンをダウンロードし、エージェントパスワードを入力できます。 パスワードはサーバー側で設定され、クライアントとサーバーの相互作用のためにクライアント側で設定されます。 次のセクションはServer Metricsです。 ここで、検証用のさまざまなメトリックを構成できます。 ここではすべてが明確だと思います。 サービスを設定する必要があります。このセクションでは、すべてのDAWを削除する必要があります。 次はサービスセクションです。 これは、監視に必要なサービスを登録し、DAWを配置する必要がある場所です。 [Windowsサービス ]列サービス名を指定する必要があります。これは重要です。







次は、 プロセスパフォーマンスカウンターのセクションです。 将来的には、それらが最も役立つ可能性が高いですが、今はそれらをスキップしてステップ4に進む必要があります。

4.ここで、Nagiosがアラートを生成するまでの検証頻度を分単位で設定し、時間間隔とチェック回数を設定できます。 これらの設定は特定のタスクにのみ依存するため、このセクションはスキップします。 これで、[ 完了 ]をクリックして、ウィザードレポートを表示できます。 3つのステージすべてが成功した場合、これはサービスが作成されたことを意味します。







次に、左側のメニューから「 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をアクティブにします。







コマンドが作成されたら、「構成の適用 」をクリックします。 次に、[ サービス]セクションに移動し、作成した印刷スプーラーサービスを開きます。 ここで、イベントハンドラー(イベントハンドラー)の[設定確認]タブで、コマンド(svc_restart)を選択します。これは、イベントが発生したときに開始し、ハンドラー自体をオンにします。







次に、[ その他の設定 ]タブに移動し、 [変数定義の管理 ]をクリックします。 ここに入力します:

変数名= _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マニュアルが使用されました。 残念ながら、リンクは残っていませんが、自分で簡単にグーグルで検索できると思います。



All Articles