【问题标题】:Logstash HTTP input plugin configuration error: Expected one of #Logstash HTTP 输入插件配置错误:应为 # 之一
【发布时间】:2016-10-17 13:02:50
【问题描述】:

我正在尝试按照官方documentation 配置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"}

我非常不确定如何在此处继续操作,我们将不胜感激任何帮助和/或指导。

【问题讨论】:

    标签: logstash elastic-stack logstash-configuration logstash-file


    【解决方案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 上的最新文档

    【讨论】:

    • 瓦尔,谢谢。我已经进行了必要的更改,但有趣的是主机值不正确,配置测试不满意,主机似乎是正确的。在旁注中,我仍然在 10-syslog.conf 上拒绝访问,但 logstash 正常启动,您是否有任何指示如何设置正确的权限?
    • 您的logstash 无法访问文件10-syslog.conf。你是如何开始 Logstash 的?用须藤? 10-syslog.conf 文件的权限是什么?
    • host 可能是正确的,因为您使用的是旧版本的 Logstash 1.5.2。我强烈建议您改用latest Logstash version
    • 我正在使用 sudo 启动服务,并且这个文件的权限似乎很奇怪,当运行 ls -la 时,我得到以下 10-syslog.conf---------- 1 root root 232 Oct 17 07:41 10-syslog.conf
    • 确实,你需要解决这个问题,你也不应该用 sudo 启动 Logstash。
    猜你喜欢
    • 2020-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多