我使用InfluxData堆棧進行時間序列數據異常檢測,使用InfluxDB和Kapacitor。Kapacitor採取錯誤的時間格式
我收集了一些開源samples,並設置用於檢測異常以下蜱腳本:
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年的日期,在DB中最早的日期是2015年-01-31。爲什麼會發生?
但是看到日期說的是'2016-09-13',我們不在那個日期(並且因爲未來而不可能在那個日期)。 –
@MartinAparicioPons - 確實,這部分可能是一個錯誤。你可能想問influxdata github頁面。你有什麼最新的日期涌入?你使用哪種版本的influxdb和kapacitor?我知道他們改變了我認爲influxdb v0.9.6發佈時的時間戳格式。直到那時,時間戳纔是unix樣式的時間戳,之後它們變得很好,人們可讀的ISO標準時間戳。所以也許這裏有一個錯誤。 – pootzko
你說得對,我正在回購一個問題。我正在使用InfluxData網頁上提供的Influx和Kapacitor(0.10)的最新版本。 –