【问题标题】:logstash unable to run as a servicelogstash 无法作为服务运行
【发布时间】:2018-02-25 04:46:48
【问题描述】:

我最近通过 apt 包存储库安装了 logstash: https://www.elastic.co/guide/en/logstash/current/package-repositories.html

我还创建了自己的配置文件,它处理一些 syslog-ng 日志并相应地解析它们。

问题是我要让 logstash 使用该配置文件,我必须使用以下命令手动执行此操作(在 logstash 目录中):

bin/logstash -f logstash.conf

我尝试过使用各种初始化脚本,例如此处显示的脚本:https://gist.github.com/nodesocket/5941884 没有运气。每当我尝试检查 logstash 的状态(“sudo service logstash status”)时,我都会收到“logstash started”消息,但是当我再次检查时,它会显示“logstash 未运行”。

我只是在寻找有关如何通过全新安装的 logstash 使其工作的分步指南。

【问题讨论】:

    标签: ubuntu logstash


    【解决方案1】:

    在 /var/log/logstash/ 中应该有一组 logstash 日志。尝试查看这些以查看实际错误是什么。

    【讨论】:

      【解决方案2】:
      • 我假设您的 logstash.conf 文件正在运行:
      • 你可以用这个命令查看:
        bin/logstash -f logstash.conf --configtest
      • 所以问题可能是您对 logstash 服务的权限。
        我的意思是,因为您要解析 syslog 日志,而 syslog 日志来自需要 root 权限的默认 514 端口。
        为了授予您的 logstash 服务权限,您应该将 logstash.yml 文件中的更改
        LS_USER=logstash 更改为 LS_USER=root
      • 我不知道您的问题是否如此,但它可能会有所帮助。

      【讨论】:

        【解决方案3】:

        我之前在 Ubuntu 16.0.4 中遇到过同样的问题。也许你的问题是java! 我已经在 /usr/local/java/.... 中手动安装了 java,但默认情况下,logstash 读取 /usr/bin/java 以使用 java。

        用这个命令检查它:

        root@elk:~# which java
        /usr/bin/java
        

        如果结果不是 /usr/bin/java 则执行以下指令:

        wget http://url to jdk****.tar.gz
        sudo mkdir /usr/lib/jvm
        cd /usr/lib/jvm
        sudo tar -xvzf ~/Downloads/jdk********.tar.gz
        vi /etc/environment
        

        将此行添加到环境中

        PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/jdk1.8.0_151/bin:/usr/lib/jvm/jdk1.8.0_151/db/bin:/usr/lib/jvm/jdk1.8.0_151/jre/bin"
        J2SDKDIR="/usr/lib/jvm/jdk1.8.0_151"
        J2REDIR="/usr/lib/jvm/jdk1.8.0_151/jre"
        JAVA_HOME="/usr/lib/jvm/jdk1.8.0_151"
        DERBY_HOME="/usr/lib/jvm/jdk1.8.0_151/db"
        

        然后保存并关闭。之后运行以下命令:

        sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.8.0_151/bin/java" 0 
        sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.8.0_151/bin/javac" 0 
        sudo update-alternatives --set java /usr/lib/jvm/jdk1.8.0_151/bin/java 
        sudo update-alternatives --set javac /usr/lib/jvm/jdk1.8.0_151/bin/javac
        
        
        reboot
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-05-20
          • 1970-01-01
          • 2015-03-08
          • 1970-01-01
          • 2010-11-18
          • 1970-01-01
          相关资源
          最近更新 更多