]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/prometheus/templates/default/alert_rules.yml.erb
Only alert if the job processing rate is low for an extended period
[chef.git] / cookbooks / prometheus / templates / default / alert_rules.yml.erb
index 2aa46d1f0d09d77dbf110c9620720af81f59690b..a22914f2a8c4cfa909b5187a4f1f7a26de990be0 100644 (file)
@@ -22,10 +22,19 @@ groups:
           alertgroup: "{{ $labels.instance }}"
         annotations:
           busy_workers: "{{ $value | humanizePercentage }}"
           alertgroup: "{{ $labels.instance }}"
         annotations:
           busy_workers: "{{ $value | humanizePercentage }}"
+  - name: chef
+    rules:
+      - alert: chef client not running
+        expr: time() - node_systemd_timer_last_trigger_seconds{name="chef-client.timer"} > 3600
+        for: 12h
+        labels:
+          alertgroup: "{{ $labels.instance }}"
+        annotations:
+          down_time: "{{ $value | humanizeDuration }}"
   - name: cpu
     rules:
       - alert: cpu pressure
   - name: cpu
     rules:
       - alert: cpu pressure
-        expr: rate(node_pressure_cpu_waiting_seconds_total[5m]) > 0.3
+        expr: rate(node_pressure_cpu_waiting_seconds_total[5m]) > 0.6
         for: 15m
         labels:
           alertgroup: "{{ $labels.instance }}"
         for: 15m
         labels:
           alertgroup: "{{ $labels.instance }}"
@@ -417,7 +426,7 @@ groups:
           error_rate: "{{ $value | humanizePercentage }}"
       - alert: job processing rate
         expr: rate(pg_stat_user_tables_n_tup_del{datname="openstreetmap",relname="delayed_jobs"}[5m]) / rate(pg_stat_user_tables_n_tup_ins{datname="openstreetmap",relname="delayed_jobs"}[5m]) < 0.9 and ignoring(job, name, datname, relname, schemaname, server) chef_role{name="db-master"} == 1
           error_rate: "{{ $value | humanizePercentage }}"
       - alert: job processing rate
         expr: rate(pg_stat_user_tables_n_tup_del{datname="openstreetmap",relname="delayed_jobs"}[5m]) / rate(pg_stat_user_tables_n_tup_ins{datname="openstreetmap",relname="delayed_jobs"}[5m]) < 0.9 and ignoring(job, name, datname, relname, schemaname, server) chef_role{name="db-master"} == 1
-        for: 5m
+        for: 15m
         labels:
           alertgroup: web
         annotations:
         labels:
           alertgroup: web
         annotations: