[prometheus] Monitoring rules, Yay!

certbot_on_virtu
Alexandre Iooss 2019-06-05 08:33:50 +02:00
parent f26042e555
commit 86ef609693
No known key found for this signature in database
GPG Key ID: 6C79278F3FCDCC02
1 changed files with 67 additions and 8 deletions

View File

@ -2,24 +2,83 @@
{# As this is also Jinja2 it will conflict without a raw block #} {# As this is also Jinja2 it will conflict without a raw block #}
{% raw %} {% raw %}
groups: groups:
- name: example - name: alert.rules
rules: rules:
# Alert for any instance that is unreachable for >5 minutes. # Alert for any instance that is unreachable for >3 minutes.
- alert: InstanceDown - alert: InstanceDown
expr: up == 0 expr: up == 0
for: 5m for: 3m
labels: labels:
severity: page severity: critical
annotations: annotations:
summary: "Instance {{ $labels.instance }} down" summary: "Le serveur {{ $labels.instance }} est down"
description: "{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 5 minutes." description: "Le serveur {{ $labels.instance }} est down depuis plus de 3 minutes."
# Alert for out of memory
- alert: OutOfMemory
expr: (node_memory_MemFree_bytes + node_memory_Cached_bytes + node_memory_Buffers_bytes) / node_memory_MemTotal_bytes * 100 < 10
for: 30m
labels:
severity: warning
annotations:
summary: "Presque plus de mémoire vive sur {{ $labels.instance }}"
description: "La mémoire est en train de se remplir ({{ $value }}% restant)"
# Alert for out of disk space
- alert: OutOfDiskSpace
expr: node_filesystem_free_bytes{fstype="ext4"} / node_filesystem_size_bytes{fstype="ext4"} * 100 < 10
for: 30m
labels:
severity: warning
annotations:
summary: "Presque plus de stockage sur {{ $labels.instance }}"
description: "Le disque est presque rempli ({{ $value }}% restant)"
# Alert for out of inode space on disk
- alert: OutOfInodes
expr: node_filesystem_files_free{fstype="ext4"} / node_filesystem_files{fstype="ext4"} * 100 < 10
for: 30m
labels:
severity: warning
annotations:
summary: "Presque plus d'inodes disque sur {{ $labels.instance }}"
description: "Le disque est presque à courre d'inodes disponibles ({{ $value }}% restant)"
# Alert for high CPU usage
- alert: CpuLoad
expr: node_load15 / (count without (cpu, mode) (node_cpu_seconds_total{mode="system"})) > 2
for: 30m
labels:
severity: warning
annotations:
summary: "Charge CPU élevée sur {{ $labels.instance }}"
description: "La charge CPU (moyenne de 15mn) est élevée."
# Alert for any instance that has a median request latency >1s. # Alert for any instance that has a median request latency >1s.
- alert: APIHighRequestLatency - alert: APIHighRequestLatency
expr: api_http_request_latencies_second{quantile="0.5"} > 1 expr: api_http_request_latencies_second{quantile="0.5"} > 1
for: 10m for: 10m
annotations: annotations:
summary: "High request latency on {{ $labels.instance }}" summary: "Latence élevée sur {{ $labels.instance }}"
description: "{{ $labels.instance }} has a median request latency above 1s (current value: {{ $value }}s)" description: "{{ $labels.instance }} a un temps de réponse médian au dessus d'une seconde (actuellement : {{ $value }}s)."
# NTP
- alert: ntp_drifting
expr: node_ntp_drift_seconds > 0.05
for: 3m
labels:
severity: critical
annotations:
description: "Décalage NTP trop élevé sur {{ $labels.instance }}"
summary: "Le décalage NTP est trop élevé ({{ $value }} > 0.05)"
- alert: ntp_drifting
expr: node_ntp_drift_seconds > 0.01
for: 1m
labels:
severity: moderate
annotations:
description: "Décalage NTP élevé sur {{ $labels.instance }}"
summary: "Le décalage NTP est élevé ({{ $value }} > 0.01)"
{% endraw %} {% endraw %}