2.3 KiB
Prometheus Alerting
The repository includes a ready-to-use example rule group in
examples/pve-exporter.rules.yml. It
covers node, guest, storage, subscription, physical disk, ZFS, SDN, clock-skew,
and memory-overcommit conditions.
Enable the rule file
Make the rule file available to Prometheus and reference it from
prometheus.yml:
rule_files:
- /etc/prometheus/rules/pve-exporter.rules.yml
scrape_configs:
- job_name: pve-exporter
static_configs:
- targets: [pve-exporter:9090]
For a containerized Prometheus deployment, mount the example at the configured path:
services:
prometheus:
image: prom/prometheus:latest
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
- ./examples/pve-exporter.rules.yml:/etc/prometheus/rules/pve-exporter.rules.yml:ro
Validate the file before reloading Prometheus:
promtool check rules examples/pve-exporter.rules.yml
Collector requirements
Prometheus evaluates a rule only when its referenced time series exist. Enable the matching exporter collectors:
| Alerts | Required collector setting |
|---|---|
| Node filesystem, state, CPU, clock skew, memory overcommit | metrics.nodeStatus |
| Guest CPU and memory overcommit | metrics.qemu and/or metrics.lxc |
| Storage state and capacity | metrics.storage |
| Subscription expiration | metrics.subscription |
| Physical disk health and wear | metrics.disk |
| ZFS state and errors | metrics.zfs |
| SDN state | metrics.sdn |
The default thresholds and for durations are operational examples. Review
them against the size, workload, redundancy, and maintenance policy of your
environment before enabling notifications.
Three rules require deployment-specific review:
PveUnexpectedStandaloneModeshould be removed or disabled when standalone PVE operation is expected.PveNodeSubscriptionMissingis informational and should be removed when unsubscribed nodes are intentional.PveExporterDownexpects the Prometheus scrape job to be namedpve-exporter; adjust itsjobmatcher if a different name is used.
Every rule uses the cluster label. Standalone installations are supported and
use the label value Standalone node - <node>.