Каков формат файла конфигурации logstash
Использует ли logstash свой собственный синтаксис файла в файле конфигурации? Есть ли синтаксический анализатор или валидатор для синтаксиса файла конфигурации?
Для тех, кто не использует logstash, но имеет представление о форматах файлов, здесь приведен пример синтаксиса:
input {
file {
path => "/var/log/messages"
type => "syslog"
}
file {
path => "/var/log/apache/access.log"
type => "apache"
}
}
Ответы
Ответ 1
По-видимому, параметры командной строки были обновлены с момента публикации ответов, а аргументы --configtest
и --config
больше не действительны. Чтобы попросить Logstash (по крайней мере, v5) проверить файл конфигурации:
bin/logstash -t -f config.conf
С расширенными аргументами это выглядит так:
bin/logstash --config.test_and_exit --path.config config.conf
Ответ 2
Файл конфигурации Logstash является настраиваемым форматом, разработанным пользователями Logstash с помощью Treetop.
Сама грамматика описана в исходном файле grammar.treetop
и скомпилирована с использованием Treetop в пользовательский grammar.rb
.
Этот анализатор затем используется файлом pipeline.rb
, чтобы настроить конвейер из конфигурации Logstash.
Если вы не так много в Ruby, есть еще один интересный проект под названием node-logstash, который предоставляет реализацию Logstash в Node.js. Формат конфигурации точно такой же, как у официального Logstash, хотя синтаксический анализатор явно отличается от написанного для Node.js. В этом проекте грамматика конфигурационного файла Logstash описана в jison, и парсер также автоматически генерируется, но может быть использован любым модулем Node.js, просто требуя, чтобы сгенерированный парсер.
Ответ 3
Вы можете использовать следующую команду, чтобы проверить, что ваш файл конфигурации logstash действителен:
bin/logstash --configtest --config <your config file>
Ответ 4
До сих пор. нет никакого анализатора или валидатора для конфигурации logstash. Вы можете использовать логсташ только для проверки конфигурации.
Для получения дополнительной информации о config, вы можете посетить здесь. Весь формат представлен на этой странице.
Ответ 5
Конфигурация пакета Logstash-Config Go предоставляет готовый синтаксический анализатор и Абстрактное синтаксическое дерево для файлов конфигурации Logstash в Go.
Основой грамматики для разбора формата конфигурации Logstash является оригинальная грамматика Treest Logstash.
logstash-конфигурация использует голубь, чтобы сгенерировать синтаксический анализатор от PEG (выражение грамматики синтаксического анализа).