logstash 持续长期运行常用的3种方式

  有多种方式运行,我这里只总结三种方式,已经满足需要,其他方式个人感觉没必要了。其他运行方式请自行总结,比如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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章