這裏分享一個用於黑盒監控的blackbox_exporter, 能夠用於對http,https,tcp,dns以及ICMP協議進行探測,從而抓取數據進行監控。可是,這些對於咱們來講究竟能解決什麼用處。json
咱們能夠經過blackbox_exporter對服務進行狀態碼監測,咱們能夠在代碼中查看返回成功的狀態碼是哪些,狀態碼監測規則能夠經過下圖看出。
tcp
這樣的話,咱們就能夠判斷服務是否還在正常的工做,網站有沒有出現不可訪問,站在用戶的角度上進行對服務資源監控。固然這裏還能夠對支持https的證書的有效期進行監控,看下圖,有兩個域名的證書還有一年半的時間到期。只要數據採集到了,咱們就能夠經過數據進行有效的告警,不用專門的再去寫拓展服務區監控證書到期時間了。ide
一樣的Blackbox_exporter也能夠爲域名的DNS作解析的探測,嘗試不一樣的DNS對域名服務解析是否出現問題,好比我這裏作的效果圖。網站
一樣的,blackbox_exporter如Github中介紹所說的,能夠作http,https,tcp,icmp,DNS等探測,因此你能夠經過本身的需求進行數據的採集,讓系統的數聽說話。代理
下面咱們講講如何實現這些數據採集以及監控:第一步仍是安裝,準備一個blackbox_exporter的Agent,讓它做爲代理去爲咱們採集數據。指針
首先咱們應該準備一個探針模塊做爲blackbox_exporter的配置文件blackbox_exporter.yml,這裏咱們使用HTTP、DNS兩個模塊做爲演示案例日誌
配置文件準備好以後,咱們就能夠開始運行blackbox_exporter 容器了。dns
運行起來以後,查看一些容器的運行日誌
資源
假設咱們這裏有現成的Promtheus服務。咱們如今就能夠將blackbox_exporter寫進promtheus服務域名
仔細看一下prometheus的配置文件,咱們會發現檢查項都是經過動態文件來發現的,其中blackbox_dns.json用於發現待需檢查的域名,blackbox_http.json用於發現使用http模塊嗅探服務正常的配置文件,下面咱們須要在prometheus的配置文件的同級目錄下加入這兩個文件。
blackbox_dns.json
blackbox_http.json
這樣咱們實現了針對DNS,http兩種探測指針的演示,咱們看一下Prometheus中Http模塊監測狀態
一樣的,我這裏使用了Grafana用於對HTTP監測的數據進行圖標的展現,這裏分享Dashboard的ID爲9965和7587
【7587】
【9965】
咱們會不按期的分享一些技術文章,有須要的能夠關注一下哦。