for: 5m
labels:
alertgroup: "{{ $labels.instance }}"
+ - name: mail
+ rules:
+ - alert: mail queue length
+ expr: exim_queue > exim_queue_limit
+ for: 60m
+ labels:
+ alertgroup: mail
+ annotations:
+ queue_length: "{{ $value }}"
- name: mdadm
rules:
- alert: mdadm array inactive
<% node[:prometheus][:metrics].sort.each do |name, details| -%>
# HELP <%= name %> <%= details[:help] %>
# TYPE <%= name %> gauge
-<%= name %>{<%= details[:labels].map { |k,v| "#{k}=\"#{v}\"" }.join(",") %>} 1
+<%= name %>{<%= Hash(details[:labels]).map { |k,v| "#{k}=\"#{v}\"" }.join(",") %>} <%= details[:metric] || 1 %>
<% end -%>
},
:search => ["openstreetmap.org"]
},
+ :prometheus => {
+ :metrics => {
+ :exim_queue_limit => {
+ :help => "Mail queue alert level",
+ :metric => 50
+ }
+ }
+ },
:sysctl => {
:panic => {
:comment => "Reboot automatically after a panic",
}
}
}
+ },
+ :prometheus => {
+ :metrics => {
+ :exim_queue_limit => { :metric => 500 }
+ }
}
)