MeterSphere 后台服务状态监控以及邮件提醒

在MeterSphere使用过程中,可能会出现某些服务异常中断,这时就需要一个及时提醒的服务,让维护人员把中断的服务及时拉起,避免出现长时间服务中断的情况

一、准备内容

1、Linux服务器上的mail发送端安装包
2、网络可通的邮件服务器信息

二、安装脚本

#!/bin/bash echo 开始安装Metersphere服务监控 
mkdir -p /opt/metersphere/check 
cp ./ms_check.sh /opt/metersphere/check 
chmod +x /opt/metersphere/check/ms_check.sh

 #安装邮件发送端 
mail_account=1370296886@qq.com 
mail_passwd=xxxx 
smtp_server=smtps://smtp.qq.com:465 

#配置收件人,多个收件人用英文,分割 
mail_receipt="zhaojun@fit2cloud.com" 
sed -i "s/mail_address/$mail_receipt/g" /opt/metersphere/check/ms_check.sh

 #MS平台 
title="MeterSphere测试平台" 
sed -i "s/title_content/$title/g" /opt/metersphere/check/ms_check.sh 

#服务器ip 
ip=10.1.12.30 
sed -i "s/ip_address/$ip/g" /opt/metersphere/check/ms_check.sh 

#配置监控执行时间间隔,默认10分钟 
min=10 

#配置定时任务 
echo "*/$min * * * * root /opt/metersphere/check/ms_check.sh" >> /etc/crontab 
systemctl restart crond.service 

#安装邮件服务与配置 
rpm -ivh ./mailx-12.5-19.el7.x86_64.rpm 
cat << EOF >> /etc/mail.rc 
set bsdcompat 
set from=$mail_account 
set smtp=$smtp_server 
set smtp-auth-user=$mail_account 
set smtp-auth-password=$mail_passwd 
set smtp-auth=login EOF 
echo "安装完成,发送测试邮件至收件人邮箱" 
echo "This is a test mail for metersphere" mail -s "metersphere TEST" $mail_receipt

三、服务检测及发送邮件脚本

#!/bin/bash 
#配置项 
title=MeterSphere测试平台
mail_receipt=zhaojun@fit2cloud.com 
service_check(){ 
touch /tmp/ms_status for ServiceName in `msctl status awk 'NR >= 4{print $1}'`; 
do 
exist=`docker inspect --format '{{.State.Running}}' ${ServiceName}`
if [ "$exist" != "true" ];then 
echo "$title主机 $ip 的 $ServiceName 服务模块未启动" >> /tmp/ms_status 
else 
echo "${ServiceName} is up" 
fi 
done
error_num=`cat /tmp/ms_status wc -l` 
if [ $error_num -ge 1 ];
then cat /tmp/ms_status mail -s "$title应用服务器服务故障" $mail_receipt 
fi 
rm -rf /tmp/ms_status 
} 
service_check

四、安装过程

1、先将附件中所有的文件拷贝到服务器的某一个目录下, 如果安装目录下不是默认的/opt/metersphere ,记得修改install.sh脚本中的目录
2、修改install.sh及ms_check.sh中的关键参数
3、执行install.sh,然后关掉某一个服务:比如docker stop ms-node-controller
4、然后等10分钟之后,观察邮箱是否收到邮件,收到邮件之后即恢复:msctl reload

效果如下:

五、附件内容如下

链接: 百度网盘 请输入提取码 提取码: gbt9