- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
歡迎來到藍隊云技術小課堂,每天分享一個技術小知識。
Blackbox Exporter 是 Prometheus 官方提供的一種黑盒監控解決方案,能夠通過 HTTP、HTTPS、DNS、TCP 和 ICMP 等方式對網絡進行探測。與傳統的白盒監控不同,黑盒監控更側重于從外部用戶的視角來測試服務的可用性及性能,通常以故障為導向,快速發現服務的中斷或異常。相比之下,白盒監控更強調主動發現潛在問題,通過監控內部系統指標預測故障。
一個完善的監控體系需要結合兩者:從白盒角度洞察潛在問題,從黑盒角度快速定位已發生的故障。
實際應用
下面以部署和配置 Blackbox Exporter 為例,演示如何實現端口監控和網絡探測。
1. 部署 Blackbox Exporter
方法一:Docker 運行
你可以直接使用官方提供的 Docker 鏡像來快速部署:
docker pull prom/blackbox-exporter
docker run --rm -d -p 9115:9115 --name blackbox_exporter \\
-v $(pwd):/config prom/blackbox-exporter:master \\
--config.file=/config/blackbox.yml
方法二:Docker Compose 部署
利用 docker-compose.yml 配置文件,可以更方便地管理服務。示例如下:
version: '2'services:
blackbox_exporter:
image: prom/blackbox-exporter
container_name: blackbox_exporter
restart: always
networks:
- nets
volumes:
- ./blackbox_exporter/blackbox.yml:/etc/blackbox_exporter/config.yml
ports:
- 9115:9115networks:
nets:
external: false
將上述內容保存為 docker-compose.yml,并運行以下命令啟動:
docker-compose up -d
2. Blackbox Exporter 配置
配置文件 blackbox.yml 定義了探測的模塊和具體方式。以下是一些常用的探測模塊配置示例:
modules:
http_2xx:
prober: http
timeout: 20s
http:
preferred_ip_protocol: "ip4" # 使用 IPv4
http_post_2xx_query:
prober: http
timeout: 20s
http:
preferred_ip_protocol: "ip4"
method: POST
headers:
Content-Type: application/json
body: '{"key":"value"}' # 示例請求體
tcp_connect:
prober: tcp
timeout: 5s
pop3s_banner:
prober: tcp
tcp:
query_response:
- expect: "^+OK"
tls: true
icmp:
prober: icmp
timeout: 20s
將該文件放在 Docker 容器掛載的路徑(如 ./blackbox_exporter/blackbox.yml)下,重啟服務即可生效。
3. Prometheus 配置 Blackbox Exporter
在 Prometheus 的 prometheus.yml 中添加 Blackbox Exporter 的探測任務:
scrape_configs:
- job_name: 'port_status'
metrics_path: /probe
params:
module: [tcp_connect] # 使用 TCP 探測
static_configs:
- targets:
- '192.168.10.1:22' # SSH 服務
- '192.168.10.2:80' # HTTP 服務
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 127.0.0.1:9115 # Blackbox Exporter 的地址
重新加載 Prometheus 配置:
curl -X POST http://<Prometheus地址>:9090/-/reload
4. Grafana 配置
模板導入
Grafana 提供豐富的監控模板,你可以直接導入模板 9965(Blackbox Exporter 模板):
前往 Grafana 儀表盤,點擊 導入(Import)。
輸入模板編號 9965,并選擇對應的 Prometheus 數據源。
應用后即可看到探測數據的可視化展示。
常見插件問題
如需安裝插件,可以通過以下命令驗證:
grafana-cli plugins ls
如果是 Docker 容器部署 Grafana,需要重啟容器使插件生效:
docker restart grafana
藍隊云官網上擁有完善的技術支持庫可供參考,大家可自行查閱,更多技術問題,可以直接咨詢。同時,藍隊云整理了運維必備的工具包免費分享給大家使用,需要的朋友可以直接咨詢。
更多技術知識,藍隊云期待與你一起探索。
提交成功!非常感謝您的反饋,我們會繼續努力做到更好!
這條文檔是否有幫助解決問題?
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP