آستانه ناهنجاری مقاوم: میانه + 5×MAD
MEDIAN_ABSOLUTE_DEVIATION برخلاف انحراف معیار جلوی outlierها کم نمیاره — آستانه میانه + 5×MAD کرانهای هشدارِ قابلاتکا برای هر سرویس میسازه.
کاربرد
حساب کردن پویای آستانههایی که میخوای توی قواعد هشدار تأخیر بذاری.
پیشنیازها
Elasticsearch 8.12+, Kibana
SQL
FROM "metrics-app-*"
| WHERE @timestamp >= NOW() - 7 days
| STATS
mesures = COUNT(*),
mediane = ROUND(MEDIAN(response.time_ms), 1),
mad = ROUND(MEDIAN_ABSOLUTE_DEVIATION(response.time_ms), 1)
BY service.name
| EVAL seuil_anomalie = ROUND(mediane + 5 * mad, 1)
| WHERE mesures > 1000
| KEEP service.name, mediane, mad, seuil_anomalie
| SORT seuil_anomalie DESCنتیجه
service.name | mediane | mad | seuil_anomalie -------------+---------+------+--------------- checkout-api | 184.2 | 62.4 | 496.2 search-api | 88.7 | 31.0 | 243.7 catalog-api | 41.2 | 12.8 | 105.2 auth-svc | 35.8 | 8.1 | 76.3
MADAnomalieSeuil dynamiqueAlerting