Стек мониторинга: Prometheus + Alertmanager + Grafana + node_exporter + cAdvisor
Самодостаточный docker compose стек с деплоем через deploy.sh, bootstrap-установкой с нуля и конфигурацией через .env. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
commit
74b6f92cb8
15 changed files with 17242 additions and 0 deletions
24
alertmanager/alertmanager.yml.tpl
Normal file
24
alertmanager/alertmanager.yml.tpl
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# Шаблон: entrypoint.sh рендерит его в /tmp/alertmanager.yml при старте контейнера.
|
||||
# Строки с префиксом #TG# включаются, только если заданы TG_BOT_TOKEN и TG_CHAT_ID.
|
||||
|
||||
route:
|
||||
receiver: __DEFAULT_RECEIVER__
|
||||
group_by: ['alertname', 'server', 'instance']
|
||||
group_wait: 30s
|
||||
group_interval: 5m
|
||||
repeat_interval: 4h
|
||||
|
||||
# critical глушит warning того же алерта (например, DiskFull 95% глушит 85%)
|
||||
inhibit_rules:
|
||||
- source_matchers: ['severity = critical']
|
||||
target_matchers: ['severity = warning']
|
||||
equal: ['alertname', 'server', 'instance', 'mountpoint']
|
||||
|
||||
receivers:
|
||||
- name: blackhole
|
||||
#TG# - name: telegram
|
||||
#TG# telegram_configs:
|
||||
#TG# - bot_token: '__TG_BOT_TOKEN__'
|
||||
#TG# chat_id: __TG_CHAT_ID__
|
||||
#TG# parse_mode: 'HTML'
|
||||
#TG# send_resolved: true
|
||||
25
alertmanager/entrypoint.sh
Normal file
25
alertmanager/entrypoint.sh
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
#!/bin/sh
|
||||
# Рендерит alertmanager.yml из шаблона: секреты приходят через переменные
|
||||
# окружения контейнера и не попадают в файлы на хосте.
|
||||
set -eu
|
||||
|
||||
TPL=/etc/alertmanager/alertmanager.yml.tpl
|
||||
OUT=/tmp/alertmanager.yml
|
||||
|
||||
if [ -n "${TG_BOT_TOKEN:-}" ] && [ -n "${TG_CHAT_ID:-}" ]; then
|
||||
sed -e 's/^#TG#//' \
|
||||
-e 's|__DEFAULT_RECEIVER__|telegram|' \
|
||||
-e "s|__TG_BOT_TOKEN__|${TG_BOT_TOKEN}|" \
|
||||
-e "s|__TG_CHAT_ID__|${TG_CHAT_ID}|" \
|
||||
"$TPL" > "$OUT"
|
||||
else
|
||||
echo "WARN: TG_BOT_TOKEN / TG_CHAT_ID не заданы — Telegram-уведомления отключены (receiver: blackhole)" >&2
|
||||
sed -e '/^#TG#/d' \
|
||||
-e 's|__DEFAULT_RECEIVER__|blackhole|' \
|
||||
"$TPL" > "$OUT"
|
||||
fi
|
||||
|
||||
exec /bin/alertmanager \
|
||||
--config.file="$OUT" \
|
||||
--storage.path=/alertmanager \
|
||||
--web.config.file=/etc/alertmanager/web.yml
|
||||
Loading…
Add table
Add a link
Reference in a new issue