diff options
Diffstat (limited to '')
-rw-r--r-- | modules/nixos/monitoring/rules/nginx.yaml | 52 |
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 }} |