Jenkins - 指标与趋势
Jenkins - 监控指标与趋势
Section titled “Jenkins - 监控指标与趋势”了解 Jenkins 构建的性能和趋势以及 Jenkins 实例本身的健康状况对于维护高效的 CI/CD 平台至关重要。Jenkins 提供了几种跟踪指标和可视化趋势的方法。
内置构建指标
Section titled “内置构建指标”- 构建历史: 作业页面上的构建历史列表显示了最近的构建状态(成功、不稳定、失败)、持续时间以及控制台日志/构建产物的链接。
- 测试结果趋势: 如果使用
junit步骤,作业页面和测试结果页面会显示通过、失败和跳过的测试随时间变化的趋势图。 - 代码覆盖率趋势: 代码覆盖率插件(通过 Coverage API 集成的 JaCoCo、Cobertura)通常会显示最近构建的代码覆盖率百分比趋势图。
- 静态分析趋势: ‘Warnings Next Generation’ 插件显示分析工具检测到的问题数量趋势图。
流水线性能可视化
Section titled “流水线性能可视化”- 流水线阶段视图 (经典 UI): 这是流水线作业的默认视图,显示每个阶段的持续时间,有助于识别工作流中的瓶颈。
- Blue Ocean 插件: 提供更复杂的流水线执行图形视图,包括阶段持续时间、并行步骤耗时以及便捷的各阶段日志访问。
- Pipeline: Stage Step Measures 插件: 为经典阶段视图添加关于阶段持续时间的指标。
作业级别指标插件
Section titled “作业级别指标插件”Build History Metrics 插件
Section titled “Build History Metrics 插件”该插件直接在作业页面上计算并显示简单的可靠性指标:
- 平均无故障时间 (MTTF): 构建保持成功状态直到失败的平均时间。
- 平均恢复时间 (MTTR): 作业在失败后恢复成功状态所需的平均时间。
- 构建时间标准差: 构建所需时间的变化性。
- 安装: 通过 管理 Jenkins → 插件 安装 ‘Build History Metrics 插件’。
- 使用: 安装并进行后续构建后,指标会自动显示在作业页面上。
实例级别指标与监控
Section titled “实例级别指标与监控”可通过 管理 Jenkins → 负载统计 访问。提供显示以下内容的基本图表:
- 构建队列长度: 有多少作业正在等待执行器。
- 忙碌的执行器: 当前有多少执行器(在控制器和代理上)正在运行构建。
- 响应时间: UI 响应能力的基本度量。
对于快速健康检查和识别长期资源短缺非常有用。
Global Build Stats 插件
Section titled “Global Build Stats 插件”(前身为 Hudson global-build-stats 插件)此插件聚合实例上所有作业的构建结果,并允许创建自定义图表。
- 安装: 安装 ‘Global Build Stats’ 插件。
- 配置: 前往 管理 Jenkins → Global Build Stats。点击 ‘Initialize stats’ 以收集历史数据。点击 ‘Create new chart’。
- 图表创建: 定义图表标题、大小、时间刻度(每日、每周)、时间长度,并选择要包含的作业(或所有作业)。
- 查看: 图表显示选定周期内所选作业的构建成功/失败/不稳定趋势。
Monitoring 插件 (Prometheus 集成 - 推荐)
Section titled “Monitoring 插件 (Prometheus 集成 - 推荐)”对于全面的监控,强烈推荐使用 ‘Monitoring’ 插件。它以与 Prometheus 等监控系统兼容的格式暴露详细的 Jenkins 内部指标。
- 安装: 安装 ‘Monitoring’ 插件。
- 配置: 提供一个 Prometheus 可以抓取的端点(通常是
/prometheus或/metrics/<api_key>)。 - 暴露的指标: 包括 JVM 指标(内存、垃圾回收、线程)、执行器使用情况、代理状态、队列长度、作业健康状况、构建持续时间、插件统计等更多内容。
- 可视化: 使用带有 Prometheus 数据源的 Grafana 创建强大的仪表盘,可视化 Jenkins 的健康状况和性能随时间的变化。
- 优点: 提供深入的洞察,允许基于指标设置警报(例如,队列长度超过阈值时发出警报),并将 Jenkins 集成到您的标准基础设施监控中。
选择合适的方法
Section titled “选择合适的方法”从内置指标和流水线可视化开始。要获得更详细的作业可靠性洞察,请使用 ‘Build History Metrics’ 插件。对于实例范围的趋势,‘Global Build Stats’ 提供简单的图表。对于健壮的、生产级别的监控和警报,请使用 Prometheus 和 Grafana 实施 ‘Monitoring’ 插件。