3.4.1 特定のイベントが発行されたら自動でコマンドを実行する方法
イベントが発行されると,システム管理者がコマンドを実行してイベントに対処する場合があります。システム管理者が,いつも特定のイベントに対して特定のコマンドを実行していては,負担が掛かります。負担を軽減させるために,特定のイベントが発行されたら自動でコマンドを実行するよう設定しましょう。
JP1のマニュアル「JP1 Version 13 統合管理 基本ガイド」における,「6.2 特定のイベントが発行されたら自動でコマンドを実行する方法」を参照し,コマンドが自動で実行されるように設定してください。
また,上記方法により,特定のイベントが発行された場合にメール通知やパトランプ通知を行うことができます。メール通知やパトランプ通知をする場合,JP1のマニュアル「JP1 Version 13 統合管理 基本ガイド」の「6.2.1 イベント発行時に自動アクション機能でコマンドを実行する」における,[アクション詳細設定]画面の「実行内容」(下記の赤枠部分)に,次に示す設定が必要です。
(1) メール通知をする場合
[アクション詳細設定]画面の「実行内容」に以下の通り指定してください。
# |
項目名 |
指定内容 |
説明 |
---|---|---|---|
1 |
実行ユーザー名 |
JP1ユーザー名 |
JP1ユーザー名には,「2.2.3 JP1ユーザー作成」に記載された方法で作成したJP1ユーザーを指定してください。 |
2 |
実行ホスト名 |
$ACTHOST |
− |
3 |
アクション |
mail_notification.sh.x "$EVSEV" "$EVIDBASE" "$EVSEQNO" "$EVHOST" "$EVDATE" "$EVTIME" "$EVMSG" "グループ名" |
グループ名には,「group1」,「group2」,「group3」のどれかを指定してください。 これらのグループは,JP1 Cloud Serviceのヒアリングシートに記入された通知先メールアドレスのグループに対応付いています。 |
4 |
環境変数ファイル |
/jp1cs/actenv.conf |
− |
上記設定によって通知されるメールのタイトルや本文のサンプルは以下の通りです。
(2) パトランプ通知をする場合
[アクション詳細設定]画面の「実行内容」に以下の通り指定してください。
# |
項目名 |
指定内容 |
説明 |
---|---|---|---|
1 |
実行ユーザー名 |
JP1ユーザー名 |
JP1ユーザー名には,「2.2.3 JP1ユーザー作成」に記載された方法で作成したJP1ユーザーを指定してください。 |
2 |
実行ホスト名 |
$ACTHOST |
− |
3 |
アクション |
パトランプ鳴動コマンド |
パトランプ鳴動コマンドには,お客さま拠点に存在するパトランプ(ネットワーク警告灯)がサポートするソケット通信コマンドまたはhttp通信コマンドを,Linuxのコマンドライン形式で指定してください※。 |
4 |
環境変数ファイル |
/jp1cs/actenv.conf |
− |
- 注※
-
コマンドラインの例を以下に示します。
(例)システム管理マネージャーの接続ホスト名を「im-mgr01.01.02.jp1cs.com」とします。パトランプのサポートするhttp通信が「http://IPアドレス/api/control?alert=100001」であり,パトランプのIPアドレスが「192.168.1.1」である場合のコマンドラインは以下のようになります。
curl --interface im-mgr01.01.02.jp1cs.com http://192.168.1.1/api/control\?alert\=100001
なお,1つのイベント発行時に複数のグループにメール通知を行いたい場合や,メール通知とパトランプ通知を同時に行いたい場合には,[アクション詳細設定]画面の「パラメーターグループ」を別々にして指定することで対応ができます。
(3) その他コマンドを実行する場合
[アクション詳細設定]画面の「実行内容」に以下の通り指定してください。
システム管理マネージャー自身への自動アクションにより,システム管理マネージャー上のコマンドやスクリプトを実行することができます。
# |
項目名 |
指定内容 |
説明 |
---|---|---|---|
1 |
実行ユーザー名 |
JP1ユーザー名 |
JP1ユーザー名には,「2.2.3 JP1ユーザー作成」に記載された方法で作成したJP1ユーザーを指定してください。 |
2 |
実行ホスト名 |
$ACTHOST |
− |
3 |
アクション |
任意のコマンド(OSコマンド,JP1のコマンド※,/usrfile配下のスクリプト) |
コマンド文に指定可能なコマンドは以下のとおりです。
|
4 |
環境変数ファイル |
指定なし または /usrfile配下のパス |
環境変数ファイルには,「指定なし」または「/usrfile配下のパス」を指定してください。 |
注※ JP1のコマンドは,JP1製品(JP1/AJS3,JP1/IM3,JP1/Base)のコマンドを指します。なお,スーパーユーザ権限が必要なコマンドは実行できません。
(a) コマンド実行方法および注意事項について
コマンド実行方法について説明します。
自動アクションのコマンド文または,/usrfile配下に配置されたスクリプトからwget,curlコマンドを実行することで任意のユーザーアプリケーションに対してREST APIを発行することができます。wget,curlコマンドを実行する際,送信元アドレス情報にシステム管理マネージャーの接続ホスト名を指定してください。
システム管理マネージャーから任意のユーザーアプリケーションに通信する際のコマンド例を次に示します。
-
wget --bind-address=システム管理マネージャーの接続ホスト名 その他オプション URL
-
curl --interface システム管理マネージャーの接続ホスト名 その他オプション URL
また,システム管理において,マネージャーミドルウェアは論理プロセスとして起動しているため,コマンド実行時には-hオプションの指定をしてください。jcastatusコマンドを実行する際のコマンド例を次に示します。
-
/opt/jp1cons/bin/jcastatus -h システム管理マネージャーの論理ホスト名 -d
システム管理マネージャー上でコマンドを実行するにあたって,以下の注意事項があります。
注意事項
-
スーパーユーザ権限を必要とするコマンドを実行できません。
-
/usrfile配下以外のディレクトリに対するファイルアクセス(OSやJP1の実行コマンド指定を除く)やrmコマンド,systemctlコマンドといったシステム稼働に影響を与えるコマンドを実行することによる環境破壊やサービス停止ついて保証できません。
-
/usrfile配下以外のディレクトリへのファイル配置,コマンド実行により及ぼす影響について保証できません。
-
/usrfile配下に配置,生成したファイルはシステム内部でセキュリティチェックを行い,システムの安全性を脅かすファイルであると判断した場合は対象ファイルの隔離,削除します。
-
REST API実行時のルート証明書の認証は信頼できるサイトでの接続のみを認めます。curlコマンドの-kオプションによる認証スキップはできません。