Skip to content
返回部署

部署 InfluxDB

时序数据库用于指标、IoT 传感器和监控,Flux/InfluxQL。

平台进阶

为什么

InfluxDB 优化时序数据 — 高写吞吐、降采样和保留策略。Flux 查询语言时序分析。

平台即服务采用率 2024 年增长 24%,团队从虚拟机管理转向 git push 部署。the cloud infrastructure market reached $330B in 2024, growing 22% year-over-year (Synergy Research),PaaS 层捕获了大多数新工作负载。

何时使用

指标、IoT 和监控用 InfluxDB。通用避免(用 Postgres)。

如何做

1. Docker — influxdb:2 加 Telegraf 2. Bucket — 配保留建 bucket 3. 写入 — line protocol 高吞吐 4. 查询 — Flux 或 InfluxQL 5. Telegraf — 指标采集代理 6. Grafana — :3000 可视化 7. 降采样 — 任务聚合旧数据

示例

# docker-compose.yml services: influxdb: image: influxdb:2 ports: ["8086:8086"] volumes: [idata:/var/lib/influxdb2] telegraf: image: telegraf depends_on: [influxdb] volumes: { idata: } # 经 line protocol 写入 curl -X POST 'localhost:8086/api/v2/write?bucket=mybucket&org=myorg' -H 'Authorization: Token my-token' -d 'temperature,location=room1 value=23.5 1700000000000000000' # Flux 查询 curl -X POST 'localhost:8086/api/v2/query?org=myorg' -H 'Authorization: Token my-token' -d 'from(bucket:"mybucket") |> range(start: -1h) |> filter(fn: (r) => r._measurement == "temperature")'

常见问题

  • ⚠无保留策略 — 数据无限增长,bucket 设保留
  • ⚠高基数 — 唯一 tag 过多,查询慢
  • ⚠环境间配置漂移 — 使用基础设施即代码(Terraform/Pulumi)保持 dev/staging/prod 一致

最佳实践

  • ✓设保留策略 — 自动删旧数据省存储
  • ✓用降采样任务 — 聚合旧数据省空间
  • ✓设置健康检查和优雅关闭 — 处理 SIGTERM 以在退出前排空进行中的请求

常见问题解答