TL;DR InfluxDB 技术提示 - 了解意外情况:身份验证失败、图表中的数据截断和查询行为变更
作者:Regan Kuchan / 产品,开发者
2017 年 3 月 23 日
导航至
在本周的文章中,我们回顾了来自 GitHub、IRC 和 InfluxData 社区的关于 InfluxDB 和 TICK-stack 相关问题的意外情况。
意外的身份验证失败
问: 我在使用 InfluxDB 的身份验证命令行界面 (CLI) 时遇到问题,但我找不出我哪里做错了。我尝试了各种密码变体,因为我已经黔驴技穷了
连接到 CLI 并创建一个用户
$ influx
Connected to http://localhost:8086 version 1.2.2
InfluxDB shell version: 1.2.2
> CREATE USER influxer WITH PASSWORD 'influx@iscool' WITH ALL PRIVILEGES
> exit
使用这些身份验证凭据连接到 CLI
$ influx -username influxer -password influx@iscool
Connected to http://localhost:8086 version 1.2.2
InfluxDB shell version: 1.2.2
> SHOW DATABASES
ERR: authorization failed <--- Why? ????
我没有看到任何拼写错误。我在配置文件中将 auth-enabled
设置为 true
。我是否遗漏了什么步骤?
答: 我们建议如果密码包含任何特殊字符,请使用单引号将其引起来;某些 shell 可能会尝试将变量注入到密码中,如果它遇到特殊字符。所以在您的情况下,用单引号引起来 influx@iscool
,您应该就可以了!
图表中意外的数据截断
问: 我正在使用 Chronograf 可视化我的数据,但我的图表似乎返回了截断的数据(详情如下)。InfluxDB 或 Chronograf 中是否有默认设置阻止它们在查询响应中截断数据?我正在使用 OSS InfluxDB 1.2.1 版本和 Chronograf 1.2.0-beta5 版本。
我的图表和原始查询
我期望看到的点数
根据图表中的时间戳我看到的点数
答: InfluxDB 有一个名为 max-row-limit
. 的配置选项。该选项设置每个查询返回的最大行数。在 OSS 1.2.1 版本中,系统默认将该选项设置为 10,000;这就是为什么您在图表中只看到 10,000 个点的原因。要禁用此配置选项,只需将 max-row-limit
设置为 0
并重启进程。0
允许每个查询返回无限数量的行。
关于您的问题的补充说明 - 在最新版本的 InfluxDB v1.2.2 中,我们将默认的 max-row-limit
设置更改为 0
。
查询行为的意外变更
问: 我最近升级到 OSS InfluxDB 1.2.1 版本,并且发现对于一个对多个选择器函数执行数学运算的查询,返回的点数发生了变化。这个变化是故意的吗?有没有办法让系统像 1.1.1 版本那样运行?
1.1.1 版本中的查询行为
> SELECT MIN("avocado")*2,MAX("avocado")*2 FROM "mycart"
name: mycart
time min max
---- --- ---
0 24 46 <--- Just one point!
1.2.1 版本中的查询行为
> SELECT MIN("avocado")*2,MAX("avocado")*2 FROM "mycart"
name: mycart
time min max
---- --- ---
1490113486589201368 24 |
1490113497387418180 46 | <--- Two points!
答: 这个变化是一个已知问题 - 对于由此造成的不预期行为变更,我们深感抱歉。我们已经为此修复了一个 bug,它将包含在 1.3.0 版本中!目前,作为一种临时的解决方案,您可以使用 InfluxQL 的 子查询 来重现您在 1.1.1 版本中看到的行为
> SELECT "min"*2,"max"*2 FROM (SELECT MIN("avocado"),MAX("avocado") FROM "mycart")
name: mycart
time min max
---- --- ---
0 24 46
下一步
- 下载 TICK-stack 的下载已在我们的“下载”页面上线。
- 在云端部署: 开始免费试用 InfluxDB Cloud 它具有完全托管的集群、Kapacitor 和 Grafana。
- 在您的服务器上部署: 想在您的服务器上运行 InfluxDB 集群吗?试用 InfluxDB Enterprise 的 14 天免费试用版,它具有直观的 UI,用于部署、监控和重新平衡集群,以及管理备份和恢复。
- 讲述您的故事: 超过 300 家公司 分享了 InfluxDB 如何帮助他们取得成功的故事。提交您的客户评价,即可获得限量版连帽衫作为感谢。