運維實戰:兩種方式對Jenkins監控
一.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']
metrics path是Jenkins暴露給Prometheus的路徑。static configs數組的值是Jenkins的 ip地址:端口。
3.grafana:增加Prometheus數據源。
4.grafana:增加Jenkins:performanace and health overview面板,用以呈現Jenkins的數據。導入模板,這里導入的模板id是9964
圖片