【问题标题】:Kapacitor is taking a wrong time formatKapacitor 采用了错误的时间格式
【发布时间】:2016-02-15 13:29:51
【问题描述】:

我正在使用 InfluxData 堆栈进行时间序列数据中的异常检测,使用 InfluxDB 和 Kapacitor。

我收集了一些开源的samples,并设置了以下tick脚本来检测异常:

batch
    .query('select mean(value) from "nycTaxi"."default"."nycTaxi"')
        .period(1h)
        .every(2h)
        .groupBy(time(1h))
.mapReduce(influxql.percentile('mean', 90.0))
    .eval(lambda: sigma("percentile"))
        .as('sigma')
        .keep('percentile', 'sigma')
    .alert()
        .warn(lambda: "sigma" > 2.0)
        .log('/path/alerts.log')
        .crit(lambda: "sigma" > 3.0)
        .log('/path/alerts.log')

获取如下警报:

 {"id":"nycTaxi:nil",
  "message":"nycTaxi:nil is WARNING",
  "time":"2016-09-13T14:43:21.892057062Z",
  "level":"WARNING",
  "data":{  
    "series":[  
      {  
        "name":"nycTaxi",
        "columns":[  
          "time",
          "percentile",
          "sigma"
        ],
        "values":[  
          [  
            "2016-09-13T14:43:21.892057062Z",
            1279,
            2.002345963142575
  ]]}]}}

为了记录数据我用了这行kapacitor record batch -start 2014-07-01T00:00:00Z -stop 2015-02-31T00:00:00Z -name nyc

由于某种原因,Kapacitor 将时间解释为 2016 年的日期,而数据库中最早的日期是 2015-01-31。为什么会这样?

【问题讨论】:

    标签: time-series influxdb kapacitor


    【解决方案1】:

    InfluxDb 向 Kapacitor 提供 实时 类型的数据(它并不是真的打算回溯您的所有历史数据,它的目的是作为实时分析/警报工具)。

    您当前的查询基本上只查看最近的数据 (1h),这就是您在其中看到 2016 年的原因。这是设计使然。如果您想检查历史数据中的异常情况,您将不得不编写一个小程序(例如使用 InfluxDb 库作为您选择的语言),它将每小时检查所有旧数据,获取它并从那里分析它。您也可以为此使用backfills

    【讨论】:

    • 但是看到日期是2016-09-13,我们不在那个日期(而且不可能在那个日期,因为是未来)。
    • @MartinAparicioPons - 确实,那部分可能是一个错误。您可能想在 influxdata github 页面上提问。您涌入的最新日期是什么时候?你使用的是哪个版本的 influxdb 和 kapacitor?我知道他们改变了我相信当 influxdb v0.9.6 出来时的时间戳格式。在那之前,时间戳都是 unix 风格的时间戳,之后它们变成了很好的、人类可读的 ISO 标准时间戳。所以也许那里有一个不匹配的地方。
    • 你是对的,我在 repo 中提交了一个问题。我正在使用最新版本的 Influx 和 Kapacitor (0.10),可从 influxData 网页获得。
    【解决方案2】:

    我发布了一个issue in the Kapacitor repo,我的问题的解决方案是使用以下行来重放数据kapacitor replay -id RECORDING_ID -name nyc -fast -rec-time。这里的关键是标志-rec-time,它解决了这个问题。

    感谢 Nathanielc 解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-16
      相关资源
      最近更新 更多