fix(ops/metrics): Prometheus не видел ни одного Alertmanager — цель file_sd осталась пустой #3160
No reviewers
Labels
No labels
Fable 5 ревью
GG-форсайт
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
feedback/max
generative
needs-discussion
needs-human
observability
pause-bots
performance
priority/p0
priority/p1
priority/p2
priority/p3
scope/backend
scope/db
scope/devops
scope/frontend
scope/qa
scrapers
security
site-finder
stage/1
stage/2
status/blocked
status/done
status/needs-analysis
status/needs-fix
status/qa
status/ready
status/review
status/wip
tech-debt
tradein
ux
week ревью 1
wontfix
ИРД
вторичка
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#3160
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "fix/3155-prometheus-no-alertmanager"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Чинит #3155.
Что было
Profile
alertsвключён,gendesign-alertmanagerиgendesign-alert-ack— Up/healthy, деплой зелёный, в логах чисто. При этом:Горящий с 26.08 10:19
Watchdog(плюсHostAgentDown, 622 сэмпла, иRemoteWriteStalled, 612) не доехал никуда.Причина
Включатель профиля и цель для Prometheus лежали в разных местах: профиль поднимает
deploy-metrics.ymlпо наличию токена и чата, а файл целей правился руками и остался плейсхолдером. Разъезд не ловится ничем —[]штатен при выключенном профиле, поэтому на него не реагируют ни валидация, ни healthcheck, ни лог.Что меняется
Файл целей становится производным —
alertmanager_targets.gen.yml, в.gitignore— и рендерится деплоем тем же условием, которым включается профиль. Одно условие — один результат.Детали, которые не видны из диффа:
docker compose up, чтобы свежесозданный контейнер увидел готовый файл;: >+echo >>, безrm) — инод сохраняется, поэтому работающий Prometheus подхватывает цель сам, без пересоздания контейнера. Та же ловушка одиночного бинд-маунта, что уже описана в этом workflow уalertmanager.yml;[], а не удаляется файл: несуществующий путь docker подменяет каталогом, и Prometheus не стартует вовсе.Проверено до пуша
bash -nизвлечённого деплой-скрипта чист;[{'targets': ['alertmanager:9093'], 'labels': {'host': 'infra'}}]и[], оба — валидный YAML;stat -c %iдо и после);.gitignore) — поправлено до коммита.Приёмка после деплоя
activeAlertmanagersнепуст;prometheus_notifications_dropped_totalперестаёт расти, растёт..._sent_total;Watchdogдоезжает в Telegram-топик алертов.