prometheus 监控 nginx 规则

nginx 的监控规则可以参考:Awesome Prometheus alerts | Collection of alerting rules

实际上里面的规则可能还需要略微修改才可以使用:

groups:
- name: Nginx
  rules:
  - alert: NginxHighHttp4xxErrorRate
    expr: sum(rate(nginx_server_requests{code="4xx" ,host=~"[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+.?"}[1m])) by (host, instance) / sum(rate(nginx_server_requests[1m])) by (host, instance) * 100 > 30
    for: 2m
    labels:
      severity: critical
    annotations:
      summary: Nginx high HTTP 4xx error rate (instance {{ $labels.instance }})
      description: "Too many HTTP requests with status 4xx (> 30%)\n  VALUE = {{ $value }}\n  LABELS = {{ $labels }}"
  - alert: NginxHighHttp5xxErrorRate
    expr: sum(rate(nginx_server_requests{code="5xx" ,host=~"[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+.?"}[1m])) by (host, instance) / sum(rate(nginx_server_requests[1m])) by (host, instance) * 100 > 30
    for: 2m
    labels:
      severity: critical
    annotations:
      summary: Nginx high HTTP 5xx error rate (instance {{ $labels.instance }})
      description: "Too many HTTP requests with status 5xx (> 30%)\n  VALUE = {{ $value }}\n  LABELS = {{ $labels }}"
  - alert: NginxLatencyHigh
    expr: histogram_quantile(0.99, sum(rate(nginx_server_requestMsec[2m])) by (host, node)) > 3
    for: 2m
    labels:
      severity: warning
    annotations:
      summary: Nginx latency high (instance {{ $labels.instance }})
      description: "Nginx p99 latency is higher than 3 seconds\n  VALUE = {{ $value }}\n  LABELS = {{ $labels }}"

以上的规则修改了4xx和5xx的匹配规则,nginx_server_requests是通过安装nginx_ vts_exporter工具获取的,不是文章中的nginx-lua-prometheus。另外host中通过[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+.?这个正则匹配了域名出来,避免匹配到类似*或者_等不需要的信息出来。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值