背景:
根本就是这样的环境:TKE 1.20.6 搭建 Kube-Prometheus(prometheus-oprator, 做了一个 cronjob:
Kubernetes Cronjob 的第一次应用 。更新版本时候 job 产生了异样。然而起初都复原了。可是alertmanager 始终报警:
相当惹人烦。该怎么解决呢?
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
默认应该是显示三个 job 的。这个失败的还始终在 ….. 依照失常的了解删除调失败的 job 就能够了吧?当然了,还想打破砂锅问到底的其解决一下的。这个简略形式先列在这里,最初去尝试!
2. 批改 elert 规定
1. prometheus web 确认报警的 elerts
登陆 prometheus 控制台首先确认报警的两个 alerts 是KubeJobCompletion and KubeJobFailed. 失常了解下应该是从这两个 elerts 动手吧?
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
两个 elert 的相干配置如下:
2. 具体相干的能够借鉴:
- Prometheus: K8s Cronjob alerts
- Monitoring kubernetes jobs
- 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 了。后续零碎钻研 ……