summaryrefslogtreecommitdiff
path: root/modules/nixos/monitoring/rules/nginx.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'modules/nixos/monitoring/rules/nginx.yaml')
-rw-r--r--modules/nixos/monitoring/rules/nginx.yaml52
1 files changed, 52 insertions, 0 deletions
diff --git a/modules/nixos/monitoring/rules/nginx.yaml b/modules/nixos/monitoring/rules/nginx.yaml
new file mode 100644
index 0000000..59229a8
--- /dev/null
+++ b/modules/nixos/monitoring/rules/nginx.yaml
@@ -0,0 +1,52 @@
+---
+groups:
+ - name: Nginx
+
+ rules:
+ - alert: NginxHighHttp4xxErrorRate
+ expr: >-
+ sum(rate(nginx_http_requests_total{status=~"^4.."}[1m]))
+ / sum(rate(nginx_http_requests_total[1m])) * 100
+ > 5
+ for: 1m
+ labels:
+ severity: critical
+ annotations:
+ summary: NGINX high HTTP 4xx error rate (instance {{ $labels.instance }})
+ description: |-
+ Too many HTTP requests with status 4xx (> 5%).
+
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+
+ - alert: NginxHighHttp5xxErrorRate
+ expr: >-
+ sum(rate(nginx_http_requests_total{status=~"^5.."}[1m]))
+ / sum(rate(nginx_http_requests_total[1m])) * 100
+ > 5
+ for: 1m
+ labels:
+ severity: critical
+ annotations:
+ summary: NGINX high HTTP 5xx error rate (instance {{ $labels.instance }})
+ description: |-
+ Too many HTTP requests with status 5xx (> 5%).
+
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+
+ - alert: NginxLatencyHigh
+ expr: >-
+ histogram_quantile(0.99,
+ sum(rate(nginx_http_request_duration_seconds_bucket[2m])) by (host, node))
+ > 3
+ for: 2m
+ labels:
+ severity: warning
+ annotations:
+ summary: NGINX high latency (instance {{ $labels.instance }})
+ description: |-
+ NGINX 99% latency is higher than 3 seconds.
+
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}