> [!abstract] 概要(原文 abstract の日本語訳) > アラートはオンラインサービスシステムの監視データとして重要であり、システムの障害に関する詳細を記録する。システムコンポーネント間の複雑な相関により、1 件の障害が大量のアラートを発生させることが多く、アラートの手動対応では不十分である。したがって、アラートを自動的に集約することは早急に解決すべき課題である。本稿はこの問題に教師あり学習に基づく新しいアプローチで取り組む。提案手法 OAS(Online Alert Summarizing)は、まずアラートから意味情報(semantic information)と挙動情報(behavior information)の 2 種類を学習する。次に OAS は特定の深層学習モデルを用いてアラートの意味・挙動表現を集約し、アラート間の相関を決定する。OAS は新たに報告されたアラートをオンラインで集約可能である。2 大商業銀行の実アラートデータセットを用いた大規模実験で、OAS の効率性と有効性が実証されている。 ## 論文情報 - **タイトル**: Online Summarizing Alerts through Semantic and Behavior Information - **著者**: Jia Chen(第一著者)、Peng Wang(corresponding author)、Wei Wang —— いずれも [[Fudan University]] 所属 - **連絡先**: [email protected] / [email protected] / [email protected] - **媒体**: ICSE '22(44th International Conference on Software Engineering)、2022年5月21-29日、ピッツバーグ, PA, USA - **DOI**: [10.1145/3510003.3510055](https://doi.org/10.1145/3510003.3510055) - **論文ページ数**: 12 - **データセット(公開)**: Bank B の匿名化済みアラートデータ <https://doi.org/10.5281/zenodo.5336985> - **ソースコード**: <https://doi.org/10.5281/zenodo.5998339> ## 概要 [[Fudan University]] の [[Jia Chen (Fudan)]]、[[Peng Wang (Fudan)]]、[[Wei Wang (Fudan)]] の 3 名が提案する、教師あり深層学習によるアラート集約フレームワーク OAS の論文。既存の教師なし手法(Jaccard 類似度・トポロジ距離)が抱える「同一障害のアラートが全く異なる文言を持つ場合」の失敗と、「CMDB 情報の不正確さ・変動の激しさ」の問題を、障害報告書(failure report)をラベル源とした教師あり学習で克服する。アラートの意味情報を抽出する ASR・挙動情報を抽出する ABR・両者を統合して相関を分類する ACT の 3 モジュールを組み合わせ、新着アラートを時間窓内でインシデントへ逐次割り当てるオンライン集約を実現した。 ## 問題設定 **入力**: オンラインサービスシステムから継続的に流入する半構造化テキストのアラートストリーム。各アラート e_i は timestamp t_i と内容 W_i(単語列)を持つ。 **問題**: 1 件の障害が複数のアラートを発生させる。それらを同一「インシデント」としてまとめる(アラート集約)ことで、エンジニアの調査負荷を削減したい。既存手法の失敗例(Table 1): - 同一障害「NTP start error」に起因するアラート E1・E2・E3 の間で、E1 と E2 は共通語が全く存在せず、Jaccard 類似度ではリンクできない。 - CMDB に基づくトポロジ情報はクラウド上の頻繁なコンポーネント変更により不正確になりやすい。 - 既存手法は全て教師なしであり、企業が大量に蓄積している障害報告書の知識を活用できていない。 **出力**: アラートをインシデント単位にグループ化したリスト。各インシデントは同一障害に起因するアラート群を含む。 **評価指標**: - ACR(Incident Accuracy)= N_c / (N_c + N_w) × 100%。誤ったアラートを含まないインシデント(N_c)の割合。孤立インシデント(1 件のみ)は除外。 - VCR(Valid Compression Ratio)= (1 − (n_w + n_i) / n_total) × 100%。誤ったインシデントと孤立インシデントのアラートを除いた真の圧縮率。 - TC(Time Cost): 集約ステージの処理時間。 **データ**: | データセット | 期間 | アラート件数 | アラート種別数 | |---|---|---|---| | Bank A | 2018/11/23〜2019/02/02 | 50,947 | 2,794 | | Bank B | 2019/03/01〜2020/08/06 | 500,000 | 51 | Bank B は定義が厳密で種別数が少なく、Bank A は定義が緩いため種別数が多いという対照的な特性を持つ。(Source: Table 2, §8.1) ## 提案手法 ### アーキテクチャ(OAS の全体像) OAS は 4 コンポーネント、2 ステージで動作する(Figure 2)。 ``` [Training Stage] history alerts → alert preprocessing (Drain + stop word removal) → ASR training (CBOW+IDF による意味表現) — 並列 → ABR training (Skip-Gram 型 NN による挙動表現) — 並列 → ACT training (意味+挙動を統合する相関分類器) [Summarizing Stage] incoming alert e_i → alert preprocessing → ASR/ABR で e_i の表現を抽出 → ACT で時間窓 [t_i−w, t_i] 内の既存アラートとの相関度を計算 → 最も相関の高い e_j が存在すれば e_j のインシデントに追加、なければ新インシデント生成 ``` ### アラート前処理 1. Drain(オンラインパーサー)で変数(IP アドレス、数値パラメータ等)を除去してアラートテンプレートに変換 2. ストップワード(the/a/and 等)を除去 3. 同じテンプレートのアラートを同一アラート種別として分類 4. 各アラート e_i の発生系列 F_i を「過去 β 分間をα分粒度でカウントした出現頻度ベクトル」として生成(Shape: β/α) ### ASR: Alert Semantics Representation(§5.1) アラートの意味情報を抽出するモジュール。Jaccard(共通語数のみ)や Word2Vec(全語を均等扱い)とは異なり、各語の文脈情報を CBOW で、意味寄与度を IDF で計算し、重み付き平均で意味表現 s_i を求める。 ``` s_i = Σ_j (v_ij · u_ij) (j: アラート e_i の各単語) v_ij = CBOW(word_j の文脈情報ベクトル、サイズ 512) u_ij = IDF(word_j の逆文書頻度、正規化後) ``` IDF の計算における「文書」は、相関アラート群のコンテンツを結合したもの。「NTP」「start」等の障害特徴語に自動的に高い重みを付与する。(Source: §5.1, Figure 3) ### ABR: Alert Behavior Representation(§5.2) アラートの挙動情報(共起パターン)を抽出するモジュール。Skip-Gram に着想を得た浅いニューラルネットワークで、同一障害に起因するアラートの発生系列の「共通挙動」を学習する。 訓練時の目的: アラート e_i の発生系列 F_i を、同一障害内の相関アラートの発生系列の平均 F̂_i へと変換する隠れ層を学習する。 ``` F̂_i = (1/c_i) Σ_{j=1}^{c_i} F_{r_i_j} (r_i_j: e_i と相関するアラートのインデックス) 損失関数 L_ABR = −Σ_i log(1 / (1 + exp(−F_i · F̂_i))) (式3) ``` 学習後、隠れ層の出力 b_i がアラートの挙動表現として機能する。直感的には、共起する傾向が強いアラート同士は低次元の潜在空間で近くなるよう学習される。フリークエント・パターン・マイニング系手法(SeqKrimp・GoKrimp・CSC・SWIFT)と異なり、低頻度の障害にも対応できる。(Source: §5.2, Figure 4) ハイパーパラメータ(推奨値): - α(粒度): 1 分(小さいほど挙動情報が豊富。TC と要トレードオフ) - β(系列長): Bank A = 6時間、Bank B = 13時間(収束の目安: 13h で VCR が安定) - 挙動表現サイズ: 600 ### ACT: Alert CorrelaTion(§6) 意味表現 s_i と挙動表現 b_i を統合してアラート相関を分類するモジュール。2 アラート e_i・e_j の相関度 P̂_{i,j} = [p̂1, p̂2](相関確率, 非相関確率)を出力する。 ``` [入力] s_i, s_j: 意味表現(ASR 出力) b_i, b_j: 挙動表現(ABR 出力) [Linear Transformation ブロック(意味・挙動それぞれ)] 二乗差 s̄_{i,j} = (s_i − s_j)^2 (挙動は b̄_{i,j}) 50次元 Linear → 30次元 Linear → ReLU [Feature Aggregation] 要素積(element-wise product)で2種の情報を統合 [Dimension Reduction + Softmax] Tanh → 20次元 Linear → 2次元 Linear → Softmax → P̂_{i,j} ``` 訓練時の損失(式5): 相関ペアと非相関ペアの予測誤差の加重和。 (Source: §6, Figure 5) ### オンライン集約戦略(§7) 時間窓 w(= 5 分)を使い、新着アラート e_i について: 1. 窓内の既存アラート e_j(t_i − w ≤ t_j < t_i)との相関度を ACT で計算 2. 最も高い相関確率 p̂1 が p̂2 を上回る e_j を見つけたら、e_i を e_j のインシデントに追加 3. 存在しなければ e_i で新インシデントを作成 各アラートを 1 度だけ処理することで過去インシデントを変更しない設計。(Source: §7, 式6, Figure 6) ## 新規性 既存手法が抱える 3 つの問題を解決した最初の論文。(Source: §1, §2) 1. **最初の教師ありアラート集約手法**: 先行の AlertStorm(Zhao+ ICSE-SEIP2020)・Lin+ KDD2014 は教師なし。本研究は企業に蓄積された障害報告書をラベル源に活用する教師あり学習を初適用した。 2. **最初のアラート挙動情報の直接マイニング**: 発生系列の共通性を ABR で直接学習する手法はこれが初出。頻出パターン手法は低頻度障害を見逃すが、ABR は教師あり学習で低頻度でも対応できる。 3. **深層学習による意味+挙動の統合分類**: 固定閾値ではなく ACT が端対端でアラート相関を学習することで、多様な障害パターンに適応する。 ## 実験設定 - **実装環境**: Python 3.6、PyTorch 1.5.1、Gensim(LDA・Word2Vec)、Java ベースの SeqKrimp 等ツールキット - **計算環境**: Intel i7-7700K 4.20GHz × 8、16 GB メモリ、Ubuntu - **データ分割**: タイムスタンプ順の前 80% が訓練、後 20% がテスト **比較手法**(Table 3): | 手法 | 意味 | 挙動 | オンライン | |---|---|---|---| | SeqKrimp | × | ✓ | × | | GoKrimp | × | ✓ | × | | CSC | × | ✓ | × | | SWIFT | × | ✓ | ✓ | | Jaccard | ✓ | × | ✓ | | LDA | ✓ | × | ✓ | | Word2Vec | ✓ | × | ✓ | | ASR(単独) | ✓ | × | ✓ | | ABR(単独) | × | ✓ | ✓ | | **OAS** | ✓ | ✓ | ✓ | **訓練時間**(Table 4、Bank A / Bank B): - ASR: 9.977 s / 24.667 s - ABR: 7.707 s / 330.388 s - ACT: 16.425 s / 260.671 s 全モデル合計でも 10 分未満。オフライン学習であるため実用上問題ない。(Source: Table 4) ## 実験結果 ### RQ1: 集約性能(Figure 7, §8.5.1) - **意味情報**: ASR は Jaccard・Word2Vec・LDA より ACR・VCR ともに高い。 - **挙動情報**: ABR は SeqKrimp・GoKrimp・CSC・SWIFT より ACR・VCR ともに高い。 - **統合**: OAS は全比較手法中で最高の ACR・VCR を達成。ASR と ABR の両方が集約に貢献し、ASR が挙動より大きく貢献する。 - 処理速度: OAS の TC は Bank A で 26 s(240 件/秒超)、Bank B で 147.73 s(670 件/秒超)。(Source: Figure 7c) ### RQ2: ABR の粒度 α の影響(Figure 8, §8.5.2) Bank B での実験。α が小さい(1 分)ほど ACR・VCR が高い傾向。ただし α = 1 分でも TC は 100,000 件で約 2 分(810 件/秒超)と許容範囲内。(Source: Figure 8) ### RQ3: ABR の系列長 β の影響(Figure 9, §8.5.3) β > 13 時間で VCR ≈ 54%、ACR > 99% に収束。TC は β に対して線形。β = 13 時間で TC ≈ 2 分(809 件/秒超)。(Source: Figure 9) ### RQ4: オンライン集約の時間窓 w の影響(Figure 10, §8.5.4) - OAS と ABR の ACR は w を 1〜60 分に変化させても常に 98% を超え安定。 - w が小さすぎると障害が細切れインシデントに分割、大きすぎると無関係障害が合流するトレードオフがある。 - 最前線エンジニアの経験から「銀行サービスシステムでは相関アラートの最大間隔は 5 分」と示され、w = 5 分を採用。(Source: §8.5.4) ## 考察 **教師あり学習の利点**: 障害報告書が自然なラベルとして機能し、エキスパートの知識を自動的に学習できる。非相関アラートも直接学習するため、固定閾値不要でアラート機構の複雑さ・多様性に適応できる。(Source: §3.4) **ASR が ABR より貢献が大きい理由**: アラート内容(意味)はアラート種別を直接表現しており、種別数の少ない Bank B でも多い Bank A でも意味情報が強い手がかりになる。挙動情報は種別数が少ない Bank B(51 種)で特に効果的だが、Bank A(2794 種)では種別ごとの挙動学習に十分なサンプルが得にくい。(Source: §8.5.1) **妥当性への脅威(§8.6)**: - ラベリングノイズ: 障害報告書は前線エンジニアが人手で記入しており、ラベルミスが存在し得る。ただし現場エンジニアが執筆者であるためノイズは小量と判断。 - 汎化性: 実験は 2 大商業銀行のデータに限定。類似した履歴アラート・障害報告書を保有する一般商業会社にも汎化できると著者は主張するが、金融系以外の業種や異なるアラート密度での検証は未実施。 - 測定指標: F 値ではなく ACR・VCR を採用。F 値はインシデントの「完全一致」を要求するが、実運用では部分一致の正しいインシデントも価値を持つため、エンジニアとの協議で ACR・VCR を設計した。(Source: §8.4) ## 強み / 弱点・課題 ### 強み - 障害報告書をラベルとする教師あり学習で、ドメイン知識を自動的に取り込む設計が現実的。 - ASR・ABR・ACT が互いに独立して学習できるため、並列学習が可能で効率的。 - オンライン集約が各アラートを 1 回だけ処理するため、過去インシデントを変更せず安全。 - 公開データセット(Bank B)とソースコードを提供し、再現性がある。 - 処理速度が実用水準(640〜810 件/秒)。 ### 弱点・課題 - Bank B の VCR ≈ 54% はアラートの約半数が孤立インシデントや誤分類を含む可能性を示唆し、集約の完全性に課題が残る。 - CMDB や障害報告書の整備が前提(どちらも大規模企業では一般的だが、小規模環境では入手困難)。 - アラートのトポロジ伝播を明示的にはモデル化していない(行動系列の共起で間接的に捉えるにとどまる)。後継の DyAlert(Chen+ ASE2023)や ProAlert(Fudan チーム、2025)はこの点を深化させた。 - 教師あり学習のためラベル付きデータが必要であり、障害報告書が存在しない環境での適用は難しい。 ## 系譜と位置づけ OAS は Fudan 同チームのアラートサマリゼーション研究系譜の起点となる論文である。 | 論文 | 年 | 媒体 | 主な貢献 | |---|---|---|---| | AlertStorm(Zhao+ et al.) | 2020 | ICSE-SEIP | Jaccard + トポロジ、教師なし集約 | | **OAS(本論文)** | 2022 | ICSE | semantic(ASR)+behavior(ABR)統合、教師あり集約、初の教師あり手法 | | DyAlert(Chen+ et al.) | 2023 | ASE | 動的グラフ GNN + メトリクス相関でアラートリンク予測、伝播の時空間モデル化 | | *(ProAlert)* | 2025 | — | トポロジ伝播の明示的モデル化(詳細は [[Peng Wang (Fudan)]] グループの後継研究) | OAS は AlertStorm が用いたトポロジ情報(CMDB)の不安定さを意味+挙動の統合学習で回避した。DyAlert は OAS の意味情報に加えメトリクス相関による伝播グラフを導入し、OAS を baseline として比較実験でも使用している。 > [!note] DyAlert ページの記述誤りについて > [[@2023__ASE__Dynamic Graph Neural Networks-Based Alert Link Prediction for Online Service Systems]] のページ内に「OAS〔Chen+ ASE2022〕」という記述があるが、本論文の正しい媒体は ICSE 2022 であり、ASE ではない。DyAlert ページを参照する際は注意が必要。(Source: 本論文表紙) ## 関連 - 先行論文(教師なし、Jaccard+トポロジ): [[@2020__ICSE-SEIP__Understanding and Handling Alert Storm for Online Service Systems]] - 後継論文(動的グラフ + 伝播): [[@2023__ASE__Dynamic Graph Neural Networks-Based Alert Link Prediction for Online Service Systems]] - アラート管理サーベイ: [[@2024__JNCA__A survey on intelligent management of alerts and incidents in IT services]] - 著者: [[Jia Chen (Fudan)]] / [[Peng Wang (Fudan)]] / [[Wei Wang (Fudan)]] / [[Fudan University]] - 概念: [[アラート管理]] / [[アラート集約]] / [[AIOps]] - 関連 MOC: `structures/LLM4SRE - MOC.md`