Ошибка конфигурации плагина ввода HTTP Logstash: ожидается одно из #

Я пытаюсь настроить подключаемый модуль ввода HTTP logstash, следуя официальной документации. У меня есть следующая конфигурация, сохраненная в 10-syslog.conf

input {
   port => 8080
   user => elkadmin
   password => "xxxx"
   ssl => off
}
output {
  elasticsearch {
    host => "127.0.0.1"
   codec => "json"
    index => "logstash-%{+YYYY.MM.dd}"
    protocol => "http"
  }
  stdout { codec => rubydebug }
}

Logstash запускается успешно при использовании следующей команды:

sudo service logstash restart

Я выполнил проверку конфигурации файла конфигурации для подключаемого модуля ввода, используя

/opt/logstash/bin/logstash -configtest -f 10-syslog.conf

Проверка конфигурации вернулась со следующей ошибкой:

Ошибка: ожидалось одно из #, {в строке 2, столбец 9 (байт 18) после ввода {

Глядя на журнал logstash, я вижу, что это может быть вызвано разрешениями:

{: timestamp => "2016-10-16T20: 41: 30.900000 + 0000",: message => "Сообщение об ошибке: \ n В доступе отказано - /etc/logstash/conf.d/10-syslog.conf"}

Я очень не уверен, как действовать здесь, и любая помощь и / или руководство были бы более чем признательны.


person razorblade    schedule 16.10.2016    source источник


Ответы (1)


Вам просто не хватает имени http подключаемого модуля ввода в разделе ввода (опечатка взята из статьи блога, на которую вы ссылаетесь)

input {
  http {                   <--- add this
    port => 8080
    user => elkadmin
    password => "xxxx"
    ssl => off
  }
}

Также обратите внимание, что в вашем модуле вывода elasticsearch host должно читать hosts, и protocol больше не поддерживается.

Ваша ссылка устарела (с 2015 г.), желательно использовать последнюю версию документации по адресу https://www.elastic.co/guide/en/logstash/current/plugins-inputs-http.html

person Val    schedule 17.10.2016
comment
Вал, спасибо за это. Я внес необходимые изменения, но, что интересно, значение хоста было неправильным, и тест конфигурации не прошел, и хост кажется правильным. Кстати, я все еще получаю отказ в доступе к 10-syslog.conf, но logstash запускается нормально, есть ли у вас какие-нибудь указания, как установить правильные разрешения? - person razorblade; 17.10.2016
comment
Ваш журнал не может получить доступ к файлу 10-syslog.conf. Как вы запускаете Logstash? С помощью sudo? Какие разрешения у файла 10-syslog.conf? - person Val; 17.10.2016
comment
host, вероятно, правильно, потому что вы используете Logstash 1.5.2, которая является старой версией. Я настоятельно рекомендую вам вместо этого использовать последнюю версию Logstash. - person Val; 17.10.2016
comment
Я запускаю службу с помощью sudo, и разрешения для этого файла кажутся довольно странными, при запуске ls -la я получаю следующее для 10-syslog.conf: ---------- 1 root root 232 Oct 17 07:41 10-syslog.conf - person razorblade; 17.10.2016
comment
Действительно, вам нужно это исправить, также не следует запускать Logstash с помощью sudo. - person Val; 17.10.2016
comment
Спасибо за это. У какой учетной записи должны быть разрешения на доступ к этому файлу? Есть ли руководство по конкретным требуемым разрешениям? - person razorblade; 17.10.2016
comment
Проверьте это: stackoverflow.com/questions/32036002/ - person Val; 17.10.2016