Systemwalker Centric Manager スクリプトガイド - UNIX共通 - - Microsoft(R) Windows NT(R)/ Microsoft(R) Windows(R) 2000/ Microsoft(R) Windows Server(TM) 2003 - |
目次
索引
![]() ![]() |
第3章 サンプルスクリプトのカスタマイズ | > 3.2 メッセージ監視アクション型スクリプトのカスタマイズ |
定義した一連のイベントの通知を抑止するとともに、一定時間内にそれらのイベントすべてが発生したかをチェックし、その結果に応じた異常通知を行います。
OS種別 |
格納場所とファイル名 |
Windows |
Systemwalkerインストールディレクトリ\mpwalker.dm\mpsc\sample\scLastSendCor.swt |
Solaris OE |
/etc/opt/FJSVssc/sample/scLastSendCor.swt |
Linux |
/etc/opt/FJSVssc/sample/scLastSendCor.swt |
HP-UX |
提供なし |
AIX |
提供なし |
プロシジャ名の規約に従い編集します。
必ずプロシジャ名の先頭文字は“Usr”にします。
動作定義パート[単独定義型]の規約に従い編集します。
可変情報操作処理の規約に従い編集します。
以下のイベント情報がキーに利用できます。
1分以内に発生した、同一アプリからの特定のイベント(アプリ名がテキスト中に“AplName=xxxx”の形式で入っている)で、node1、node2、node3の3ノードからの通知があるかをチェックします。
set ProcName UsrLastSendCor
set Timer 60000
set CompParam 1
set CompList {node1 node2 node3}
set FirstText {Event CorrelationNo1 started}
set OutText1 {Event CorrelationNo1 normal ended}
set OutText2 {Event CorrelationNo1 abnormal ended}
set apl "" set rc [regexp { AplName=([^ ]*)} $EventText All apl] set Key $apl
ある業務アプリは複数サーバと通信をしながら処理をしており、通信を行うプロセスは処理内容ごとに複数実装されています。各プロセスは10分に1回必ずそれぞれで通信処理を行っているが、通信先サーバは常に稼働しているとは限らず、非稼働中の場合それを通知する以下のイベントが各プロセスごとに複数通知されます。
プロセス(xxxx)は通信の接続処理に失敗しました。nodename=yyyy
xxxx: 接続不可を検知したプロセス名。proc1,proc2,proc3,proc4の どれか。 yyyy:通信先システムのノード名
そこでこのイベントについては、最初のものが発生した後、同一通信先に対するものが10分以内に全プロセスから通知されれば相手先が非稼働中と判断して全イベントをひとまとめにする簡略通知を行い、10分以内に全プロセスからエラーが発生しなければ、アプリ側(エラー通知したプロセス)の問題の可能性があるため、それらを個々のイベントとして通知します。
set ProcName UsrAplEventConcat
set Timer 600000
set CompParam 2
lappend CompList {proc1} {proc2} {proc3} {proc4}
set FirstText {Target system has the possibility not to run (%s).}
set OutText1 {+}
set OutText2 {-}
regexp {nodename=([^ ]*)} $EventText All TargetNode set Key "AplEventConcat:$TargetNode"
補足説明
通信先ごとにこの処理を行うために、コラレーションキーにはメッセージテキストから通信先のノード名を切り出し、それを埋め込んでいます。また、最初の警告イベントにこのキーを埋め込むことで接続に失敗した通信先を識別可能にしています。
旧バージョンより移行したユーザスクリプトにマイナス記号“-”およびプラス記号“+”をつける設定はできません。これらをつける設定をする場合は、本バージョンのサンプルスクリプトをカスタマイズしてください。
目次
索引
![]() ![]() |