Linux下Jenkins配置怎样实现远程监控
导读:Linux下Jenkins远程监控配置指南 一、监控目标与总体架构 监控对象分层: Jenkins 应用层:Job 构建成功率/耗时、队列长度、Executor 使用、节点在线状态等。 操作系统层:CPU、内存、磁盘、网络等资源使用。...
Linux下Jenkins远程监控配置指南
一、监控目标与总体架构
- 监控对象分层:
- Jenkins 应用层:Job 构建成功率/耗时、队列长度、Executor 使用、节点在线状态等。
- 操作系统层:CPU、内存、磁盘、网络等资源使用。
- 推荐架构:
- 应用层指标用 Jenkins Prometheus Metrics 插件 暴露 /prometheus 端点,由 Prometheus 抓取,Grafana 可视化与告警。
- 系统层指标用 Node Exporter 采集,Prometheus 一并抓取展示。
- 若仅需轻量自检与健康探针,可使用 Metrics 插件 的 /ping、/healthcheck、/threads、/metrics 端点。
二、快速落地 Prometheus Grafana 监控
- 步骤1 安装插件并验证端点
- 在 Jenkins 管理后台安装 Prometheus Metrics Plugin,安装完成后确认可访问 http://:8080/prometheus,能看到以 jenkins_ 为前缀的指标。
- 步骤2 配置 Prometheus 抓取
- 在 prometheus.yml 增加抓取任务(示例):
- job_name: ‘jenkins’
scrape_interval: 15s
metrics_path: ‘/prometheus’
static_configs:
- targets: [‘< jenkins_host> :8080’]
- job_name: ‘jenkins’
scrape_interval: 15s
metrics_path: ‘/prometheus’
static_configs:
- 重启 Prometheus,在 UI 的 Targets 页面确认 jenkins 任务状态为 UP。
- 在 prometheus.yml 增加抓取任务(示例):
- 步骤3 Grafana 可视化与告警
- 添加 Prometheus 数据源,导入 Jenkins 官方或社区仪表盘(如 ID 9964 等),展示节点在线、构建成功率、队列与耗时等面板。
- 在 Prometheus 配置告警规则示例(节点离线):
- alert: JenkinsNodeOffline expr: default_jenkins_nodes_online == 0 for: 2m labels: severity: warning annotations: summary: “Jenkins 节点离线” description: “Jenkins 节点 { { $labels.node } } 已离线超过 2 分钟”。
三、轻量替代 Metrics 插件与系统层监控
- 轻量应用监控(无 Prometheus 时)
- 安装 Metrics 插件,生成 Access Key,通过 /metrics/ 获取 JSON 指标;使用 /ping 做存活探测,用 /healthcheck 查看磁盘、插件等健康项,用 /threads 排查线程问题。
- 系统资源监控
- 在 Jenkins 所在主机部署 Node Exporter(默认端口 9100),Prometheus 同时抓取 Node Exporter :9100/metrics 与 Jenkins :8080/prometheus,实现“应用+系统”一体化观测。
- 主机防火墙放行(示例)
- Ubuntu/Debian:sudo ufw allow 8080,9100/tcp
- CentOS/RHEL:sudo firewall-cmd --permanent --add-port=8080,9100/tcp & & sudo firewall-cmd --reload。
四、远程访问与安全加固
- 反向代理与 HTTPS
- 使用 Nginx/Apache 反向代理 8080,启用 TLS/HTTPS 与强认证,避免在公网暴露明文端口。
- 访问控制
- 在 Manage Jenkins → Security 中启用安全策略,禁用匿名访问,使用强密码/API Token;为 Prometheus 抓取创建只读账号或采用 IP 白名单。
- 远程触发与自动化
- 通过 Jenkins REST API 远程获取构建状态、触发任务等,例如:
- curl -u : http://:8080/job/< job_name> /lastBuild/api/json
- 如需从 Jenkins 主动远程执行命令/传输文件,可安装 Publish Over SSH 插件,在“系统配置”中添加目标主机 SSH 信息(密钥认证优先)。
- 通过 Jenkins REST API 远程获取构建状态、触发任务等,例如:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux下Jenkins配置怎样实现远程监控
本文地址: https://pptw.com/jishu/770206.html
