Этот runbook привязан к группе алертов polytech_skud в Prometheus. Цель — за минуту понять «наша проблема или их», и кому звонить.
lk.olvery.ru ──► back-nfc (PassService)
──► back-acs (ExternalPassController)
──► ApacsProxyDriver (PHP, retry +5)
──► apacs-proxy (Go, localhost:8099 в контейнере back-acs)
──► СКУД Политех (mTLS, 192.168.200.138:443)
└─ маршрут через IPSec srv-pstu-vpn.tmpm
| Алерт | Слой | Кто чинит |
|---|---|---|
PolytechSKUDIntegrationDown | end-to-end | смотреть оба ниже |
PolytechApacsProxyDown | наш Go-прокси | мы |
PolytechSKUDHostUnreachable | хост Политеха | Политех + IPSec |
PolytechSKUDHighLatency | end-to-end >20с | мы (диагностика) |
Хост СКУД Политех (192.168.200.138:443) не отвечает на TCP-connect с gw1.olvr через IPSec.
IpsecTunnelDown — если красный, разорван туннель
через srv-pstu-vpn.tmpm.(будет активен после раскатки OLV-3707 на прод)
Наш Go-прокси apacs-proxy внутри контейнера tpark-it.back-acs.latest
не отдаёт /health.
200 {«status»:«ok»} — рестарт контейнера:
<code>ssh srv-prod-app docker restart tpark-it.back-acs.latest</code>APACSPROXYURL / провайдера в БД.
End-to-end проба POST /api/nfc/v1/pass отдаёт не-2xx-и-не-400, а
наш Go-прокси и их хост по отдельности живы — значит проблема
между back-nfc и back-acs.
Интеграция работает, но >20с на пробу (baseline 12с, max за 24h бывает 29с). Это сигнал-разогрев — если регулярно, СКУД у них тормозит. Длительная высокая latency может стать 504 (apacs-proxy имеет таймаут на upstream).
# Наш apacs-proxy (после раскатки OLV-3707): curl -sS https://lk.olvery.ru/api/acs/v1/health/apacs-proxy # TCP до Политеха через IPSec (с gw1.olvr): ssh root@gw1.olvr curl -sS -m 5 -k -o /dev/null -w "%{http_code} t=%{time_total}s\n" https://192.168.200.138/ # End-to-end (как мониторинг): curl -sS -X POST -H "Content-Type: application/json" \ -H "Authorization: Bearer <см. blackbox_exporter.yml http_post_polytech_skud>" \ -d '{"deviceId":"bebd6444-70e0-4763-9f51-9626e2420e19","locationId":36,"userId":10760,"deviceDescription":"manual"}' \ https://lk.olvery.ru/api/nfc/v1/pass
ssh srv-prod-app docker logs tpark-it.back-acs.latest –tail 200ssh srv-prod-app docker logs tpark-it.back-nfc.latest –tail 200docker exec tpark-it.back-acs.latest ps aux | grep apacsssh gw1.olvr curl localhost:9090/api/v1/targets?state=activeblackboxpolytechskud (1 проба end-to-end), алерты PolytechSKUDIntegrationDown / PolytechSKUDHighLatency.POST /pass — алерт сработал штатно, но было невозможно различить «наш слой или их хост». Михаил Андреев попросил разделить.blackboxpolytechhost (TCP до их хоста) и health-эндпоинт /api/acs/v1/health/apacs-proxy (после раскатки back-acs включается blackboxapacsproxy_health). Алерты PolytechSKUDHostUnreachable / PolytechApacsProxyDown (последний пока закомментирован, ждёт раскатки).