apiVersion: 1 groups: - orgId: 1 name: ppanel-core folder: PPanel interval: 1m rules: - uid: ppanel-target-down title: PPanel monitoring target down condition: C for: 2m noDataState: Alerting execErrState: Error annotations: summary: "Monitoring target is down" description: "{{ $labels.job }} on {{ $labels.instance }} has been down for more than 2 minutes." labels: severity: critical service: ppanel data: - refId: A relativeTimeRange: from: 300 to: 0 datasourceUid: prometheus model: datasource: type: prometheus uid: prometheus editorMode: code expr: 'up{job=~"grafana|prometheus|node-exporter|cadvisor|nginx-exporter|loki|tempo"}' instant: true intervalMs: 1000 maxDataPoints: 43200 refId: A - refId: C datasourceUid: __expr__ model: conditions: - evaluator: params: - 1 type: lt operator: type: and query: params: - A reducer: type: last type: query datasource: type: __expr__ uid: __expr__ expression: A intervalMs: 1000 maxDataPoints: 43200 refId: C type: threshold - uid: ppanel-host-disk-high title: PPanel host disk usage high condition: C for: 10m noDataState: NoData execErrState: Error annotations: summary: "Host disk usage is high" description: "{{ $labels.instance }} {{ $labels.mountpoint }} disk usage is above 85% for 10 minutes." labels: severity: warning service: ppanel data: - refId: A relativeTimeRange: from: 900 to: 0 datasourceUid: prometheus model: datasource: type: prometheus uid: prometheus editorMode: code expr: '100 - (node_filesystem_avail_bytes{fstype!~"tmpfs|overlay|squashfs|aufs",mountpoint!~"/run.*|/var/lib/docker.*"} / node_filesystem_size_bytes{fstype!~"tmpfs|overlay|squashfs|aufs",mountpoint!~"/run.*|/var/lib/docker.*"} * 100)' instant: true intervalMs: 1000 maxDataPoints: 43200 refId: A - refId: C datasourceUid: __expr__ model: conditions: - evaluator: params: - 85 type: gt operator: type: and query: params: - A reducer: type: last type: query datasource: type: __expr__ uid: __expr__ expression: A intervalMs: 1000 maxDataPoints: 43200 refId: C type: threshold - uid: ppanel-host-memory-high title: PPanel host memory usage high condition: C for: 10m noDataState: NoData execErrState: Error annotations: summary: "Host memory usage is high" description: "{{ $labels.instance }} memory usage is above 90% for 10 minutes." labels: severity: warning service: ppanel data: - refId: A relativeTimeRange: from: 900 to: 0 datasourceUid: prometheus model: datasource: type: prometheus uid: prometheus editorMode: code expr: '(1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)) * 100' instant: true intervalMs: 1000 maxDataPoints: 43200 refId: A - refId: C datasourceUid: __expr__ model: conditions: - evaluator: params: - 90 type: gt operator: type: and query: params: - A reducer: type: last type: query datasource: type: __expr__ uid: __expr__ expression: A intervalMs: 1000 maxDataPoints: 43200 refId: C type: threshold - uid: ppanel-host-cpu-high title: PPanel host CPU usage high condition: C for: 10m noDataState: NoData execErrState: Error annotations: summary: "Host CPU usage is high" description: "{{ $labels.instance }} CPU usage is above 90% for 10 minutes." labels: severity: warning service: ppanel data: - refId: A relativeTimeRange: from: 900 to: 0 datasourceUid: prometheus model: datasource: type: prometheus uid: prometheus editorMode: code expr: '100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)' instant: true intervalMs: 1000 maxDataPoints: 43200 refId: A - refId: C datasourceUid: __expr__ model: conditions: - evaluator: params: - 90 type: gt operator: type: and query: params: - A reducer: type: last type: query datasource: type: __expr__ uid: __expr__ expression: A intervalMs: 1000 maxDataPoints: 43200 refId: C type: threshold - uid: ppanel-container-restarts title: PPanel container restarted condition: C for: 1m noDataState: NoData execErrState: Error annotations: summary: "Container restarted" description: "{{ $labels.name }} restarted or changed start time in the last hour." labels: severity: warning service: ppanel data: - refId: A relativeTimeRange: from: 3600 to: 0 datasourceUid: prometheus model: datasource: type: prometheus uid: prometheus editorMode: code expr: 'sum by (name) (changes(container_start_time_seconds{name!=""}[1h]))' instant: true intervalMs: 1000 maxDataPoints: 43200 refId: A - refId: C datasourceUid: __expr__ model: conditions: - evaluator: params: - 0 type: gt operator: type: and query: params: - A reducer: type: last type: query datasource: type: __expr__ uid: __expr__ expression: A intervalMs: 1000 maxDataPoints: 43200 refId: C type: threshold