MCP HubMCP Hub
스킬 목록으로 돌아가기

detect-anomalies-aiops

pjt222
업데이트됨 2 days ago
8 조회
17
2
17
GitHub에서 보기
기타aiapi

정보

이 스킬은 시계열 분석(Isolation Forest, Prophet, LSTM), 알림 상관관계 분석 및 근본 원인 분석을 활용하여 운영 메트릭에 대한 AI 기반 이상 감지를 구현합니다. 시스템 메트릭, 로그 및 트레이스에서 진정한 이상 현상을 지능적으로 식별하여 알림 피로를 줄입니다. 정적 임계값이 실패할 때, 복잡한 다중 메트릭 이상을 탐지해야 할 때, 또는 사용자 영향 발생 전에 사전적으로 문제를 예측해야 할 때 사용하십시오.

빠른 설치

Claude Code

추천
기본
npx skills add pjt222/agent-almanac -a claude-code
플러그인 명령대체
/plugin add https://github.com/pjt222/agent-almanac
Git 클론대체
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/detect-anomalies-aiops

Claude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요

문서

AIOpsのための異常検知

完全な設定ファイルとテンプレートについては拡張例を参照。

機械学習を適用して運用メトリクスの異常を検知し、アラートを相関させ、誤検知を削減する。

使用タイミング

  • 運用チームがアラート量に圧倒されている時(1日100件以上のアラート)
  • 複雑なマルチメトリクス異常の検知が必要な時(単なる閾値超過ではない)
  • 季節パターンが静的閾値を無効にする時
  • ユーザー影響前にプロアクティブに問題を予測したい時
  • 関連アラートを相関させて根本原因を特定する必要がある時
  • モニタリングシステムが偽陽性を多く生成する時
  • 微妙なパフォーマンス劣化トレンドを検知したい時

入力

  • 必須: モニタリングシステムからの時系列メトリクス(CPU、メモリ、レイテンシ、エラー率)
  • 必須: 過去データ(最低30〜90日)
  • 任意: ラベル付きアラート履歴(真陽性/偽陽性)
  • 任意: システムトポロジー(サービス依存関係)
  • 任意: 相関用のログデータ
  • 任意: コンテキスト用のデプロイメント/変更イベント

手順

ステップ1: 環境セットアップとデータロード

依存関係をインストールし、分析用の時系列データを準備する。

# Create virtual environment
python -m venv venv
source venv/bin/activate

# Install anomaly detection libraries
pip install prophet scikit-learn pandas numpy
pip install tensorflow keras  # for LSTM models
pip install pyod  # Python Outlier Detection library
pip install statsmodels  # for statistical methods
pip install prometheus-api-client  # if using Prometheus

# Visualization
pip install plotly matplotlib seaborn

データのロードと準備:

# aiops/data_loader.py
import pandas as pd
import numpy as np
from datetime import datetime, timedelta
from typing import List, Dict
import logging

logging.basicConfig(level=logging.INFO)
# ... (see EXAMPLES.md for complete implementation)

期待結果: 時系列データが正規の間隔でロードされ、欠損値が処理され、MLモデル用の特徴量が設計されている。

失敗時: Prometheus接続が失敗する場合はURLとネットワークアクセスを確認、データギャップがある場合は前方フィルまたは補間を使用、タイムスタンプ列がdatetime型であることを確認、大きな日付範囲でのメモリ問題を確認(チャンクで処理)。

ステップ2: 多変量異常検知のためのIsolation Forestの実装

教師なしIsolation Forestアルゴリズムを使用して異常を検知する。

# aiops/isolation_forest_detector.py
from sklearn.ensemble import IsolationForest
from sklearn.preprocessing import StandardScaler
import pandas as pd
import numpy as np
from typing import Dict, List
import joblib

# ... (see EXAMPLES.md for complete implementation)

期待結果: 過去データで学習されたモデル、スコア付きで検知された異常、通常データポイントの0.5〜2%がフラグされる。

失敗時: 異常が多すぎる場合(>5%)、contaminationパラメータを下げるかクリーンなベースライン期間で再学習、少なすぎる場合(<0.1%)、contaminationを上げるか特徴量スケーリングを確認、特徴量に十分な分散があることを確認。

ステップ3: 時系列予測と異常検知のためのProphetの実装

Facebook Prophetを使用して季節性をモデル化し偏差を検知する。

# aiops/prophet_detector.py
from prophet import Prophet
import pandas as pd
import numpy as np
from typing import Dict, Tuple
import logging

logger = logging.getLogger(__name__)
# ... (see EXAMPLES.md for complete implementation)

期待結果: Prophetモデルが日次/週次の季節性を捕捉し、実際の値が99%信頼区間外に落ちた時に異常が検知され、キャパシティプランニング用の予測が生成される。

失敗時: Prophetに時間がかかりすぎる場合(メトリクスごとに5分以上)、過去データを30日に減らすかweekly_seasonalityを無効にする、偽陽性が多すぎる場合はinterval_widthを0.995に増加、季節パターンが欠如する場合はカスタム季節性を追加、タイムスタンプのタイムゾーン一貫性を確認。

ステップ4: アラート相関と根本原因の特定

関連する異常をグループ化し、潜在的な根本原因を特定する。

# aiops/alert_correlation.py
import pandas as pd
import numpy as np
from sklearn.cluster import DBSCAN
from typing import List, Dict
from datetime import timedelta
import networkx as nx

# ... (see EXAMPLES.md for complete implementation)

期待結果: 関連する異常がインシデントにグループ化され、依存関係グラフに基づいて根本原因が特定され、調査用のインシデントサマリーが生成される。

失敗時: すべての異常が別々のインシデントになる場合、time_window_minutesを増加する、根本原因の検知が不明確な場合、アーキテクチャに基づいてmetric_relationshipsを明示的に定義する、タイムスタンプのソートが正しいことを確認。

ステップ5: アラートシステムとの統合

コンテキスト付きのインテリジェントアラートとノイズ抑制を送信する。

# aiops/intelligent_alerting.py
import requests
import logging
from typing import Dict, List
from datetime import datetime, timedelta
import json

logger = logging.getLogger(__name__)
# ... (see EXAMPLES.md for complete implementation)

期待結果: 高重大度インシデントがPagerDutyページをトリガーし、中重大度はSlackに送信され、低重大度はログのみ、15分ウィンドウ内で重複アラートが抑制される。

失敗時: まずcurlでWebhook URLをテスト、重大度計算が妥当な値を生成するか確認(0.5〜0.9の範囲)、レート制限がすべてのアラートを抑制していないか確認、last_alerts追跡のタイムゾーン処理が正しいことを確認。

ステップ6: 継続的モニタリングサービスとしてのデプロイ

定期的に実行される自動化パイプラインをセットアップする。

# aiops/monitoring_service.py
import schedule
import time
import logging
from datetime import datetime, timedelta
from data_loader import MetricsDataLoader
from isolation_forest_detector import IsolationForestDetector
from prophet_detector import ProphetAnomalyDetector
# ... (see EXAMPLES.md for complete implementation)

期待結果: サービスが継続的に実行され、5分ごとに異常を検知し、インシデントに対してアラートが送信され、すべてのアクティビティがログされる。

失敗時: スケジューラプロセスが生き続けることを確認(本番ではsystemd/supervisorを使用)、Prometheus接続性を確認、モデルが正常にロードされることを確認、サービスが停止した場合のデッドマンスイッチアラートを実装、メモリ使用量を監視(メモリが増加する場合はモデルを定期的にリロード)。

バリデーション

  • 過去データがタイムスタンプの欠落なく正しくロードされている
  • Isolation Forestがテストセットの既知の異常を検知する
  • Prophetモデルが可視化で日次/週次の季節性を捕捉する
  • アラート相関が時間的に関連する異常をグループ化する
  • 根本原因検知が上流の問題を正しく特定する
  • インテリジェントアラートが重複アラートを抑制する
  • 重大度計算が妥当なスコアを生成する(0.5〜0.9)
  • モニタリングサービスが7日以上クラッシュなく継続的に実行される
  • 偽陽性率が10%未満(ラベル付きデータで検証)
  • 重大インシデントの真陽性率が80%以上

よくある落とし穴

  • 異常データでの学習: 学習に使用するベースライン期間がクリーン(インシデントなし)であることを確認する。手動でレビューするかラベル付きデータを使用する
  • 季節性の無視: 静的モデルは日次/週次パターンで失敗する。Prophetを使用するか時間特徴量を追加する
  • 閾値が敏感すぎる: 99%信頼区間が通常のピークをフラグする可能性がある。99.5%から始めて偽陽性に基づいて調整する
  • 欠損データの未処理: メトリクスのギャップがモデルエラーを引き起こす。補間を含む堅牢な前処理を実装する
  • 低重大度のアラート疲労: 重大度閾値以下のアラートをフィルタリングする。高信頼度の異常に焦点を当てる
  • システムトポロジーの無視: すべてのメトリクスを独立に扱うとカスケード障害を見逃す。依存関係を定義する
  • モデルドリフト: 古いデータで学習されたモデルは陳腐化する。月次またはシステム変更時に再学習する
  • リソース競合: すべてのメトリクスで検知を実行するのは高コスト。重要なサービスを優先するかメトリクスをサンプリングする

関連スキル

  • monitor-model-drift -- 異常検知モデルの劣化を検知する
  • monitor-data-integrity -- 異常検知前のデータ品質チェック
  • setup-prometheus-monitoring -- 運用メトリクスを収集する
  • forecast-operational-metrics -- Prophet予測によるキャパシティプランニング

GitHub 저장소

pjt222/agent-almanac
경로: i18n/ja/skills/detect-anomalies-aiops
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

연관 스킬

llamaguard

기타

LlamaGuard는 폭력 및 혐오 발언 등 6가지 안전 범주에서 LLM 입력과 출력을 조정하기 위한 Meta의 70-80억 파라미터 모델입니다. 94-95% 정확도를 제공하며 vLLM, Hugging Face 또는 Amazon SageMaker를 사용해 배포할 수 있습니다. 이 기술을 사용하여 AI 애플리케이션에 콘텐츠 필터링 및 안전 가드레일을 손쉽게 통합하세요.

스킬 보기

cost-optimization

기타

이 Claude Skill은 리소스 적정화, 태깅 전략, 지출 분석을 통해 개발자들이 클라우드 비용을 최적화할 수 있도록 지원합니다. AWS, Azure, GCP에서 클라우드 비용을 절감하고 비용 거버넌스를 구현하기 위한 프레임워크를 제공합니다. 인프라 비용을 분석하거나, 리소스를 적정화하거나, 예산 제약을 충족해야 할 때 사용하세요.

스킬 보기

quantizing-models-bitsandbytes

기타

이 스킬은 bitsandbytes를 사용하여 LLM을 8비트 또는 4비트 정밀도로 양자화하며, 최소한의 정확도 손실로 50-75%의 메모리 감소를 달성합니다. 제한된 GPU 메모리에서 더 큰 모델을 실행하거나 추론을 가속화하는 데 이상적이며, INT8, NF4, FP4와 같은 형식을 지원합니다. 이 스킬은 HuggingFace Transformers와 통합되어 QLoRA 학습 및 8비트 옵티마이저를 가능하게 합니다.

스킬 보기

dispatching-parallel-agents

기타

이 Claude Skill은 3개 이상의 독립적인 문제를 동시에 조사하고 해결하기 위해 다중 에이전트를 배치합니다. 공유 상태나 의존성 없이 해결 가능한 무관련 장애 시나리오에 맞게 설계되었습니다. 핵심 기능은 병렬 문제 해결로, 각 독립 문제 영역마다 하나의 에이전트를 할당하여 효율성을 극대화합니다.

스킬 보기