Systemwalker Centric Manager スクリプトガイド - UNIX/Windows(R)共通 -
目次 索引 前ページ次ページ

第3章 サンプルスクリプトのカスタマイズ> 3.2 メッセージ監視アクション型スクリプトのカスタマイズ

3.2.3 先頭通知コリレーション

■機能説明

発生した複数のイベントに対し、一定数ごとに通知をして、不要なイベントを破棄します。

■サンプルスクリプトファイル

OS種別

格納場所とファイル名

Windows

Systemwalkerインストールディレクトリ\mpwalker.dm\mpsc\sample\scTopSendCor.swt

Solaris

/etc/opt/FJSVssc/sample/scTopSendCor.swt

Linux

/etc/opt/FJSVssc/sample/scTopSendCor.swt

HP-UX

提供なし

AIX

提供なし

■編集可能な項目

プロシジャ名

プロシジャ名の規約に従い編集します。
必ずプロシジャ名の先頭文字は“Usr”にします。

タイマ値

動作定義パート[単独定義型]の規約に従い編集します。
イベント発生数のカウントを継続する時間を定義します。カウント数が“まとめ個数”に達する前にここで指定した時間が経過すると、カウンタをリセットします。タイマ値の経過時間の起点は、1つ目のイベントの発生時、または1つ前のイベント発生時のどちらかを選択できます。

まとめ個数

動作定義パート[単独定義型]の規約に従い編集します。
イベントの通知をひとまとめにする個数を定義します。また、1回目のイベントだけを通知し、その後のイベントを破棄し続ける定義も可能です。

発行イベントテキスト

動作定義パート[単独定義型]の規約に従い編集します。
イベント発生数が“まとめ個数”で定義した個数を超えたときに発行するイベントのテキストを定義します。テキスト中にはコリレーションキーとカウント中のイベントの総数を埋め込むことができます。
本スクリプトは、元のイベントをすべて破棄して、通知するイベントを新規に発行します。ただし、テキストにマイナス記号だけを定義した場合、イベントを発行させるのではなく元のイベントをそのまま通知します。

コリレーションキーの設定

可変情報操作処理の規約に従い編集します。
イベント発生数のカウントはここで作成したキー単位に行います。ひとつのスクリプトで複数の動作(ノードごとにコリレーションをするなど) を実現させたい場合は、以下のイベント情報がキーに利用できます。

■注意事項

[EE/GEE]
クラスタ運用をしている場

■使用例

◆例1

1分以内に発生した特定のイベント(アプリ名がテキスト中に“AplName=xxxx”の形式で入っている)で同一ノード、同一アプリからのものは10個を1つにまとめて通知します。

◆編集内容

プロシジャ名

set ProcName UsrTopSendCor

タイマ値

set Timer 60000

まとめ個数

set CorNum 10

発行イベントテキスト

set OutText {Application error occurred}

コリレーションキーの設定

set apl ""
set rc [regexp {AplName=([^ ]*)} $EventText All apl]
set Key "$NodeName−$apl"

◆例2

ある業務アプリは複数サーバと通信をしながら処理をしており、通信を行うプロセスは処理内容ごとに複数実装されています。各プロセスは、必要に応じてそれぞれで通信処理を行っているため通信先サーバでエラーが発生するとエラー発生サーバとの通信に失敗したことを通知する以下のイベントが各プロセスごとに複数通知されます。

プロセス(xxxx)で通信エラーが発生しました。nodename=yyyy
xxxx: 通信エラーを検知したプロセス名
yyyy:エラーの発生した通信先システムのノード名

そこでこのイベントについては、単発で発生した場合は通知を行うが、同一通信先に対するものが30秒間隔以内に複数通知された場合は、プロセス名が異なっていても破棄するようにします。

◆編集内容

プロシジャ名

set ProcName UsrAplEventSup

タイマ値

set Timer 3000-

まとめ個数

set CorNum "-"

発行イベントテキスト

set OutText {-}

コリレーションキーの設定

regexp {nodeName=([^ ]*)} $EventText All TargetNode
set Key "UsrAplEventSup:$TargetNode"

補足説明

通信先ごとに上記の処理をするために、コリレーションキーにはメッセージテキストから通信先のノード名を切り出し、それを埋め込んでいます。

SystemwalkerのバージョンレベルがV10.0L10または10.0以前より移行したユーザスクリプトにマイナス記号“-”をつける設定はできません。

目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 1995-2007