我最近通过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使其正常工作的分步指南。
答案 0 :(得分:0)
在/ var / log / logstash /中应该有一组logstash日志。尝试查看这些内容以查看实际错误是什么。
答案 1 :(得分:0)
bin/logstash -f logstash.conf --configtest
LS_USER=logstash
至LS_USER=root
答案 2 :(得分:0)
我之前在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