Kubernetes prometheus Job误报解决

背景:

基本就是这样的环境:TKE 1.20.6搭建Kube-Prometheus(prometheus-oprator,做了一个cronjob:
Kubernetes Cronjob的第一次使用。更新版本时候job发生了异常。但是后来都恢复了。可是alertmanager一直报警:
middle_img_v2_5d423870-d18d-4a8a-9438-cf34e98d3f4g.png
相当惹人烦。该怎么处理呢?

Kubernetes prometheus Job误报解决

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

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

2.修改elert规则

1. prometheus web 确认报警的elerts

登陆prometheus控制台首先确认报警的两个alerts是KubeJobCompletion and KubeJobFailed.正常理解下应该是从这两个elerts入手吧?
image.png
elerts配置文件在kubernetes-prometheusRule.yaml中:

[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
两个elert的相关配置如下:
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了。后续系统研究......


29 声望
9 粉丝
0 条评论
推荐阅读
Ubuntu20.4 docker运行stable diffusion webui
环境前提系统环境ubuntu20.04 {代码...} nvida cuda显卡驱动默认已经安装成功 {代码...} 安装配置dockerupgrade系统更新系统依赖: {代码...} 卸载之前的Docker环境确认是否之前安装过docker并卸载: {代码...} ...

对你无可奈何阅读 84

Helm3-安装RabbitMQ
最近在使用k8s搭建微服务时,发现需要手动修改yaml文件里面的pod name、pod image、svc name、ingress tls等等,非常麻烦,但是有了helm之后情况就不一样了,helm是k8s的包管理器,类似ubuntu的apt-get,centos的...

Awbeci阅读 9.6k

Kubernetes Gateway API 深入解读和落地指南
Kubernetes Gateway API 是 Kubernetes 1.18 版本引入的一种新的 API 规范,是 Kubernetes 官方正在开发的新的 API,Ingress 是 Kubernetes 已有的 API。Gateway API 会成为 Ingress 的下一代替代方案。Gateway A...

Rainbond2阅读 444

Jvm调优与微服务资源分配
在没有接触微服务之前,我们的java程序一般都部署在WebLogic、Tomcat这类应用服务器上,这些应用服务器本身也是基于Jvm虚拟机的。一般我们统一对应用服务器做Jvm参数调优(分配多大内存,线程池限制等),而不用...

KerryWu阅读 6.1k

K8S-使用Helm安装RabbitMQ和Redis的总结
记得去年2021上半年的时候自学了k8s并且使用helm安装了rabbitmq和redis,可以在开发、测试和生产环境上用起来,但是下半年之后就没有用,再拾起来的时候发现好多知识点都忘了,这篇文章就是总结使用helm安装rabbm...

Awbeci1阅读 1.9k

Kubernetes v1.27 新特性一览
Kubernetes v1.27 是 2023 年的第一个大版本更新,包含了近 60 项主要的更新。 而 1.26 只有 37 项,所以这个版本可以说是一个变化非常显著的版本了。

张晋涛1阅读 1.1k

封面图
实战:用“廉价”的NFS作为K8S后端存储
大家都知道,NFS是一种基于网络的文件系统协议,允许在不同的机器之间共享文件系统资源。在K8S中,可以使用NFS作为后端存储,以提供持久化存储和共享存储卷。但是否适合在生产环境使用NFS作为后端存储,这取决于...

不背锅运维2阅读 759

29 声望
9 粉丝
宣传栏