InfluxDB: 快速入門
如何快速設定並以最佳實踐管理 InfluxDB
👋 歡迎使用 Stackhero 文件
Stackhero 提供全代管的 InfluxDB cloud 環境,專為速度與簡易性設計:
- 無限制的寫入、查詢、儀表板、任務與 buckets。
- 無限制的資料保留:您的指標資料可依需求長期保存。
- 無限制的網路與磁碟傳輸,無任何隱藏限制。
- 一鍵更新:隨時享有最新功能與修正。
- 穩定的效能與強化的安全性,專屬於您自己的私有基礎架構。
使用 Stackhero,您可以專注於資料與洞察分析。只需幾分鐘即可開始使用 InfluxDB cloud hosting,每個環境皆針對長期穩定性最佳化。
管理 InfluxDB 使用者
InfluxDB 並未直接在其網頁介面(Web UI)中提供使用者管理功能。您可以透過 InfluxDB CLI 有效率地進行使用者的建立與管理。
使用 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 提供兩種主要解決方案:
- 保留政策(Retention policies): 自動刪除超過指定期間(例如 365 天)的資料。這可讓您的儲存空間使用量可預測,並避免手動清理。
- 資料降採樣(Downsampling data): 對於近期資料保留高解析度,對於較舊資料則僅保留彙總結果。例如:
- 保留最近 5 分鐘的 1 秒解析度資料。
- 對過去 24 小時,以 1 分鐘為間隔儲存最大值、最小值與平均值。
- 對更舊的資料僅保留每小時的彙總值。
透過保留政策,您可以保留所需的歷史資料,同時不會佔用過多磁碟空間。如需更多關於降採樣的資訊,請參閱 官方 InfluxDB 降採樣文件。
設定 InfluxDB 的資料保留政策
預設情況下,InfluxDB 會無限期保留資料。對於大多數時序資料應用,為每個 bucket 設定保留期間,可以確保您只保留所需資料,並防止儲存空間無限制成長。
設定保留政策的方法如下:
- 開啟 InfluxDB 網頁介面。
- 前往「Data」,然後選擇「Buckets」。
- 在相關 bucket 旁點選「Settings」。
- 在「Delete data older than」下方,選擇您偏好的保留期間。
超過所選保留期間的資料將會被永久刪除。
InfluxDB 以 shard(分片)方式儲存資料。只包含過期資料的 shard 會自動刪除。如果某個 shard 同時包含過期與現有資料,則會等到所有資料過期後才刪除。預設情況下,每個 shard 覆蓋 7 天的資料。當您設定新的保留政策時,最多可能有接近 7 天的舊資料會保留到下一個 shard 週期。更多細節請參閱 InfluxDB shard 文件。
從 Node.js 傳送資料到 InfluxDB
您可以在這個 InfluxDB Getting Started repository 中找到從 Node.js 傳送資料到 InfluxDB 的實用範例。