Я использую стек 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 года, когда в БД самая старая дата 2015-01-31. Почему это происходит?
Но посмотрите, что дата говорит '2016-09-13', и мы не в эту дату (и невозможно быть в эту дату, потому что это будущее). –
@MartinAparicioPons - Правда, эта часть может быть ошибкой. Возможно, вы захотите спросить на странице guxub на странице infuxdata. Какая самая новая дата у вас в притоке? Какие версии Infuxdb и Kapacitor вы используете? Я знаю, что они изменили формат timestamp, который, как я полагаю, вышел из-за того, что вышел exuxdb v0.9.6. До сих пор временные метки были временными отметками в стиле unix, после чего они стали красивыми, удобными для пользователя стандартными метками времени ISO. Так что, возможно, там есть missmatch. – pootzko
Вы правы, я отправляю вопрос в репо. Я использую последнюю версию Influx и Kapacitor (0.10), доступную на веб-странице infuxData. –