API
- Summary endpoint
/api/anomalies/summary- Default scope
core- Available scopes
- core, opmet, opmet_rb, cks_vector, grib
High-level behavior shared by all anomaly scopes.
/api/anomalies/summarycoremonitor_metric_snapshotsmonitor_anomaly_eventsEvent hysteresis and state transitions.
| Code | Meaning |
|---|---|
pending | Anomaly seen, waiting for repeated confirmation. |
open | Confirmed anomaly event is active. |
resolved | Confirmed event was closed after consecutive healthy snapshots. |
ok | No active anomaly event. |
Detection rules currently used by the service.
| Rule | Severity | Trigger |
|---|---|---|
count_drop_critical | critical | current_count <= baseline * 0.3 when baseline >= 10 |
count_drop_warning | warning | current_count <= baseline * 0.6 when baseline >= 10 |
forecast_window_shrunk_critical | critical | forecast_times_count <= baseline_forecast_times_count * 0.4 |
forecast_window_shrunk_warning | warning | forecast_times_count <= baseline_forecast_times_count * 0.7 |
stale_latest_at | warning | latest_at is older than stale_after_seconds for the feed |
latest_at_in_future | critical | latest_at is ahead of current time by more than 600 seconds |
future_rows_detected | critical | future_count > 0 for feeds where future-row checks are enabled |
missing_latest_at | warning | source is available but latest_at is empty |
source_unavailable | critical | underlying source table or payload is unavailable |
baseline_warming_up | info | there are snapshots already, but fewer than 12 samples for stable comparison |
Russian descriptions returned in anomaly detail popovers and tables.
| Code | Description |
|---|---|
baseline_warming_up | Baseline ещё прогревается: исторических snapshots пока недостаточно для уверенного сравнения. |
count_drop_critical | Текущее количество сообщений резко просело относительно накопленного baseline. Это сильная аномалия потока. |
count_drop_warning | Текущее количество сообщений заметно ниже baseline. Это предупреждение о возможной деградации. |
forecast_window_shrunk_critical | Ширина forecast window резко сократилась относительно baseline. Похоже, что источник перестал отдавать нормальный горизонт прогноза. |
forecast_window_shrunk_warning | Ширина forecast window уменьшилась относительно baseline. Это похоже на частичную деградацию набора прогнозов. |
future_rows_detected | Обнаружены строки с временными метками из будущего. Это типичный признак ошибки датировки или парсинга. |
latest_at_in_future | Последняя временная метка ушла в будущее относительно текущего времени сервиса. |
missing_latest_at | У источника нет последней временной метки, поэтому свежесть данных определить нельзя. |
source_unavailable | Источник недоступен: таблица отсутствует или данные сейчас не читаются. |
stale_latest_at | Последняя временная метка слишком старая: похоже, что поток данных перестал обновляться вовремя. |
Scope name: core
| Feed | Metric key | Kind | Source | Table | Stale after | Future rows | Latest in future | Extra dimension |
|---|---|---|---|---|---|---|---|---|
| METAR NOAA | metar_active_1h | metar | noaa | noaa_metars | 2h | on | on | n/a |
| METAR ROSHYDRO | metar_active_1h | metar | roshydro | roshydro_metars | 2h | on | on | n/a |
| TAF NOAA | taf_active_24h | taf | noaa | noaa_tafs | 18h | on | on | n/a |
| TAF ROSHYDRO | taf_active_24h | taf | roshydro | roshydro_tafs | 18h | on | on | n/a |
Scope name: opmet
| Feed | Metric key | Kind | Source | Table | Stale after | Future rows | Latest in future | Extra dimension |
|---|---|---|---|---|---|---|---|---|
| OPMET ROSHYDRO | opmet_active_24h | opmet_total | roshydro | opmetdata | 6h | on | on | n/a |
| OPMET SIGMET | opmet_sigmet_active_1d | opmet_type | roshydro | opmetdata | 6h | on | on | SIGMET |
| OPMET AIRMET | opmet_airmet_active_1d | opmet_type | roshydro | opmetdata | 6h | on | on | AIRMET |
| OPMET GAMET | opmet_gamet_active_1d | opmet_type | roshydro | opmetdata | 6h | on | on | GAMET |
Scope name: opmet_rb
| Feed | Metric key | Kind | Source | Table | Stale after | Future rows | Latest in future | Extra dimension |
|---|---|---|---|---|---|---|---|---|
| OPMET RB ROSHYDRO | opmet_rb_active_24h | opmet_rb_total | roshydro | sigmet_telegramms | 12h | off | off | n/a |
| OPMET RB SIGMET | opmet_rb_sigmet_active_1d | opmet_rb_type | roshydro | sigmet_telegramms | 12h | off | off | SIGMET |
| OPMET RB AIRMET | opmet_rb_airmet_active_1d | opmet_rb_type | roshydro | airmet_telegramms | 12h | off | off | AIRMET |
| OPMET RB GAMET | opmet_rb_gamet_active_1d | opmet_rb_type | roshydro | gamet_telegramms | 12h | off | off | GAMET |
Scope name: cks_vector
| Feed | Metric key | Kind | Source | Table | Stale after | Future rows | Latest in future | Extra dimension |
|---|---|---|---|---|---|---|---|---|
| CKS VECTOR | cks_vector_active_1d | cks_vector_total | cks | fronts | 24h | off | off | n/a |
| CKS FRONTS | cks_vector_fronts_active_1d | cks_vector_type | cks | fronts | 24h | off | off | fronts |
| CKS JET_STREAM | cks_vector_jet_stream_active_1d | cks_vector_type | cks | jet_stream | 24h | off | off | jet_stream |
| CKS CLOUDS | cks_vector_clouds_active_1d | cks_vector_type | cks | clouds | 24h | off | off | clouds |
| CKS TURBULENCE | cks_vector_turbulence_active_1d | cks_vector_type | cks | turbulence | 24h | off | off | turbulence |
| CKS TROPOPAUSE | cks_vector_tropopause_active_1d | cks_vector_type | cks | tropopause | 24h | off | off | tropopause |
| CKS VOLCANO | cks_vector_volcano_active_1d | cks_vector_type | cks | volcano | 24h | off | off | volcano |
Scope name: grib
| Feed | Metric key | Kind | Source | Table | Stale after | Future rows | Latest in future | Extra dimension |
|---|---|---|---|---|---|---|---|---|
| GRIB NOAA | grib_active_snapshot | grib | noaa | noaa_grib_work | 18h | off | off | n/a |
| GRIB ROSHYDRO | grib_active_snapshot | grib | roshydro | roshydro_grib_work | 18h | off | off | n/a |