Merge pull request 'Маршрут и секрет для резервного приёмника алертов GlitchTip' (#3484) from chore/3471-glitchtip-fallback-wiring into main
Some checks failed
Deploy / deploy-status (push) Successful in 1s
Deploy Infra Host / sync-infra-host (push) Successful in 10s
Deploy Metrics / server (push) Successful in 26s
Deploy / changes (push) Successful in 11s
Deploy Metrics / agent-apps (push) Successful in 37s
Deploy Metrics / agent-infra (push) Successful in 30s
Deploy / build-backend (push) Successful in 52s
Deploy / deploy-caddy (push) Has been skipped
Deploy / build-worker (push) Successful in 57s
Deploy / build-frontend (push) Successful in 56s
Deploy / deploy (push) Successful in 1m17s
Deploy / perimeter-smoke (push) Has been cancelled
Some checks failed
Deploy / deploy-status (push) Successful in 1s
Deploy Infra Host / sync-infra-host (push) Successful in 10s
Deploy Metrics / server (push) Successful in 26s
Deploy / changes (push) Successful in 11s
Deploy Metrics / agent-apps (push) Successful in 37s
Deploy Metrics / agent-infra (push) Successful in 30s
Deploy / build-backend (push) Successful in 52s
Deploy / deploy-caddy (push) Has been skipped
Deploy / build-worker (push) Successful in 57s
Deploy / build-frontend (push) Successful in 56s
Deploy / deploy (push) Successful in 1m17s
Deploy / perimeter-smoke (push) Has been cancelled
This commit is contained in:
commit
c53eaf7079
2 changed files with 24 additions and 2 deletions
|
|
@ -90,8 +90,9 @@ jobs:
|
||||||
METRICS_TELEGRAM_TOPIC_ID: ${{ secrets.METRICS_TELEGRAM_TOPIC_ID }}
|
METRICS_TELEGRAM_TOPIC_ID: ${{ secrets.METRICS_TELEGRAM_TOPIC_ID }}
|
||||||
METRICS_TELEGRAM_INFRA_TOPIC_ID: ${{ secrets.METRICS_TELEGRAM_INFRA_TOPIC_ID }}
|
METRICS_TELEGRAM_INFRA_TOPIC_ID: ${{ secrets.METRICS_TELEGRAM_INFRA_TOPIC_ID }}
|
||||||
METRICS_TELEGRAM_ONCALL: ${{ secrets.METRICS_TELEGRAM_ONCALL }}
|
METRICS_TELEGRAM_ONCALL: ${{ secrets.METRICS_TELEGRAM_ONCALL }}
|
||||||
|
ALERT_ACK_GLITCHTIP_SECRET: ${{ secrets.ALERT_ACK_GLITCHTIP_SECRET }}
|
||||||
with:
|
with:
|
||||||
envs: METRICS_TELEGRAM_BOT_TOKEN,METRICS_TELEGRAM_CHAT_ID,METRICS_TELEGRAM_TOPIC_ID,METRICS_TELEGRAM_INFRA_TOPIC_ID,METRICS_TELEGRAM_ONCALL
|
envs: METRICS_TELEGRAM_BOT_TOKEN,METRICS_TELEGRAM_CHAT_ID,METRICS_TELEGRAM_TOPIC_ID,METRICS_TELEGRAM_INFRA_TOPIC_ID,METRICS_TELEGRAM_ONCALL,ALERT_ACK_GLITCHTIP_SECRET
|
||||||
host: ${{ secrets.INFRA_DEPLOY_HOST || secrets.DEPLOY_HOST }}
|
host: ${{ secrets.INFRA_DEPLOY_HOST || secrets.DEPLOY_HOST }}
|
||||||
username: ${{ secrets.INFRA_DEPLOY_USER || secrets.DEPLOY_USER }}
|
username: ${{ secrets.INFRA_DEPLOY_USER || secrets.DEPLOY_USER }}
|
||||||
key: ${{ secrets.INFRA_DEPLOY_SSH_KEY || secrets.DEPLOY_SSH_KEY }}
|
key: ${{ secrets.INFRA_DEPLOY_SSH_KEY || secrets.DEPLOY_SSH_KEY }}
|
||||||
|
|
@ -188,6 +189,14 @@ jobs:
|
||||||
echo "Инфраструктура: тема ${INFRA_TOPIC_ID} по умолчанию (METRICS_TELEGRAM_INFRA_TOPIC_ID не задана)."
|
echo "Инфраструктура: тема ${INFRA_TOPIC_ID} по умолчанию (METRICS_TELEGRAM_INFRA_TOPIC_ID не задана)."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Резервный приёмник GlitchTip (#3471) отвечает 503 на любой
|
||||||
|
# запрос, пока секрет пуст: тихо принимать чужие алерты настежь
|
||||||
|
# хуже, чем не принимать вовсе. Молчаливого отказа тут быть не
|
||||||
|
# должно — деплой обязан сказать, что канал не поднялся.
|
||||||
|
if [ -z "${ALERT_ACK_GLITCHTIP_SECRET:-}" ]; then
|
||||||
|
echo "::warning title=Резервный канал GlitchTip выключен::ALERT_ACK_GLITCHTIP_SECRET пуст — alert-ack отвечает 503 на /glitchtip, и при падении продуктового бэкенда его ошибки доставлять будет нечем."
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -n "${METRICS_TELEGRAM_ONCALL:-}" ]; then
|
if [ -n "${METRICS_TELEGRAM_ONCALL:-}" ]; then
|
||||||
echo "Клиентские инциденты: зовём ${METRICS_TELEGRAM_ONCALL} поимённо."
|
echo "Клиентские инциденты: зовём ${METRICS_TELEGRAM_ONCALL} поимённо."
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -105,11 +105,24 @@ metrics.gendsgn.ru {
|
||||||
# угадавший, — ложная отметка «принято» в чате, где сразу видно, что её
|
# угадавший, — ложная отметка «принято» в чате, где сразу видно, что её
|
||||||
# поставил не человек. Прав в системе токен не даёт никаких.
|
# поставил не человек. Прав в системе токен не даёт никаких.
|
||||||
#
|
#
|
||||||
# Сервис отвечает только на /ack/* и /healthz; всё прочее — 404.
|
# Сервис отвечает только на /ack/*, /glitchtip и /healthz; всё прочее — 404.
|
||||||
handle /ack/* {
|
handle /ack/* {
|
||||||
reverse_proxy alert-ack:8080
|
reverse_proxy alert-ack:8080
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Резервный приёмник алертов GlitchTip (#3471). Основной получатель —
|
||||||
|
# продуктовый бэкенд на Selectel, то есть тот самый сервис, за которым эти
|
||||||
|
# алерты и следят: пока он лежит, его собственные ошибки доставлять некому.
|
||||||
|
# Этот путь живёт у другого провайдера и с чистой сетью до Telegram, поэтому
|
||||||
|
# переживает падение Selectel целиком.
|
||||||
|
#
|
||||||
|
# Секрет — в значении query-параметра, а не в пути: путь сам по себе не
|
||||||
|
# секрет, и его попадание в access-лог безопасно. Само значение вырезает
|
||||||
|
# scrub_credentials в Alloy до записи в Loki (#3154).
|
||||||
|
handle /glitchtip* {
|
||||||
|
reverse_proxy alert-ack:8080
|
||||||
|
}
|
||||||
|
|
||||||
# Вход ОДИН — собственный вход Grafana (#3078). Внешний basic_auth снят по
|
# Вход ОДИН — собственный вход Grafana (#3078). Внешний basic_auth снят по
|
||||||
# решению владельца: два запроса пароля подряд мешали работе, а Grafana имеет
|
# решению владельца: два запроса пароля подряд мешали работе, а Grafana имеет
|
||||||
# собственную аутентификацию с ролями и `GF_USERS_ALLOW_SIGN_UP=false`.
|
# собственную аутентификацию с ролями и `GF_USERS_ALLOW_SIGN_UP=false`.
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue