首页主机资讯centos jenkins监控与告警设置

centos jenkins监控与告警设置

时间2025-11-24 12:27:03发布访客分类主机资讯浏览1040
导读:CentOS 上搭建 Jenkins 监控与告警的实用方案 一 监控体系总览与准备 监控目标分层 基础设施:CPU、内存、磁盘 IO、网络、系统负载(Node Exporter → Prometheus)。 Jenkins 进程与 J...

CentOS 上搭建 Jenkins 监控与告警的实用方案


一 监控体系总览与准备

  • 监控目标分层
    • 基础设施:CPU、内存、磁盘 IO、网络、系统负载(Node Exporter → Prometheus)。
    • Jenkins 进程与 JVM:JVM 堆/非堆、GC、线程、HTTP 请求耗时(Jenkins Prometheus 插件)。
    • 业务与流水线:Job 排队、构建时长、失败率、不稳定率(Prometheus/Grafana 或 InfluxDB/Grafana)。
    • 日志:实时检索与告警(Filebeat/Logstash → Elasticsearch/Kibana 或 Splunk)。
  • 准备与权限
    • 建议以 Jenkins 专用系统用户运行,开启 Jenkins URL 与 API 访问;必要时为监控与告警创建 只读/凭证
    • 防火墙放行 Jenkins 8080Prometheus 9090 等端口(如启用防火墙)。

二 系统与应用日志监控

  • 实时查看与检索
    • Jenkins 应用日志:tail -f /var/log/jenkins/jenkins.log;配合 grep/less 检索关键字(如 “ERROR”“OutOfMemoryError”)。
    • Web 端日志:Manage Jenkins → System Log,可按日志级别与类型浏览。
  • 日志轮转与保留
    • /etc/logrotate.d/jenkins 创建配置,示例:
      /var/log/jenkins/*.log {
          
        daily
        rotate 7
        compress
        missingok
        notifempty
        create 0644 jenkins jenkins
        sharedscripts
        postrotate
          if [ -f /var/run/jenkins/jenkins.pid ];
       then
            kill -HUP $(cat /var/run/jenkins/jenkins.pid)
          fi
        endscript
      }
          
      
    • 说明:按日轮转、保留 7 天、压缩旧日志,并通过 SIGHUP 通知 Jenkins 重新打开日志文件。
  • 集中式日志与告警
    • /var/log/jenkins/ 接入 ELK(Elasticsearch/Logstash/Kibana)Splunk,便于统一检索、可视化与基于日志的告警规则(如错误关键字频发)。

三 指标监控 Prometheus Grafana 与 JavaMelody

  • Prometheus + Grafana(推荐)
    • Jenkins 插件:安装 Prometheus metrics 插件,暴露 /prometheus 指标端点。
    • Prometheus 抓取示例(prometheus.yml):
      scrape_configs:
        - job_name: 'jenkins'
          metrics_path: '/prometheus'
          static_configs:
            - targets: ['<
          jenkins_ip>
          :8080']
      
    • Grafana:添加 Prometheus 数据源,导入 Jenkins 仪表板模板(如 ID 9964),即可查看构建队列、构建时长、节点状态、HTTP 响应时间等。
  • JavaMelody(轻量内置可视化)
    • 安装 Monitoring 插件(JavaMelody),在 Manage Jenkins 可见 Monitoring of Jenkins master 仪表盘,覆盖 CPU、内存、HTTP 响应时间、当前请求数 等;适合快速上手与单机观测。
  • InfluxDB + Grafana(可选)
    • 安装 InfluxDBJenkins InfluxDB 插件,将 Job 与构建结果写入 InfluxDB,再由 Grafana 展示趋势与对比分析。

四 告警通道与触发规则

  • 邮件告警(Email Extension)
    • 插件:Email Extension Plugin(可配合模板插件)。
    • 系统配置:Manage Jenkins → Configure System → Extended E-mail Notification,配置 SMTP、端口、SSL/TLS、发件人;使用“Test configuration by sending test e-mail”验证。
    • 任务配置:Post-build Actions → Editable Email Notification,设置收件人、主题/内容模板、触发条件(如 Failure - AnyUnstableSuccess、回归稳定等)。
    • 内容变量:常用 $BUILD_NUMBER、$BUILD_STATUS、$BUILD_URL、$PROJECT_NAME、$CONSOLE_OUTPUT 等,支持 HTML 与附件。
  • 即时通信与短信
    • Slack:安装 Slack Notification 插件,配置团队域名与 Token,在任务中按事件推送至指定频道。
    • 企业微信:安装企业微信通知插件,配置 CorpID/AppID/Secret,在任务中选择接收人与触发条件。
    • 短信:按服务商集成(插件或 API),在系统配置与任务中设置号码与触发条件。
  • Prometheus 侧告警(可选)
    • 在 Prometheus 配置 Alertmanager,对关键指标设置阈值与路由(如:构建队列过长、节点离线、HTTP 5xx 增多、JVM Full GC 频繁等),通过 邮件/企业微信/Slack/Webhook 发送告警。

五 快速落地清单

  • 基础与日志
    • 确认 Jenkins 8080 访问与日志路径 /var/log/jenkins/jenkins.log 可读取。
    • 部署 logrotate 策略,保证日志按日轮转与压缩,避免磁盘被占满。
  • 指标与可视化
    • 安装 Prometheus metrics 插件,在 Prometheus 中添加抓取任务,Grafana 导入 9964 仪表板并验证指标采集。
  • 告警
    • 配置 SMTP 邮件并在关键任务上启用 Editable Email Notification(至少包含 Failure/Unstable 触发)。
    • 按需启用 Slack/企业微信/短信 通知,覆盖值班与研发群组。
  • 巡检与优化
    • 每周巡检:构建失败率、平均构建时长、节点在线率、磁盘与 JVM 使用趋势;结合日志与指标定位瓶颈并优化流水线/资源。

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


若转载请注明出处: centos jenkins监控与告警设置
本文地址: https://pptw.com/jishu/754338.html
centos镜像中防火墙如何设置 Jenkins在CentOS上如何进行维护

游客 回复需填写必要信息