InfluxDB: 快速入门
如何快速配置和管理 InfluxDB,并遵循最佳实践
👋 欢迎查阅 Stackhero 文档
Stackhero 提供全托管的 InfluxDB cloud 环境,专为高效与简便而设计:
- 无限制的数据写入、查询、仪表盘、任务和 bucket。
- 无限制的数据保留:根据您的需求,指标数据可长期保存。
- 无限制的网络与磁盘传输,无任何隐藏限制。
- 一键升级:始终体验最新功能与修复。
- 在您专属的私有基础设施上,始终保持高性能与强安全性。
使用 Stackhero,您可以专注于数据与洞察。仅需几分钟即可开始使用 InfluxDB cloud hosting,每个环境都针对长期稳定性进行了优化。
管理 InfluxDB 用户
InfluxDB 并未在其 Web 界面中直接提供用户管理功能。您可以通过 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 针对大规模时序数据进行了优化。由于其不会自动删除旧数据,如果不加管理,数据库很快会占满所有可用存储空间。Stackhero 支持 InfluxDB 的内置功能,帮助您高效管理数据,避免此类问题。
InfluxDB 提供了两种主要解决方案:
- 保留策略(Retention policies): 自动删除超过指定时间(如 365 天)的数据。这样可以让您的存储使用可预测,避免手动清理。
- 数据降采样(Downsampling data): 对近期数据保留高分辨率,历史数据则存储聚合结果。例如:
- 对最近 5 分钟保留 1 秒分辨率的数据。
- 对过去 24 小时以 1 分钟为间隔,存储最大值、最小值和平均值。
- 对更早的数据保留每小时的聚合数据。
通过保留策略,您可以在不占用过多磁盘空间的情况下,保留所需的历史数据。关于数据降采样的更多信息,请参阅 InfluxDB 官方降采样文档。
配置 InfluxDB 的数据保留策略
默认情况下,InfluxDB 会无限期保留数据。对于大多数时序数据场景,为每个 bucket 设置保留周期,可以确保只保留所需数据,防止存储空间无限增长。
配置保留策略的方法如下:
- 打开 InfluxDB Web 界面。
- 进入“Data”,然后选择“Buckets”。
- 在相关 bucket 旁点击“Settings”。
- 在“Delete data older than”下,选择您希望的数据保留周期。
超过所选保留周期的数据将被永久删除。
InfluxDB 以 shard(分片)方式存储数据。仅包含过期数据的 shard 会被自动删除。如果一个 shard 同时包含过期和当前数据,则会一直保留,直到所有数据都过期。默认情况下,每个 shard 覆盖 7 天的数据。当您设置新的保留策略时,最多可能有近 7 天的过期数据会保留到下一个 shard 周期。更多详情请参考 InfluxDB shard 文档。
从 Node.js 向 InfluxDB 发送数据
您可以在这个 InfluxDB Getting Started 仓库 中找到从 Node.js 向 InfluxDB 发送数据的实用示例。