TL;DR InfluxDB 技术提示 - 在 CLI 中查询和写入保留策略以及保护 InfluxDB
作者:Regan Kuchan / 产品, 开发者
2017 年 2 月 2 日
导航至
在本周的帖子中,我们回顾了来自 GitHub、IRC 和 InfluxDB Google Group 中您可能在过去一周左右错过的最有趣的 InfluxDB 和 TICK-stack 相关问题、解决方法、操作指南和问答。
在 CLI 中查询保留策略
问: 我正在尝试查询数据库默认保留策略中的数据,但我收到了意外的错误消息。该错误消息说它找不到甚至在相关数据库中不存在的保留策略(见下文)。我以为命令行界面 (CLI) 会自动查询数据库的默认保留策略。关于可能发生的情况有什么建议吗?
> USE "groundhog" Using database groundhog > SELECT * FROM "shadow" ERR: retention policy not found: one_day > SHOW RETENTION POLICIES ON "groundhog" name duration shardGroupDuration replicaN default ---- -------- ------------------ -------- ------- autogen 0s 168h0m0s 1 false season 24h0m0s 1h0m0s 1 true
答: 查看该输出,我最好的猜测是您在之前的命令中设置了目标保留策略(也许您做了类似 USE "<different_database>"."one_day"
的操作)。您可以使用 CLI 的 CLEAR
命令清除该保留策略(见下文示例)。CLEAR
是 1.2 版本中新的 InfluxDB CLI 命令。
> CLEAR rp retention policy context cleared > SELECT * FROM "shadow" name: shadow time seen ---- ---- 2017-01-31T17:09:43Z true
在 CLI 中写入保留策略
问: 我刚刚更新到 1.2 版本,注意到 InfluxDB CLI 的行为发生了变化,并想知道这种变化是否是故意的。
在之前的版本中,当我编写 INSERT INTO my-retention-policy
命令时,每个后续写入都会进入该保留策略,即使我没有包含 INTO
子句。现在 INSERT INTO
命令似乎不会为每个后续写入设置保留策略。这种变化是故意的吗?有没有办法避免为每次写入非默认保留策略都写出 INSERT INTO my-retention-policy
呢?
答: 这个更改是故意的!1.2 版本引入了新语法,可以更清楚地设置写入的目标保留策略:USE "<database>"."<retention_policy>"
。您可以使用 SETTINGS
命令检查当前目标数据库和保留策略
> USE "groundhog"."season" Using database groundhog Using retention policy season > SETTINGS Setting Value -------- -------- Host localhost:8086 Username gopher Database groundhog RetentionPolicy season Pretty false Format column Write Consistency all
保护 InfluxDB
问: 我最近开始使用 InfluxDB。您对保持我的数据安全有什么建议吗?
答: 是的!如果您计划通过公共互联网访问安装 InfluxDB,我们建议您查看我们的安全最佳实践页面。它列出了您需要采取的保护数据库安全的步骤,并链接到任何相关文档。
下一步是什么
- 下载 TICK-stack 的下载可在我们的“下载”页面上找到。
- 云端部署: 开始免费试用 InfluxDB Cloud ,它具有完全托管的集群、Kapacitor 和 Grafana。
- 在您的服务器上部署: 想在您的服务器上运行 InfluxDB 集群?试用 InfluxDB Enterprise 的 14 天免费试用版,它具有用于部署、监控和重新平衡集群的直观 UI,以及管理备份和恢复的功能。
- 讲述您的故事: 超过 300 家公司 分享了 InfluxDB 如何帮助他们取得成功的故事。提交您的客户评价,即可获得限量版连帽衫作为感谢。