--- 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 }}