イベント発生時にアプリケーションを起動するためには、[イベント定義/アクション定義]-[通知/実行アクション]の設定が必要です。アプリケーション起動の[アクション定義(詳細)]ダイアログボックスでは、以下の項目について設定します。
アプリケーション起動の有無
[実行方法の指定]
[アプリケーション詳細]
[起動時の扱い]
[アプリケーションを起動する]チェックボックスをチェックした場合だけ、定義詳細について設定します。[起動ファイル]を設定しなかった場合は、アクション実施時に、アプリケーションを起動しません。また、[起動ファイル]と[パラメタ]の長さの和が、1022バイトを超えることはできません。
パラメタに“%MSG”、“%DATE”、“%HOST”を指定すると、以下のように置き換えられます。なお、置き換えた後、4096バイトを超える部分は出力されません。
%MSG : 発生したメッセージに置き換えられます。
%DATE : メッセージが発生した日時に置き換えられます。
%HOST : メッセージが発生したホスト名に置き換えられます。
“%MSG”、“%DATE”、“%HOST”を使用する場合は、%の前および、それぞれの文字列の後ろに半角の空白が必要です。また、“%MSG”で渡されるメッセージは、メッセージ監視アクションのメッセージの編集に指定したスクリプトで編集する前のメッセージです。
[アクション定義(詳細)]の呼び出し方法については、“アクションを定義する”の“[イベント定義/アクション定義]の呼び出し方法”を参照してください。
注意
アプリケーション起動では、コマンドの終了を待ちあわせません。アプリケーション起動の対象となるイベントが同時に複数発生した場合、同時にアプリケーションが実行されます。コマンドが複数同時に動作すると支障をきたす場合は、実行するアプリケーションに排他処理を考慮した作りが必要です。
定義先のサーバがWindows(R)の場合、アプリケーションはシステムアカウント権限で起動されます。そのため、システムアカウント権限で実行できないコマンドは、実行時にエラーとなります。
[パラメタ]として%MSGを使用して受け取ったメッセージをイベントログに出力するアプリケーションを実行した場合、イベントを監視する条件にメッセージで特定する条件を設定していると、アクションの実行がループする場合があります。監視する条件を見直すか、同一アクションの抑止機能を設定してください。
標準出力や標準エラー出力にメッセージを出力するアプリケーションの場合は、バッチファイル/シェルでアプリケーションの出力を別ファイルにリダイレクションするように記述し、そのバッチファイル/シェルを[アクション定義(詳細)]-[アプリケーション起動]のアプリケーション名に設定してください。
アプリケーションは、起動ユーザや環境変数など、Systemwalkerと同じ動作環境で起動されます。起動するアプリケーションが特殊な環境変数(ライブラリのパス等)を必要とする場合は、対象となるアプリケーションを起動するバッチプログラム/シェルプログラムを作成し、そのプログラム内で必要な環境変数を設定してください。
アクション実行ログを出力する
mpaosactrev(アクション実行履歴の表示コマンド)を実行すると、アクション実行履歴ファイルに、以下の形式で表示されます。
時刻 番号 PROGRAM 処理 [CMD=”コマンド文字列”] |
項目は、以下の値を表しています。
項目名 | 値 |
---|---|
時刻 | 出力したアクションの情報の処理を行った日時 |
番号 | イベント監視の条件定義と比較したイベントのサービスを起動してからの通番です。 |
処理 | 以下のどれかになります。 START: NORMAL: ERROR: |
CMD=”コマンド文字列” | 処理が“START”の場合に、起動したコマンド文字列(コマンド名+パラメタ)を表示します。 |
注意事項
以下のWindows OSでは、画面を表示するようなアプリケーションは指定できません。
Windows 8
Windows 7
Windows Vista
Windows Server 2008 STD/Windows Server 2008 DTC/Windows Server 2008 EE/Windows Server 2008 Foundation/Windows Server 2008 R2
Windows Server 2012
Windows Vista、Windows 7、Windows Server 2008では、そのようなアプリケーションを指定した場合、アクション実行時にOSが出力する「対話型サービスダイアログ検出」画面が表示され、アプリケーションの表示の問い合わせがあります。