背景
我们最近在对 Jenkins 的构建做一些监控,包括 build 时长、队列排队时长、构建结果(成功/失败/abort)等数据。
我们在 Jenkins Shared Library 中获取这些数据,然后通过 HTTP 请求的方式,回调给另外一个监控 Server。
Build 时长、构建结果(成功/失败/abort)等数据,相对好获取,在 Jenkins 的全局变量参考中,有相应的说明:
- 访问链接如下:http://localhost/job/test-job/pipeline-syntax/globals
- 注意,将 ${your-job} 替换成任意的 job 名,即可看到 Jenkins 自带的全局变量参考页面
全局变量中的 currentBuild 中,有 duration 和 result 字段,分别代表构建时长和构建结果。
但是,没有找到队列持续时间的相应字段。因此,监测数据在一段时间内并不容易获得。
[En]
However, no corresponding field was found for the queue duration. So the monitoring data is not easy to get for a while.
Metrics 插件
对于这个问题,Google 了下,在 Stack Overflow 上找到了答案:https://stackoverflow.com/a/31156114 。
如果你的 Jenkins 安装了Metrics 插件,那么这个数据是相对容易获取的。