阅读量:12
Ubuntu Jenkins性能监控实施指南
一、内置插件监控(快速上手)
1. Monitoring Plugin(JavaMelody)
作用:提供Jenkins Master节点的CPU使用率、内存占用、系统负载、HTTP平均响应时间、当前并发请求数等基础性能指标,支持生成HTML报告。
安装步骤:
- 登录Jenkins管理界面,点击Manage Jenkins → Manage Plugins → Available;
- 搜索“Monitoring”,安装“Monitoring”插件;
- 安装完成后,进入Manage Jenkins → Monitoring of Jenkins master查看实时监控仪表盘。
2. Node Disk Space Plugin
作用:专门监控Jenkins节点(Master/Slave)的磁盘空间使用情况,当剩余空间低于预设阈值(如10%)时,触发告警提醒清理。
配置方法:
- 安装插件后,进入Manage Jenkins → Configure System;
- 找到“Disk Space Monitoring” section,添加节点路径(如
/var/lib/jenkins)和阈值; - 保存配置后,插件会在“Monitoring”页面显示磁盘空间趋势图。
二、第三方工具监控(专业级可视化)
1. Prometheus + Grafana(指标采集+可视化)
架构优势:Prometheus定时拉取Jenkins暴露的指标数据(如构建成功率、队列等待时间、节点资源利用率),Grafana通过可视化面板展示趋势,支持告警规则配置。
配置步骤:
- Jenkins端:安装“Prometheus Plugin”,进入Manage Jenkins → Configure System,在“Prometheus” section启用插件并设置指标路径(默认
/prometheus); - Prometheus端:编辑
prometheus.yml,添加Jenkins抓取任务:重启Prometheus生效;scrape_configs: - job_name: 'jenkins' metrics_path: '/prometheus' static_configs: - targets: ['jenkins_ubuntu_ip:8080'] # 替换为实际IP - Grafana端:添加Prometheus数据源(URL为
http://prometheus_ip:9090),导入Jenkins官方面板(如“Jenkins Performance Overview”),自定义展示CPU、内存、构建时长等指标。
2. Zabbix(企业级监控)
功能:支持监控Jenkins节点的CPU、内存、磁盘、网络流量及Jenkins服务状态(如端口监听、进程存活),可实现自动发现节点、阈值告警(如CPU超过80%持续5分钟)。
配置步骤:
- 环境准备:安装Zabbix Server、Agent(Ubuntu节点),配置数据库及前端;
- Jenkins端:安装“Metrics Plugin”,启用JMX监控(可选),暴露
/metrics接口; - Zabbix端:添加Jenkins主机,配置监控项(如
system.cpu.util、vfs.fs.size[/var/lib/jenkins,free]),设置触发器(如{Jenkins:system.cpu.util.avg(5m)}>80),并关联告警动作(邮件/钉钉通知)。
三、命令行监控(轻量级排查)
1. 基础命令
- 查看Jenkins进程状态:
ps aux | grep jenkins(确认进程是否运行); - 查看Jenkins端口监听:
netstat -tuln | grep 8080(默认端口8080,确保服务可访问); - 实时监控系统资源:
top(CPU/内存占用)、htop(增强版top,支持排序)、iostat(磁盘I/O)、iftop(网络流量)。
2. Jenkins CLI
用途:通过命令行获取Jenkins Job状态,适合集成到脚本或CI/CD流程中。
示例命令:
java -jar jenkins-cli.jar -s http://jenkins_ubuntu_ip:8080 -auth username:api_token console http://jenkins_ubuntu_ip/job/job_name/lastBuild
说明:替换username(Jenkins账号)、api_token(账号对应的API Token,可在用户设置中生成)、job_name(目标Job名称),执行后可查看最近一次构建的日志输出。
四、告警机制(及时响应)
1. 邮件告警(基础通知)
配置步骤:
- 安装“Email Extension”插件;
- 进入Manage Jenkins → Configure System,找到“Email Notification” section,配置SMTP服务器(如Gmail、企业邮箱)、发件人地址、收件人列表;
- 在Job配置中勾选“Post-build Actions → Email Notification”,设置触发条件(如“Failure”“Unstable”)。
2. 第三方工具告警(实时性强)
- 钉钉/企业微信:通过“DingTalk Plugin”或“WeCom Plugin”,配置机器人Webhook地址,在告警规则中关联插件,实现消息推送;
- ElastAlert:基于Elasticsearch的告警工具,可监控Jenkins日志或指标,支持复杂规则(如“1小时内失败次数超过5次”),触发邮件/Slack通知。