supervisor監控和mail預警

一、首先配置郵件相關配置

在配置文件/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修改成合適值。

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