#group-by #time-series #influxdb
#группировка по #временные ряды #influxdb
Вопрос:
Я работаю с influxdb 1.7
У меня есть измерение с именем «test», как показано ниже
> SELECT * FROM test
name: test
time code host f_range value
---- --- ---- ------- -----
1610532240000000000 a localhost 0.101~0.200 7
1610532240000000000 a localhost 0.401~0.500 1
1610532240000000000 b localhost 0.101~0.200 3
1610532300000000000 b localhost 0.101~0.200 3
1610532300000000000 b localhost 0.201~0.300 1
1610533020000000000 a localhost 0.101~0.200 4
1610533020000000000 a localhost 0.201~0.300 1
1610533020000000000 a localhost 0.401~0.500 1
1610533020000000000 b localhost 0.101~0.200 6
1610533620000000000 a localhost 0.101~0.200 11
1610533620000000000 b localhost 0.101~0.200 8
И я также могу сгруппировать его по значениям тегов, например…
> SELECT sum("value") FROM "test" WHERE ("code" =~ /^a$/ AND "host" =~ /^localhost$/) AND time >= now() - 30m GROUP BY "f_range" fill(0)
name: test(0)
tags: f_range=0.101~0.200
time sum
---- ---
1610500909884441460 22
name: test
tags: f_range=0.201~0.300
time sum
---- ---
1610500909884441460 1
name: test
tags: f_range=0.401~0.500
time sum
---- ---
1610500909884441460 2
Но когда я добавляю time(1m)
условие к запросу, он просто ничего не возвращает.
Интересно, что я должен проверить в этом случае.
> SELECT sum("value") FROM "test" WHERE ("code" =~ /^a$/ AND "host" =~ /^localhost$/) AND time >= now() - 30m GROUP BY time(1m), "f_range" fill(0)
>
Спасибо
Ответ №1:
Я нашел, что было не так. На самом деле временная метка была неправильной. Это время UTC. Я поместил эти данные из python-client, и они нуждаются в дополнительном преобразовании.
Я нахожусь в зоне 09. Итак … временная метка указывает на 9 часов после этого.
Я изменил свой код python3
single = {'measurement':'test', 'tags': tags, 'time': date_timestamp.strftime('%Y-%m-%dT%H:%M:%S 09'), 'fields': {'value': value}}
переменная datetime_stamp — это datetime
тип в python
Комментарии:
1. Вывод: проверьте часовой пояс