api 监控告警+定点发送监控日报

api 及时监控告警+定点发送监控日报


文章目录

  • api 及时监控告警+定点发送监控日报
  • 必看
  • 方法一
  • 方法二
    • 方法3 被公司认可


必看

我们有个需求:
1、就是api 监控,出现问题及时告警
2、每天6点定时发送今天,最高延迟的 api链接(相当于是一个日报)


方法一

我们可以通过监控nginx-log ,可以获取到 api 响应延迟

api 监控告警+定点发送监控日报_第1张图片
这是第一版,没有优化,其实可以实现过滤只发送需要的关键信息,被公司否定掉了

方法二

监控nignx 程序
api 监控告警+定点发送监控日报_第2张图片
prometheus 监控 nginx 对域名 各种状态 比如 1xxx 2xxx 3xxx 比如 图同的 4开头的错误被记录 4次,也有延迟响应,可以实现告警

因为所有流量都有走的nginx 所以nginx 能看到很多信息,比第一个 监控 日志跟好用,

在这里插入图片描述

也被公司否认了

方法3 被公司认可

还记得 我之前讲过的 blackbox 吗 不记得可以回去看看

通过 blackbox 进行监控

想看成果
api 监控告警+定点发送监控日报_第3张图片

我个人认为这种方法并不友好,公司认可就行,开搞

1、首先确保你们的 blackbox 已经正常运行并且监控,不会的这部分自己看看我过去的博客
api 监控告警+定点发送监控日报_第4张图片
probe_duration_seconds 这个是 promQL 语句哦,
用于记录各个目标的探测时间,即探测请求从发送到接收的时间间隔。这个指标通常用于计算目标的可用性和响应时间。通过Prometheus来查询来分析和监控该服务的性能。

是不是 可以看到对应的 api 和 响应时间,
第一点达到公司要求

第二点 查看今天 最高的 延迟时间
api 监控告警+定点发送监控日报_第5张图片
这里一个API 记录了每一秒的响应时间,我们需要做个优化 对比最大值
api 监控告警+定点发送监控日报_第6张图片

这里最大值,对比出来了,但是还有一个一个问题,太多了,发送到群里 没必要全部看,值看关键的,比如 大于 5秒的

api 监控告警+定点发送监控日报_第7张图片
这里就展示了 api 一天的 最大链接时间,并显示 > 5秒的

然后就是 配置 定时告警就可以了

这里+8 是因为是 UTC 时间,+8 到我们中国本地时间


    - name: API 定时日报
      rules:
      - alert: pod-memory
        expr: topk(50,max_over_time(probe_duration_seconds[1d])) %(3600*24)/3600+8)==6 and %(3600*24)/60%60)<10
        for: 30s
        labels:
          severity: 警告
        annotations:
          description: "{{ $value }})"


-----------------------------------
prometheus定时定点发送告警

你可能感兴趣的:(运维,nginx,服务器)