TL;DR InfluxDB 技术提示:相同的字段键和标签键,Chronograf 中已有的 Kapacitor TICKscripts 及更多

导航至

在这篇文章中,我们回顾了您可能在过去一周左右错过的一些新内容。下周请关注来自 GitHub、IRC 和 InfluxData 社区的最有趣的与 TICK-stack 相关的问题、解决方法、操作指南以及问答。

相同的字段键和标签键

问: 我的 InfluxDB 模式包含 feet-attire measurement,跟踪鞋子颜色的 shoes tag,以及跟踪鞋子数量的 shoes field。当我尝试查询 shoes tag 和 shoe field 时,我看到了重复的 shoe field 行,但 shoe tag 没有任何内容。有没有办法同时查看 field 和 tag?

> SELECT "shoes","shoes" FROM "feet-attire"

name: feet-attire
time                            shoes shoes_1
----                            ----- -------
2017-05-17T20:34:32.143717027Z  12    12
2017-05-17T20:34:39.949844001Z  15    15
2017-05-17T20:34:47.325195089Z  16    16

答: 有的!使用 :: 语法来指定 identifier 是 field 还是 tag

> SELECT "shoes"::field,"shoes"::tag FROM "feet-attire"

name: feet-attire
time                            shoes shoes_1
----                            ----- -------
2017-05-17T20:34:32.143717027Z  12    yellow
2017-05-17T20:34:39.949844001Z  15    blue
2017-05-17T20:34:47.325195089Z  16    pink

名为 time 的字段键或标签键

问: 我正在使用 InfluxDB 1.2.2 版本,似乎无法查询我的数据。写入看起来成功了,但我的查询没有返回任何结果。您能帮我一下吗?我哪里做错了?

~# curl -i -XPOST "http://localhost:8086/write?db=tldr&u=<username>&p=<password>" --data-binary 'creatures time="1h"'
HTTP/1.1 204 No Content
Content-Type: application/json
Request-Id: b76456c6-3b47-11e7-8f86-000000000000
X-Influxdb-Version: 1.2.1-c1.2.2
Date: Wed, 17 May 2017 21:28:06 GMT

~# curl -G "http://localhost:8086/query?db=tldr&u=<username>&p=<password>" --data-urlencode 'q=SHOW MEASUREMENTS'
{"results":[{"statement_id":0}]}


~# curl -G "http://localhost:8086/query?db=tldr&u=<username>&p=<password>" --data-urlencode 'q=SELECT * FROM creatures'
{"results":[{"statement_id":0}]}

答: 您的语法看起来不错!是 time 导致了问题。 time 是 InfluxDB 中的一个特殊关键字。 time 可以是 continuous query 名称、数据库名称、 measurement 名称、 retention policy 名称、 subscription 名称和用户名。但它不能是 InfluxDB 中的 field keytag key

在 1.2.2 版本(更具体地说,是 1.2.0-1.2.3 版本)中,InfluxDB 接受将 time 作为 field 或 tag key 的写入,但它会默默地删除 field key 或 tag key 及其关联的值。在 1.2.4 版本中,我们更改了这种行为;InfluxDB 拒绝将 time 作为 field key 或 tag key 的写入并返回错误。请查看我们的 FAQ 页面以获取更多信息!

Chronograf 中已有的 Kapacitor TICKscripts

问: 我刚开始使用 Chronograf,并且有一些在使用 Chronograf 之前创建的 Kapacitor 任务。这些任务会显示在 Chronograf 的 Alert Rules 页面上吗?

答: 目前,在 Chronograf 之外创建的 Kapacitor 任务在用户界面中的功能有限。

在 Chronograf 中,您可以

  • 在 Alert Rules 页面查看预先存在的任务
  • 在 Alert History 页面查看预先存在的任务的活动
  • 在 Alert Rules 页面启用和禁用预先存在的任务(这相当于 kapacitor enablekapacitor disable 命令)
  • 在 Alert Rules 页面删除预先存在的任务(这相当于 kapacitor delete tasks 命令)

您无法在 Chronograf 的 Alert Rules 页面上编辑预先存在的任务。下图中的 mytick 任务是一个预先存在的任务;它的名称显示在 Alert Rules 页面上,但您无法单击它或在界面中编辑其 TICKscript。目前,您必须在您的机器上手动编辑您现有的任务和 TICKscripts。

下一步

  • 下载 TICK-stack 的下载已在我们的“下载”页面上线。
  • 在云端部署: 开始免费试用 InfluxDB Cloud,它具有完全托管的集群、Kapacitor 和 Grafana。
  • 在您的服务器上部署: 想在您的服务器上运行 InfluxDB 集群吗?试用 InfluxDB Enterprise的 14 天免费试用版,它具有直观的 UI,用于部署、监控和重新平衡集群,以及管理备份和恢复。 
  • 讲述您的故事: 超过 300 家公司 分享了 InfluxDB 如何帮助他们取得成功的故事。提交您的客户感言,即可获得限量版连帽衫作为感谢。