天天看點

centos7 Supervisor的安裝與配置,管理elk程序。

supervisor是python的一個程序管理工具,可以管理多個程序的狀态,短線自動重新開機,supervisor啟動則自動啟動等,并有一個簡單的可視化web界面,可以對多個程序進行統一管理,本人也是在研究ELK的時候,首次接觸到,可以用來管理ELK的程序,友善管理,背景運作。

supervisor是python寫的,需要python的環境,最好是用python2.7。本人的環境是centos7.2,自帶python2.7,别的,沒更新的小夥伴,使用前,先更新一下python版本。

下面記錄一下,supervisor的安裝與配置,并配置ELK程序,進行管理。

一: 安裝supervisor。

yum install python-pip		#安裝python的pip
pip install supervisor		#利用pip下載下傳supervisor           

二:生産配置檔案:

mkdir /etc/supvisor
echo_supervisord_conf > /etc/supervisor/supervisor.conf   # 自動生産配置檔案的腳本
           

三:修改配置檔案:

vim /etc/supervisor/supervisor.conf           
[unix_http_server]
file=/var/log/supervisor/supervisor.sock   ; the path to the socket file
;chmod=0700                 ; socket file mode (default 0700)
;chown=nobody:nogroup       ; socket file uid:gid owner
;username=user              ; default is no username (open server)
;password=123               ; default is no password (open server)

[inet_http_server]         ; inet (TCP) server disabled by default		#打開這幾個選項,是web可視界面的配置
port=0.0.0.0:9001        ; ip_address:port specifier, *:port for all iface
username=user              ; default is no username (open server)
password=123               ; default is no password (open server)

[supervisord]
logfile=/var/log/supervisor/supervisord.log ; main log file; default $CWD/supervisord.log
logfile_maxbytes=50MB        ; max main logfile bytes b4 rotation; default 50MB
logfile_backups=10           ; # of main logfile backups; 0 means none, default 10
loglevel=info                ; log level; default info; others: debug,warn,trace
pidfile=/var/log/supervisor/supervisord.pid ; supervisord pidfile; default supervisord.pid
nodaemon=false               ; start in foreground if true; default false
minfds=1024                  ; min. avail startup file descriptors; default 1024
minprocs=200                 ; min. avail process descriptors;default 200
;umask=022                   ; process file creation umask; default 022
;user=chrism                 ; default is current user, required if root
;identifier=supervisor       ; supervisord identifier, default is 'supervisor'
;directory=/tmp              ; default is not to cd during start
;nocleanup=true              ; don't clean up tempfiles at start; default false
;childlogdir=/tmp            ; 'AUTO' child log dir, default $TEMP
;environment=KEY="value"     ; key value pairs to add to environment
;strip_ansi=false            ; strip ansi escape codes in logs; def. false
[include]
files = /usr/local/supervisor/*.ini
           

上面沒列出來的不需要修改

四:配置ELK的supervisor程序。

添加幾個程序到supvisor的配置檔案内,在最後一行中,注明了include的路徑,在這個路徑下添加各個程式的配置檔案,如下添加ELK三個程序的配置檔案:

vim /usr/local/supervisor/elasticsearch.ini
[program:elasticsearch]
command=/usr/local/ELK/elasticsearch-5.6.4/bin/elasticsearch	#啟動程式的指令
directory=/usr/local/ELK/elasticsearch-5.6.4			# 程式檔案夾
user=elk							# 指定使用者
numprocs=1							
priority=1							# 優先級 預設:999,數值越小優先級越高
autostart=true							# 是否随supervisor啟動而自動啟動
;startsecs=10							# 啟動正常運作多久,則為啟動成功。預設為:1秒
satrtretries=3							# 啟動失敗重試次數
autorestart=true						# 程序挂掉,是否重新開機
stopasgroup=true						# 預設為false,程序被殺死時,是否向這個程序組發送stop信号,包括子程序
killasgroup=true						# 預設為false,向程序組發送kill信号,包括子程序
redirect_stderr=true						# std_error日志重定向到std_out
stdout_logfile_maxbytes=50MB					# 日志最大大小
stdout_logfile_backups=10					# 日志最多保留數量
stdout_logfile=/var/log/supervisor/supervisor_elasticsearch.log	# 日志路徑           

kibana:

vim /usr/local/supervisor/kibana.ini
[program:kibana]
directory=/usr/local/ELK/kibana-5.6.4-linux-x86_64
command=/usr/local/ELK/kibana-5.6.4-linux-x86_64/bin/kibana
numprocs=1
priority=3
autostart=true
;startsecs=10
startretries=3
autorestart=true
redirect_stderr=true
tdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stdout_logfile=/var/log/supervisor/supervisor_kibana.log
           

logstash:

vim /usr/local/supervisor/logstash.ini
[program:logstash]
directory=/usr/local/ELK/logstash-5.6.4
command=/usr/local/ELK/logstash-5.6.4/bin/logstash -f /usr/local/ELK/conf/all.conf
numprocs=1
priority=2
autostart=true
;startsecs=5
startretries=3
autorestart=true
stopasgroup=true
killasgroup=true
redirect_stderr=true
stdout_logfile_maxbytes=50MB
stdout_logfile_backups =10
stdout_logfile=/var/log/supervisor/supervisor_logstash.log           

五:啟動supervisor

mkdir /var/log/supervisor/ ## 建立log日志檔案夾
supervisord -c /etc/supervisor/supervisor.conf           

啟動後,則可以通過web可是界面,管理程序,用浏覽器打開:http://127.0.0.1:9001

OK,到從,supervisor安裝配置完成。

繼續閱讀