監控您的實例

如何從您的 Stackhero 實例獲取 Prometheus 實時指標

Stackhero 幫助您以 Prometheus 格式檢索實例的實時指標。這種無縫集成使您可以輕鬆使用 Grafana 儀表板可視化數據,並使用 Prometheus(通過電子郵件、SMS、Slack、Mattermost 等)在幾分鐘內為所有 Stackhero 服務觸發警報。

Grafana 儀表板顯示實時實例Grafana 儀表板顯示實時實例

Stackhero 提供一個 "Service Discovery" HTTP 端點,返回以 Prometheus 格式的實時指標。

以下是整體運作方式:

  1. 您的 Prometheus 伺服器每 15 秒連接一次 Stackhero 的 API,以檢索實例的實時指標。
  2. 當定義的條件滿足時,您的 Prometheus 伺服器使用 Alert Manager 觸發警報。
  3. 您的 Grafana 伺服器連接到您的 Prometheus 伺服器以顯示 Stackhero 實例的儀表板。

首先,您需要生成一個 token,讓您的 Prometheus 伺服器可以用來連接 Stackhero 的 API。

  • 連接到您的 Stackhero 儀表板。
  • 在左側菜單中,導航到 Prometheus
  • 點擊 Create a token
  • 添加描述,並在必要時限制 IP 訪問(保留 0.0.0.0/0 以允許任何 IP)。
  • 複製生成的 Prometheus 配置。

在 Stackhero 儀表板中創建 Prometheus token在 Stackhero 儀表板中創建 Prometheus token

還沒有 Prometheus 伺服器? 使用 Stackhero,您可以在短短 2 分鐘內啟動一個 managed Prometheus

打開您的 prometheus.yml 配置文件,並在文件末尾添加 "stackhero" 任務(先前生成的)。

以下是配置示例:

  - job_name: "stackhero"
    scheme: "https"
    basic_auth:
      username: "<ORGANIZATION_ID>"
      password: "<TOKEN>"
    http_sd_configs:
    - url: "https://api.stackhero.io/v1/prometheus/targets"
      refresh_interval: "15s" # 不要設置少於 15 秒!
      basic_auth:
        username: "<ORGANIZATION_ID>"
        password: "<TOKEN>"

導航到您的 Prometheus 儀表板,然後轉到 Status > Service Discovery。您應該會看到一個 "stackhero" 服務發現條目已註冊。

Prometheus 儀表板顯示 Stackhero 服務發現Prometheus 儀表板顯示 Stackhero 服務發現

接下來,轉到 Status > Targets。您應該會看到每個 Stackhero 實例的一個端點。

Prometheus 儀表板顯示 Stackhero 目標Prometheus 儀表板顯示 Stackhero 目標

恭喜!您的 Prometheus 伺服器現在自動檢索所有服務的實時指標。

還沒有 Grafana 伺服器? 使用 Stackhero,您可以在短短 2 分鐘內啟動一個 managed Grafana

您可以利用 Grafana 中的預配置儀表板來顯示您的實例指標。

  1. 在 Grafana 的網頁界面中,轉到 Create > Import
  2. Import via grafana.com 部分,將 ID 設置為 1860,然後點擊 Load 按鈕。
  3. 在下一頁,選擇您的 Prometheus 數據源,然後點擊 Import

Grafana 將生成一個儀表板,立即顯示從 Prometheus 檢索的數據!

Grafana 儀表板顯示實時實例Grafana 儀表板顯示實時實例

在屏幕的左上角,您可以通過點擊 host 列表來選擇要查看的實例。

在 "host" 列表中選擇實例在 "host" 列表中選擇實例

恭喜,您現在可以實時監控所有實例!