Prometheus 监控 Jenkins 全栈实战:从构建队列到节点健康的 CI/CD 可观测性
Prometheus 监控 Jenkins 全栈实战从构建队列到节点健康的 CI/CD 可观测性Jenkins 作为持续集成与持续交付CI/CD的核心引擎一旦它的构建队列积压、执行器耗尽、节点离线、JVM 内存泄漏或插件异常整个软件交付流水线就会中断导致发布延迟甚至线上事故。Prometheus 通过官方的Jenkins Prometheus Plugin能将 Jenkins 的内部状态以标准格式暴露无需额外 Exporter。本文将带你从安装插件、配置抓取到解读核心指标、构建 Grafana 大屏与告警规则让 Jenkins 的每一个角落都透明可控。1. 方案选型Prometheus Plugin vs JMX Exporter方案特点Jenkins Prometheus Plugin推荐官方维护的插件安装后自动在/prometheus路径暴露指标覆盖构建、队列、节点、JVM 等支持自定义指标标签无需重启 Jenkins 即可启用JMX Exporter通用 Java Agent需手动配置 MBean 规则无法直接获得 Jenkins 高级业务指标如 job 构建时长本文采用Prometheus Plugin它开箱即用且指标最贴合 CI/CD 场景。2. 安装并配置 Prometheus Plugin2.1 安装插件登录 Jenkins →系统管理→插件管理→可选插件。搜索Prometheus metrics勾选安装并重启 Jenkins。或者通过 CLI 安装jenkins-plugin-cli--pluginsprometheus:2.1.02.2 配置指标暴露安装后无需额外配置插件默认暴露端点URLhttp://jenkins.example.com:8080/prometheus格式Prometheus 文本格式包含 Job、Node、Executor、Queue 等指标。可选配置系统管理 → 系统配置 → Prometheus Metrics设置自定义标签如instance_name、env以便在 Prometheus 中区分多个 Jenkins 实例。开启或关闭特定采集器如BuildInfoCollector、DiskUsageCollector。配置路径前缀默认/prometheus。验证curlhttp://localhost:8080/prometheus应看到jenkins_executor_count、jenkins_job_build_duration_seconds_sum等指标。2.3 安全控制生产环境建议限制/prometheus端点的访问权限使用 Jenkins 的矩阵授权策略或角色策略仅允许监控用户访问。或通过反向代理Nginx添加 Basic Auth。注意如果 Jenkins 本身需要登录Prometheus 抓取时需携带认证信息见后文。3. 配置 Prometheus 抓取3.1 未启用安全认证的抓取scrape_configs:-job_name:jenkinsscrape_interval:30smetrics_path:/prometheusstatic_configs:-targets:[jenkins-master:8080]labels:app:jenkinsenv:production3.2 启用安全认证的抓取若 Jenkins 需要登录需在 Prometheus 中配置basic_auth。建议在 Jenkins 中创建一个专用监控用户仅读权限。-job_name:jenkinsscrape_interval:30smetrics_path:/prometheusbasic_auth:username:prometheuspassword:your_passwordstatic_configs:-targets:[jenkins-master:8080]如果 Jenkins 使用了 API Token可放在password字段中。3.3 抓取多个 Jenkins Master多主添加多个 target并为每个实例设置不同的instance标签。4. 核心监控指标与 PromQLPrometheus Plugin 暴露的指标以jenkins_或default_jenkins_为前缀取决于插件版本主要类别如下4.1 构建与 Job指标含义jenkins_job_build_duration_seconds(Histogram)Job 构建时长分布jenkins_job_builds_total(Counter)构建总数按repo、status等jenkins_job_last_successful_build_timestamp_seconds最后一次成功构建时间戳jenkins_job_last_build_result最后一次构建结果0成功, 1不稳定, 2失败, 3未构建PromQL 示例最近 5 分钟构建失败数increase(jenkins_job_builds_total{statusfail}[5m])平均构建时长rate(jenkins_job_build_duration_seconds_sum[1h]) / rate(jenkins_job_build_duration_seconds_count[1h])某 Job 最后构建结果为失败jenkins_job_last_build_result{jobmy-app-deploy} 24.2 队列与执行器指标含义jenkins_queue_size当前构建队列长度jenkins_queue_waiting_total处于 Waiting 状态的任务数jenkins_executor_count当前在线执行器总数jenkins_executor_in_use正在使用的执行器数jenkins_executor_free空闲执行器数PromQL 示例队列积压jenkins_queue_size 5执行器使用率jenkins_executor_in_use / jenkins_executor_count无可用执行器jenkins_executor_free 04.3 节点 (Agent) 状态指标含义jenkins_node_online节点是否在线1在线, 0离线jenkins_node_count节点总数按online状态分PromQL 示例离线节点jenkins_node_online 0在线节点数jenkins_node_online 14.4 JVM 与系统指标含义jvm_memory_used_bytes/jvm_memory_max_bytes堆内存使用/上限jvm_gc_collection_seconds_count/sumGC 次数与耗时process_cpu_seconds_total进程 CPU 时间process_open_fds打开文件描述符数jenkins_disk_usage_bytesJenkins 家目录磁盘使用量需开启 DiskUsageCollectorPromQL 示例堆内存使用率jvm_memory_used_bytes{areaheap} / jvm_memory_max_bytes{areaheap} * 100GC 耗时速率rate(jvm_gc_collection_seconds_sum[5m])5. Grafana 仪表盘推荐Jenkins Performance OverviewDashboard ID9964最经典展示构建趋势、队列、执行器、节点状态、JVM 等。Jenkins PrometheusID14764现代版整合了 Job 成功/失败率与构建时长百分位。Jenkins Master HealthID13535侧重 JVM、磁盘、线程池。自定义 CI/CD 大屏可加入流水线成功率、平均交付时间等指标结合 Git、ArgoCD 数据。导入后选择数据源变量instance对应 Jenkins Master。6. 告警规则实战groups:-name:jenkins_alertsrules:-alert:JenkinsDownexpr:up{jobjenkins} 0for:1mlabels:severity:criticalannotations:summary:Jenkins Master {{ $labels.instance }} 不可达-alert:JenkinsBuildQueueBacklogexpr:jenkins_queue_size10for:15mlabels:severity:warningannotations:summary:Jenkins 构建队列积压超过 10 个任务-alert:JenkinsExecutorSaturationexpr:jenkins_executor_free 0for:10mlabels:severity:criticalannotations:summary:所有执行器均在使用中无空闲执行器-alert:JenkinsNodeOfflineexpr:jenkins_node_online 0for:2mlabels:severity:criticalannotations:summary:Jenkins 节点 {{ $labels.node }} 已离线-alert:JenkinsJobFailureexpr:jenkins_job_last_build_result{job~.*production.*} 2for:1mlabels:severity:criticalannotations:summary:关键 Job {{ $labels.job }} 最后构建失败-alert:JenkinsHighHeapUsageexpr:(jvm_memory_used_bytes{areaheap}/ jvm_memory_max_bytes{areaheap}) * 10085for:10mlabels:severity:warningannotations:summary:Jenkins 堆内存使用率超过 85%可根据实际项目名称调整告警中的正则过滤。7. 进阶多 Master、安全与性能优化7.1 多 Master 监控如果有多个 Jenkins 实例如生产与非生产分别配置抓取并在 Prometheus 中用不同的instance标签。Grafana 面板可复用通过变量切换。7.2 安全凭据管理使用 Jenkins 的Credentials Binding插件为 Prometheus 抓取生成专用 API Token。Prometheus 的basic_auth直接填写 API Token 作为密码即可。通过反向代理如 Nginx统一处理 TLS 和认证Prometheus 只需连接代理。7.3 自定义指标标签在 Jenkins 系统配置的 Prometheus 插件部分可以添加额外的静态标签如datacenterdc1方便在 Grafana 中聚合筛选。还可启用BuildInfoCollector的额外维度如branch、result但需注意指标基数。7.4 性能影响Prometheus 插件基于内存中的注册表抓取时仅遍历数据结构对 Jenkins 性能影响极小。建议scrape_interval设为 30-60 秒。7.5 结合 Pipeline 监控插件会自动为每个 Pipeline Job 暴露指标。可通过jenkins_job_build_duration_seconds的job标签筛选特定流水线。若需更细粒度的 Stage 指标可结合Pipeline Stage View插件或自定义 Metric 发布如通过prometheus-build-metrics插件。8. 总结通过 Jenkins Prometheus PluginCI/CD 流水线的每一个关键点——构建队列深度、执行器使用率、节点在线状态、Job 成功率——都转化为 Prometheus 生态中的标准化指标。你可以在 Grafana 上直观地监控交付速度用 Alertmanager 在构建失败或节点宕机时第一时间收到通知。将 Jenkins 的可观测性融入全栈监控体系意味着软件交付的最后一块拼图也被点亮真正实现从代码提交到上线运行的全链路透明化。部署它让自动化构建不再“盲飞”为持续交付保驾护航。

相关新闻

# 软考软件设计师题目总结 — 2026-08-06

# 软考软件设计师题目总结 — 2026-08-06

软考软件设计师题目总结 — 2026-08-06下半年备考倒计时:79天 | 考试时间:2026年10月24日-27日 | 第55期一、今日备考动态 1.1 2026下半年考情最新情报维度具体情况备考应对教材大纲新教材启用,新增AI/云原生/微服务/DevOps等内容旧版资料不可…

2026/8/26 15:41:04 阅读更多 →
打破AI审计“黑箱”:基于COBIT EDM05的实务指南

打破AI审计“黑箱”:基于COBIT EDM05的实务指南

跳出技术思维:以EDM05治理实现可解释、可落地的AI内审人工智能(AI)正深刻改变内部审计的作业模式。从交易级异常检测到持续性监控,AI相较传统审计方法在洞察时效性与覆盖广度上均展现出显著优势。然而,现实挑战在于&am…

2026/8/26 15:52:19 阅读更多 →
论文逻辑太复杂?用结构图把研究思路一步讲清楚

论文逻辑太复杂?用结构图把研究思路一步讲清楚

你好,我是小索奇。 本文围绕“论文逻辑太复杂?用结构图把研究思路一步讲清楚”展开,重点说明如何用流程图、结构图和数据图提升内容表达效率。本文重点:明确问题、拆分逻辑、选择图表类型,并用清晰段落帮助读者快速获取…

2026/8/26 20:34:30 阅读更多 →

最新新闻

图神经网络对抗性攻击实战:Python实现特征与结构攻击

图神经网络对抗性攻击实战:Python实现特征与结构攻击

简介:图神经网络(GNN)在社交网络、分子结构、推荐系统等非欧几里得数据上表现出色,但其安全性面临严峻挑战。与图像对抗攻击不同,图数据的离散结构使得攻击更隐蔽——攻击者可通过篡改节点特征或增删边来欺骗模型。本文…

2026/8/27 22:12:46 阅读更多 →
2026零基础AI学习就业平台测评指南|新手择校参考攻略

2026零基础AI学习就业平台测评指南|新手择校参考攻略

人工智能技术持续落地,AI岗位需求不断扩容,行业就业门槛逐步放宽,非科班、零基础人群也可通过系统学习和项目实训掌握实操技能,切入AI就业赛道。当下AI教育平台数量繁多,各平台课程体系、教学模式、实训资源差异明显&a…

2026/8/27 22:12:46 阅读更多 →
蓝桥杯单片机编程:从审题到调试的完整实战思路

蓝桥杯单片机编程:从审题到调试的完整实战思路

1. 赛场代码思路的核心价值 在蓝桥杯电子类单片机组的赛场上,拿到题目后,很多选手的第一反应是立刻动手写代码。但根据我多年的参赛和指导经验,真正拉开差距的往往不是敲代码的速度,而是动笔之前的“思路”。这里的“思路”不是指…

2026/8/27 22:12:46 阅读更多 →
【单片机毕设案例分享】基于 STM32 的多按键人机交互智能水杯控制系统研究 基于 STM32 单片机的无线传感饮水健康监测装置设计(011805)

【单片机毕设案例分享】基于 STM32 的多按键人机交互智能水杯控制系统研究 基于 STM32 单片机的无线传感饮水健康监测装置设计(011805)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于单片机,STM32单片机,51单片机,J…

2026/8/27 22:12:46 阅读更多 →
【单片机毕设案例分享】基于 STM32 的物联网前端环境感知与执行控制系统设计 基于 STM32 的小型智慧种植环境监测与声光报警装置设计(011705)

【单片机毕设案例分享】基于 STM32 的物联网前端环境感知与执行控制系统设计 基于 STM32 的小型智慧种植环境监测与声光报警装置设计(011705)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于单片机,STM32单片机,51单片机,J…

2026/8/27 22:12:46 阅读更多 →
小车表面缺陷检测数据集:3135张图8类缺陷,VOC与YOLO双格式解析

小车表面缺陷检测数据集:3135张图8类缺陷,VOC与YOLO双格式解析

简介:在工业视觉与智能制造领域,表面缺陷检测是目标检测技术的重要落地场景之一。传统人工目检效率低、标准不一,而深度学习目标检测方法通过标注数据驱动模型自主学习裂纹、划痕、凹痕等缺陷特征,可实现稳定可复现的自动化质检。…

2026/8/27 22:11:45 阅读更多 →

日新闻

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

1. 项目概述:从零构建一个企业级的AI服务网关 最近在帮一个做内容审核的团队做技术架构升级,他们原来的业务里,每天有几十万张图片和短视频需要过审,最初是接了几个开源的AI模型自己部署,但效果和性能一直不太稳定。后…

2026/8/27 0:00:51 阅读更多 →
网盘直链下载助手5分钟解析八大网盘真实地址

网盘直链下载助手5分钟解析八大网盘真实地址

网盘直链下载助手5分钟解析八大网盘真实地址 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 / 迅雷云盘 / 夸…

2026/8/27 1:06:27 阅读更多 →
从零点亮 ESP32:Arduino ESP32 开发环境搭建与首次烧录完整指南

从零点亮 ESP32:Arduino ESP32 开发环境搭建与首次烧录完整指南

从零点亮 ESP32:Arduino ESP32 开发环境搭建与首次烧录完整指南 【免费下载链接】arduino-esp32 Arduino core for the ESP32 family of SoCs 项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32 Arduino ESP32 是乐鑫官方的 ESP32 系列 Ardui…

2026/8/27 1:06:27 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/26 14:45:33 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/26 17:46:43 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/26 14:46:37 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/27 17:46:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/26 17:46:39 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/27 20:00:17 阅读更多 →