看教程安装ELK时,发现了supervisord这个简单好用的进程管理工具,他支持web和文本两种方式,下面我们就来说一说具体的使用。更加详细的配置文件说明大家可以自行百度。
#安装
# yum -y install python-setuptools #安装easy_install 这个命令的软件包 # easy_install supervisor #安装supervisor
#生成配置文件
# echo_supervisord_conf > /etc/supervisord.conf
#启动
# supervisord #也可以[ -c +配置文件路径 ] 指定配置文件 # supervisorctl reload #修改了配置文件需要此操作重载、重启supervisord的服务
#关闭
[tomcat@master ~]$ ps aux | grep superv root 1203 0.0 0.7 200748 7156 ? Ss 09:15 0:03 /usr/bin/python /usr/bin/supervisord -c /etc/supervisord.conf tomcat 2147 0.0 0.0 103248 864 pts/0 S+ 11:03 0:00 grep superv [tomcat@master ~]$ sudo kill -9 1203
#配置文件说明,这个英文注释都有说明。
[unix_http_server] file=/tmp/supervisor.sock ; 指定socket文件的位置,当没有此文件时需要先 ;chmod=0700 ; 启动supervisord 再执行supervisorctl ;chown=nobody:nogroup ; ;username=user ; ;password=123 ; [inet_http_server] ; 开启web管理功能,默认是关闭的,也应该关闭 port=192.168.182.131:9001 ; 也应该关闭,不然不安全,这里我们为了演示 username=user ; 先打开此功能 password=123 ; [supervisord] ; 这个主要是定义supervisord服务器端的一些参数,必须设置 logfile=/tmp/supervisord.log ; supervisord日志文件的位置,如果不设置日志在当前位置下 logfile_maxbytes=50MB ; 当日志超过50M的时候会生成一个新的日志文件。当限制为0 ; 的时候不会限制文件的大小 logfile_backups=10 ; 日志文件保持的数量,supervisor在启动程序时会自动创建10个 ; backup文件,用于logrotate,当设置为0的时候,表示不限制 ; 文件的数量 loglevel=info ; 日志级别,默认info,非必须设置 pidfile=/tmp/supervisord.pid ; nodaemon=false ; minfds=1024 ; 这个是最少系统空闲的文件描述符,低于这个值supervisord将不 ; 会启动。/proc/sys/fs/file-max查看,默认1024,非必须设置 minprocs=200 ; 最小可用的进程描述符,低于这个值supervisor也不会启动。 ; ulimit -u 可以查看,默认不用修改 [program:elasticsearch] ; 添加elasticsearch服务 command = /home/tomcat/elasticsearch/bin/elasticsearch ;启动程序路径可以带参数 autostart = true startsecs = 5 autorestart = true startretries = 3 ; 其他的就不写了,配置文件里也有英文解释 user = tomcat ; 以哪个用户启动 redirect_stderr = true stdout_logfile_maxbytes = 20MB stdout_logfile_backups = 20 stdout_logfile = /home/tomcat/logs/elasticsearch_super.log [program:logstash] directory = /home/tomcat/logstash/bin/ command = /home/tomcat/logstash/bin/logstash -f /home/tomcat/testlog.conf autostart = true startsecs = 5 autorestart = true startretries = 3 user = tomcat redirect_stderr = true stdout_logfile_maxbytes = 20MB stdout_logfile_backups = 20 stdout_logfile = /home/tomcat/logs/logstash_super.log [program:kibana] directory = /home/tomcat/kibana/bin/ command = /home/tomcat/kibana/bin/kibana autostart = true startsecs = 5 autorestart = true startretries = 3 user = tomcat redirect_stderr = true stdout_logfile_maxbytes = 20MB stdout_logfile_backups = 20 stdout_logfile = /home/tomcat/logs/kibana_super.log [group:elk] ; 组管理非常方便,我们可以start|stop|status programs=elasticsearch,logstash,kibana ; elk:* 来启动或关闭所有此组的服务,非必须开启。 [include] ; 当我们要管理很多进程的时候,写在一个文件里面就 files = /etc/supervisor/*.conf ; 有点大了。此时可以把配置文件写到多个文件中 ; 然后include过来
#supervisord有两种执行命令的方式,可以直接命令行:
[tomcat@master ~]$ sudo supervisorctl status elk:elasticsearch RUNNING pid 1430, uptime 0:48:51 elk:kibana RUNNING pid 1432, uptime 0:48:51 elk:logstash RUNNING pid 1431, uptime 0:48:51
#也可以进入子shell(ctrl + c退出子shell):
[tomcat@master ~]$ sudo supervisorctl elk:elasticsearch RUNNING pid 1430, uptime 0:51:57 elk:kibana RUNNING pid 1432, uptime 0:51:57 elk:logstash RUNNING pid 1431, uptime 0:51:57 supervisor> stop elk:* elk:kibana: stopped elk:elasticsearch: stopped elk:logstash: stopped supervisor> status elk:elasticsearch STOPPED Nov 30 10:29 AM elk:kibana STOPPED Nov 30 10:29 AM elk:logstash STOPPED Nov 30 10:29 AM
#最后看看web界面吧(感觉不够安全还是慎用为好)
#浏览器输入http://ip:port
#然后就可以管理你的服务进程了
本文出自 “随风” 博客,请务必保留此出处http://358778493.blog.51cto.com/11386071/1878051
原文地址:http://358778493.blog.51cto.com/11386071/1878051