亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

基于zabbix實現監控Jenkins過程詳解

瀏覽:262日期:2023-04-06 15:09:35

一、監控架構圖

二、實現思路

  • 在 Jenkins 上安裝 Metrics 插件,使 Jenkins 暴露 metrics api;
  • 編寫python代碼從api抓取數據,并將數據解析為zabbix可以識別的格式;
  • 配置 Zabbix server 及 agent 以實現監控及告警

三、具體配置

1、安裝Jenkins Metrics插件

插件下載地址:http://updates.jenkins-ci.org/download/plugins/metrics/

安裝 Metrics 插件,在系統配置中,會多出“Metrics”的配置,如下圖:


配置項不復雜。我們需要點擊“Generate...”生成一個 Access Key(生成后,記得要保存)。這個 Key 用于身份校驗,后面我們會用到。

保存后,我們在瀏覽器中輸入URL:http://jenkins.local,me/metrics/<剛生成的 Access Key> 驗證 Jenkins 是否已經暴露 metrics。如果看到如下圖,就說明可以進行下一步了:

1.1 Metrics 插件介紹

Metrics 插件是基于 dropwizard/metrics 實現。它通過4個接口暴露指標數據:/metrics,/ping,/threads,/healthcheck。

1.2 Metrics 插件:/metrics 接口介紹

點擊上圖中的metric鏈接(http://jenkins.local.me/metrics/<Access Key>/metrics),它暴露了以下指標數據:

{ version: "4.0.0", gauges: {...}, counters: {...}, histograms: {...}, meters: {...}, timers: {...}}

Gauges:某項指標的瞬時值,例如:當前 Jenkins executor 的總個數(jenkins.executor.count.value)
Counters:某項指標的總數值,例如:http 請求活動連接數(http.activeRequests)
Meters:一段時間內,某事件的發生概率,例如:Jenkins成功執行的任務每分鐘的執行次數(jenkins.runs.success.m1_rate)
Histogram:統計指標的分布情況。例如:Jenkins executor 數量的分布(jenkins.executor.count.history)
Timer:某項指標的持續時間。例如:Jenkins 任務等待時間(jenkins.job.waiting.duration)

1.3 Metrics插件其他接口

/ping:接口返回pong代表 Jenkins 存活,如下圖:

/threads:返回 Jenkins 的線程信息

/healthcheck:返回以下指標:

{ "disk-space" : {  "healthy" : true }, "plugins" : {  "healthy" : true,  "message" : "No failed plugins" }, "temporary-space" : {  "healthy" : true }, "thread-deadlock" : {  "healthy" : true }}

Zabbix server 通過與 Zabbix agent 進行通信實現數據的采集。而 Zabbix agent 又分為被動和主動兩種模式。我們使用的是被動模式,也就是Zabbix server 向 agent 索要數據。
所以,我們需要在 Zabbix agent 所在機器放一個獲取 Jenkins 指標數據的腳本。再配置 Zabbix server 定時從該 agent 獲取數據,最后配置觸發器(trigger)實現告警。

2.1 創建監控模板并鏈接至主機組


2.2 創建監控項

這里需要解釋其中幾個選項為什么要那樣填:

  • 類型:是 Zabbix server 采集指標的類型,我們選擇的是 Zabbix agent,如上文所說。
  • 鍵值:由于我們要監控的指標并不是 Zabbix 預定義的。所以,需要使用用戶自定義參數來實現監控 Jenkins 指標。Key 填的值為:jenkins.metrics[gauges.jenkins.node.count.value.value]。jenkins.metrics是需要執行的真正的 Key 名稱。而 [] 內是傳給該 Key 對應的命令的參數。對于初學者,Zabbix 這部分概念非常不好理解。也許這樣會更好理解:在使用用戶自定義參數來實現監控的情況下,Zabbix server 會將這個 Key 發送給 agent,然后 agent 根據這個 Key 執行指定的 邏輯 以獲取指標數據。這個 邏輯 通常是一段腳本(shell命令或Python腳本等)。而腳本也是可以傳參的,[]中的值就是傳給腳本的參數。
  • 信息類型:監控數據的數據類型,由于該監控項監控的是 Jenkins node 節點的個數,所以,使用數字整型。
  • 更新間隔:指 Zabbix server 多長時間向 agent 獲取一次數據。

到此,Zabbix server 端已經配置完成。可以在監測->最新數據中查看是否有最新的數據,然后可以創建儀表盤將數據以圖形的方式呈現出來。其他監控項也可以按此方法進行配置。

監控腳本代碼

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。

標簽: Zabbix
相關文章:
主站蜘蛛池模板: 亚洲午夜久久久久国产 | 久久国内精品自在自线400部o | 成年人网站免费观看 | 成人毛片网 | 日韩一级片网址 | 97超频国产在线公开免费视频 | 在线看免费观看韩国特黄一级 | 免费人欧美成又黄又爽的视频 | 韩国毛片 免费 | 国产精品成人免费视频 | 美女视频黄.免费网址 | 97se亚洲综合在线韩国专区福利 | 欧美综合另类 | 三级亚洲 | 日本三级成人中文字幕乱码 | 亚洲精品国产啊女成拍色拍 | 99久久99这里只有免费费精品 | 亚洲女人在线 | 99久久成人国产精品免费 | 欧美日本韩国一区二区 | 在线精品视频播放 | 日本japanesevideo黑人 | 国产一精品一aⅴ一免费 | 久久精品国产在爱久久 | 99精品网站 | 国产一级毛片视频 | 欧美另类久久久精品 | 国产一区二区在线 |播放 | 日本一级毛片高清免费观看视频 | 欧美激情亚洲一区中文字幕 | 一本色综合 | 国产人做人爱视频精品 | 国产精品国产 | 午夜在线视频一区二区三区 | 撸天堂| videosfree性欧美另类 | 黄色网址网站在线观看 | 亚洲成 人a影院青久在线观看 | 久久精品国产亚洲7777 | 亚洲欧美精选 | 国产精品久久久久三级 |