{ lib, pkgs, config, ... }: # Standard module arguments { services.vmalert.rules.groups = [ { name = "RAMUsageAlerts"; rules = [ { alert = "HighRAMUsage"; expr = "(1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100 > 90"; for = "10m"; labels = { severity = "warning"; category = "performance"; }; annotations = { summary = "High RAM usage on {{ $labels.instance }}"; description = "RAM usage on {{ $labels.instance }} (job: {{ $labels.job }}) has been above 90% for more than 10 minutes. Current value: {{ $value | printf \"%.2f\" }}%."; }; } ]; } ]; }