2016-12-06 4 views
0

У меня есть два журнала из разных источников, которые я втягиваю в elasticsearch через logstash, а затем визуализирую с помощью kibana. Моя проблема заключается в том, что время начала каждого журнала должно быть одинаковым, но один из журналов записывает записи неправильно на 30 минут вперед.Как я могу синхронизировать время журнала в logstash или kibana

Как исправить ошибку на этот раз, есть ли фильтр статистики, который может вычесть 30 минут с того времени или я могу добавить некоторый расширенный запрос в Kibana?

Я предпочитаю обновлять записи журнала в logstash.

+1

Где даты взялись? Разбирается из файла или только @timestamp, добавленный logstash. Вы используете один логсташ или два? Если два, они на одной машине? – baudsp

+0

@baudsp даты исходят от самих журналов. Я запускаю один logstash за пару часов каждого файла журнала, как пакетное задание, поэтому я не запускаю logstash непрерывно. – binarylegit

+0

Я попытался найти способ изменить значение поля @timestamp с помощью ruby-фильтра, но не удалось, поэтому я попытался выяснить, возникает ли проблема из вашей установки. – baudsp

ответ

1

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

Но вы можете манипулировать меткой времени Logstash, если вам нужно.

Поле @timestamp на каждом мероприятии имеет много общего с классом Ruby's Time. В частности, она реализует те же + и - операторов, которые позволяют добавлять или вычитать некоторое количество секунд:

filter { 
    ruby { 
     code => " 
       event['@timestamp'] = LogStash::Timestamp.new(event['@timestamp'] + (30 * 60)) 
     " 
    } 
} 
+0

Не работает с Logstash 2.2: возникло исключение Ruby: поле «@timestamp» должно быть (LogStash :: Timestamp, а не Time » – baudsp

+0

. К сожалению, мне не нравится что-то вроде фильтров ruby. как правило, хрупки между версиями Logstash. Я отредактировал фрагмент, чтобы он работал в 2.2. – rutter

+0

. Мы не знаем, какая версия используется в этом вопросе, поэтому ваш предыдущий ответ мог бы работать. Во всяком случае, ваш ответ лучше, чем у меня, поэтому я удалю его. И я кое-что узнал, спасибо. – baudsp

Смежные вопросы