【问题标题】:Logstash Error: Address already in useLogstash 错误:地址已在使用中
【发布时间】:2018-05-20 16:49:13
【问题描述】:

我有以下配置

input {
  beats {
    'port' => '5044'
  }
}
output {
  cloudwatch {
    'region'=> 'us-west-2'
  }
}

/usr/share/logstash/pipeline/我只有一个conf文件

bash-4.2$ ls /usr/share/logstash/pipeline
logstash.conf

只有一个来自ps -ef 的 Java 进程。在容器中运行它

bash-4.2$ ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
logstash     1     0  0 17:33 ?        00:00:00 bash -c echo -e $CONFIG > /usr/share/logstash/pipeline/logstash.conf && /usr/local/bin/docker-entrypoint
logstash     5     1  6 17:33 ?        00:01:00 /bin/java -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+DisableExplicitGC -Djava.awt.headl
logstash    62     0  0 17:38 ?        00:00:00 bash
logstash    77    62  0 17:47 ?        00:00:00 ps -ef

但是logstash失败并给出了

[2017-12-06T07:36:46,505][ERROR][logstash.pipeline ] A plugin had an unrecoverable error. Will restart this plugin.
Plugin: <LogStash::Inputs::Beats port=>9600, id=>"a585f91b9cdadf6400c91b02e2bd3177cf93afd8-1...
Error: event executor terminated

【问题讨论】:

  • 你可以在logstash.yml中启用log.level: debug & config.debug: true,然后重新运行logstash,这将提供更多的调试输出并帮助缩小问题
  • @Ram 是的,谢谢。尝试过几次。

标签: logstash elastic-stack logstash-configuration


【解决方案1】:

请尝试在 logstash 文件中定义不同的端口号(输入部分),并将相同的端口号放在 filebeat.yml 中。
例如使用 5085 而不是 5044

【讨论】:

    【解决方案2】:

    您应该使用以下命令终止所有正在运行的 Logstash 管道:

    p_id=$(lsof -n -i :5044 | awk '{ print $2}')
    p_id=$(echo $p_id | awk '{ print $2}') 
    kill -9 $p_id 
    

    如果问题仍然存在,请停止并启动其他与 Logstash 通信的服务,例如文件节拍。

    【讨论】:

      【解决方案3】:

      出现此问题是因为在当前文件所在的同一文件夹中创建了“logstash.conf”备份文件。 确保在“logstash.conf”文件发生任何更改后,如果备份文件退出当前文件的同一目录或将该文件复制到另一个位置,请先删除备份文件

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-06-04
        • 2011-01-09
        • 2023-01-25
        • 2016-10-24
        • 2015-05-26
        • 2018-06-18
        相关资源
        最近更新 更多