ai
SigNoz Observability กับ MLOps Workflow —

SigNoz Observability Platform

SigNoz รวม Traces, Metrics, Logs ไว้ในที่เดียว ใช้ OpenTelemetry Standard รองรับ ClickHouse Backend ทดแทน Datadog New Relic ได้ Self-hosted ฟรี
เนื้อหาเกี่ยวข้อง — แนะนำให้อ่าน LLM Inference vLLM Low Code No Code —
MLOps Workflow ต้องการ Observability สำหรับทุกขั้นตอน Data Pipeline, Training, Serving, Monitoring ใช้ SigNoz ติดตาม Performance และหา Root Cause
เนื้อหาเกี่ยวข้อง — อ่านต่อ: machine learning unsupervised learning คือ —

Alerting และ Dashboards
# === SigNoz Alerting Configuration ===
# 1. Alert Rules (ตั้งใน SigNoz UI หรือ API)
alert_rules = {
"High Prediction Latency": {
"metric": "ml.prediction.latency",
"condition": "p99 > 100ms",
"for": "5m",
"severity": "warning",
"notification": ["slack", "pagerduty"],
},
"Low Model Accuracy": {
"metric": "ml.model.accuracy",
"condition": "avg < 0.80",
"for": "15m",
"severity": "critical",
"notification": ["slack", "pagerduty", "email"],
},
"Data Quality Drop": {
"metric": "ml.data.quality_score",
"condition": "avg < 0.90",
"for": "10m",
"severity": "warning",
"notification": ["slack"],
},
"Training Duration Spike": {
"metric": "ml.training.duration",
"condition": "avg > 3600s",
"for": "1m",
"severity": "warning",
"notification": ["slack"],
},
"High Error Rate": {
"metric": "ml.prediction.errors",
"condition": "rate > 5%",
"for": "5m",
"severity": "critical",
"notification": ["slack", "pagerduty"],
},
}
# 2. Dashboard Panels
dashboard_panels = [
{"title": "Pipeline Traces", "type": "trace_list",
"query": "service.name = ml-pipeline"},
{"title": "Prediction Latency P50/P95/P99", "type": "timeseries",
"metric": "ml.prediction.latency"},
{"title": "Model Accuracy Over Time", "type": "timeseries",
"metric": "ml.model.accuracy"},
{"title": "Data Quality Score", "type": "gauge",
"metric": "ml.data.quality_score"},
{"title": "Training Duration", "type": "timeseries",
"metric": "ml.training.duration"},
{"title": "Predictions per Second", "type": "timeseries",
"metric": "ml.prediction.count"},
{"title": "Error Logs", "type": "log_list",
"query": "severity = ERROR AND service = ml-pipeline"},
]
print("SigNoz Alert Rules:")
for name, rule in alert_rules.items():
print(f" [{rule['severity']:>8}] {name}: {rule['condition']}")
print(f"\nDashboard Panels ({len(dashboard_panels)}):")
for panel in dashboard_panels:
print(f" [{panel['type']:>12}] {panel['title']}")
Best Practices
- OpenTelemetry: ใช้ OTel SDK เป็น Standard ไม่ Lock-in กับ Vendor ใดๆ
- Custom Metrics: สร้าง ML-specific Metrics เช่น Accuracy, Drift, Data Quality
- Trace Context: ส่ง Trace Context ข้าม Services ติดตาม Request End-to-end
- Alerts: ตั้ง Alerts สำหรับ Model Drift, Latency Spike, Data Quality Drop
- Dashboards: สร้าง Dashboard แยกตาม Pipeline Stage Training, Serving, Data
- Log Correlation: เชื่อม Logs กับ Traces ด้วย Trace ID หา Root Cause เร็ว
SigNoz คืออะไร
Open-source Observability Platform รวม Traces Metrics Logs ในที่เดียว OpenTelemetry Standard ClickHouse Backend ทดแทน Datadog New Relic Self-hosted ฟรี Cloud Version
แนะนำเพิ่มเติม — คู่มือเทรดจาก SiamCafeBook
เนื้อหาเกี่ยวข้อง — แนะนำให้อ่าน QuestDB Time Series Agile Scrum Kanban





