Я следил за этим руководством:
http://deviantony.wordpress.com/2014/06/04/logstash-debug-configuration/
Надеюсь, это поможет мне протестировать фильтры logstash, чтобы увидеть, получу ли я желаемый результат, прежде чем использовать их на постоянной основе.
Как часть руководства, в нем рассказывается, как настроить ввод и вывод, а затем файл фильтра. ввод вроде работает нормально:
input {
stdin { }
}
Результат такой:
output {
stdout {
codec => json
}
file {
codec => json
path => /tmp/debug-filters.json
}
}
Я получаю следующую ошибку, когда пытаюсь запустить процесс logstash (здесь я запустил его с помощью --configtest, поскольку ошибка советует мне попробовать это, но не дает дополнительной информации):
# /opt/logstash/bin/logstash -f /etc/logstash/debug.d -l /var/log/logstash/logstash-debug.log --configtest
Sending logstash logs to /var/log/logstash/logstash-debug.log.
Error: Expected one of #, ", ', -, [, { at line 21, column 17 (byte 288) after output {
stdout {
codec => json
}
file {
codec => json
path =>
Я попытался удалить раздел файла в моем выводе, и я могу запустить процесс logstash, но когда я вставляю свою строку журнала в оболочку, я не вижу, чтобы запись журнала была разбита на компоненты, которые я ожидаю от фильтра grok чтобы разбить его. Все, что я получаю, когда это делаю, это:
Oct 30 08:57:01 VERBOSE[1447] logger.c: == Manager 'sendcron' logged off from 127.0.0.1
{"message":"Oct 30 08:57:01 VERBOSE[1447] logger.c: == Manager 'sendcron' logged off from 127.0.0.1","@version":"1","@timestamp":"2014-10-31T16:09:35.205Z","host":"lumberjack.domain.com"}
Первоначально у меня была проблема с новым фильтром Grok, поэтому я попробовал использовать существующий фильтр, который, как я знаю, работает (как показано выше, это фильтр Asterisk 1.2), и в течение некоторого времени создавал записи в elasticsearch.
Я попытался прикоснуться к json-файлу, упомянутому в выводе, но это не помогло.
Теперь, когда я просматриваю logstash-debug.log, я просто вижу ошибку, которая также записывается в мою оболочку.
Будем признательны за любые предложения по отладке фильтров Grok, если я пропустил что-то ослепляюще очевидное, извините, я работаю с ELK & grok всего пару недель, и, возможно, я не буду делать это самым разумным способом. Я надеялся, что смогу перенести примеры записей журнала в оболочку и получить запись журнала в формате JSON на мою консоль, чтобы я мог видеть, работает ли мой фильтр так, как я надеялся, и пометил их, поскольку они будут отображаться в кибане в конец. Если есть лучший способ сделать это, пожалуйста, дайте мне знать.
Я использую logstash 1.4.2