mirror of
https://gitverse.ru/kpa39l/monitoring.git
synced 2026-09-29 09:55:09 +00:00
chore(openspec): archive 2026-09-13-vesti-alerts → specs/vesti-alerts
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
# vesti-alerts
|
||||
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: VestiWebDown
|
||||
|
||||
Алерт на недоступность web-интерфейса VESTI (:8400, systemd-юнит).
|
||||
|
||||
#### Scenario: web не отвечает
|
||||
|
||||
- Given метрика `vesti_web_up{component="vesti"}` = 0
|
||||
- When условие держится 2 минуты
|
||||
- Then алерт `VestiWebDown` переходит в Firing (severity critical)
|
||||
|
||||
#### Scenario: web восстановился
|
||||
|
||||
- Given метрика `vesti_web_up{component="vesti"}` = 1
|
||||
- When алерт в Firing
|
||||
- Then алерт закрывается автоматически
|
||||
|
||||
### Requirement: VestiPublisherDown
|
||||
|
||||
Алерт на недоступность publisher-сервиса VESTI (:8410, /healthz).
|
||||
|
||||
#### Scenario: publisher не отвечает
|
||||
|
||||
- Given метрика `vesti_publisher_health{component="vesti"}` = 0
|
||||
- When условие держится 2 минуты
|
||||
- Then алерт `VestiPublisherDown` переходит в Firing (severity critical)
|
||||
|
||||
#### Scenario: publisher восстановился
|
||||
|
||||
- Given метрика `vesti_publisher_health{component="vesti"}` = 1
|
||||
- When алерт в Firing
|
||||
- Then алерт закрывается автоматически
|
||||
|
||||
### Requirement: VestiPublisherContainerDown
|
||||
|
||||
Алерт на остановку Docker-контейнера publisher.
|
||||
|
||||
#### Scenario: контейнер publisher не в статусе Up
|
||||
|
||||
- Given метрика `vesti_publisher_docker{component="vesti"}` = 0
|
||||
- When условие держится 2 минуты
|
||||
- Then алерт `VestiPublisherContainerDown` переходит в Firing (severity critical)
|
||||
|
||||
#### Scenario: контейнер publisher снова Up
|
||||
|
||||
- Given метрика `vesti_publisher_docker{component="vesti"}` = 1
|
||||
- When алерт в Firing
|
||||
- Then алерт закрывается автоматически
|
||||
|
||||
### Requirement: VestiTunnelDown
|
||||
|
||||
Алерт на недоступность SOCKS5-туннеля Telegram (:1080).
|
||||
|
||||
#### Scenario: туннель недоступен
|
||||
|
||||
- Given метрика `vesti_telegram_tunnel{component="vesti"}` = 0
|
||||
- When условие держится 2 минуты
|
||||
- Then алерт `VestiTunnelDown` переходит в Firing (severity critical)
|
||||
|
||||
#### Scenario: туннель восстановился
|
||||
|
||||
- Given метрика `vesti_telegram_tunnel{component="vesti"}` = 1
|
||||
- When алерт в Firing
|
||||
- Then алерт закрывается автоматически
|
||||
|
||||
### Requirement: VestiDbDown
|
||||
|
||||
Алерт на недоступность SQLite-базы vesti.db.
|
||||
|
||||
#### Scenario: БД недоступна
|
||||
|
||||
- Given метрика `vesti_db_ok{component="vesti"}` = 0
|
||||
- When условие держится 2 минуты
|
||||
- Then алерт `VestiDbDown` переходит в Firing (severity critical)
|
||||
|
||||
#### Scenario: БД восстановилась
|
||||
|
||||
- Given метрика `vesti_db_ok{component="vesti"}` = 1
|
||||
- When алерт в Firing
|
||||
- Then алерт закрывается автоматически
|
||||
|
||||
### Requirement: VestiDbStale
|
||||
|
||||
Алерт на устаревание данных краулера (не запускался >30 минут).
|
||||
|
||||
#### Scenario: краулер не запускался более 30 минут
|
||||
|
||||
- Given метрика `vesti_db_last_run_ts{component="vesti"}` = T
|
||||
- When `time() - T` > 1800 секунд и условие держится 5 минут
|
||||
- Then алерт `VestiDbStale` переходит в Firing (severity warning)
|
||||
|
||||
#### Scenario: краулер снова запустился
|
||||
|
||||
- Given метрика `vesti_db_last_run_ts{component="vesti"}` обновлена (time() - ts < 1800)
|
||||
- When алерт в Firing
|
||||
- Then алерт закрывается автоматически
|
||||
Reference in New Issue
Block a user