前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kubernetes prometheus Job误报解决

Kubernetes prometheus Job误报解决

原创
作者头像
对你无可奈何
发布2022-04-07 11:53:14
3010
发布2022-04-07 11:53:14
举报
文章被收录于专栏:运维专栏运维专栏

背景:

基本就是这样的环境:TKE 1.20.6搭建Kube-Prometheus(prometheus-oprator,做了一个cronjob:

Kubernetes Cronjob的第一次使用。更新版本时候job发生了异常。但是后来都恢复了。可是alertmanager一直报警:

middle_img_v2_5d423870-d18d-4a8a-9438-cf34e98d3f4g.png
middle_img_v2_5d423870-d18d-4a8a-9438-cf34e98d3f4g.png

相当惹人烦。该怎么处理呢?

Kubernetes prometheus Job误报解决

1. 暴力方式-删除失败的job!

代码语言:txt
复制
[root@k8s-master-01 manifests]# kubectl get job -n develop-layaverse
NAME                         COMPLETIONS   DURATION   AGE
xxxx-worldmap-job-27468560   0/1           13d        13d
xxxx-worldmap-job-27487460   1/1           1s         11m
xxxx-worldmap-job-27487465   1/1           1s         6m57s
xxxx-worldmap-job-27487470   1/1           1s         117s
[root@k8s-master-01 manifests]# kubectl get cronjob -n develop-layaverse
NAME                SCHEDULE      SUSPEND   ACTIVE   LAST SCHEDULE   AGE
xxxx-worldmap-job   */5 * * * *   False     0        2m15s           79d
image.png
image.png

默认应该是显示三个job的。这个失败的还一直在.....按照正常的理解删除调失败的job就可以了吧?当然了,还想打破砂锅问到底的其解决一下的。这个简单方式先列在这里,最后去尝试!

2.修改elert规则

1. prometheus web 确认报警的elerts

登陆prometheus控制台首先确认报警的两个alerts是KubeJobCompletion and KubeJobFailed.正常理解下应该是从这两个elerts入手吧?

image.png
image.png

elerts配置文件在kubernetes-prometheusRule.yaml中:

代码语言:txt
复制
[root@k8s-master-01 manifests]# grep -r KubeJobFailed ./
./kubernetes-prometheusRule.yaml:    - alert: KubeJobFailed
[root@k8s-master-01 manifests]# grep -r KubeJobCompletion  ./
./kubernetes-prometheusRule.yaml:    - alert: KubeJobCompletion
image.png
image.png

两个elert的相关配置如下:

image.png
image.png

2. 具体相关的可以借鉴:

  1. Prometheus: K8s Cronjob alerts
  2. Monitoring kubernetes jobs
  3. Prometheus 监控kubernetes Job资源误报的坑

三篇文章仔细读一下很相似,最早的是Prometheus: K8s Cronjob alerts,2018年写的。Prometheus 监控kubernetes Job资源误报的坑 是阳明大佬写的。但是就事论事,跟Monitoring kubernetes jobs有很大雷同。由于规则记录,报警规则我还是不太熟悉....没有深入研究具体的其参考阳明大佬的博客吧!https://www.qikqiak.com/post/prometheus-monitor-k8s-job-trap/.......不知为不知毕竟都用了默认的.等熟悉一下再去深入。这里就先删除失败的job了。后续系统研究......

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景:
  • Kubernetes prometheus Job误报解决
    • 1. 暴力方式-删除失败的job!
      • 2.修改elert规则
        • 1. prometheus web 确认报警的elerts
        • 2. 具体相关的可以借鉴:
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档