Jenkins如何在Linux上监控
导读:Jenkins在Linux上的监控实践 一 监控目标与总体架构 监控对象应覆盖三层: Jenkins 应用层(构建队列、执行节点在线状态、构建成功率/时长、插件健康); JVM 层(堆内存、GC、线程、类加载); 操作系统层(CPU、内...
Jenkins在Linux上的监控实践
一 监控目标与总体架构
- 监控对象应覆盖三层:
- Jenkins 应用层(构建队列、执行节点在线状态、构建成功率/时长、插件健康);
- JVM 层(堆内存、GC、线程、类加载);
- 操作系统层(CPU、内存、磁盘 I/O、网络)。
- 推荐架构:在 Jenkins 内安装指标/可视化插件获取应用与 JVM 指标,配合 Prometheus 抓取并存储,使用 Grafana 展示与告警;同时用 系统工具(如 top、iostat、iftop/nethogs)做现场排障与补充。
二 快速落地步骤
-
应用与 JVM 监控
- 安装 Monitoring 插件(JavaMelody):进入 Manage Jenkins → Plugins 搜索并安装,安装后通过 Manage Jenkins → Monitoring of Jenkins master 查看仪表盘,覆盖 内存、CPU、HTTP 响应时间、当前请求数 等。
- 安装 Prometheus 插件:为 Jenkins 暴露 /prometheus 指标端点;在 Prometheus 配置 scrape:
- job_name: ‘jenkins’
metrics_path: ‘/prometheus’
static_configs:- targets: [‘< jenkins_ip> :< jenkins_port> ’]
- job_name: ‘jenkins’
- 在 Grafana 添加 Prometheus 数据源并导入 Jenkins 仪表盘模板(如 9964),即可获得构建与节点趋势、HTTP 性能、JVM 概览等可视化。
-
构建与任务监控
- 使用 Jenkins REST API 获取构建状态与结果,例如:
curl -u : http://< jenkins_ip> :/job/< job_name> /lastBuild/api/json - 通过 Email Extension 与 Slack Notification 等插件在构建成功/失败、阶段变更时自动通知。
- 使用 Jenkins REST API 获取构建状态与结果,例如:
-
系统与基础设施监控
- 在 Linux 上用 sysstat 收集 CPU、内存、I/O 等系统指标,用于与 Jenkins 指标关联分析。
- 现场排查建议配合 top/htop、iostat、iftop/nethogs 观察资源瓶颈。
三 告警与可视化
- 可视化:在 Grafana 中基于 Prometheus 数据源构建看板,导入 Jenkins 仪表盘模板(ID:9964),集中展示 构建队列、执行节点、构建时长分布、失败趋势、HTTP 延迟 等关键面板。
- 告警:
- 在 Prometheus 中配置规则(如:构建队列过长、节点离线、HTTP 5xx 增多、JVM Full GC 频繁),联动 Alertmanager 发送邮件/企业微信/钉钉/Slack。
- 在 Jenkins 内用 Email Extension 与 Slack Notification 做构建事件与阶段级别通知,形成“平台内+平台外”的双通道告警。
四 最小可行配置清单
- 必备组件:Jenkins Monitoring 插件(JavaMelody)、Prometheus 插件、Prometheus、Grafana。
- 关键动作:
- 在 Jenkins 启用 /prometheus 端点并验证抓取;
- Grafana 导入 9964 模板并配置 Prometheus 为数据源;
- 配置 2–3 条 Prometheus 告警规则(队列、节点、HTTP 错误);
- 配置 Email/Slack 构建通知;
- 在 Linux 安装 sysstat 并保留至少 7–14 天 的指标数据用于回溯。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Jenkins如何在Linux上监控
本文地址: https://pptw.com/jishu/767956.html
