logstash 持续长期运行常用的3种方式 – 21运维
通知: .-...

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

ELK 21运维 14829浏览 0评论


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

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址