公司使用prometheus遇到的坑

  1. 采集间隔,rule检查间隔,for持续时间,注意三者的关系,如果采集间隔是1分钟,for:2m,那采集的点为1-2,大多是1,所以for需要设置为2-3个采集周期之间才能保证一直是2个点,即150s
  2. reload prometheus时会有误告,注意之前是active状态的,重启变为pending,active时间会变为重启的时间
  3. 告警模板回车是四个空格
  4. 钉钉告警模板可直接像上面一样配置成钉钉发送消息的主体,无需在pwd配置中制定模板名称,或者定义模板名字,在pwd配置中制定模板
  5. expr: (sum(rate(container_cpu_usage_seconds_total[3m])) BY (instance, name) * 100) > 80 使用avg、sum等函数后labels也会被聚合,所以想要透传给alertmanager的label需要都写入到by字段中
  6. 表达告警持续了多久,可以使用{{ ago .StartsAt }}获取触发时间到现在过去了多久时间,2h34m7s
  7. pushgateway 如果相同job下,名字相同的多个metric,前面会被后面覆盖,携带instance参数可解决,curl –data-binary @- http://192.168.17.2:9091/metrics/job/nginx/instance/$ip;
  8. grafana从instance:port中获取 instance地址正则是/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/
posted @ 2024-10-29 14:26  羊脂玉净瓶  阅读(19)  评论(0)    收藏  举报