Prometheus: Prometheus Blackbox Exporter 配置

本文件是Blackbox Exporter指南的一部分。請在此處查看完整指南:如何使用 Prometheus Blackbox Exporter 探測 HTTP 和 ICMP(ping)端點

👋 歡迎來到 Stackhero 文件中心!

Stackhero 提供全代管的 Prometheus cloud 平台,專為高可靠性與簡易操作而設計:

  • 內建 Alert Manager,可直接將警報發送到 SlackMattermostPagerDuty 及其他主流平台。
  • 專屬電子郵件伺服器,讓您無需額外設定即可發送無限量電子郵件警報
  • 內含 Blackbox,可針對 HTTPICMPTCP 等多種協定進行全面監控探測。
  • 可透過線上設定檔編輯器快速設定您的實例,無需手動管理 YAML。
  • 一鍵升級,Stackhero 會自動處理更新流程,最大程度減少停機與人工干預。
  • 專屬私有基礎架構,內建高效能與強化安全性。

約 5 分鐘即可完成部署。Stackhero 幫您搞定所有安裝設定,讓您專注於監控本身,而非維護作業。立即體驗 Prometheus cloud hosting on Stackhero,讓您的監控與警報流程更有效率。

設置 Blackbox Exporter 涉及兩個關鍵文件:blackbox-exporter.yml 用於核心設置,prometheus.yml 用於定義 Prometheus 如何從 exporter 中抓取數據。

blackbox-exporter.yml 文件中找到的核心配置,指定支持哪些協議以及如何監控它們。

Stackhero for Prometheus 上,這個文件預先配置為支持 ICMP 監控和 HTTP/HTTPS 監控(通過 GET 和 POST 請求)。如果您需要為更高級的場景定制此文件,可以查看 Blackbox Exporter 存儲庫 中的配置示例,並查閱官方文檔以獲取更多指導。

大多數配置將在 prometheus.yml 文件中進行,您可以指示 Prometheus 像其他 exporter 一樣從 Blackbox Exporter 中抓取數據。

例如,考慮下面的配置,每 15 秒檢查一次 prometheus.iografana.com 的 ICMP(ping)回應(由 scrape_interval 定義)。您可以將此塊添加到 prometheus.yml 文件的 scrape_configs 部分,並更新 targets 陣列以監控您希望的域名或 IP 地址:

  - job_name: "blackbox-icmp"
    metrics_path: "/blackbox-exporter/probe"
    params:
      module: [ "icmp" ]
    relabel_configs:
      - source_labels: [ "__address__" ]
        target_label: "__param_target"
      - source_labels: [ "__param_target" ]
        target_label: "instance"
      - target_label: "__address__"
        replacement: "prometheus-blackbox-exporter:9115"
    static_configs:
      - targets: [ "prometheus.io", "grafana.com" ]

同樣,下面的配置監控 HTTP 伺服器。在此設置中,如果 HTTP 回應狀態不在 2xx 範圍內,目標將被標記為錯誤。您可以將此塊插入到 prometheus.yml 文件的 scrape_configs 部分,並更新 targets 陣列以監控您希望的 URL:

  - job_name: "blackbox-http"
    metrics_path: "/blackbox-exporter/probe"
    params:
      module: [ "http_2xx" ]
    relabel_configs:
      - source_labels: [ "__address__" ]
        target_label: "__param_target"
      - source_labels: [ "__param_target" ]
        target_label: "instance"
      - target_label: "__address__"
        replacement: "prometheus-blackbox-exporter:9115"
    static_configs:
      - targets: [ "https://prometheus.io/", "https://grafana.com/" ]

配置好抓取任務後,您可以在 Blackbox UI 中查看調試日誌。UI 的鏈接可在您的 Stackhero 儀表板上找到,提供有關探測結果的寶貴見解。

Blackbox UI 顯示最近抓取的結果Blackbox UI 顯示最近抓取的結果