一、首先配置郵件相關配置
在配置文件/etc/mail.rc末尾增加如下配置
set [email protected]
set smtp=mail.demo.abcd.com #發送方地址 郵件服務器 也可能是ip地址
set smtp-auth-user=mpd
set smtp-auth-password=SenderPassword
set smtp-auth=login
set smtp-port=25 #端口
二、安裝superlance
[@abcd.com ~]$ git clone https://github.com/Supervisor/superlance.git
[@abcd.com ~]$ cd superlance
[@abcd.com ~]$ python setup.py install
三、配置supervisor(我認爲supervisor已經安裝好)
在supervisor服務配置文件增加如下內容:
[program:mydemo_fe]
environment = JAVA_HOME="/data/apps/jdk1.8.0_172"
process_name=doris_fe ;進程名稱
directory=/data/apps/mydemo/fe ;工作目錄
command=sh /data/apps/mydemo/fe/bin/start.sh ;運行的命令
autostart=true ;自動開啓
autorestart=true ;自動重啓
user=mytest ;linux用戶
numprocs=1 ;進程數
startretries=3 ;啓動重試次數
stopasgroup=true ;是否停止子進程
killasgroup=true ;是否殺死子進程
;startsecs=10 ;啓動5秒後,如果還是運行狀態才認爲進程已經啓動
;redirect_stderr=true
;stdout_logfile_maxbytes=20MB
;stdout_logfile_backups=10
;stdout_logfile=/data/apps/doris/deploy/output/fe/logs/supervisor-doris_fe.log
[eventlistener:mydemo_fe_monitor]
command=crashmail -p mydemo_fe -s "echo '你程序罷工了!!'| /usr/bin/mail -s '警告,起來幹活!!' [email protected]"
events=PROCESS_STATE_EXITED
redirect_stderr=false
說明:
1)mydemo_fe_monitor是監控進程用於監控mydemo_fe進程,如果mydemo_fe進程異常退出了,監控進程就會主動發送郵件。
PS:這裏可能會有郵件風暴啊!!我們可以將crashmail替換成crashmailbatch
2)如果由supervisor監控進程,supervisor有一個配置項用於控制文件opened數量,往往這個地方是一個坑。所以我們可以進行修改,/etc/supervisord.conf中的minfds修改成合適值。