LoginSignup
5
0

PagerDuty 設定ガイド (トリアージ編2) - Alert Groupingでアラートノイズを削減する

Last updated at Posted at 2023-12-11

PagerDuty Advent Calendar 12日目の記事です。
ノイズ削減機能の1つ、Alert Groupingについて説明します。
triage_noisereduction2.png

アラートをグループ化して扱うメリット

以下はグループ化されたアラートの例です。1つのインシデントに5つのアラートが紐付けられています。
grouped_alerts2.png

もしAlert Groupingの機能がなかった場合、このアラートの数だけ通知が行われます。インシデントへの対応はすでに開始しているにもかかわらず、アラートが発生するたびに担当者の電話やアプリが鳴り、アラートの内容を確認する必要が出てきます。

また大量のアラートが発生した際には、深刻なアラートの見落としや対応の遅れにも繋がります。

関連するアラートをグループ化し、1つのインシデントとして管理することで、余計な通知や担当者の手間を減らし、重要なインシデントへの対応を速やかに行うことができます。

Alert Groupingの設定

Alert Groupingの設定はService毎に行います。
既存Serviceの設定を変更する場合は Services > Service Directory > {サービス名} を開き、Settingsタブ内のReduce Noise欄でEditをクリックします。
configure_reduce_noise.png

AIによるGrouping(推奨)を行う場合は、Intelligentにチェックを入れます。
Intelligent以外の方法では、Alert Content(アラートに含まれるフィールドを指定し、そのフィールドの値が一致したものをグループ化)とTime only(一定時間内に受信したアラートをグループ化)が利用できます。

rolling windowは同一インシデントにまとめるアラートの最大時間間隔を指定します。以下の例では、直近で受信したアラートと現在受信したアラートの受信時間の差が60分以内であれば、1つのインシデントにグループ化します。
当該Serviceで過去にアラートを受信していれば、推奨の値が "recommended" として表示されます。
congigure_alert_grouping.png

Previewをクリックすると、過去45日間に受信したアラートについてIntelligent Alert Groupingでどの程度アラートを削減できたか(インシデントにまとめられたか)を確認できます。
alert_grouping_preview.png

AIにフィードバックを行い、Grouping精度を高める

Intelligent Alert Groupingでは、「アラートの類似性」と「ユーザーからのフィードバック」を基に、グループ化のルールをAIが管理しています。

例えば以下の例では、"Response Time Alert..."の3つはアラートに含まれる情報の類似性からAIが1つのグループにまとめるべきと判断しています。一方で、その他2つはアラートに含まれる情報が全く異なるため、元々はグループ化されていませんでした。これらはユーザーからのフィードバックによってグループ化するよう学習したものです。
grouped_alerts2.png

複数のインシデントをチェックボックスで選択し、Merge Incidentsボタンをクリックすると、1つのインシデントのまとめることができます。Intelligent Alert Groupingでは、この操作からどのアラートをグループ化すべきか学習します。
merge_incidents.png

また、1つのインシデントにまとめたアラートを別々のインシデントとして扱うよう、フィードバックを行うこともできます。
インシデント詳細画面で、アラートのプルダウンメニューから"Move to a new incident"を選ぶと、新しいインシデントを起票し、そのインシデントにアラートを紐付けます。"Move to an existing incident"では、既存の別インシデントを選択し、そのインシデントにアラートを紐づけます。
move_alerts.png

グループ化のルールをAIで管理するメリット

Alert Content(Content-Based)モードを利用し、グループ化のルールを人を管理することもできます。しかし、この方法では管理が煩雑になり、徐々にルールと運用が乖離してしまうなどの問題が起こる場合があります。
現場でインシデント対応を行う担当者が、ルールをきちんと理解した上で、日々の運用と並行してルールを更新し続けるのが難しいためです。

AIを利用したIntelligent Alert Groupingでは、Groupingのルールが現在どうなっているのかについての知識は必要ありません。また、現場の担当者はどのアラートをまとめるべきかについては良く理解しているため、適切なフィードバックを行うことができます。

AIの支援を活用することで、労力をかけずにルールを常に最新で適切なものに保つことができます。

FAQ

EventとAlertとIncidentの違いについて教えてください

image.png

Eventは、監視ツールからPagerDutyへ送信するデータの最小単位であり、ある時点における監視項目の状態です。
監視ツールは、監視項目が閾値を超えると、HTTPS(Event API)またはEmailでEventを送ります。Eventには監視項目毎にユニークな値(dedup_key)が付与されます。

Alertは、監視ツールにおける監視項目に該当します。
(例:あるサーバーのCPU使用率、WebサイトのHTTPレスポンスタイム等)
同一のdedup_keyを持つEventは、同一の監視項目の状態変化として、Alert内のAlert Logに時系列で記録されます。

以下はあるAlertの詳細画面です。
同一Alertに3つのEventが記録され、最新のEventはResolvedになっていたため、AlertのステータスもResolvedに更新されています。
image.png
image.png

Incidentは、「対応が必要な課題」です。1つのIncidentに、関連する複数のAlertをまとめて管理することが可能です。
IncidentのステータスをResolvedに変更すると、関連する全てのAlertもResolvedに変更されます。
逆に、Incidentに紐づく全てのAlertがResolvedになると、IncidentもResolvedになります。

以下では、1つのIncidentに5つのAlertがまとめられています。
image.png
参考: イベントとアラートとインシデントの違いとは?

Eventを送りましたが、インシデントが起票されません。アラート一覧にも見つかりません。

同一のdedup_keyを持つEventは、1つのAlertにまとめられ、Alert詳細画面のAlert Logに記録されます。Triggered状態のAlertの中に、同じdedup_keyをもつものがないか確認ください。

新たにAlertを作成するには、既存Alertの状態をResolvedに変更するか、異なるdedup_keyを付与してEventを送ってください。

なお、EmailでEventを送る場合には、Emailの件名がdedup_keyとして使われます。そのため、複数のEmail Eventを同一の件名で送ると、1つのAlertにまとめられます。
件名を変更して、再度送信してください。

参考: 件名が同じEmailを異なるアラートとして扱う

Content-Based Alert Groupingを設定したのですが、グループ化されません。

Email Integrationでは、Content-Based Alert Groupingを利用できません。
Event APIを利用してEventを送ってください。

PagerDuty設定ガイド 目次

検知編 | トリアージ編 | 動員編 | 解決編 | 学習編

  1. 一次対応を自動化する
  2. [Alert Groupingでアラートノイズを削減する] << イマココ
  3. Auto Pauseで一過性アラートの通知を削減する
  4. Event Orchestrationでアラートへの対処を自動化する
  5. [PagerDuty自動化機能の全体像] 近日公開
  6. [Automation ActionsでScriptを自動実行する]
  7. [Runbook Automationで複雑なワークフローを自動実行する]

参考リソース

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0