Содержание

Runbook: СКУД Политех (PolytechSKUD*)

Этот 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с мы (диагностика)

Когда красное — как локализовать

1. Если только PolytechSKUDHostUnreachable

Хост СКУД Политех (192.168.200.138:443) не отвечает на TCP-connect с gw1.olvr через IPSec.

2. Если только PolytechApacsProxyDown

(будет активен после раскатки OLV-3707 на прод)

Наш Go-прокси apacs-proxy внутри контейнера tpark-it.back-acs.latest не отдаёт /health.

3. Если PolytechSKUDIntegrationDown красный, а оба нижних зелёные

End-to-end проба POST /api/nfc/v1/pass отдаёт не-2xx-и-не-400, а наш Go-прокси и их хост по отдельности живы — значит проблема между back-nfc и back-acs.

4. Если PolytechSKUDHighLatency, но Down-алертов нет

Интеграция работает, но >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

Что куда

История