Исправлены критические проблемы с избыточными уведомлениями: 1. Alertmanager (config.yml): - group_wait: 10s → 30s (уменьшен спам повторных алертов) - group_interval: 10s → 5m (алерты группируются правильно) - repeat_interval: 1h → 4h (повторные уведомления раз в 4 часа) - Добавлена группировка по severity и instance - Исправлен шаблон Slack для отображения деталей алертов 2. Prometheus правила (alerts.yml): - ContainerHighMemory: порог 90% → 95%, for: 2m → 5m - WebsiteDown: for: 1m → 10m (синхронизировано со scrape_interval) - Добавлены детальные описания в alerts Результат: количество уведомлений снижено с 90+ до минимума, уведомления теперь содержат полную информацию о проблеме. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
30 lines
1.2 KiB
YAML
30 lines
1.2 KiB
YAML
global:
|
|
slack_api_url: 'https://hooks.slack.com/services/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'
|
|
|
|
route:
|
|
group_by: ['alertname', 'severity', 'instance']
|
|
group_wait: 30s
|
|
group_interval: 5m
|
|
repeat_interval: 4h
|
|
receiver: 'slack-default'
|
|
|
|
receivers:
|
|
- name: 'slack-default'
|
|
slack_configs:
|
|
- channel: '#server-status'
|
|
send_resolved: true
|
|
title: '{{ if eq .Status "firing" }}🚨{{ else }}✅{{ end }} {{ .GroupLabels.alertname }} ({{ .GroupLabels.severity }})'
|
|
text: |-
|
|
{{ if eq .Status "firing" }}*🔥 Problem Detected*{{ else }}*✅ Problem Resolved*{{ end }}
|
|
{{ range .Alerts }}
|
|
*Alert:* {{ .Labels.alertname }}
|
|
*Summary:* {{ .Annotations.summary }}
|
|
*Details:* {{ .Annotations.description }}
|
|
*Instance:* {{ .Labels.instance }}{{ if .Labels.container }} ({{ .Labels.container }}){{ end }}
|
|
{{ end }}
|
|
*Severity:* {{ .CommonLabels.severity }}
|
|
|
|
*Links:*
|
|
• <https://grafana.ai-impress.com|Grafana>
|
|
• <https://prometheus.ai-impress.com|Prometheus>
|
|
color: '{{ if eq .Status "firing" }}{{ if eq .CommonLabels.severity "critical" }}danger{{ else }}warning{{ end }}{{ else }}good{{ end }}'
|