Отключить ресурсные алерты по умолчанию
Правила вынесены в prometheus-resource-rules.yml (не в rule_files); пороги — через env DEAL_ALERT_* при включении.
This commit is contained in:
@@ -0,0 +1,73 @@
|
|||||||
|
# Правила алертов Prometheus по потреблению ресурсов — ОТКЛЮЧЕНЫ ПО УМОЛЧАНИЮ.
|
||||||
|
#
|
||||||
|
# Заготовка: включить, добавив эту строку в `rule_files` файла prometheus.yml:
|
||||||
|
# rule_files:
|
||||||
|
# - prometheus-rules.yml
|
||||||
|
# - prometheus-resource-rules.yml
|
||||||
|
#
|
||||||
|
# Пороги выносятся в env (DEAL_ALERT_*); Prometheus не раскрывает значения env в конфиге, поэтому при
|
||||||
|
# включении файл рендерится из шаблона (подстановка порогов) или пороги проставляются вручную:
|
||||||
|
# DEAL_ALERT_HOST_CPU_PERCENT — загрузка CPU хоста, % (дефолт 90)
|
||||||
|
# DEAL_ALERT_HOST_MEMORY_PERCENT — занятая память хоста, % (дефолт 90)
|
||||||
|
# DEAL_ALERT_HOST_DISK_PERCENT — минимум свободного места, % (дефолт 15)
|
||||||
|
# DEAL_ALERT_CONTAINER_CPU — CPU контейнера (ядра) (дефолт 1.5)
|
||||||
|
# DEAL_ALERT_CONTAINER_MEMORY_PERCENT — память контейнера к лимиту, %(дефолт 90)
|
||||||
|
#
|
||||||
|
# Источники: node-exporter (хост) и cAdvisor (контейнеры), scrape — jobs node-exporter/cadvisor.
|
||||||
|
|
||||||
|
groups:
|
||||||
|
- name: deal-resources
|
||||||
|
rules:
|
||||||
|
# Хост: загрузка CPU. Дефолт порога — 90%.
|
||||||
|
- alert: DealHostHighCpu
|
||||||
|
expr: 100 - (avg(rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 90
|
||||||
|
for: 10m
|
||||||
|
labels:
|
||||||
|
severity: warning
|
||||||
|
annotations:
|
||||||
|
summary: "Высокая загрузка CPU хоста"
|
||||||
|
description: "Средняя загрузка CPU хоста выше 90% за 5 минут более 10 минут."
|
||||||
|
|
||||||
|
# Хост: занятая память. Дефолт порога — 90%.
|
||||||
|
- alert: DealHostHighMemory
|
||||||
|
expr: (1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) > 0.9
|
||||||
|
for: 10m
|
||||||
|
labels:
|
||||||
|
severity: warning
|
||||||
|
annotations:
|
||||||
|
summary: "Высокое потребление памяти хостом"
|
||||||
|
description: "Свободной памяти меньше 10% более 10 минут."
|
||||||
|
|
||||||
|
# Хост: свободное место на разделе. Дефолт порога — 15%.
|
||||||
|
- alert: DealHostDiskLow
|
||||||
|
expr: |
|
||||||
|
min by (mountpoint) (node_filesystem_avail_bytes{fstype!~"tmpfs|overlay"} / node_filesystem_size_bytes{fstype!~"tmpfs|overlay"}) < 0.15
|
||||||
|
for: 15m
|
||||||
|
labels:
|
||||||
|
severity: warning
|
||||||
|
annotations:
|
||||||
|
summary: "Мало места на диске ({{ $labels.mountpoint }})"
|
||||||
|
description: "Свободно менее 15% на разделе {{ $labels.mountpoint }} более 15 минут."
|
||||||
|
|
||||||
|
# Контейнеры Deal: CPU (ядра). Дефолт порога — 1.5.
|
||||||
|
- alert: DealContainerHighCpu
|
||||||
|
expr: |
|
||||||
|
sum by (name) (rate(container_cpu_usage_seconds_total{name=~".*deal.*|.*core.*|.*service.*"}[5m])) > 1.5
|
||||||
|
for: 10m
|
||||||
|
labels:
|
||||||
|
severity: warning
|
||||||
|
annotations:
|
||||||
|
summary: "Высокий CPU контейнера {{ $labels.name }}"
|
||||||
|
description: "Контейнер {{ $labels.name }} держит > 1.5 CPU за 5 минут более 10 минут."
|
||||||
|
|
||||||
|
# Контейнеры Deal: память к лимиту. Дефолт порога — 90%.
|
||||||
|
- alert: DealContainerHighMemory
|
||||||
|
expr: |
|
||||||
|
(container_memory_working_set_bytes{name=~".*deal.*|.*core.*|.*service.*"}
|
||||||
|
/ clamp_min(container_spec_memory_limit_bytes{name=~".*deal.*|.*core.*|.*service.*"}, 1)) > 0.9
|
||||||
|
for: 10m
|
||||||
|
labels:
|
||||||
|
severity: warning
|
||||||
|
annotations:
|
||||||
|
summary: "Контейнер {{ $labels.name }} близок к лимиту памяти"
|
||||||
|
description: "Контейнер {{ $labels.name }} использует более 90% лимита памяти более 10 минут."
|
||||||
@@ -80,55 +80,3 @@ groups:
|
|||||||
summary: "Растёт очередь обучения ML (outbox)"
|
summary: "Растёт очередь обучения ML (outbox)"
|
||||||
description: "Суммарная глубина MlOutbox держится выше 100 более 15 минут ({{ $value }})."
|
description: "Суммарная глубина MlOutbox держится выше 100 более 15 минут ({{ $value }})."
|
||||||
|
|
||||||
- name: deal-resources
|
|
||||||
rules:
|
|
||||||
# Хост: загрузка CPU/память/диск. Источник — node-exporter. Пороги «мягкие» — оператор уточняет.
|
|
||||||
- alert: DealHostHighCpu
|
|
||||||
expr: 100 - (avg(rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 90
|
|
||||||
for: 10m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
summary: "Высокая загрузка CPU хоста"
|
|
||||||
description: "Средняя загрузка CPU хоста выше 90% за 5 минут более 10 минут."
|
|
||||||
|
|
||||||
- alert: DealHostHighMemory
|
|
||||||
expr: (1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) > 0.9
|
|
||||||
for: 10m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
summary: "Высокое потребление памяти хостом"
|
|
||||||
description: "Свободной памяти меньше 10% более 10 минут."
|
|
||||||
|
|
||||||
- alert: DealHostDiskLow
|
|
||||||
expr: |
|
|
||||||
min by (mountpoint) (node_filesystem_avail_bytes{fstype!~"tmpfs|overlay"} / node_filesystem_size_bytes{fstype!~"tmpfs|overlay"}) < 0.15
|
|
||||||
for: 15m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
summary: "Мало места на диске ({{ $labels.mountpoint }})"
|
|
||||||
description: "Свободно менее 15% на разделе {{ $labels.mountpoint }} более 15 минут."
|
|
||||||
|
|
||||||
# Контейнеры Deal: CPU и память против лимита (mem_limit/cpus в compose). Источник — cAdvisor.
|
|
||||||
- alert: DealContainerHighCpu
|
|
||||||
expr: |
|
|
||||||
sum by (name) (rate(container_cpu_usage_seconds_total{name=~".*deal.*|.*core.*|.*service.*"}[5m])) > 1.5
|
|
||||||
for: 10m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
summary: "Высокий CPU контейнера {{ $labels.name }}"
|
|
||||||
description: "Контейнер {{ $labels.name }} держит > 1.5 CPU за 5 минут более 10 минут."
|
|
||||||
|
|
||||||
- alert: DealContainerHighMemory
|
|
||||||
expr: |
|
|
||||||
(container_memory_working_set_bytes{name=~".*deal.*|.*core.*|.*service.*"}
|
|
||||||
/ clamp_min(container_spec_memory_limit_bytes{name=~".*deal.*|.*core.*|.*service.*"}, 1)) > 0.9
|
|
||||||
for: 10m
|
|
||||||
labels:
|
|
||||||
severity: warning
|
|
||||||
annotations:
|
|
||||||
summary: "Контейнер {{ $labels.name }} близок к лимиту памяти"
|
|
||||||
description: "Контейнер {{ $labels.name }} использует более 90% лимита памяти более 10 минут."
|
|
||||||
|
|||||||
Reference in New Issue
Block a user