TL;DR InfluxDB 技术提示 - CQs & 周, SHOW FIELD KEYS & 字段类型差异, & 本地配置设置 & v1.1

导航至

在这篇每周文章中,我们回顾了您可能在过去一周左右错过的来自 GitHub、IRC 和 InfluxDB Google Group 中最有趣的 InfluxDB 和 TICK-stack 相关问题、解决方法、操作指南和问答。

CQs 和周

问: 我正在使用持续查询 (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 预设的 epoch 时间边界的结果。默认情况下,InfluxDB 使用这些预设的时间边界,而不是您创建 CQ 的时间,来定义一周的开始和结束时间。当前的 epoch 周从 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 Enterprise 的 14 天免费试用版 InfluxDB Enterprise 它具有直观的用户界面,用于部署、监控和重新平衡集群,以及管理备份和恢复。 
  • 分享您的故事: 超过 300 家公司 分享了 InfluxDB 如何帮助他们取得成功的故事。提交您的客户评价,即可获得限量版帽衫作为感谢。