ScopeSeveritiesの値の取得方法について
完了スコープのトリガーよりランブックを実行した際に、
以下のように「scopeServerities」の値がランブックに渡される認識です。
scopeServeritiesの中から対象1つの深刻度の値を取得したいです。
※トリガーが実行されたタイミングの最新値を取得したいので、event.severityではなくscopeServeritiesの中から取得したいと考えております。
"scopeSeverities": {
"テスト1": 1,
"テスト2": 2,
"テスト3": 1
}
取得したい対象は、そのトリガーの実行の起因となった深刻度名のものとなるため、
実行するたびに取得する対象名が変わる予定です。(event.severityNameに当たるもの)
オペレーターの「あるフィールドから別のフィールドに値をコピーする」を使用して、event.severityName ⇒ ServeritiesName のようなフィールドに代入し、
オペレーターに「scopeSeverities.{{ServeritiesName}}」のようにフィールド名を与える形で設定したもののうまく動かすことができませんでした。
そこでご質問がございます。
①オペレーターの処理でフィールド名を呼び出すような変数は使用が可能でしょうか。
②上記処理を実現したいのですが、なにか方法はございますでしょうか。
ご確認のほどよろしくお願いいたします。
-
> ※トリガーが実行されたタイミングの最新値を取得したいので、event.severityではなくscopeServeritiesの 中から取得したいと考えております。
ということでしたら、SeveritiesNameからevent.severityNameに当たる深刻度値を取得するのではなく、「関連メッセージ」を使用していただくのがよいかと思います。
https://fixpoint.github.io/alerthub-manual/make-related-message-filter.html
具体的な手順は下記の通りです。
①ランブックを呼び出しているトリガーの「関連メッセージ」を「有効化」する
②関連メッセージの条件に「深刻度名が増減を判定する」を追加し、「深刻度が【増えた】」と設定する
③関連メッセージの条件に「イベントの深刻度名を起点イベントの深刻度名と比較する」を追加し、「深刻度名が起点イベントの深刻度名と【等しい】」と設定する
①から③を設定した上で、トリガーから呼び出されたランブック内で「relatedMessageCount」という変数を参照すると、実行条件で指定された経過時間内に発生した(②と③の条件を満たす)イベントの件数=トリガー実行時のその深刻度の値を取得ことができます。
もちろんランブックから呼び出されたアクション内でも {{relatedMessageCount}} とすることで同じ値が参照できますので、ランブックとアクション内で現在 event.severity となっている部分を {{relatedMessageCount}} に置換していただければ記載いただいた処理が実現できるかと思いますので、こちらをお試しいただけますでしょうか。
よろしくお願いいたします。
サインインしてコメントを残してください。
コメント
1件のコメント