此 Python 腳本旨在從 Shelly Shelly Pro 3EM 設備收集指標
並將它們暴露給 Prometheus 進行監控。該腳本使用 Flask 建立一個 Web 伺服器,Prometheus 可以從中取得指標,並使用 Prometheus 用戶端程式庫來定義和更新指標。
Python 3.6 or higher
Flask
prometheus_client
requests
Install required packages:
pip install flask prometheus_client requests
Run the script:
python shelly_exporter.py
驗證腳本是否正在執行:開啟 Web 瀏覽器並導航至 http://<your_server_ip>:8004/metrics。您應該會看到 Prometheus 指標被公開。
將下列作業新增至 Prometheus 設定檔 (prometheus.yml) 中:
scrape_configs:
- job_name: 'shelly'
static_configs:
- targets: ['<your_server_ip>:8004']
sudo systemctl restart prometheus
開啟 Prometheus 的 Web 介面並導覽至「目標」頁面 (http://<your_prometheus_ip>:9090/targets)。確保 Shelly 匯出器目標已列出並標記為“UP”。
開啟 Grafana 並導航至「配置」>「資料來源」。點擊“新增資料來源”並選擇“Prometheus”。將 URL 設定為 http://<your_prometheus_ip>:9090 並按一下「儲存並測試」。
若要匯入預先配置的 Grafana 儀表板以監控您的 Shelly Pro 3EM 設備,請依照下列步驟操作:
確保您的 Grafana 執行個體已啟動並正在執行。應使用來自 Shelly Pro 3EM 導出器的指標在 Grafana 中配置 Prometheus 資料來源。
導入儀表板:在左側選單中,按一下「建立」>「導入」。系統將提示您貼上儀表板 JSON、上傳 JSON 檔案或輸入 Grafana 儀表板 ID ( 21725 )。選擇從本機系統上傳 shelly_pro_3em_dashboard.json 檔案的選項。
配置資料來源:上傳後,可能會提示您選擇Prometheus資料來源。選擇為您的 Shelly Pro 3EM 指標配置的正確資料來源。
儲存並查看儀表板:導入後,按一下「儲存」以儲存儀表板。現在您可以在 Grafana 儀表板上查看來自 Shelly Pro 3EM 設備的即時指標和歷史數據。
自訂儀表板 儀表板是完全可自訂的。您可以根據需要新增、刪除或修改面板。如需其他配置或做出改進,請隨時提交拉取請求或提出問題。
點擊“儲存”並為您的儀表板命名。現在您可以在 Grafana 中監控您的 Shelly 設備指標。
透過以下步驟,您可以使用 Prometheus 和 Grafana 監控 Shelly 設備的指標。