這里分享一個用于黑盒監控的blackbox_exporter, 可以用于對http,https,tcp,dns以及ICMP協議進行探測,從而抓取數據進行監控。但是,這些對于我們來說究竟能解決什么用處。
我們可以通過blackbox_exporter對服務進行狀態碼監測,我們可以在代碼中查看返回成功的狀態碼是哪些,狀態碼監測規則可以通過下圖看出。
這樣的話,我們就可以判斷服務是否還在正常的工作,網站有沒有出現不可訪問,站在用戶的角度上進行對服務資源監控。當然這里還可以對支持https的證書的有效期進行監控,看下圖,有兩個域名的證書還有一年半的時間到期。只要數據采集到了,我們就可以通過數據進行有效的告警,不用專門的再去寫拓展服務區監控證書到期時間了。
同樣的Blackbox_exporter也可以為域名的DNS做解析的探測,嘗試不同的DNS對域名服務解析是否出現問題,比如我這里做的效果圖。
同樣的,blackbox_exporter如Github中介紹所說的,可以做http,https,tcp,icmp,DNS等探測,所以你可以通過自己的需求進行數據的采集,讓系統的數據說話。
下面我們講講如何實現這些數據采集以及監控:第一步還是安裝,準備一個blackbox_exporter的Agent,讓它作為代理去為我們采集數據。
首先我們應該準備一個探針模塊作為blackbox_exporter的配置文件blackbox_exporter.yml,這里我們使用HTTP、DNS兩個模塊作為演示案例
配置文件準備好之后,我們就可以開始運行blackbox_exporter 容器了。
運行起來之后,查看一些容器的運行日志
假設我們這里有現成的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】
我們會不定期的分享一些技術文章,有需要的可以關注一下哦。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。