groups: - name: EC2-prometheus-Alerts rules: - alert: prometheus-CPU-Crossed-80% expr: 100 - (avg(irate(node_cpu_seconds_total{job=~'node_exporter', mode="idle", type=~'.*prometheus.*'}[1m])) by (name, private_ip) * 100) > 80 for: 1m labels: severity: critical bu: infra team: sre service: prometheus env: prd priority: p0 annotations: summary: prometheus Instance out of CPU (instance {{ $labels.private_ip }}) description: "{{ $labels.name }}/{{ $labels.private_ip }} is out of CPU\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" - alert: prometheus-Memory-Crossed-90% expr: 100 * (1 - ((avg_over_time(node_memory_MemFree_bytes{job=~'node_exporter', type=~'.*prometheus.*'}[1m]) + avg_over_time(node_memory_Cached_bytes{job=~'node_exporter', type=~'.*prometheus.*'}[1m]) + avg_over_time(node_memory_Buffers_bytes{job=~'node_exporter', type=~'.*prometheus.*'}[1m])) / avg_over_time(node_memory_MemTotal_bytes{job=~'node_exporter', type=~'.*prometheus.*'}[1m]))) > 90 for: 1m labels: severity: critical bu: infra team: sre service: prometheus env: prd priority: p0 annotations: summary: prometheus Instance out of Memory (instance {{ $labels.private_ip }}) description: "{{ $labels.name }}/{{ $labels.private_ip }} is out of Memory\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" - alert: prometheus-DiskSpace-Crossed-80% expr: 100 - ((node_filesystem_avail_bytes{mountpoint="/",fstype!="rootfs", job=~"node_exporter", type=~'.*prometheus.*'} * 100) / node_filesystem_size_bytes{mountpoint="/",fstype!="rootfs", job=~"node_exporter", type=~'.*prometheus.*'}) > 80 for: 1m labels: severity: critical bu: infra team: sre service: prometheus env: prd priority: p0 annotations: summary: prometheus Instance running out of Disk Space (instance {{ $labels.private_ip }}) description: "{{ $labels.name }}/{{ $labels.private_ip }} is running out of Disk Space\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" - alert: prometheus-Instance-Down expr: up{job="node_exporter", type=~'.*prometheus.*'} == 0 for: 1m labels: severity: critical bu: infra team: sre service: prometheus env: prd priority: p0 annotations: summary: prometheus Instance is DOWN (instance {{ $labels.private_ip }}) description: "{{ $labels.name }}/{{ $labels.private_ip }} is DOWN\n VALUE = {{ $value }}\n LABELS = {{ $labels }}"