{ lib, pkgs, config, ... }: # Standard module arguments { services.vmalert.rules.groups = [ { name = "DiskUsageAlerts"; rules = [ { alert = "HighDiskUsage"; expr = '' ( node_filesystem_size_bytes{fstype!~"tmpfs|rootfs",mountpoint!=""} - node_filesystem_avail_bytes{fstype!~"tmpfs|rootfs",mountpoint!=""} ) / node_filesystem_size_bytes{fstype!~"tmpfs|rootfs",mountpoint!=""} * 100 > 85 ''; for = "15m"; labels = { severity = "warning"; category = "capacity"; }; annotations = { summary = "High disk usage on {{ $labels.instance }} at {{ $labels.mountpoint }}"; description = "Disk usage on {{ $labels.instance }} for mount point {{ $labels.mountpoint }} (fstype: {{ $labels.fstype }}) has been above 85% for more than 15 minutes. Current value: {{ $value | printf \"%.2f\" }}%."; }; } ]; } ]; }