InfluxDB: 入門指南
如何開始使用 InfluxDB
👋 歡迎來到 Stackhero 文件!
Stackhero 提供即用型的 InfluxDB cloud 解決方案,帶來眾多優勢,包括:
- 無限寫入、查詢、儀表板、任務和桶。
- 無限的數據保留時間。
- 無限的網絡和磁碟傳輸。
- 只需點擊即可輕鬆更新。
- 由私人和專用 VM提供的最佳性能和強大的安全性。
節省時間並簡化您的生活:只需 5 分鐘即可嘗試 Stackhero 的 InfluxDB cloud hosting 解決方案!
處理 InfluxDB 用戶
InfluxDB 不提供直接通過其網頁界面創建和管理用戶的方法。幸運的是,您可以使用 InfluxDB CLI 來完成這些任務。
使用 InfluxDB CLI
您可以通過 Docker 訪問 InfluxDB CLI。例如,運行以下命令:
docker run -it -u 0 bitnami/influxdb:2.7.11 /bin/bash
別忘了將
2.7.11替換為您的 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 被設計為時間序列數據庫,通常處理大量的指標。由於這些數據庫通常不會自動刪除數據,您的數據庫可能會無限增長並佔用所有可用的磁碟空間。
為了防止磁碟空間飽和,InfluxDB 提供了兩種解決方案:
- 保留策略: 刪除早於定義日期的數據。例如,您可能決定刪除超過 365 天的數據。
- 數據降採樣: 隨著時間的推移降低數據解析度。例如,如果您每秒記錄一次溫度,您可能希望:
- 保留最近 5 分鐘的 1 秒解析度的溫度數據。
- 保持最近 24 小時的最大、最小和平均溫度的 1 分鐘解析度。
- 對於較舊的數據,存儲最大、最小和平均溫度的 1 小時解析度。
使用保留策略允許您在不需要大量存儲空間的情況下長期存儲歷史數據。您可以在官方文檔中找到有關降採樣的更多信息。
處理 InfluxDB 數據保留
默認情況下,InfluxDB 無限期地存儲數據。雖然這種行為對於傳統數據庫來說是典型的,但對於時間序列數據庫來說並不理想,因為它們應該刪除過時數據以防止不受控制的增長。
例如,如果您存儲電池電壓數據,它可能只在幾天內相關,而不是幾年。為了避免填滿磁碟,為每個 bucket 設置保留期是至關重要的。
要配置數據保留:
- 打開您的 InfluxDB 網頁界面。
- 點擊「Data」,然後點擊「Buckets」。
- 點擊您要配置的 bucket 旁邊的「Settings」。
- 選擇「Delete data older than」並選擇您想要的保留期。
警告 別忘了,超過選定保留期的數據將被永久刪除!
請記住,InfluxDB 中的數據是按分片組織的。僅包含過時數據的分片會自動刪除,但如果分片包含過時和當前數據的混合,則不會被刪除。默認情況下,沒有定義保留策略的話,分片會保存 7 天的數據。這意味著當您設置保留策略時,可能仍會保留近 7 天的過時數據與當前數據一起。您可以在官方文檔中找到有關分片的更多信息。
從 Node.js 發送數據到 InfluxDB
您可以在此存儲庫中找到如何從 Node.js 發送數據到 InfluxDB 服務的示例:https://github.com/stackhero-io/influxdbGettingStarted