天天看點

Prometheus監控運維實戰十四:探針監控

目前對于應用程式的監控主要有兩種方式,一種被稱為白盒監控,它通過擷取目标的内部資訊名額,來監控目标的狀态情況,我們前面介紹的主機監控、容器監控都屬于此類監控。另一種則是“黑盒監控”,它指在程式外部通過探針的方法模拟通路,擷取程式的響應名額來監控程式狀态,如請求處理時間、狀态碼等。在實際生産環境中, 往往會将兩種監控方式混合使用,以實作對應用的全方位監控。

本篇我們将介紹prometheus如何通過blackbox exporter的探針檢測功能,來實作對應用的外部監控。

blackbox exporter使用go語言開發,它支援通過http、https、dns、tcp和icmp的方式來探測目标端點。它的使用方式與其他exporter不太一樣,在blackbox exporter的内部需要定義好檢查的子產品,如http檢測子產品。prometheus将目标和子產品名做為url的參數傳遞給blackbox exporter,再由exporter 生成對應的探測請求到目标端點,根據傳回的請求狀态生成對應的時間序列名額,并傳遞給prometheus。

Prometheus監控運維實戰十四:探針監控

探針檢測非常有用,比如我們可以在多個分散的地點部署探針檢測,來了解公司提供對外服務的站點在該地區的通路是否正常。目前有不少商業機構有提供專業的探針檢測服務,如聽雲、博睿、監控寶等。當然 ,你也可以通過blackbox exporter來搭建自己的探針監控。

blackbox exporter提供了支援不同平台的安裝檔案 ,包括linux、windows、max os等,本文我們使用linux版本的安裝檔案來示範。

下載下傳二進制檔案 

解壓安裝包,并拷貝執行指令到bin目錄 

檢視版本

blackbox exporter需要在配置檔案中定義子產品,每個子產品有特定的名稱和探針,如用于檢查http服務的http探針、用于檢查tcp連接配接的tcp探針等。此處我們以http子產品為例,來示範配置的操作。(其他更多配置,可參見prometheus的示例檔案 :https://github.com/prometheus/blackbox_exporter/blob/master/example.yml。)

建立 blackbox.yml配置檔案,包含以下内容:

注釋:此處我們定義了一個子產品名為http_2xx,使用http探針,探針檢測超過5秒會被當成逾時。valid_status_codes定義傳回的響應碼,valid_http_versions定義探針的http版本,method則定義了請求模式,可支援get和post。

啟動exporter,并加載指定配置檔案 

我們在prometheus上面配置一個示例任務,以百度和163網站為例,示範對于網站的http檢測 。

配置完成後,等prometheus加載新配置後,可看到相關的targets已生成。

Prometheus監控運維實戰十四:探針監控

在任務生效後,可以看到與該任務相關的探測名額。

Prometheus監控運維實戰十四:探針監控

1. 選擇"create"-"import"

Prometheus監控運維實戰十四:探針監控

2. 填寫dashboard模闆id号,點選load

Prometheus監控運維實戰十四:探針監控

3. 選擇對應的prometheus 資料源,點選import

Prometheus監控運維實戰十四:探針監控

4. 導入完成後,即可在新的dashboard檢視資料名額。

Prometheus監控運維實戰十四:探針監控

繼續閱讀