My template file is node_rules.yml.j2:
groups:
- name: Node Alerts
rules:
{{ prometheus_alert_rules | to_nice_yaml(indent=3,sort_keys=False) | indent(3,False) }}
And default file is main.yml:
prometheus_alert_rules:
- alert: Load_RAM_>_80%_for_5_min
expr: '100 * (1 - ((avg_over_time(node_memory_MemFree_bytes[5m]) + avg_over_time(node_memory_Cached_bytes[5m]) + avg_over_time(node_memory_Buffers_bytes[5m])) / avg_over_time(node_memory_MemTotal_bytes[5m]))) > 80'
for: 0m
labels:
severity: critical
annotations:
summary: '{% raw %}Host used many RAM (instance {{ $labels.instance }}){% endraw %}'
description: '{% raw %}Using RAM avg. 5 min. > 80%\n VALUE = {{ $value }}\n LABELS = {{ $labels }}{% endraw %}'
After applying the playbook, the output is a node_rules.yml file with shifted lines:
- alert: Load_RAM_>_80%_for_5_min
expr: 100 * (1 - ((avg_over_time(node_memory_MemFree_bytes[5m]) + avg_over_time(node_memory_Cached_bytes[5m])
+ avg_over_time(node_memory_Buffers_bytes[5m])) / avg_over_time(node_memory_MemTotal_bytes[5m])))
> 80
for: 0m
labels:
severity: critical
annotations:
summary: Host used many RAM (instance {{ $labels.instance }})
description: Using RAM avg. 5 min. > 80%\n VALUE = {{ $value
}}\n LABELS = {{ $labels }}
Why?