有多种方式运行,我这里只总结三种方式,已经满足需要,其他方式个人感觉没必要了。其他运行方式请自行总结,比如rpm安装以后的daemon服务方式(service logstash start)。
1,利用nohup扔到后台运行。
nohup /usr/local/ELk/logstash-5.1.1/bin/logstash -f /usr/local/ELk/logstash-5.1.1/config/conf.d/webnginx.conf >/dev/null &;
2,采用screen运行。
该方式就是建立一个虚拟终端进行运行而已,以便退出终端的时候保持运行。screen具体使用方法请参考《Linux 将任务放到后台虚拟终端执行screen命令使用说明》
3,采用daemontools
daemontools 是一个软件名称,不过配置略复杂。所以这里我其实是用其名称来指代整个同类产品,包括但不限于 python 实现的 supervisord,perl 实现的 ubic,ruby 实现的 god 等。
以 supervisord 为例,因为这个出来的比较早,可以直接通过 EPEL 仓库安装。
yum -y install supervisord --enablerepo=epel
在 /etc/supervisord.conf 配置文件里添加内容,定义你要启动的程序:
[program:elkpro_1] environment=LS_HEAP_SIZE=5000m directory=/opt/logstash command=/opt/logstash/bin/logstash -f /etc/logstash/pro1.conf -w 10 -l /var/log/logstash/pro1.log [program:elkpro_2] environment=LS_HEAP_SIZE=5000m directory=/opt/logstash command=/opt/logstash/bin/logstash -f /etc/logstash/pro2.conf -w 10 -l /var/log/logstash/pro2.log
然后启动 service supervisord start 即可。
logstash 会以 supervisord 子进程的身份运行,你还可以使用 supervisorctl 命令,单独控制一系列 logstash 子进程中某一个进程的启停操作:
supervisorctl stop elkpro_2
supervisord 方式请参考说明http://kibana.logstash.es/content/logstash/get-start/daemon.html
转载请注明:21运维 » logstash 持续长期运行常用的3种方式