Hinemosの内部イベントをイベント通知以外で通知させる

作成日 2024/11/06

はじめに

この記事ではHinemosの内部イベントをイベント通知以外で通知させる方法についてご紹介します。

Hinemosの内部イベントには以下のような通知方法があります。
デフォルトでは監視履歴[イベント]ビュー、hinemos_internal.logへの出力となっています。


・HinemosマネージャのINTERNALイベントを監視履歴[イベント]ビューに出力する(デフォルト)
・HinemosマネージャのINTERNALイベントをSyslogで送信する
・HinemosマネージャのINTERNALイベントをメールで送信する
・HinemosマネージャのINTERNALイベントの内容を元にコマンドを実行する
・HinemosマネージャのINTERNALイベントをファイルに出力する(デフォルト)
・HinemosマネージャのINTERNALイベントをジョブ連携メッセージで送信する


例えば、監視履歴[イベント]ビューに内部イベントが通知された場合は以下のようになります。

監視履歴[イベント]ビューに内部イベントが通知された場合の例

今回は、Hinemos ver.7.1 Linux版Webクライアント環境にて、メールによる通知とイベントの内容を元にコマンドを実行する方法についてご紹介します。

内部イベントをメールで通知

概要

本設定はHinemosマネージャのINTERNALイベントをメールで送信する場合に実施します。
出力内容の詳細な内容は転送されません。
また、メールを送信する場合は、送信先サーバが設定されている必要があります。


通知設定自体はHinemosプロパティの設定を変更することで設定可能です。
各プロパティは以下となります。


プロパティ名 デフォルト値 説明
internal.mail false HinemosマネージャのINTERNALイベントをメール送信するか/しないか
true:メール送信する
false:メール送信しない
internal.mail.priority info メール送信を行う場合の、INTERNALイベントの重要度
選択肢:「危険(critical)」、「不明(unknown)」、「警告(warning)」、「情報(info)」
設定した重要度以上のINTERNALイベントが通知されます。
重要度の優先順は、「危険 > 不明 > 警告 > 情報」となります。
internal.mail.address user1@host.domain, user2@host.domain INTERNALイベントのメール送信先メールアドレス
internal.mail.subject 未定義 INTERNALイベントのメール送信件名
未設定の場合はメールテンプレートを指定しない場合と同様の件名となります。
設定値に所定の文字(メールテンプレート機能で利用できる文字列置換の対象)を含めると置換されます。

設定方法

概要に記載した各種Hinemosプロパティを変更していきます。


1.「パースペクティブ」から「メンテナンス」を開いて、“メンテナンス「Hinemosプロパティ」"から、キー列が「internal.mail」の行を探します。

メンテナンス「Hinemosプロパティ」

2.クリックしてプロパティ設定ダイアログを開き、「値」を「true」へ変更します。


Hinemosプロパティ設定ダイアログ

3.上記と同様に「internal.mail.address」の設定ダイアログを開き、「値」を通知したいメールアドレスへ変更します。

Hinemosプロパティ設定ダイアログ

4.「internal.mail.priority」と「internal.mail.subject」は任意で設定してください。

以上で設定は完了です。
設定したメールアドレス宛に通知が届くことを確認します。

メールでの通知結果

無事イベント通知がメールで通知されることを確認できました。

内部イベントの内容を元にコマンドを実行

概要

本設定はHinemosマネージャのINTERNALイベントの内容を元にコマンドを実行する場合に実施します。


通知設定自体はHinemosプロパティの設定を変更することで設定可能です。
各プロパティは以下となります。


プロパティ名 デフォルト値 説明
internal.command false HinemosマネージャのINTERNALイベントによりコマンド実行するか/しないか
true:コマンド実行する
false:コマンド実行しない
internal.command.priority info コマンド実行を行う場合の、INTERNALイベントの重要度
選択肢:「危険(critical)」、「不明(unknown)」、「警告(warning)」、「情報(info)」
設定した重要度以上のINTERNALイベントが通知されます。
重要度の優先順は、「危険 > 不明 > 警告 > 情報」となります。
internal.command.user root INTERNALイベントによるコマンド実行における実効ユーザ
internal.command.commandline echo #[GENERATION_DATE] #[MESSAGE] >> /tmp/test.txt INTERNALイベントにより実行するコマンド
internal.command.timeout 15000 INTERNALイベントによるコマンド実行におけるタイムアウト値[msec]

設定方法

概要に記載した各種Hinemosプロパティを変更していきます。

1.「パースペクティブ」から「メンテナンス」を開いて、“メンテナンス「Hinemosプロパティ」"から、キー列が「internal.command」の行を探します。

メンテナンス「Hinemosプロパティ」

2.クリックしてプロパティ設定ダイアログを開き、「値」を「true」へ変更します。

Hinemosプロパティ設定ダイアログ

3.上記と同様に「internal.command.commandline」の設定ダイアログを開き、「値」を変更します。
例では以下のように、重要度・ファシリティID・出力日時・メッセージが /tmp/internal_log.txt へ出力されるよう変更しました。

echo #[PRIORITY_JP] #[FACILITY_ID] #[GENERATION_DATE] #[MESSAGE] >> /tmp/internal_log.txt
Hinemosプロパティ設定ダイアログ

4.その他のプロパティは任意で設定してください。


以上で設定は完了です。
/tmp/internal_log.txt に通知内容が出力されていることを確認します。

コマンド実行結果

無事出力されていることを確認できました。

おわりに

この記事では、Hinemosの内部イベントをイベント通知以外で通知させる方法についてご紹介しました。
参考になれば幸いです。