Я не могу получить последние записи в запросе на infxdb

У меня есть запрос в Infxql, чтобы получить значения процессора, памяти, нагрузки и диска с предложением WHERE, чтобы указать, что он приносит данные только 1 минуту назад. Запрос работает, но всегда возвращает одну и ту же дату, то есть точную дату WHERE. Мне нужно, чтобы вы принесли мне последние даты, то есть, когда в последний раз сервер отправлял данные в базу данных influexdb.

Я хочу определить, есть ли машины, которые не отправляют данные, то есть мне нужна последняя дата, которую имеет условие:

 time> = now () - 1h

Теперь, например, я помещаю дату ГДЕ, поэтому:

02/02/2019, 19:33:35
02/02/2019, 19:33:35
02/02/2019, 19:33:35
02/02/2019, 19:33:35
02/02/2019, 19:33:35

Мне нужна последняя дата, потому что в течение этого часа (1 час) есть определенные записи с более длинной датой (time> =), я имею в виду, что должны быть записи с датой:

02/02/2019, 19:33:35
02/02/2019, 19:35:12
02/02/2019, 19:43:30
02/02/2019, 19:40:25
02/02/2019, 19:36:32

Я ценю помощь того, кто знает, что происходит. Спасибо!

Это SQL:

SELECT 
  LAST(cpu_used) AS cpu, 
  LAST(mem_used) AS mem, 
  LAST(load) AS load, 
  LAST(disk_await) AS disk_await 
FROM custom  
WHERE time >= now() - 1m 
GROUP BY hostname

Это полный выход из запроса:

name: custom tags: hostname = linux7 time cpu mem load disk ---- --- --- ---- ---- 2019-02-02T18: 46: 00.42366206Z 1 43 0 0

name: custom tags: hostname = linux24 time cpu mem load disk ---- --- --- ---- ---- 2019-02-02T18: 46: 00.42366206Z 11 34 0 0

name: custom tags: hostname = linux4 time cpu mem load disk ---- --- --- ---- ---- 2019-02-02T18: 46: 00.42366206Z 11 42 0 0

name: custom tags: hostname = linux3 time cpu mem load disk ---- --- --- ---- ---- 2019-02-02T18: 46: 00.42366206Z 73 32 1 0

name: custom tags: hostname = linux20 time cpu mem load disk ---- --- --- ---- ---- 2019-02-02T18: 46: 00.42366206Z 1 41 0 0

name: custom tags: hostname = linux1 time cpu mem load disk ---- --- --- ---- ---- 2019-02-02T18: 46: 00.42366206Z 36 55 0 0


person Avellino    schedule 02.02.2019    source источник


Ответы (1)


Не используйте условие WHERE, а используйте только LAST () селектор InfluxDB.

person Jan Garaj    schedule 03.02.2019
comment
Здравствуйте, спасибо, что ответили. Если я не использую WHERE, он выводит записи с очень старыми датами, например: name: custom tags: hostname = linux3 time cpu mem load disk ---- --- --- ---- ---- 1970 -01-01T00: 00: 00Z 36 55 0 0 - person Avellino; 03.02.2019
comment
Мне нужны самые свежие записи, то есть самые свежие. - person Avellino; 03.02.2019
comment
Это потому, что вы группируете только по hostname. Например, 3 записи разного времени сгруппированы как один элемент, тогда как influx узнает, какие datetime из 3 записей использовать? Чтобы сгруппировать их, выбирается beginning of epoch time. - person Samuel Toh; 06.02.2019