一.Monitoring插件

Monitoring插件(monitoring)使用JavaMelody,对Jenkins进行监控。插件提供的监控维度非常多:有内存、CPU、HTTP相应时间,当前请求数。可惜没告警功能。

图片图片

安装好插件后,可以在Manage Jenkins菜单下找到Monitoring of Jenkins master菜单项

图片图片

单击菜单项进入后,显示Monitoring仪表盘,但是没有告警,不适合在大型项目中使用

图片图片

二.Prometheus监控

Prometheus是一款开源的监控、告警系统,是继k8s之后第二从Cloud Native Computing Foundation(云原生计算基金会,简称CNCF)毕业的项目。 Prometheus实现了与Zabbix或者Open-Falcon类似的功能,但更强大。

不像Zabbix和Open-Falcon采用的是push模式收集指标数据的,Prometheus采用的是pull模式,即Prometheus的服务器端主动从客户端拉取指标数据。这个客户端被称为exporter。我们会在Jenkins上安装Prometheus插件,目的就是为了暴露一个借口(exporter),这样Prometheus就可以拉取到指标数据了。

Prometheus本身是提供界面的,只不过过于简陋。所以,一般都会使用Grafana对指标进行展示。

图片图片

整合步骤: 1.Jenkins:安装Prometheus插件(prometheus),Jenkins将暴露一个 “/prometheus” 接口。Prometheus插件本身是可以配置的。进入Manage Jenkins-》Configure System页面。

图片图片

图片图片

通过此配置,我们可以选择暴露接口的URL,以及暴露哪些指标数据。

图片图片

2.配置Prometheus向Jenkins拉取监控指标数据,加入配置

# 具体的metrics_path自己测试路径
scrape_configs:
  - job_name: 'jenkins'
    metrics_path: "jenkins/prometheus"
    static_configs:
    - targets: ['1.1.1.1:11']


# vim prometheus-configmap.yaml
    - job_name: "jenkins"
      metrics_path: "/prometheus/"
      scheme: http
      scrape_interval: 10s
      scrape_timeout: 10s
      bearer_token: bearer_token
      static_configs:
      - targets: ['172.16.1.110:30009']