技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
detect-anomalies-aiops【数据与研究】Implement AI-powered anomaly detection for operational metrics using time series analysis (Isolation Forest, Prophet, LSTM), alert correlation, and root cause analysis. Reduce alert fatigue by intelligently identifying true anomalies in system metrics, logs, and traces. Use when operations teams are overwhelmed by alert volume, when detecting complex…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
見 Extended Examples 以得全配檔與範。
施機學以偵運行指標之異、聯警、減偽陽。
裝依並備析之時序數。
# 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)
得:時序數已載於定隔,缺值已處,特徵已造供機學模。
敗:Prometheus 連失→驗 URL 及網路。數有隙→前填或插。時戳欄宜為 datetime 類。大域致記憶問題→分塊處。
以無監督 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 或查特徵縮。驗特徵有足方差。
用 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。缺季節模→加自定季節。時戳時區宜一致。
組相關異並識可能根因。
# 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。驗時戳序正。
送含脈絡之智警,抑噪。
# 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 之時區處宜正。
設動管定期運。
# 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 連。驗模載成。設 dead man's switch 警若服停。察記憶用(記長則定期重載模)。
monitor-model-driftmonitor-data-integritysetup-prometheus-monitoringforecast-operational-metrics