Ubuntu Jenkins任务监控方法
1. 使用Jenkins内置Web界面(基础监控)
登录Jenkins Web界面(通常为http://<服务器IP>:8080),通过以下路径实现任务监控:
- 查看构建历史:在“所有任务”或具体任务页面,左侧“构建历史”列表显示所有构建任务的执行顺序、状态(成功/失败/进行中)及触发时间。
- 查看任务详情:点击具体任务名称,进入任务详情页,可查看构建状态(如“构建中”“成功”“失败”)、实时日志(支持滚动查看,便于排查问题)、构建结果(如编译结果、测试覆盖率)及构建参数(如Git分支、环境变量)。
此方法无需额外工具,适合快速查看任务基本状态。
2. 调用Jenkins REST API(自动化监控)
通过Jenkins REST API获取任务状态的JSON数据,支持脚本化处理(如集成到监控系统)。常用命令示例:
curl -u <用户名>:<密码> http://<Jenkins服务器IP>:8080/job/<任务名称>/lastBuild/api/json
返回结果包含构建状态(result字段,如SUCCESS/FAILURE)、构建编号(number)、触发时间(timestamp)等信息。可通过脚本定期调用API,实现任务状态的自动化监控与告警。
3. 安装Jenkins监控插件(可视化与深度监控)
① Monitoring插件(JavaMelody)
提供Jenkins服务器及任务的全面性能监控,包括:
- 服务器资源:CPU使用率、内存占用、系统负载、磁盘空间;
- Jenkins指标:HTTP响应时间、当前并发请求数、构建队列长度;
- 任务统计:构建成功率、平均构建时长、失败任务分布。
安装与使用步骤:
- 进入Jenkins“Manage Jenkins”→“Manage Plugins”→“Available”,搜索“Monitoring”并安装;
- 安装完成后,进入“Manage Jenkins”→“Monitoring of Jenkins master”,查看实时监控仪表盘;
- 可点击“Generate Report”生成HTML报告,便于离线分析。
该插件适合需要可视化监控的场景,帮助快速定位性能瓶颈。
② Prometheus插件(指标导出与告警)
将Jenkins的监控指标(如构建次数、失败率、节点状态、队列长度)导出给Prometheus,配合Grafana实现可视化展示与告警。
整合步骤:
- 进入Jenkins“Manage Jenkins”→“Manage Plugins”→“Available”,搜索“Prometheus”并安装;
- 进入“Manage Jenkins”→“Configure System”,找到“Prometheus” section,启用“Expose metrics to Prometheus”(默认端口为
9118);
- 配置Prometheus服务器:在Prometheus的
prometheus.yml中添加Jenkins抓取任务:scrape_configs:
- job_name: 'jenkins'
static_configs:
- targets: ['<Jenkins服务器IP>:9118']
- 在Grafana中添加Prometheus数据源,导入Jenkins监控面板(如“Jenkins Overview”),实现实时监控大屏;
- 配置Prometheus Alertmanager,设置告警规则(如“构建失败率超过5%”时发送邮件/Slack通知)。
适合需要企业级监控与告警的场景。
③ 节点磁盘空间监控插件
专门监控Jenkins节点(Master/Slave)的磁盘空间使用情况,当剩余空间低于设定阈值(如10%)时,自动触发告警(如邮件、Slack通知),避免因磁盘满导致构建失败。
安装与使用步骤:
- 进入Jenkins“Manage Jenkins”→“Manage Plugins”→“Available”,搜索“Disk Usage”并安装;
- 安装完成后,进入“Manage Jenkins”→“Disk Usage”,查看各节点的磁盘空间使用情况(支持柱状图展示);
- 配置告警阈值:进入“Manage Jenkins”→“Configure System”→“Disk Usage Monitoring”,设置“Warning threshold”(警告阈值)和“Critical threshold”(严重阈值)。
适合需要预防磁盘空间问题的场景。
4. 配置邮件/即时通讯告警(及时响应)
通过插件实现任务状态变化时的自动通知,确保团队及时响应问题:
① Email Extension Plugin(邮件告警)
支持发送定制化邮件(如构建失败时包含日志片段、失败原因),通知相关人员。
配置步骤:
- 进入Jenkins“Manage Jenkins”→“Manage Plugins”→“Available”,搜索“Email Extension”并安装;
- 进入“Manage Jenkins”→“Configure System”,配置SMTP服务器(如Gmail、企业邮箱)及发件人邮箱;
- 在任务配置页面,勾选“Post-build Actions”→“Editable Email Notification”,设置触发条件(如“Failure”“Unstable”)及收件人列表。
② Dingding/Slack Plugin(即时通讯告警)
通过钉钉/Slack机器人发送实时消息(如构建失败、任务完成),提升响应速度。
以钉钉为例的配置步骤:
- 在钉钉群中创建“自定义机器人”,获取Webhook URL;
- 进入Jenkins“Manage Jenkins”→“Manage Plugins”→“Available”,搜索“Dingding”并安装;
- 进入“Manage Jenkins”→“Configure System”,添加钉钉机器人配置(填写Webhook URL、机器人名称);
- 在任务配置页面,勾选“Post-build Actions”→“Dingding Notifications”,设置触发条件(如“Failure”)及消息内容(如“任务<任务名称>构建失败,请及时处理”)。
告警配置需结合实际需求,确保关键问题能及时触达相关人员。