找回密碼
 立即註冊
    查看: 165|回覆: 0

    把 HA 的長期數據存到 InfluxDB + Grafana(2026 版:不要再寫 Flux)

    [複製鏈接]

    !lvup!   100%

    386

    主題

    27

    回帖

    2200萬

    積分

    管理員

    積分
    22006063
    發表於 2026-9-21 11:19:48 | 顯示全部樓層 |閱讀模式
    這篇有一個跟兩年前的教學完全相反的結論:不要用 Flux 寫查詢。

    Flux 已經進入維護模式(只修錯、不再加功能),而且下一代的 InfluxDB 完全不支援它。今天照舊教學寫出來的儀表板每一張圖都跑得動,所以你不會發現有問題 —— 直到某天要升級,才發現十幾張圖要一張一張重寫,而 Grafana 不會幫你轉換。

    所以這篇用 InfluxQL。它在 1.x、2.x、3.x 全部都在,寫一次可以一直用。

    下一代的 InfluxDB 完全不支援它

    步驟 1:先確認你真的需要這一套

    先做這一步,因為有相當比例的人做完會發現不用裝。

    HA 內建就有長期統計:任何帶 `state_class` 的感測器,HA 每小時會存一筆(最大、最小、平均),而且這些永遠不會被清除 —— `purge_keep_days` 管的是明細狀態,動不到長期統計。

    去看看你已經有什麼:


    • 側邊欄 能源 —— 用電、發電、瓦斯的日/月/年趨勢,內建就有
    • 側邊欄 歷史 → 把時間範圍拉到一年 —— 有長期統計的感測器會畫得出來
    • 設定 → 工具 → 統計 —— 列出所有進了長期統計的實體


    你會看到什麼:統計頁面列出一串實體。清單裡有你想長期追蹤的東西(用電量、室溫),而且歷史頁面拉到一年畫得出線,那就不用裝這一套。

    會需要 InfluxDB 加 Grafana 的,通常是這四種需求:


    • 要每分鐘的解析度,不是每小時
    • 要把好幾個來源疊在同一張圖上比較
    • 要做內建畫不出來的計算(室內外溫差、效率)
    • 要一面牆的儀表板


    步驟 2:選版本 —— 這一步選錯的症狀最難看出來

    InfluxDB 現在同時有三種可以裝,而其中一種會讓「長期數據」這件事直接失效。


    • InfluxDB 2.9 —— 維護模式(不再加新功能,但持續修錯)。HA 整合原生支援、Grafana 原生支援、一個 compose 就起來。查詢範圍沒有限制
    • InfluxDB 3 Core —— 最新、免費、官方鼓勵新部署用它。但單次查詢預設只能涵蓋約 72 小時,而且免費版沒有資料壓實(compactor),最多 5 個資料庫
    • InfluxDB 3 Enterprise —— 有 compactor,而且有一個免費的「家用」授權(非商業用途)。查詢範圍不受限


    那個 72 小時是這篇最需要警告的東西:它不會報錯。資料照常寫進去、磁碟照常長大、你去 Grafana 把時間範圍拉到「最近 7 天」,圖就是空的或只有右邊三天有線。看起來完全像是「資料沒寫進去」,於是你會去查整合、查權杖、查網路,查一整晚。

    它的本質是「單次查詢最多讀 432 個資料檔」,預設每 10 分鐘一個檔,算起來就是 72 小時。而且補寫舊資料會讓這個窗口更短,因為同一個時間區塊會多出檔案。

    建議:


    • 想最快跑起來、而且不想再折騰 → 用 2.9.1。它今天完全能用,維護模式不等於壞掉
    • 想直接站在未來那一邊 → 用 3-enterprise 加家用授權
    • 不要用 3 Core 存長期資料


    不管選哪一個,映像檔一定要釘完整版本號,不要寫 `influxdb:latest` 也不要寫 `influxdb:2`。Docker Hub 上 2 系與 3 系並存,浮動標籤哪天指向哪裡不是你能控制的,而InfluxDB 的大版本跨過去之後資料目錄不相容。

    下面兩條路線都給完整的檔案,挑一條做。

    步驟 3-A:起 InfluxDB 2.9(推薦的起點)

    建立 `docker-compose.yml`:

    以下還有約 86% 的內容
    登入後即可閱讀完整教學

    登入繼續閱讀使用 Google 登入
    您需要登入後纔可以回帖 登入 | 立即註冊

    本版積分規則

    延伸閱讀

    加入惟家 LINE 群 QR Code加入惟家 LINE 群

    Archiver|手機版|惟家的智能論壇

    GMT+8, 2026-11-10 01:01 , Processed in 0.123714 second(s), 25 queries .

    快速回覆 返回頂部 返回列表