1

我的机器上运行着 kapacitor 1.3.1 和 influxdb 1.2.4。虽然我已启用 kapacitor 发送其统计信息,但我没有在 influxdb 中看到 _kapacitor 数据库。我在这里想念什么?kapacitor.config:

hostname = "localhost"
[stats]
  # Emit internal statistics about Kapacitor.
  # To consume these stats create a stream task
  # that selects data from the configured database
  # and retention policy.
  #
  # Example:
  #  stream|from().database('_kapacitor').retentionPolicy('autogen')...
  #
  enabled = true
  stats-interval = "10s"
  database = "_kapacitor"
  retention-policy= "autogen"

[[influxdb]]
  # Connect to an InfluxDB cluster
  # Kapacitor can subscribe, query and write to this cluster.
  # Using InfluxDB is not required and can be disabled.
  enabled = true
  default = true
  name = "localhost"
  urls = ["http://localhost:8086"]
  username = ""
  password = ""
  timeout = 0
4

1 回答 1

1

问:我在这里缺少什么?

答:您迈出了正确的第一步,在Kapacitor. 您需要在这里做的下一件事是反弹Kapacitor引擎,以便定期将统计信息写入其内部数据库。

现在要注意的是,您还需要定义一个 TICK 脚本以从Kapacitor的内部数据库中提取统计信息,然后您可以选择要对其执行的操作、操作数据并将其写回 anInfluxDB或 raise alerts

例子:

var data = stream| from().database('_kapacitor').retentionPolicy('autogen')
data
  |log()
   .prefix('Kapacitor stat =>')

在你启动你的刻度脚本之后。您必须照常进行,例如将其安装到Kapacitor然后启用它。

kapacitor define test -type stream -tick test.tick -dbrp _kapacitor.autogen

这里有一个问题。您需要指定您在 中指定的保留策略,config否则它将不知道在哪里查找数据。在这种情况下,它是_kapacitor.autogen

test   stream    disabled  false     ["_kapacitor"."autogen"]

接下来,您启用流任务。

kapacitor enable test

输出:

[测试:log2] 2017/07/26 00:49:21 我!Kapacitor stat => {"Name":"ingress","Database":"_kapacitor","RetentionPolicy":"autogen","Group":"","Dimensions":{"ByName":false,"TagNames" :null},"Tags":{"cluster_id":"c80d02c0-8c51-4071-8904-1583164e90ec","database":"_internal","host":"kapacitor_stoh","measurement":"tsm1_cache","保留策略”:“监视器”,“服务器 ID”:“82a2d589-db45-4cc5-81b0-674cb80737ac”,“任务主”:“主”},“字段”:{“点数”:4753},“时间”:“2017 -07-26T00:49:21.75615995Z"}

于 2017-07-26T00:57:40.500 回答