Fractal Techware

Alert runbooks /

NodeFilesystemAlmostOutOfSpace

Filesystem has less than 10% space left. Free rule (MIT): the complete runbook and rule definition are below.

   
Severity critical, warning
Pending (for:) 30m (warning), 30m (critical)
Domain Hosts (node_exporter)
Requires node_exporter 1.x (default collectors; systemd and hwmon noted per alert)
Rule file rules/node-exporter.rules.yml (group ftw.node-exporter.alerts)

Meaning

Free space on the filesystem is below a static threshold (10% warning, 5% critical), regardless of trend.

Impact

The filesystem is close to full. Some filesystems (ext4) reserve 5% for root, so non-root writers may already fail.

Diagnosis

Mitigation

Escalation

Owned by whoever operates the host (platform team for Kubernetes nodes, service owner for standalone VMs).

Rule definition

From rules/node-exporter.rules.yml in the free repository (MIT). Unit tests for it are in tests/.

- alert: NodeFilesystemAlmostOutOfSpace
  expr: |-
    (
      node_filesystem_avail_bytes{fstype!="", fstype!~"tmpfs|ramfs|squashfs|overlay|nsfs|fuse.lxcfs|fuse.snapfuse", mountpoint!~"/run(/.*)?|/var/lib/kubelet/.+|/var/lib/docker/.+"} / node_filesystem_size_bytes{fstype!="", fstype!~"tmpfs|ramfs|squashfs|overlay|nsfs|fuse.lxcfs|fuse.snapfuse", mountpoint!~"/run(/.*)?|/var/lib/kubelet/.+|/var/lib/docker/.+"} * 100 < 10
    and
      node_filesystem_readonly{fstype!="", fstype!~"tmpfs|ramfs|squashfs|overlay|nsfs|fuse.lxcfs|fuse.snapfuse", mountpoint!~"/run(/.*)?|/var/lib/kubelet/.+|/var/lib/docker/.+"} == 0
    )
  for: 30m
  labels:
    severity: warning
  annotations:
    summary: Filesystem has less than 10% space left.
    description: Filesystem {{ $labels.mountpoint }} ({{ $labels.device }}) on {{ $labels.instance }} has only {{ $value | printf "%.1f" }}% space left.
    runbook_url: runbooks/node-exporter/NodeFilesystemAlmostOutOfSpace.md
- alert: NodeFilesystemAlmostOutOfSpace
  expr: |-
    (
      node_filesystem_avail_bytes{fstype!="", fstype!~"tmpfs|ramfs|squashfs|overlay|nsfs|fuse.lxcfs|fuse.snapfuse", mountpoint!~"/run(/.*)?|/var/lib/kubelet/.+|/var/lib/docker/.+"} / node_filesystem_size_bytes{fstype!="", fstype!~"tmpfs|ramfs|squashfs|overlay|nsfs|fuse.lxcfs|fuse.snapfuse", mountpoint!~"/run(/.*)?|/var/lib/kubelet/.+|/var/lib/docker/.+"} * 100 < 5
    and
      node_filesystem_readonly{fstype!="", fstype!~"tmpfs|ramfs|squashfs|overlay|nsfs|fuse.lxcfs|fuse.snapfuse", mountpoint!~"/run(/.*)?|/var/lib/kubelet/.+|/var/lib/docker/.+"} == 0
    )
  for: 30m
  labels:
    severity: critical
  annotations:
    summary: Filesystem has less than 5% space left.
    description: Filesystem {{ $labels.mountpoint }} ({{ $labels.device }}) on {{ $labels.instance }} has only {{ $value | printf "%.1f" }}% space left.
    runbook_url: runbooks/node-exporter/NodeFilesystemAlmostOutOfSpace.md