監控您的實例
如何從您的 Stackhero 實例獲取 Prometheus 實時指標
介紹
Stackhero 幫助您以 Prometheus 格式檢索實例的實時指標。這種無縫集成使您可以輕鬆使用 Grafana 儀表板可視化數據,並使用 Prometheus(通過電子郵件、SMS、Slack、Mattermost 等)在幾分鐘內為所有 Stackhero 服務觸發警報。
Grafana 儀表板顯示實時實例
Stackhero 上的 Prometheus 指標如何運作
Stackhero 提供一個 "Service Discovery" HTTP 端點,返回以 Prometheus 格式的實時指標。
以下是整體運作方式:
- 您的 Prometheus 伺服器每 15 秒連接一次 Stackhero 的 API,以檢索實例的實時指標。
- 當定義的條件滿足時,您的 Prometheus 伺服器使用 Alert Manager 觸發警報。
- 您的 Grafana 伺服器連接到您的 Prometheus 伺服器以顯示 Stackhero 實例的儀表板。
從您的實例檢索實時指標
1. 創建一個 token
首先,您需要生成一個 token,讓您的 Prometheus 伺服器可以用來連接 Stackhero 的 API。
- 連接到您的 Stackhero 儀表板。
- 在左側菜單中,導航到
Prometheus。 - 點擊
Create a token。 - 添加描述,並在必要時限制 IP 訪問(保留
0.0.0.0/0以允許任何 IP)。 - 複製生成的 Prometheus 配置。
在 Stackhero 儀表板中創建 Prometheus token
2. 配置您的 Prometheus
還沒有 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>"
3. 驗證 Prometheus 是否檢索到指標
導航到您的 Prometheus 儀表板,然後轉到 Status > Service Discovery。您應該會看到一個 "stackhero" 服務發現條目已註冊。
Prometheus 儀表板顯示 Stackhero 服務發現
接下來,轉到 Status > Targets。您應該會看到每個 Stackhero 實例的一個端點。
Prometheus 儀表板顯示 Stackhero 目標
恭喜!您的 Prometheus 伺服器現在自動檢索所有服務的實時指標。
4. 添加 Grafana 儀表板(可選)
還沒有 Grafana 伺服器? 使用 Stackhero,您可以在短短 2 分鐘內啟動一個 managed Grafana!
您可以利用 Grafana 中的預配置儀表板來顯示您的實例指標。
- 在 Grafana 的網頁界面中,轉到
Create>Import。 - 在
Import via grafana.com部分,將 ID 設置為1860,然後點擊Load按鈕。 - 在下一頁,選擇您的 Prometheus 數據源,然後點擊
Import。
Grafana 將生成一個儀表板,立即顯示從 Prometheus 檢索的數據!
Grafana 儀表板顯示實時實例
在屏幕的左上角,您可以通過點擊 host 列表來選擇要查看的實例。
在 "host" 列表中選擇實例
恭喜,您現在可以實時監控所有實例!