TL;DR InfluxDB 技术技巧 - 连续查询(CQ)与周、SHOW FIELD KEYS 与字段类型差异、以及本地配置设置与 v1.1

导航到

在本周回顾中,我们总结了 InfluxDB 和 TICK-stack 相关的有趣问题、解决方案、教程和问答,这些可能在上周或更早之前被您错过。GitHub、IRC 和 InfluxDB Google Group

连续查询(CQ)与周

问题:我正在使用一个连续查询(CQ)来每周对数据进行降采样。我遇到了理解查询生成的时间范围的问题。当查询在今天(2017年1月10日)运行时,它涵盖了从2017年1月9日到2017年1月16日的时间范围。我原本期望它涵盖从2017年1月3日到2017年1月10日的时间范围。我所经历的是预期行为吗?

我的 CQ

CREATE CONTINUOUS QUERY "whats_a_week" ON "telegraf"
RESAMPLE EVERY 5m
BEGIN
  SELECT MEAN("usage_idle")
  INTO "weekly_dataz"
  FROM "cpu"
  GROUP BY time(1w)
END
答案:您所看到的行为是 InfluxDB 预设的纪元时间边界的结果。默认情况下,InfluxDB 使用这些预设的时间边界,而不是您创建 CQ 时的时间,来定义一周的开始和结束。当前的纪元周从2017年1月9日开始,在2017年1月16日之前结束。如果您想个性化 CQ 时间边界,可以在 GROUP BY time() 子句中使用 offset_interval 为一天。
CREATE CONTINUOUS QUERY "whats_a_week" ON "telegraf"
RESAMPLE EVERY 5m
BEGIN
  SELECT MEAN("usage_idle")
  INTO "weekly_dataz"
  FROM "cpu"
  GROUP BY time(1w,1d)
END
请参阅基本 CQ 语法文档中的示例 4 以获取另一个示例。

SHOW FIELD KEYS 和字段类型差异

问题:有没有简单的方法可以判断一个字段是否具有多个字段值类型?我知道我可以运行以下查询,但我觉得应该有更简单的方法。

> SELECT value::integer,value::float,value::boolean,value::string FROM mixed_feelings
name: mixed_feelings
time                  value  value_1  value_2  value_3
----                  -----  -------  -------  -------
2017-01-06T17:00:00Z  4      4.5
2017-01-07T17:00:00Z  2      2
2017-01-08T17:00:00Z                  true
2017-01-09T17:00:00Z                           string cheese

答案:SHOW FIELD KEYS 查询会自动返回字段中的每个数据类型。

> SHOW FIELD KEYS

name: mixed_feelings
fieldKey  fieldType
--------  ---------
value     float
value     string
value     boolean
value     integer

请注意,数据类型只能在不同分片中存在差异,而不能在同一个分片中存在差异。在同一个分片中,如果您尝试将数据类型写入之前接受不同数据类型的字段,InfluxDB 将返回错误。

本地配置设置和 v1.1

问:我已经在配置文件配置文件中启用了Web 管理界面,并且已经重启了 InfluxDB 几次,但我无法访问该界面。我是否遗漏了其他步骤?

我的配置文件

# [admin]
# Determines whether the admin service is enabled.
enabled = true

答:在 InfluxDB v1.1 中,本地配置文件中的部分标题默认为注释状态。您需要取消注释 [admin] 标题,然后再次重启 InfluxDB 以启用 Web 管理界面。我们在版本 1.2 中进行了更改 - 配置文件中的部分标题将默认取消注释。

下一步是什么

  • 下载的 TICK-stack 已在我们的“下载”页面上线。
  • 云上部署:开始使用InfluxDB Cloud的免费试用,其中包括全托管集群、Kapacitor 和 Grafana。
  • 服务器上部署:想要在您的服务器上运行 InfluxDB 集群?尝试InfluxDB 企业版的免费 14 天试用,其中包括直观的界面用于部署、监控和重新平衡集群,以及管理备份和恢复。
  • 分享您的经历:300 多家公司分享了他们的故事,讲述了 InfluxDB 如何帮助他们取得成功。提交您的评价,并获得限量版卫衣作为感谢。