一、利用外部邮件服务器配置邮件发送
环境:CentOS 7+系统默认Mail服务
编辑/etc/mail.rc,追加外部邮件服务器信息及帐号信息
1 2 3 4 5 |
# vim /etc/mail.rc set from=vpsalerter@163.com set smtp=smtp.163.com set smtp-auth-user=vpsalerter@163.com set smtp-auth-password=密码 |
如果利用网易的邮件服务器,需要注意的是,这里的密码是客户端授权密码,否者发送邮件时会授权失败。
163邮箱的POP3/STMP服务开启后,需要设置一个客户端授权码,具体可参考这里。
配置成功后,测试邮件发送:
1 |
# echo hello word | mail -s " title" XXXXXXX@163.com |
二、利用自建邮件服务器配置邮件发送
具体可参考这里。
三、服务器状态告警邮件通知
定时告警脚本:
1 2 |
# crontal -l 0 11 * * * /mnt/data/bakeup/monitor.sh |
定时检测告警脚本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# cat /mnt/data/bakeup/monitor.sh #!/bin/sh # VPS Monitor # Author: Jack Zhang function send_mail(){ echo "您好,XXX服务器"$1"本邮件来自服务器自动告警服务,请勿回复"| mail -s " title" XXXXX@google.com } echo "Monitor Date:"`date` ## Check System backup Disk data_disk_usage=$(df -TH|grep /dev/xvda1|awk '{print $6}'|awk -F % '{print $1}') if [[ $data_disk_usage > 90 ]];then echo "DISK-System:Alert!" send_mail "系统盘快满了,请及时清理临时数据,否则会影响服务器运行!" else echo "Disk-System:Normal!" fi ## Check Data backup Disk data_disk_usage=$(df -TH|grep /dev/xvdb|awk '{print $6}'|awk -F % '{print $1}') if [[ $data_disk_usage > 95 ]];then echo "DISK-Data:Alert!" send_mail "数据备份盘快满了,请及时清理旧数据,否则会影响每日备份!" else echo "Disk-Data:Normal!" fi ## Check the status of DB service db_status=$(systemctl status mariadb|grep "Active: active (running)"|wc -l) if [[ "$db_status" = "1" ]];then echo "DB:Normal!" else echo "DB:Alert!" send_mail "数据库服务停止,请联系运维人员处理,否则会影响网站运行!" fi ## Check the status of Http service httpd_status=$(systemctl status httpd|grep "Active: active (running)"|wc -l) if [[ "$httpd_status" = "1" ]];then echo "Http:Normal!" else echo "Http:Alert!" send_mail "Web服务器停止,请联系运维人员处理,否则会影响网站运行!" fi ## Check the status of Homepage url_access_code=$(curl -o /dev/null -s -m 10 --connect-timeout 10\ -w %{http_code} www.yournet.com) if [ "$url_access_code" = "200" ]; then echo "HomePage:Normal!" else echo "HomePage:Alert!" send_mail "网站已经不可访问,请联系运维人员处理,否则会影响企业形象!" fi |
code
more code
~~~~