--- 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 at {{ $labels.instance }}. description: |- Too many HTTP requests with a 4xx status code. 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 at {{ $labels.instance }}. description: |- Too many HTTP requests with a 5xx status code. 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 at {{ $labels.instance }}. description: |- NGINX 99% of latency spikes is higher than 3 seconds. VALUE = {{ $value }} LABELS = {{ $labels }}