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 -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 Web UI。
- 点击“Data”,然后点击“Buckets”。
- 点击您要配置的 bucket 旁边的“Settings”。
- 选择“Delete data older than”并选择您想要的保留期。
警告 请记住,超过选择的保留期的数据将被永久删除!
请记住,InfluxDB 中的数据是按分片组织的。仅包含过时数据的分片会自动删除,但如果一个分片包含过时和当前数据的混合,则不会被删除。默认情况下,没有定义保留策略时,分片包含 7 天的数据。这意味着当您设置保留策略时,几乎 7 天的过时数据可能仍会与当前数据一起保留。您将在官方文档中找到有关分片的更多信息。
从 Node.js 发送数据到 InfluxDB
您将在此仓库中找到从 Node.js 发送数据到 InfluxDB 服务的示例:https://github.com/stackhero-io/influxdbGettingStarted