Jenkins 监控总结,不可错过这一篇!

2022-09-28 19:55:23 浏览数 (1)

Jenkins 是一个非常流行的开源的 CI/CD 工具。它可以将软件开发相关的构建、测试与部署自动化。

关于 Jenkins 的监控工具有很多很多,有开源的 jenkins 插件和解决方案,也有商业的解决方案。

监控维度,从 服务器 到 jvm 到 job、build、queue、event、plugin 等等。

Jenkins 监控插件以及解决方案清单

关于 jenkins 插件以及解决方案,我整理了一个清单,github 链接如下(欢迎 star 与 pr):

https://github.com/donhui/awesome-jenkins-monitor

个人最喜爱的商业解决方案

在众多商业解决方案中,个人最喜欢的是 Datadog 提供的解决方案。

首先,它的 Dashboard 有很多不同纬度的指标,多种指标能够让人能够全面了解 jenkins 的状态。这些指标有:queue、node status、job build status、job build duration、多种 events(system events、 security events、 build events)等。其中 events 指标让我觉得耳目一新。

其次,它的 Dashboard 排版布局美观,让人看着也很舒服。

最流行的开源解决方案

如果说到开源的解决方案,那么最流行的莫过于 Promotheus Grafana。

安装及配置步骤大概为:

1、Jenkins 上安装 Prometheus 插件,用于暴露指标

2、Prometheus 上增加 target 用于采集指标

3、Grafana 上配置 Dashbord 用于展示指标

前两个步骤大多相同,主要是最后一个步骤,在配置 Dashbord 时,不同的人绘制的不尽相同。

当然,Grafana 上也有一些开发者分享的公开的 Dashbord 可以参考。

正是站在前人的肩膀上,从实际需求出发,我配置出了满足自己需求的 Dashbord。

Dashboard 分成多组(Overview、Executors、Jobs and Builds、Web UI ),截图如下:

Grafana Dashboard 也导出为 json 文件,并放到 GitHub 仓库:

https://github.com/donhui/awesome-jenkins-monitor/tree/main/grafana_dashboards

不可或缺的告警

有了美轮美奂、丰富多彩的 Dashboard 看起来很不错了,但仅仅有它是不够的。

我们希望在 jenkins 服务出问题时及时告警,比如 jenkins master 挂了、jenkins agent 挂了、jenkins job 队列堆积等等。

根据这些问题查找是否有满足需求的指标,然后在 prometheus alertmanager 配置告警规则以及告警渠道。

告警规则示例:

jenkins_queue_size_value>10

jenkins_health_check_score<1

jenkins_node_offline_value>0

总结

关于 jenkins 的监控,本文讲述了商业方案与开源方案,希望对希望对 jenkins 进行监控的你有所帮助。

0 人点赞