使用supervisord 管理ELK進程


 看教程安裝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

wKioL1g-PMbDm8uFAAA_Awdv0TA730.png

#然後就可以管理你的服務進程了

wKiom1g-PP3i81upAADWGHEZKag341.png

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