運維實戰(zhàn):兩種方式對Jenkins監(jiān)控
一.Monitoring插件
Monitoring插件(monitoring)使用JavaMelody,對Jenkins進行監(jiān)控。插件提供的監(jiān)控維度非常多:有內(nèi)存、CPU、HTTP相應(yīng)時間,當(dāng)前請求數(shù)??上]告警功能。
圖片
安裝好插件后,可以在Manage Jenkins菜單下找到Monitoring of Jenkins master菜單項
圖片
單擊菜單項進入后,顯示Monitoring儀表盤,但是沒有告警,不適合在大型項目中使用
圖片
二.Prometheus監(jiān)控
Prometheus是一款開源的監(jiān)控、告警系統(tǒng),是繼k8s之后第二從Cloud Native Computing Foundation(云原生計算基金會,簡稱CNCF)畢業(yè)的項目。 Prometheus實現(xiàn)了與Zabbix或者Open-Falcon類似的功能,但更強大。
不像Zabbix和Open-Falcon采用的是push模式收集指標(biāo)數(shù)據(jù)的,Prometheus采用的是pull模式,即Prometheus的服務(wù)器端主動從客戶端拉取指標(biāo)數(shù)據(jù)。這個客戶端被稱為exporter。我們會在Jenkins上安裝Prometheus插件,目的就是為了暴露一個借口(exporter),這樣Prometheus就可以拉取到指標(biāo)數(shù)據(jù)了。
Prometheus本身是提供界面的,只不過過于簡陋。所以,一般都會使用Grafana對指標(biāo)進行展示。
圖片
整合步驟: 1.Jenkins:安裝Prometheus插件(prometheus),Jenkins將暴露一個 “/prometheus” 接口。Prometheus插件本身是可以配置的。進入Manage Jenkins-》Configure System頁面。
圖片
圖片
通過此配置,我們可以選擇暴露接口的URL,以及暴露哪些指標(biāo)數(shù)據(jù)。
圖片
2.配置Prometheus向Jenkins拉取監(jiān)控指標(biāo)數(shù)據(jù),加入配置
# 具體的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數(shù)組的值是Jenkins的 ip地址:端口。
3.grafana:增加Prometheus數(shù)據(jù)源。
4.grafana:增加Jenkins:performanace and health overview面板,用以呈現(xiàn)Jenkins的數(shù)據(jù)。導(dǎo)入模板,這里導(dǎo)入的模板id是9964
圖片