Составьте график расхождения между двумя временными полями в одном и том же индексе упругого поиска с временной шкалой - PullRequest
0 голосов
/ 26 февраля 2020

Итак, у меня есть эластичный c поисковый индекс с большим количеством данных, и я обнаружил проблему с некоторыми данными, которые я хотел бы визуализировать. Некоторые элементы в индексе, совпадающие с полем itm.description , как, скажем, FOO , имеют две записи отметки времени, называемые itm.timestamp и itm.jmsTimestamp .

Эти два поля начали довольно значительно расходиться, когда они были очень близки несколько дней в go. Между этими двумя процессами происходит некоторая обработка ActiveMQ, что кажется вероятной причиной, но я хотел бы представить, когда это началось, и каков дрейф за последние несколько дней в Кибане с использованием timelion.

.es(index=myindex*,q='itm.description:FOO',timefield='@itm.timestamp'),.es(index=myindex*,q='itm.description:FOO',timefield='@itm.jmsTimestamp')

Итак ясно, что этот запрос не особенно полезен, так как выдает две плоские линии. Что мне нужно для создания графика, который отображает разницу в смещении между двумя временными метками с использованием timelion? Можно ли отобразить наложенные две временные метки или будет более полезен график дрейфа?

1 Ответ

0 голосов
/ 26 февраля 2020

Вы пытались использовать выражение subtract?

Примерно так:

.es(index=myindex*, q='itm.description:FOO', timefield='@itm.timestamp', metric=max:'@itm.timestamp').subtract(.es(index=myindex*, q='itm.description:FOO', timefield='@itm.timestamp', metric=max'@itm.jmsTimestamp'))

Вы не можете использовать прямые значения поля, Timelion требует агрегирования, так как отображает 1 значение на ведро В моем примере я использовал max -агрегацию.

Еще одним решением было бы ввести новое поле, которое вы заполняете во время индексации, с дельтой двух полей меток времени. Опять же, вам нужно будет использовать агрегирование для отображения значения на оси Y.

...