アラートメッセージの制御について

回答済み

コメント

23件のコメント

  • Kompiraサポートチーム

    お問い合わせいただきありがとうございます。

    ジョブエラーが発生した場合に、トリガーで 1 分後に回復したかどうかを判断して、
    アラートメールを送信することで実現可能と考えられます。

    メールの本文内にあるジョブ名をスコープの深刻度名に利用することで、
    ジョブごとにそれぞれ分けてエラーを扱い、エラー発生とリトライ成功を関連づける方法がよいと思われます。

    設定の詳細については以下を参考にしてください。

    [スコープ]
    - 1 つ作成する

    [ルール]
    - ジョブエラー検知とリトライ成功検知の 2 つを作成する
        - ジョブエラー時は深刻度を 1 以上の値にして、リトライ成功時は 0 にする
    - メール本文に「リトライ」が含まれるかどうかで、エラー発生かリトライ成功か判別する
    - ジョブ名を正規表現で抽出して、「深刻度名」として指定する

    [トリガー]
    - 1 つのスコープにジョブの種類と同じ数のトリガーを作成する
    - 実行条件を以下とする
        - 深刻度名が「ジョブA」と等しい
        - 変化前の深刻度が「0」と等しい値である
        - 「60」秒経過k後、深刻度「ジョブA」が「1」以上の値である
    - 上記の「ジョブA」を各ジョブの名称としたトリガーをそれぞれ作成する
    - アクションで実行するメール内にジョブ名を入れる場合は、パラメータ加工フローでジョブ名を本文から正規表現で抽出し、アクションで指定する

    正規表現での抽出については以下の記事を参考にしてください。
    https://support.kompira.jp/column/amessagereceivedbyalerthubinarule/

    設定の基本的な考え方は以下の記事と同様ですが、ジョブごとに深刻度名を分けている点が異なります。
    https://fixpoint.github.io/alerthub-setting-examples/example7.html

    0
    コメントアクション パーマリンク
  • BC_運用管理チーム

    回答ありがとうございます。

    確認させてください。

    ①ご回答頂いた”- 1 つのスコープにジョブの種類と同じ数のトリガーを作成する”は

    対象のジョブが不特定多数でトリガーに全てのジョブを登録する事は困難です。この場合AlertHubでの設定は難しいでしょうか?

    ジョブエラールールで、ジョブ名取得、深刻度上げる、リトライルールでジョブ名取得、ジョブ比較、一致で深刻度下げるを考えましたが、ジョブエラーが発生する度に取得したジョブ名が変わるかと思いますので1分内に複数のジョブがエラーするケースを想定すると難しそうかと思っております。

    ➁ご回答頂いた”- 深刻度名が「ジョブA」と等しい”ですが

    マニュアルに以下記載がりました、ルールで取得した任意の一時フィールドはルール以外にトリガーでも使用可という事で合っていますでしょうか?
    5.3.1. 処理フローの設定
    保存した値の活用
    保存した値は、他の処理フロー等にて選択項目の代わりに使用できます。
    ただし、ルールの中でしか使用できないため、注意してください。
    以下に活用例を記載します。

    ③正規表現で取得した任意の一時フィールドの中身を確認する方法はありますでしょうか?

    正しく取得出来ているのか確認がしたいのですが。

    0
    コメントアクション パーマリンク
  • BC_運用管理チーム

    すみません追加です。
    ④ご回答頂いた”- ジョブ名を正規表現で抽出して、「深刻度名」として指定する”ですが

    深刻度名自体を正規表現で取得した値にする事が可能という事でしょうか?

    可能という事であれば設定方法をご教授いただけますでしょうか?

    0
    コメントアクション パーマリンク
  • Kompiraサポートチーム

    ご確認いただきありがとうございます。
    以下の通り回答いたします。

    ①ご回答頂いた"- 1 つのスコープにジョブの種類と同じ数のトリガーを作成する"は対象のジョブが不特定多数でトリガーに全てのジョブを登録する事は困難です。この場合AlertHubでの設定は難しいでしょうか?
    →ジョブが不特定多数とのこと、承知いたしました。
    ルールはそのままで以下の通りトリガーを設定いただけますでしょうか。
    以下の設定であれば、トリガーは一つのみで対応可能です。

    • 深刻度の増減を判定する: 深刻度が「増えた」
    • 一定時間経過語のイベントのフィールドを指定値と比較する: 「60」秒経過後、「最新の深刻度」が「1」以上の 値である

    イベントの深刻度名を処理フローで一時フィールドに保存した値を指定することで、メールに記載のジョブ名ごとの深刻度が作成されます。

    ②ご回答頂いた"- 深刻度名が「ジョブA」と等しい"ですがマニュアルに以下記載がりました、ルールで取得した任意の一時フィールドはルール以外にトリガーでも使用可という事で合っていますでしょうか?
    →ルールの中で保存した一時フィールドの情報はルールの中でしか使用できません。

    ③正規表現で取得した任意の一時フィールドの中身を確認する方法はありますでしょうか?
    →申し訳ありませんが、AlertHub の機能上で一時フィールドの確認をすることはできません。
    一時フィールドの内容を深刻度名に設定いただき、イベント名をアクションの通知内容に埋め込むことで確認することは可能です。
    イベント名を埋め込む際は {event.severityName} と記載いただけますでしょうか。
    通知内容の設定方法については、以下を参照いただくようお願いいたします。
    https://fixpoint.github.io/alerthub-manual/notification-content.html

    ④ご回答頂いた"- ジョブ名を正規表現で抽出して、「深刻度名」として指定する"ですが深刻度名自体を正規表現で取得した値にする事が可能という事でしょうか?
    →ご認識の通りです。
    前回答でお送りした以下の「イベント」項で深刻度名に一時フィールドを指定することで正規表現で取得した値を深刻度名としております。
    https://support.kompira.jp/column/amessagereceivedbyalerthubinarule/

    0
    コメントアクション パーマリンク
  • BC_運用管理チーム

    回答ありがとうございます。

    ④について

    ルールのフローにて正規表現で取得した値(ジョブID)は一時フィールド(変数)に保存されると思います。

    それをルールのフローイベント (対象スコープを直接指定)で設定するかと思うのですが、

    一時フィールド名ではなく取得した値(ジョブID)を深刻度名に出来るとの事ですが、どの様な記述(設定)を行えば良いかが分かりませんでした。ご指定のマニュアルも読んだのです理解できず。恐縮ですが、具体的な設定方法をご教授頂けますでしょうか。

    0
    コメントアクション パーマリンク
  • Kompiraサポートチーム

    ご確認いただきありがとうございます。
    分かりにくく申し訳ありません。
    深刻度名については、以下の通りご指定をお願いいたします。

    1.処理フローにて「フィールドから正規表現によって値をひとつ取り出す」処理を行い、任意の名前の一時フィールドにジョブ ID を保存
    2.イベント(対象スコープを直接指定)より、「受信データのパスで指定」を選択し、深刻度名に 1 で指定した一時フィールドの名前を入力

    あくまでも例ではございますが、以下の通り一時フィールド名をイベントの深刻度で指定することにより、正規表現で取得した値を深刻度名とすることができます。

    0
    コメントアクション パーマリンク
  • BC_運用管理チーム

    回答ありがとうございます。

    「受信データのパスで指定」で取得した値を深刻度名にする事ができました。

    ジョブエラーのジョブIDとリトライメッセージのジョブIDが一致する場合は、通知しないとしたいので、

    リトライメッセージのジョブIDとジョブエラーのジョブIDを比較し、エラージョブID名の深刻度を下げる必要があるかと思いますが、どの様な設定を行えばよいでしょうか?

     

    また回答頂いた

    • 一定時間経過語のイベントのフィールドを指定値と比較する: 「60」秒経過後、「最新の深刻度」が「1」以上の 値である

    ですが、うまく動作しません、「最新の深刻度」はそのままの文言を設定しておりますがこれで良いでしょうか?

    0
    コメントアクション パーマリンク
  • Kompiraサポートチーム

    ご確認いただきありがとうございます。
    深刻度名を設定できたとのこと、承知いたしました。

    初回の回答で示しました通り、ルールについては 2 つ設定が必要となります。
    エラー発生時は深刻度を増加させ、リトライ成功時は深刻度を 0 にすることで切り分けが可能となります。

    エラー発生時のルールは、以下の通り設定いただけますでしょうか。
    1. 処理フローについて、以下 2 つを設定

    • 「フィールドが文字列を含むかどうか確認する」:「message.content.text」が「リトライ」を包含「しなかった」場合
    • 「フィールドから正規表現によって値をひとつ取り出す」:「message.content.text」から正規表現「(該当の正規表現を入力)」によって値をひとつ取り出して一時フィールド「(任意の名称)」に保存する

    2. イベント(対象スコープを直接指定)で「受信データのパスで指定」を選択し以下の通り設定

    • 深刻度名「(一時フィールドの名称)」を「1」「増やす」

    リトライ成功時のルールは、以下の通り設定いただけますでしょうか。
    1. 処理フローについて、以下 2 つを設定

    • 「フィールドが文字列を含むかどうか確認する」:「message.content.text」が「リトライ」を包含「した」場合
    • 「フィールドから正規表現によって値をひとつ取り出す」:「message.content.text」から正規表現「(該当の正規表現を入力)」によって値をひとつ取り出して一時フィールド「(任意の名称)」に保存する

    2. イベント(対象スコープを直接指定)で「受信データのパスで指定」を選択し以下の通り設定

    • 深刻度名「(一時フィールドの名称)」を「0」「にする」

    上記の通り設定いただいた上で、再度検証いただけますと幸いです。
    トリガーに関しては、すでにご設定の内容で問題ないかと存じます。
    ルールによって深刻度を操作しておりますので、60 秒以内にリトライ成功した場合はアクションは発生いたしません。
    お手数おかけし恐縮ですが、よろしくお願いいたします。

    0
    コメントアクション パーマリンク
  • BC_運用管理チーム

    回答ありがとうございます。

    ・一時フィールド「(任意の名称)」は2つのルールで処理フロー、イベント全て同一名にする事で動作しました。(設定が誤っていましたらご指摘ください)

    ・トリガーはご指定の設定で動作する事を確認しました。

    トリガーの設定ですが、提案頂いた設定は複数のジョブエラーが発生した場合でもトリガーのきっかけとなった深刻度の60秒後の最新の状態を確認しているとの理解で合っていますでしょうか?

    (例えば3種類の深刻度が同じ時刻帯で上昇してもそれぞれの深刻度の60秒後の最新の状態を確認してそれぞれアクションしている理解であっていますでしょうか、テストして動作しているのですが念のため確認です)

    0
    コメントアクション パーマリンク
  • BC_運用管理チーム

    スミマセン、追加で確認です。

    上昇した深刻度はリトライされない限り、エラーの度に上り続けることになりますが、深刻度に上限等はありますでしょうか?

    0
    コメントアクション パーマリンク
  • Kompiraサポートチーム

    ご確認いただきありがとうございます。
    無事動作したとのこと、承知いたしました。

    トリガーの設定について、ご認識の通りで相違ございません。
    各深刻度に対し、60 秒経過後の最新の状態を確認し該当する場合にアクションが発生します。
    ご確認のほどよろしくお願いいたします。

    0
    コメントアクション パーマリンク
  • Kompiraサポートチーム

    追加分のご質問について回答いたします。

    深刻度の上限は 1000 となります。
    仕様情報にも記載がございますので、併せてご確認のほどよろしくお願いいたします。
    https://fixpoint.github.io/alerthub-manual/specificaition.html#%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%97

    0
    コメントアクション パーマリンク
  • BC_運用管理チーム

    回答ありがとうございます。

    一つのスコープで管理(処理)できる深刻度そのものの数については制限ありますでしょうか?

    0
    コメントアクション パーマリンク
  • Kompiraサポートチーム

    ご確認ありがとうございました。

    一つのスコープに対し処理できる深刻度の数に制限はございません。

    0
    コメントアクション パーマリンク
  • BC_運用管理チーム

    回答ありがとうございます。

    特定のジョブが自動リトライされずに、定期的にエラーする場合、深刻度がの上限は 1000なのでこれ以上数値は上昇しないと思いますが、深刻度がの上限を超えた場合にルールが実行されても問題はないでしょうか?(放置しておいても問題がないか)

    0
    コメントアクション パーマリンク
  • Kompiraサポートチーム

    ご確認いただきありがとうございます。

    深刻度が上限を超えた後でも、ルールが実行される分には問題はございません。
    ただ、トリガーで深刻度が増えた場合にアクションを実行するよう設定しておりますので、深刻度が上がらない状況は発生させない方がよいかと思われます。
    スコープ詳細画面の右上メニューより、深刻度の自動復旧を有効化できますので必要に応じてご設定いただくようお願いいたします。

    深刻度の自動復旧を設定すると、最後のイベント発生時から指定の時間が経過後、深刻度が自動で 0 に戻ります。
    スコープの設定については下記に記載がございますので、併せて参照いただけますと幸いです。
    https://fixpoint.github.io/alerthub-manual/make-scope.html

    0
    コメントアクション パーマリンク
  • BC_運用管理チーム

    回答ありがとうございます。

    深刻度の自動復旧はイベントが発生した深刻度単位で行われますでしょうか?

    スコープ内の深刻度全てが対象かとおもい、今回のパターンだと自動復旧は適さないのかと思っていました。

    0
    コメントアクション パーマリンク
  • Kompiraサポートチーム

    ご確認いただきありがとうございます。

    深刻度別ではなく、スコープ内の最後のイベントから指定時間経過を見て自動復旧する設定となります。
    深刻度の増加をアクションの実行条件としておりますので、念のためご紹介させていただきました。
    当方では設定の要否については判断できかねますので、ご承知おきいただけますと幸いです。

    0
    コメントアクション パーマリンク
  • BC_運用管理チーム

    回答ありがとうございます。

    深刻度のリセットを5分に設定した場合は、イベントが発生する度に5分リセットが延長されるとう事良いでしょうか?

    0
    コメントアクション パーマリンク
  • Kompiraサポートチーム

    ご認識の通りです。
    イベントが発生するごとに指定時間の経過を計ります。

    0
    コメントアクション パーマリンク
  • BC_運用管理チーム

    念のため確認ですが、今回質問させて頂いた内容はランブックでは設定できない認識で合っていますでしょうか?

    0
    コメントアクション パーマリンク
  • Kompiraサポートチーム

    ご質問いただきありがとうございます。

    ご認識の通りです。
    ランブックでは、トリガーの実行条件のように秒数をカウントすることができないため、今回の設定はできません。
    ご確認よろしくお願いいたします。

    0
    コメントアクション パーマリンク
  • BC_運用管理チーム

    回答ありがとうございます。

    承知いたしました。

    0
    コメントアクション パーマリンク

サインインしてコメントを残してください。