0

我正在尝试按照官方文档配置 logstash HTTP 输入插件。我在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 Permission denied - /etc/logstash/conf.d/10-syslog.conf"}

我非常不确定如何在这里进行,任何帮助和/或指导将不胜感激。

4

1 回答 1

2

您只是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上的最新文档

于 2016-10-17T05:02:50.630 回答