У меня проблемы с правилами оповещения Prometheus. У меня настроены различные оповещения для cAdvisor, например:
- alert: ContainerCpuUsage
expr: (sum(rate(container_cpu_usage_seconds_total[3m])) BY (instance, name) * 100) > 80
for: 2m
labels:
severity: warning
annotations:
title: 'Container CPU usage (instance {{ $labels.instance }})'
description: 'Container CPU usage is above 80%\n VALUE = {{ $value }}\n LABELS: {{ $labels }}'
Когда условие выполнено, я вижу предупреждение на вкладке «Предупреждения» в Prometheus, однако некоторые метки отсутствуют, что не позволяет диспетчеру предупреждений отправлять уведомления через Slack. Чтобы быть конкретным, я прикрепляю настраиваемую метку env к каждой цели:
{
"targets": [
"localhost:8080",
],
"labels": {
"job": "cadvisor",
"env": "production",
"__metrics_path__": "/metrics"
}
}
Но когда срабатывает предупреждение, основанное на показателях cadvisor, метками являются: имя предупреждения, экземпляр и серьезность - без метки задания, без метки env. Все остальные оповещения от других экспортеров (например, узла-экспортера) работают нормально, и метка присутствует.