Задать вопрос
@Pro_Rock

Приходят пустые алерты в телеге, как пофиксить?

В телеграмм приходят вот такие алерты:

ALERT: firing
ALERT: firing

Файлы конфига:

Prometheus:
alerting:
alertmanagers:
- static_configs:
- targets:
# Адрес Alertmanager, где Prometheus будет отправлять оповещения
- '10.211.55.51:9093'
# Путь к файлу с правилами алертов
rule_files:
- "/home/ladmin/start_dir/prometheus/main_host.rules.yml"
- "/home/ladmin/start_dir/prometheus/test_hosts.rules.yml"

global:
# Снимать метрики каждые 15 секунд
scrape_interval: 15s

scrape_configs:

- job_name : "main-host"
static_configs:
- targets:
- 10.211.55.51:9101
labels:
# Метка для идентификации группы
group: main
target: a

- job_name : "test-hosts"
static_configs:
- targets:
- 10.211.55.33:9100
- 10.211.55.34:9100
- 10.211.55.35:9100
labels:
# Метка для идентификации группы
group: test
target: b

Файл alertmanager.yml

global:
resolve_timeout: 30s

route:
receiver: 'telegram'
group_by: ['alertname']
group_wait: 5s
group_interval: 30s
repeat_interval: 1m
routes:
- match:
severity: 'critical'
receiver: 'telegram-critical'
group_wait: 5s
- match:
severity: 'warning'
receiver: 'telegram-warning'

templates:
- '/home/ladmin/start_dir/prometheus/templates/telegram.tmpl'

receivers:
- name: 'telegram'
telegram_configs:
- bot_token: "783:hbhbh"
chat_id: -1004234143
message: '{{ template "telegram_message" . }}'
send_resolved: true

- name: 'telegram-critical'
telegram_configs:
- bot_token: "783:hbhbh"
chat_id: -1004234143
message: '{{ template "telegram_message" . }}'
send_resolved: true

- name: 'telegram-warning'
telegram_configs:
- bot_token: "783:hbhbh"
chat_id: -1004234143
message: '{{ template "telegram_message" . }}'
send_resolved: true

Файл шаблона templates/telegram.tmpl:

{{ define "telegram_message" }}
ALERT: {{ .Status }}
{{- if .Annotations.summary }}
Summary: {{ .Annotations.summary }}
{{- else }}
Summary: No summary available
{{- end }}
{{- if .Annotations.description }}
Description: {{ .Annotations.description }}
{{- else }}
Description: No description available
{{- end }}
Severity: {{ .Labels.severity }}
{{ end }}

Правила алерта /test_hosts.rules.yml:

groups:
- name: test
rules:
- alert: ExampleAlert
expr: up == 0
for: 1m
labels:
severity: critical
annotations:
summary: "Example alert when up is 0."

Правила алерта /main_host.rules.yml

groups:
- name: main
rules:
- alert: ExampleAlert
expr: up == 0
for: 1m
labels:
severity: critical
annotations:
summary: "Example alert when up is 0."

Лог проверки:

ladmin@host:~/start_dir$ promtool check config /home/ladmin/start_dir/prometheus/prometheus.yml
Checking /home/ladmin/start_dir/prometheus/prometheus.yml
SUCCESS: 2 rule files found
SUCCESS: /home/ladmin/start_dir/prometheus/prometheus.yml is valid prometheus config file syntax

Checking /home/ladmin/start_dir/prometheus/main_host.rules.yml
SUCCESS: 1 rules found

Checking /home/ladmin/start_dir/prometheus/test_hosts.rules.yml
SUCCESS: 1 rules found

ladmin@host:~/start_dir$ promtool check rules /home/ladmin/start_dir/prometheus/main_host.rules.yml
Checking /home/ladmin/start_dir/prometheus/main_host.rules.yml
SUCCESS: 1 rules found

ladmin@host:~/start_dir$ promtool check rules /home/ladmin/start_dir/prometheus/test_hosts.rules.yml
Checking /home/ladmin/start_dir/prometheus/test_hosts.rules.yml
SUCCESS: 1 rules found

ladmin@host:~/start_dir$ promtool test rules /home/ladmin/start_dir/prometheus/main_host.rules.yml
FAILED:
yaml: unmarshal errors:
line 1: field groups not found in type main.unitTestFile

ladmin@host:~/start_dir$ promtool test rules /home/ladmin/start_dir/prometheus/test_hosts.rules.yml
FAILED:
yaml: unmarshal errors:
line 1: field groups not found in type main.unitTestFile

Помогите пожалуйста разобраться в проблеме
  • Вопрос задан
  • 42 просмотра
Подписаться 1 Средний 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы