Прокинуть alertmanager-алерты в Telegram
Prometheus + Alertmanager шлют алерты только в email или PagerDuty. Команда живёт в Telegram — нужно мостовое звено без отдельного сервера.
Рецепт
# alertmanager.yml — Telegram receiver via the official telegram_configs.
# Bot token from @BotFather, chat_id from getUpdates after /start in the chat.
route:
group_by: ['alertname']
receiver: 'telegram-default'
routes:
- matchers: [severity="critical"]
receiver: 'telegram-oncall'
receivers:
- name: 'telegram-default'
telegram_configs:
- bot_token: '<BOT_TOKEN>'
chat_id: -1001234567890
parse_mode: 'HTML'
message: '{{ .CommonAnnotations.summary }}'
- name: 'telegram-oncall'
telegram_configs:
- bot_token: '<BOT_TOKEN>'
chat_id: -1001111222333
parse_mode: 'HTML'
То же самое в Enterno.io
Если вы только начинаете и Prometheus ещё не нужен, добавьте URL в мониторы Enterno — Telegram-бот привязывается одной командой /link. Никакого alertmanager, никакого webhook-сервера.
Похожие рецепты
Алерт в alertmanager в state=pending дольше for-window — должен быть active, но не fire-ит (group_wait большой? notifier broken? misconfig route?). Никто не получит уведомление.
Prometheus сам жив, но один из targets (`up==0`) — данные перестали течь, графики пустые, alertmanager-правила, основанные на этом target, не fire-ят (нет данных = нет алерта).
Нужно убедиться, что сайт возвращает 2xx каждую минуту, и получить алерт в Slack/Telegram при падении.