首页主机资讯Debian系统Jenkins的监控与报警

Debian系统Jenkins的监控与报警

时间2026-01-20 15:05:04发布访客分类主机资讯浏览1388
导读:Debian 上 Jenkins 的监控与报警实践 一 监控架构与分层 建议采用分层监控:系统层用 Node Exporter 采集 CPU、内存、磁盘、网络;应用层用 Jenkins Prometheus Metrics Plugin...

Debian 上 Jenkins 的监控与报警实践


一 监控架构与分层

  • 建议采用分层监控:系统层用 Node Exporter 采集 CPU、内存、磁盘、网络;应用层用 Jenkins Prometheus Metrics Plugin 暴露 Job、构建、节点(Agent)、队列、Executor 等业务指标;可视化与告警用 Prometheus + Grafana。两者职责不同:Node Exporter 关注“机器”,Jenkins 插件关注“CI/CD 业务”。在 Debian 上部署时,Node Exporter 以系统服务运行,Jenkins 插件在 Jenkins Web 应用内启用 。

二 快速落地步骤

  • 安装与启用指标导出
    • 在 Jenkins 管理界面安装并启用 Prometheus Metrics Plugin,确认能访问 http://< jenkins_host> :8080/prometheus
  • 配置 Prometheus 抓取
    • prometheus.yml 增加抓取任务(示例):
      • job_name: ‘jenkins’ scrape_interval: 15s static_configs:
        • targets: [‘jenkins.example.com:8080’] metrics_path: /prometheus
  • Grafana 可视化
    • 添加 Prometheus 数据源,导入 Jenkins 仪表盘模板(如 ID 9964),即可查看节点在线、构建成功率、队列与耗时等面板。
  • 主机层指标
    • 在 Debian 上部署 Node Exporter(默认 :9100/metrics),Prometheus 同步抓取,用于容量与性能瓶颈定位。

三 关键告警规则示例

  • 节点离线
    • 规则:default_jenkins_nodes_online == 0
    • 说明:标识 Agent 掉线,建议 for 设为 2–5 分钟 避免抖动。
  • 构建失败率升高
    • 规则:increase(jenkins_job_build_status_total{ result=“FAILURE”} [1h]) / increase(jenkins_job_build_status_total[1h]) > 0.1
    • 说明:近 1 小时 失败率超过 10% 触发。
  • 队列积压
    • 规则:jenkins_queue_size > 10
    • 说明:构建排队超过 10 可能需扩容 Executor 或优化任务。
  • 构建耗时异常
    • 规则:histogram_quantile(0.95, sum(rate(jenkins_job_build_duration_seconds_bucket[5m])) by (le)) > 600
    • 说明:P95 构建时长超过 10 分钟 触发,定位慢任务/测试/依赖。
  • 节点健康
    • 规则:jenkins_node_health{ health=“unhealthy”} > 0
    • 说明:节点健康检查异常(磁盘、插件、临时空间、死锁等)。

四 在 Jenkins 内配置构建结果通知

  • 邮件通知(推荐扩展)
    • 安装 Email ExtensionEmail Extension Template 插件;在“系统配置”填写 SMTP(如 smtp.qq.com:465/SSL),使用邮箱 授权码 作为密码,发送测试邮件验证;在 Job 的“构建后操作”按需添加触发器(如 Failure-AnySuccessUnstable 等),可使用模板丰富内容(如 BUILD_STATUS、PROJECT_NAME、BUILD_NUMBER、BUILD_URL 等变量)。
  • 即时通信工具
    • 通过 Slack Notification 等插件,在构建成功/失败/不稳定时推送消息到指定频道,适合团队协同与值班告警。

五 系统资源与日志的辅助监控

  • 资源占用与磁盘
    • 使用 sysstat(如 sar)观察 CPU、内存、I/O;定期清理 JENKINS_HOME 下旧构建与工件,避免 磁盘空间 耗尽导致实例异常。
  • 命令行与 API 巡检
    • 使用 jenkins-cli.jar 快速查看控制台日志或触发操作;通过 REST API 获取构建状态,例如:
      • curl -u 用户名:密码 http://< jenkins_url> /job/< job_name> /lastBuild/api/json
    • 结合定时任务与告警脚本,可实现“无人值守”的健康巡检与通知。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian系统Jenkins的监控与报警
本文地址: https://pptw.com/jishu/787295.html
Jenkins在Debian上怎么优化 Debian虚拟机内存分配最佳实践

游客 回复需填写必要信息