Skip to content
기사 목록으로 돌아가기
ai14分

AI駆動の監視システム: 異常検知からインシデント対応まで

AI-Powered Monitoring: From Anomaly Detection to Incident Response

林 美咲Frontend Tech Lead
2026-03-1714分
AIOpsMonitoringAnomaly DetectionObservabilityIncident Response

이 글은 일본어로 작성되어 있습니다. 한국어 요약은 아래와 같습니다:

AI-Powered Monitoring: From Anomaly Detection to Incident ResponseAI駆動の監視システムをゼロから構築した記録。メトリクスの異常検知、ログの自動分析、アラート集約、インシデント対応の自動化まで、AIOpsの実践と正直な評価を共有する。

静的閾値の限界

従来の監視は「CPU使用率が80%を超えたらアラート」「レスポンスタイムが500msを超えたらアラート」という静的閾値ベースだ。しかしこの方法には本質的な限界がある。正常な範囲は時間帯、曜日、季節によって変動する。金曜日の夜にトラフィックが減るのは異常ではないが、月曜日の朝に同じ数値なら障害の兆候かもしれない。

KGAのクライアント(EC運営、月間PV 500万)で運用していた静的閾値監視では、月間約400件のアラートが発生し、そのうち85%が誤検知(false positive)だった。アラート疲れで本当の障害を見逃すリスクが高まっていた。

異常検知モデルの選択

KGAが検証した異常検知アプローチは4つ。Statistical(ARIMA、Holt-Winters): 時系列の季節性パターンを学習し、予測区間外の値を異常と判定。実装が簡単でCPU使用率やリクエスト数には有効だが、複雑なパターンには対応しにくい。

Isolation Forest: ランダムに分割していくことで、通常データから「孤立しやすい」データポイントを異常と判定。多次元メトリクスの異常検知に有効。KGAではCPU、メモリ、ディスクI/O、ネットワークの4次元で適用。

LSTM Autoencoder: 時系列データをエンコード-デコードし、再構成誤差が大きいデータポイントを異常と判定。複雑な時系列パターンの検出精度が高いが、学習コストが大きい。

Prophet(Meta製): 季節性、トレンド、祝日効果を分解するモデル。ビジネスメトリクス(売上、PV等)の異常検知に特に有効。

KGAの結論として、インフラメトリクスにはIsolation Forest、ビジネスメトリクスにはProphetを使い分けるのが最もコスパが良い。LSTMは精度は高いが、運用コスト(学習、再学習、GPU)が見合わないケースが多い。

ログの自動分析: LLMの活用

ここが最も効果を発揮した領域だ。障害発生時のログ分析をLLMで自動化した。具体的には、アラート発生時に関連するログ(前後5分、関連サービス)を自動収集し、LLM(Claude 3.5 Sonnet)に以下を分析させる。

  • エラーログのパターン分類(既知/未知)。2. 根本原因の推定(スタックトレース、エラーメッセージの解析)。3. 影響範囲の推定(影響を受けるサービス、ユーザー数の概算)。4. 過去の類似インシデントとの照合(ベクトル検索)。5. 推奨される対応アクション。

この分析結果をSlackのインシデントチャネルに自動投稿する。人間のオンコールエンジニアは、ゼロからログを読む代わりに、LLMの分析結果をレビューするところから始められる。

KGAの実測では、MTTR(Mean Time To Resolution)が平均4.2時間から1.5時間に短縮された。特に効果が大きかったのは、初動(アラート受信から原因特定まで)の時間で、45分から8分に改善された。

アラート集約と優先度付け

大規模障害時には数十〜数百のアラートが同時に発生する。これを人間が個別に処理するのは不可能だ。KGAのAIOpsシステムでは、アラートの集約と優先度付けを自動化している。

時間的相関: 5分以内に発生したアラートをグループ化。因果的相関: サービス依存関係グラフ(手動定義 + 自動推定)に基づき、根本原因のアラートと派生アラートを識別。優先度スコア: 影響ユーザー数 × サービスの重要度 × 異常の程度でスコアリング。

この集約により、ある大規模障害では同時発生した87件のアラートが3つのインシデントグループに集約され、根本原因のDBレプリケーション障害が最優先で提示された。

自動修復(Auto-Remediation)

KGAでは限定的だが自動修復も導入している。ただしこの領域は慎重なアプローチが必要で、自動修復の対象は「実行しても悪影響がない」アクションに限定する。

安全な自動修復の例: Podのリスタート(CrashLoopBackOff状態)。一時的なスケールアウト(CPU/メモリ逼迫時)。キャッシュのフラッシュ(キャッシュ破損検知時)。CDN設定のフォールバック。

危険で自動化しない例: データベースのフェイルオーバー。設定ファイルの変更。ネットワーク設定の変更。データの修正・削除。

自動修復の実行は必ずログに記録し、Slackに通知する。また、同一アクションの実行頻度を制限し(1時間に3回まで等)、自動修復のループを防止する。

正直な評価: AIOpsの限界

AIOpsは万能ではない。異常検知のfalse positive率は静的閾値の85%から15%に低下したが、ゼロにはできない。特に、初めて遭遇するパターン(新機能のデプロイ後のトラフィック変化等)では誤検知が増える。

LLMによるログ分析も、100%正確ではない。KGAの評価では、根本原因の推定精度は約72%。誤った推定を信じて対応すると逆効果になるリスクがある。あくまで「参考情報」であり、最終判断は人間が行うことが大前提だ。

コストも無視できない。異常検知モデルの学習・推論基盤、LLM API費用、ベクトルDB、アラート集約エンジンの運用で、月額$2,500-$4,000のコストが発生する。中小規模のシステムでは費用対効果が見合わない可能性がある。KGAの推奨は、月間アラート数が200件を超え、かつオンコール体制に負荷がかかっているチームでの導入だ。

技術的な課題を一緒に解決しませんか?

KGA IT Solutionsは、AI・クラウド・DevOpsの専門チームがお客様の課題に最適なソリューションを提供します。

お問い合わせ