InfluxDB: 快速入門

如何快速設定並以最佳實踐管理 InfluxDB

👋 歡迎使用 Stackhero 文件

Stackhero 提供全代管的 InfluxDB cloud 環境,專為速度與簡易性設計:

  • 無限制的寫入、查詢、儀表板、任務與 buckets。
  • 無限制的資料保留:您的指標資料可依需求長期保存。
  • 無限制的網路與磁碟傳輸,無任何隱藏限制。
  • 一鍵更新:隨時享有最新功能與修正。
  • 穩定的效能與強化的安全性,專屬於您自己的私有基礎架構。

使用 Stackhero,您可以專注於資料與洞察分析。只需幾分鐘即可開始使用 InfluxDB cloud hosting,每個環境皆針對長期穩定性最佳化。

InfluxDB 並未直接在其網頁介面(Web UI)中提供使用者管理功能。您可以透過 InfluxDB CLI 有效率地進行使用者的建立與管理。

您可以透過 Docker 存取 InfluxDB CLI。例如,您可以執行以下指令:

docker run -it influxdb:2.8 /bin/bash

請記得將 2.8 替換為您的 InfluxDB 實例所使用的正確版本標籤。

啟動容器後,請建立一個設定。將 <XXXXXX>.stackhero-network.com 替換為您實際的 InfluxDB 網域:

influx config create \
  --config-name adminConfig \
  --active \
  --username-password admin \
  --org admin \
  --host-url https://<XXXXXX>.stackhero-network.com

設定完成後,您就可以使用 InfluxDB CLI 來管理使用者。例如,若要建立新使用者:

influx user create --name <user> --password <password>

InfluxDB 專為大量時序資料(time series data)而優化。由於它不會自動刪除舊資料,若未妥善管理,資料庫很快就會佔滿所有可用儲存空間。Stackhero 支援 InfluxDB 內建的資料管理功能,協助您有效避免這種情況。

InfluxDB 提供兩種主要解決方案:

  1. 保留政策(Retention policies): 自動刪除超過指定期間(例如 365 天)的資料。這可讓您的儲存空間使用量可預測,並避免手動清理。
  2. 資料降採樣(Downsampling data): 對於近期資料保留高解析度,對於較舊資料則僅保留彙總結果。例如:
    • 保留最近 5 分鐘的 1 秒解析度資料。
    • 對過去 24 小時,以 1 分鐘為間隔儲存最大值、最小值與平均值。
    • 對更舊的資料僅保留每小時的彙總值。

透過保留政策,您可以保留所需的歷史資料,同時不會佔用過多磁碟空間。如需更多關於降採樣的資訊,請參閱 官方 InfluxDB 降採樣文件

預設情況下,InfluxDB 會無限期保留資料。對於大多數時序資料應用,為每個 bucket 設定保留期間,可以確保您只保留所需資料,並防止儲存空間無限制成長。

設定保留政策的方法如下:

  1. 開啟 InfluxDB 網頁介面。
  2. 前往「Data」,然後選擇「Buckets」。
  3. 在相關 bucket 旁點選「Settings」。
  4. 在「Delete data older than」下方,選擇您偏好的保留期間。

超過所選保留期間的資料將會被永久刪除。

InfluxDB 以 shard(分片)方式儲存資料。只包含過期資料的 shard 會自動刪除。如果某個 shard 同時包含過期與現有資料,則會等到所有資料過期後才刪除。預設情況下,每個 shard 覆蓋 7 天的資料。當您設定新的保留政策時,最多可能有接近 7 天的舊資料會保留到下一個 shard 週期。更多細節請參閱 InfluxDB shard 文件

您可以在這個 InfluxDB Getting Started repository 中找到從 Node.js 傳送資料到 InfluxDB 的實用範例。