50 lines
2 KiB
YAML
50 lines
2 KiB
YAML
{{- if (.Capabilities.APIVersions.Has "monitoring.coreos.com/v1/PrometheusRule") }}
|
|
---
|
|
apiVersion: "monitoring.coreos.com/v1"
|
|
kind: "PrometheusRule"
|
|
metadata:
|
|
name: prometheus-node-exporter
|
|
labels:
|
|
{{- toYaml .Values.commons.prometheus.rules.labels | nindent 4 }}
|
|
spec:
|
|
groups:
|
|
- name: "Node disk rate"
|
|
rules:
|
|
- alert: HostUnusualDiskReadRate
|
|
expr: '(sum by (instance) (rate(node_disk_read_bytes_total[2m])) / 1024 / 1024 > 50) * on(instance) group_left (nodename) node_uname_info{nodename=~".+"}'
|
|
for: "5m"
|
|
labels:
|
|
severity: "warning"
|
|
detectedBy: "NodeExporter"
|
|
annotations:
|
|
{{`
|
|
summary: "Host unusual disk read rate (instance {{ $labels.instance }})"
|
|
description: "Disk is probably reading too much data (> 50 MB/s)\n VALUE = {{ $value }}\n LABELS = {{ $labels }}"
|
|
`}}
|
|
|
|
- alert: HostUnusualDiskWriteRate
|
|
expr: '(sum by (instance) (rate(node_disk_written_bytes_total[2m])) / 1024 / 1024 > 50) * on(instance) group_left (nodename) node_uname_info{nodename=~".+"}'
|
|
for: "2m"
|
|
labels:
|
|
severity: "warning"
|
|
detectedBy: "NodeExporter"
|
|
annotations:
|
|
{{`
|
|
summary: "Host unusual disk write rate (instance {{ $labels.instance }})"
|
|
description: "Disk is probably writing too much data (> 50 MB/s)\n VALUE = {{ $value }}\n LABELS = {{ $labels }}"
|
|
`}}
|
|
|
|
- name: "ZFS"
|
|
rules:
|
|
- alert: ZFSOfflinePool
|
|
expr: 'node_zfs_zpool_state{state!="online"} > 0'
|
|
for: "1m"
|
|
labels:
|
|
severity: "critical"
|
|
detectedBy: "NodeExporter"
|
|
annotations:
|
|
{{`
|
|
summary: "ZFS offline pool (instance {{ $labels.instance }})"
|
|
description: "A ZFS zpool is in a unexpected state: {{ $labels.state }}.\n VALUE = {{ $value }}\n LABELS = {{ $labels }}"
|
|
`}}
|
|
{{- end }}
|