Визуализация Kibana 7 TSVB с Markdown: как показать, когда данные были обновлены? - PullRequest
0 голосов
/ 29 мая 2020

У нас есть индекс Kibana, назовем его merges, если все документы имеют «поле обновления индекса», назовем его indexUpdated. Значение представляет собой метку времени и одинаково для всех документов (время импорта всех документов из другой базы данных)

В части Markdown визуализации TSVB я хотел бы показать такой текст:

"Данные последний раз обновлялись 25 минут a go"

Вопрос: Как мне получить значение indexUpdated из любого do c (скажем, последнего) и получить он отформатирован как «NN минут a go» с использованием усов {{ handlebar }} в Markdown?

Я искал и нашел документы только по агрегированным показателям, таким как количество документов. Я ищу что-то вроде этого запроса (принятие желаемого за действительное) и форматирования результатов поиска: {{ hits.hits[-1]._source.indexUpdated.formatRelativeDate}}

Обновление: Я подхожу немного ближе:

  • установите indexUpdated в качестве поля времени
  • в TSVB Markdown >> Data >> Metrics, установите Aggregation на Count
  • в тексте Markdown добавьте: {{#each count.data.raw }} {{#if @last}} {{0}} {{/if}} {{/each }}
  • синтаксис усов означает: просмотрите все необработанные данные подсчета, если последний элемент, выберите первый элемент массива
  • итоговый результат: 1588921200000 (это необработанная Javascript дата )

Теперь мне нужно преобразовать эту дату в относительную дату, например «25 минут a go».

В индексе merges я определил Поле indexUpdated должно быть относительной датой, которая отображается как таковая в визуализации таблицы. Но запрос через TSVB Markdown & {{ handlebar }} игнорирует это. Если я использую {{#each count.data.formatted }} ..., я получаю Mar 29, 2020 @ 00:00:00.000 вместо относительной даты.

...