插件下载地址:http://updates.jenkins-ci.org/download/plugins/metrics/
安装 Metrics 插件,在系统配置中,会多出“Metrics”的配置,如下图:
配置项不复杂。我们需要点击“Generate...”生成一个 Access Key(生成后,记得要保存)。这个 Key 用于身份校验,后面我们会用到。
保存后,我们在浏览器中输入URL:http://jenkins.local,me/metrics/<刚生成的 Access Key>
验证 Jenkins 是否已经暴露 metrics。如果看到如下图,就说明可以进行下一步了:
Metrics 插件是基于 dropwizard/metrics 实现。它通过4个接口暴露指标数据:/metrics,/ping,/threads,/healthcheck。
点击上图中的metric
链接(http://jenkins.local.me/metrics/<Access Key>/metrics
),它暴露了以下指标数据:
{
version: "4.0.0",
gauges: {...},
counters: {...},
histograms: {...},
meters: {...},
timers: {...}
}
/ping:接口返回 pong
代表 Jenkins 存活,如下图:
/threads:返回 Jenkins 的线程信息
/healthcheck:返回以下指标:
{
"disk-space" : {
"healthy" : true
},
"plugins" : {
"healthy" : true,
"message" : "No failed plugins"
},
"temporary-space" : {
"healthy" : true
},
"thread-deadlock" : {
"healthy" : true
}
}
Zabbix server 通过与 Zabbix agent 进行通信实现数据的采集。而 Zabbix agent 又分为被动和主动两种模式。我们使用的是被动模式,也就是Zabbix server 向 agent 索要数据。
所以,我们需要在 Zabbix agent 所在机器放一个获取 Jenkins 指标数据的脚本。再配置 Zabbix server 定时从该 agent 获取数据,最后配置触发器(trigger)实现告警。
这里需要解释其中几个选项为什么要那样填:
jenkins.metrics
是需要执行的真正的 Key 名称。而 []
内是传给该 Key 对应的命令的参数。对于初学者,Zabbix 这部分概念非常不好理解。也许这样会更好理解:在使用用户自定义参数来实现监控的情况下,Zabbix server 会将这个 Key 发送给 agent,然后 agent 根据这个 Key 执行指定的 逻辑 以获取指标数据。这个 逻辑 通常是一段脚本(shell命令或Python脚本等)。而脚本也是可以传参的,[]
中的值就是传给脚本的参数。到此,Zabbix server 端已经配置完成。可以在监测->最新数据中查看是否有最新的数据,然后可以创建仪表盘将数据以图形的方式呈现出来。其他监控项也可以按此方法进行配置。
原文:https://www.cnblogs.com/aerospace191/p/13985852.html