機能説明
メッセージテキスト中に含まれる識別キーごとに変換テキストを定義し、メッセージテキストを識別キーに対応したテキストに変換します。
以下の2つのスクリプトとして提供します。
イベント切り分けテキスト変換:メッセージ監視アクション型
イベント切り分けテキスト変換(テーブル定義):ライブラリ型
メッセージ監視アクション型のスクリプトは、ライブラリ型のテキスト変換を利用するイベント変換スクリプトです。
ライブラリ型のスクリプトは、入力されたイベント識別キーに対し、変換先テキストを返却するプロシジャです。
イベント識別キーと、それに対するテキストのテーブル定義を持ちます。
また、このスクリプトでは、そのイベントに設定されている重要度をテキスト中に埋め込むこともできます。
サンプルスクリプトファイル
OS種別 | 格納場所とファイル名 |
---|---|
Windows | Systemwalkerインストールディレクトリ\mpwalker.dm\mpsc\sample\scMultiTextChange.swt |
Solaris | /etc/opt/FJSVssc/sample/scMultiTextChange.swt |
Linux | /etc/opt/FJSVssc/sample/scMultiTextChange.swt |
HP-UX | 提供なし |
AIX | 提供なし |
編集可能な項目
イベント切り分けテキスト変換(scMultiTextChange.swt)
プロシジャ名
プロシジャ名の規約に従い編集します。
必ずプロシジャ名の先頭文字は“Usr”にします。
使用するイベント切り分けテキスト変換(テーブル定義)のプロシジャ名
動作定義パート[単独定義型]の規約に従い編集します。
イベント識別キーと可変部分切り出し
可変情報操作処理の規約に従い編集します。
イベント識別キー、および通知イベントテキストに、可変文字列を埋め込みます。可変文字列は、もとのイベントテキストから抽出することができます。
利用可能なイベント情報の項目は以下の通りです。
ノード名
イベント発生日時
イベントテキスト
重要度
イベント切り分けテキスト変換(テーブル定義)(scMultiTextChangeTable.swt)
プロシジャ名
プロシジャ名の規約に従い編集します。
必ずプロシジャ名の先頭文字は“Usr”にします。
変換テーブル
動作定義パート[複数定義型]の規約に従い編集します。
イベント識別キーごとに通知するイベントテキストを定義します。
テーブル未定義出力メッセージ
動作定義パート[単独定義型]の規約に従い編集します。
識別キーがテーブル定義に存在しない場合に通知するイベントテキストを定義します。%sは元のイベントテキストに置き換わります。
注意事項
可変部分切り出し処理内でreturnコマンドおよびexitコマンドは記述しないでください。
可変部分切り出し処理時間は、そのままSystemwalkerのイベント通知性能に影響を与えます。インテリジェントサービス機能はイベントの滞留を防ぐために、平均の処理時間が3秒を超えるスクリプトはタイムアウトエラーとするため、冗長な処理は極力行わないでください。なお、処理時間の計測は“メッセージ監視アクション型スクリプト動作テスト”で行えます。運用時にはシステム負荷などより処理が遅くなることがあるため、テスト時の処理時間の目安としては、0.5秒以内になるようにしてください。
イベント切り分けテキスト変換の呼び出し側、およびテーブル定義サンプルスクリプトは両方とも本VL以降を使用してください。
使用例
"001"、"002"、"003"をイベント識別キーとする変換テーブルを定義します。発生したイベントのテキストからアプリケーション名(“AplName=”に続く文字列)と識別キーに使用するメッセージID("1個目と2個目のコロンの間の数値)を切り出し、重要度とアプリケーション名を変換先のイベントテキストに埋め込んだイベントを通知します。
以下のイベントを変換対象とします。
[変更前]
"INFO: 001: AplName=Jb01" "INFO: 002: normal ended AplName=Jb01" "ERROR: 003: abnormal ended AplName=Jb01" "ERROR: 004: unknown error AplName=Jb01"
[変更後]
"情報: Jb01が正常起動しました" "情報: Jb01が正常終了しました" "エラー: Jb01が異常終了しました"
イベント識別キーが、"001"、"002"、"003"以外だった場合、テーブル未定義出力メッセージを通知します。
"未定義の識別キーです。ERROR:004: unknown error AplName=Jb01"
編集内容
イベント切り分けテキスト変換(テーブル定義)
[プロシジャ名]
set TableProcName UsrMultiTextChangeTable
[変換テーブル]
set msg ""001"" set OutTextFormat($msg) {%s: %sが正常起動しました} set msg ""002"" set OutTextFormat($msg) {%s: %sが正常終了しました} set msg ""003"" set OutTextFormat($msg) {%s: %sが異常終了しました}
[テーブル未定義出力メッセージ]
set NoMatchOutText {未定義の識別キーです。%s}
イベント切り分けテキスト変換
[プロシジャ名]
set ProcName UsrMultiTextChange
[使用するイベント切り分けテキスト変換(テーブル定義)のプロシジャ名]
set TableProcName UsrMultiTextChangeTable
[イベント識別キー、可変部分切り出し]
regexp {: (.*): } $EventText All Key regexp {AplName=([^ ]*)} $EventText All Var1 set Var0 $Severity