Alert rules
Рекомендуемый набор правил Prometheus для ЗАКРОМА.Хранение.
Правила приведены в двух вариантах:
- Стандартная установка (без Kubernetes) — обычный файл правил Prometheus, подключаемый через
rule_files. - Kubernetes — ресурс
PrometheusRuleдля Prometheus Operator.
Продуктовые правила (фоновые задачи, доля неуспешных запросов) используют метрики сервисов Закрома.Хранение и одинаковы для обоих вариантов.
Alert rules для стандартной установки (без Kubernetes)
Сохраните правила в файл (например, /etc/prometheus/rules/zakroma.yml), подключите его в prometheus.yml через секцию rule_files и перезагрузите Prometheus.
1groups: 2 - name: zakroma 3 rules: 4 - alert: BackgroundCountHunging 5 annotations: 6 description: | 7 Zakroma background tasks too much 8 VALUE = {{ $value }} 9 summary: Too many hung background tasks (service {{ $labels.service }}) 10 expr: zakroma_background_count{status="Hung"} > 10 11 for: 5m 12 labels: 13 severity: error 14 - alert: BackgroundCountPending 15 annotations: 16 description: | 17 The number of pending background tasks is too high. 18 VALUE = {{ $value }} 19 summary: Too many pending background tasks (service {{ $labels.service }}) 20 expr: zakroma_background_count{status="Pending"} > 100 21 for: 5m 22 labels: 23 severity: warning 24 - alert: RequestsHighFailureRate 25 annotations: 26 description: | 27 More than 5% of requests are failing over the last 1 minutes. 28 VALUE = {{ $value }} 29 summary: High failure rate in Zakroma requests ({{ $labels.service }}) 30 expr: | 31 (avg(rate(zakroma_requests_counter{status!="Success"}[1m])) 32 / 33 avg(rate(zakroma_requests_counter[1m]))) > 0.05 34 for: 1m 35 labels: 36 severity: warning
Контроль утилизации CPU и других ресурсов узлов в стандартной установке выполняется средствами мониторинга хостов (например, node_exporter) по правилам вашей инфраструктуры — алерты по подам из раздела Kubernetes к стандартной установке не применяются.
Alert rules для Kubernetes
Вариант для Kubernetes: те же продуктовые правила, оформленные как ресурс PrometheusRule (Prometheus Operator), плюс алерты по утилизации CPU подов.
1apiVersion: monitoring.coreos.com/v1 2kind: PrometheusRule 3metadata: 4 name: zakroma-alert-rules 5 namespace: monitoring