ジョブ通知を使ってみる

作成日 2024/10/02

はじめに

今回は、Hinemosの通知機能の1つ、「ジョブ通知」についてご紹介いたします。

Hinemosの通知機能では、各監視機能の監視結果や、ジョブの実行結果の通知方法を設定できます。
Hinemosクライアント画面上への通知はもちろんのこと、
メール通知やコマンド通知、REST APIによる通知等、外部への情報連携も可能です。

 

ジョブ通知とは

今回ご紹介する「ジョブ通知」は、各監視機能の監視結果やジョブの実行結果をジョブ実行をもって通知する機能です。
例えば、監視対象ノードで異常を検知した場合、指定のジョブを実行するといった運用が考えられます。

では、早速Hinemosの画面でジョブ通知の設定をしてみましょう。

ジョブ通知を動かしてみた

環境情報

今回は以下の設定でジョブ通知を動かしてみようと思います。
例として、sshdのプロセスの監視を実行します。

・利用環境:

Linux版 Hinemosマネージャサーバ(rhel8_ver)
Linux版 Hinemosエージェントサーバ(rhel8_ag)

・実行する監視:プロセス監視(sshdのプロセスの監視)

・「ジョブ通知」用のジョブ:コマンドジョブ(sshdのプロセス起動)

 

ジョブ通知で利用するジョブの作成

では、まずHinemosクライアント画面から、ジョブ設定パースペクティブを開き、
ジョブ設定[一覧]ビューからジョブユニット、続いてコマンドジョブを作成します。
コマンドジョブの設定内容は以下の画面の通りです。

01_01_ジョブ設定

 

ジョブ通知設定の作成

次に、監視設定パースペクティブを開きます。
監視設定[通知]ビューから「作成」を押下し、通知種別で「ジョブ通知」を選択します。
すると、通知(ジョブ)[作成・変更]ダイアログが表示されるので、以下の通り設定情報を入力します。

今回は重要度「危険」でジョブ通知を実行するように設定しました。

01_02_ジョブ通知設定

 

トリガーとなる監視設定の作成

また、監視設定[一覧]ビューから「作成」を押下し、監視種別で「プロセス監視(数値)」を選択します。
プロセス[作成・変更]ダイアログが表示されるので、以下の通り設定情報を入力します。

sshdのコマンド、引数は以下のsnmpwalkコマンドで確認します。

#snmpwalk -v 2c -c public (監視対象サーバのIP) 1.3.6.1.2.1.25.4.2.1.4 |grep sshd

HOST-RESOURCES-MIB::hrSWRunPath.5466 = STRING: "sshd: root [priv]"
HOST-RESOURCES-MIB::hrSWRunPath.5478 = STRING: "sshd: root@pts/0"
HOST-RESOURCES-MIB::hrSWRunPath.6022 = STRING: "/usr/sbin/sshd"

#snmpwalk -v 2c -c public (監視対象サーバのIP) 1.3.6.1.2.1.25.4.2.1.5 |grep 6022

HOST-RESOURCES-MIB::hrSWRunParameters.6022 = STRING: "-D -oCiphers=aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes256-cbc,aes128-gcm@openssh.com,aes128-ctr,aes128"
HOST-RESOURCES-MIB::hrSWRunParameters.6113 = STRING: "--color=auto 6022"

 

通知には、先ほど作成したジョブ通知を設定しましょう。

※今回は参考としてステータス通知も設定しています。
なお、今回のケースでは「重要度変化後の初回通知」は1回以上連続した場合に初めて通知する、
「重要度変化後の二回目以降の通知」は「常に通知する」に設定しています。

01_03_監視設定

 

監視履歴パースペクティブを確認すると、sshdのプロセスが起動していることがわかります。

01_04_監視結果情報

 

ジョブ通知の動作確認

Linux版HinemosエージェントサーバにTeraTermで接続し、以下のコマンドを実行します。

systemctl stop sshd

5分ほど放置した後、監視履歴パースペクティブを確認します。

01_05_監視結果危険

 

監視結果は「危険」となっており、sshdのプロセスが停止していることがわかります。
先ほど、重要度「危険」の場合にジョブ通知を実行するよう設定したため、コマンドジョブが実行されているはずです。

ジョブ履歴パースペクティブを確認してみましょう。

01_06_ジョブ通知結果

 

ジョブ通知として、コマンドジョブが実行されていることが確認できました。
これにより、sshdのプロセスが停止した場合に、自動でプロセスを再開できます。

監視履歴パースペクティブを見てみましょう。

01_07_ジョブ通知後の監視結果

sshdのプロセスが起動していることが確認できました。
このように、ジョブ通知では監視等の実行結果に応じて、次のアクションを自動で組み込むことができます。

おわりに

簡単ではありますが、この記事ではジョブ通知のご紹介をいたしました。

Hinemosでは多種多様な通知方法をご用意しているので、状況に応じてご活用いただけますと幸いです!