イベント プロシージャのトラブルシューティング
casp1032jp
DebugValue プロシージャの使用
DebugValue プロシージャを使用すると、意図したとおりに実行されていないイベント処理で使用されるプロシージャのトラブルシューティングに役立ちます。DebugValue プロシージャでは、ログ ファイルにパラメータの値を出力します。エラー ログ ファイルは、SpectroSERVER の .vnmrc ファイルの event_disp_error_file パラメータで指定されます。
注:
.vnmrc ファイルの event_disp_error_file パラメータを設定する方法の詳細については、「入力パラメータ」セクションを参照してください。 DebugValue プロシージャは、以下の入力パラメータを受け入れます。
- 値が出力される前に出力されるテキスト文字列。このパラメータは、指定されたイベント プロシージャに 1 つ以上の DebugValue プロシージャを使用している場合に、値を区別する際に特に役立ちます。
- 任意の値(値、定数、または別のプロシージャ)。
DebugValue プロシージャは、2 番目の入力パラメータとして渡された値を返します(これは変更されません)。その結果、そのプロシージャの実行に影響を与えずに、他のプロシージャで入力パラメータとして使用することができます。
例
以下の DebugValue プロシージャでは、テキスト文字列に続いて、現在のモデルの属性の読み取り操作の値を出力します。Equals プロシージャの 1 番目の入力パラメータとして使用される読み取り操作の値を返します。
If( Equals( DebugValue( { S \"Attribute value is:\" }, \ ReadAttribute( { C CURRENT_MODEL }, { H 1 } ), \ GetEventVariable( { U 1 } ) \ ), \ CreateEvent( { H 0x29c00003 }, { H 0xffff0000 } ), \ Nil() \ )
Spectrum の障害分離でアラームが予想どおりに抑制またはアサートされない
問題の状況:
メジャーな停止中に、モデル上で想定される重大アラームを受信しませんでした。モデル上でアラームが予想どおりにアサートされませんでした。Spectrum の障害分離でアラームが予想どおりに抑制またはアサートされませんでした。
以下のスクリーン ショットで、丸で囲まれたルータ モデルがダウンしていたため、「デバイスはポーリングへの応答を停止しました」という重大アラームが発生するはずでした。しかし、Spectrum は重大アラームをアサートしませんでした。モデルはグリーンのままですが、Spectrum から接続できませんでした。

原因:
「デバイスはポーリングへの応答を停止しました」アラームに関連付けられている 0x10d35 イベントが、以下のように変更されました。
0x00010d35 R CA.EventPair, 0x10d30, "0xfff0000e -:-", 600 R CA.EventCombo, "0xfff00030 -:-", 300, "0x10d30 -:-"
標準設定の 0x10d35 イベントは、$SPECROOT/SS/CsVendor/Cabletron/EventDisp ファイル内で以下のように定義されています。
0x00010d35 E 75 A 3, 0x00010009,N
解決方法:
標準設定のイベントを変更すると、望ましくない結果が発生する場合があります。基盤となる障害分離、影響分析、および障害抑制のコードは、適切に機能するために、特定の条件および特定の想定される原因コードで特定のイベントを検索しています。これらのいずれかをデフォルトから変更すると、望ましくない結果が発生する場合があります。
上記のシナリオでは、0x10d35 イベントを標準設定の定義に戻してから停止状態を再現すると、Spectrum は想定どおりにアラームを生成しました。
