抑郁症健康,内容丰富有趣,生活中的好帮手!
抑郁症健康 > 编写监控脚本 监控集群内所有服务存活状态 内存 磁盘剩余率检测 异常则发送报警邮件...

编写监控脚本 监控集群内所有服务存活状态 内存 磁盘剩余率检测 异常则发送报警邮件...

时间:2024-05-10 01:41:58

相关推荐

发送邮件Python程序

#!/usr/bin/python# -*- coding: UTF-8 -*-import sysimport smtplibimport email.mime.multipartimport email.mime.textserver = ''port = '25'def sendmail(server,port,user,pwd,msg):smtp = smtplib.SMTP()smtp.connect(server,port)smtp.login(user, pwd)smtp.sendmail(msg['from'], msg['to'], msg.as_string())smtp.quit()print('Email has send out !')if __name__ == '__main__':msg = email.mime.multipart.MIMEMultipart()msg['Subject'] = 'WARNNING'msg['From'] = 'python4_mail@'msg['To'] = 'xxxxxx@xxx.xxx'user = 'python4_mail'pwd = 'sbalex3714'content='%s\n%s' %('\n'.join(sys.argv[1:4]),' '.join(sys.argv[4:]))txt = email.mime.text.MIMEText(content, _charset='utf-8')msg.attach(txt)sendmail(server,port,user,pwd,msg)

编辑为/usr/bin/mail,添加可执行权限

监控脚本

#!/bin/bashcpu_limit=90mem_limit=90disk_inode_limit=90disk_space_limit=90disk='/dev/sda1'function bc_install(){rpm -qa |grep '^bc.*$' >> /dev/nullif [[ $? -ne 0 ]]; thenyum install bc -yfi}function nettools_install(){rpm -qa |grep net-tools >> /dev/nullif [[ $? -ne 0 ]]; thenyum install net-tools -yfi}function monitor_cpu(){cpu_free=`vmstat 1 5 |awk 'NR>=3{x = x + $15} END {print x/5}' |awk -F. '{print $1}'`cpu_use=$((100-cpu_free))if [[ $cpu_use -gt $cpu_limit ]]; thenmsg="TIME:$(date +%F_%T)HOSTNAME:$(hostname)IPADDR:$(ifconfig |awk 'NR==2{print $2}')MSG:CPU usage exceeds the limit,current value is ${cpu_use}%"echo $msg/usr/bin/mail $msgfi}function monitor_mem(){mem_total=`free |awk 'NR==2{print $2}'`mem_use=`free |awk 'NR==2{print $3}'`mem_per=`echo "scale=2;$mem_use/$mem_total" |bc -l|cut -d. -f2`if [[ $mem_per -gt $mem_limit ]]; thenmsg="TIME:$(date +%F_%T)HOSTNAME:$(hostname)IPADDR:$(ifconfig |awk 'NR==2{print $2}')MSG:Memory usage exceeds the limit,current value is ${mem_per}%"echo $msg/usr/bin/mail $msgfi}function monitor_disk_inode(){inode_use=`df -i $disk |awk 'NR==2{print $5}' |cut -d% -f1`if [[ $inode_use -gt $disk_inode_limit ]]; thenmsg="TIME:$(date +%F_%T)HOSTNAME:$(hostname)IPADDR:$(ifconfig |awk 'NR==2{print $2}')MSG:Disk inode usage exceeds the limit,current value is ${inode_use}%"echo $msg/usr/bin/mail $msgfi}function monitor_disk_space(){space_use=`df $disk |awk 'NR==2{print $5}'|cut -d% -f1`if [[ $space_use -gt $disk_space_limit ]]; thenmsg="TIME:$(date +%F_%T)HOSTNAME:$(hostname)IPADDR:$(ifconfig |awk 'NR==2{print $2}')MSG:Disk space usage exceeds the limit,current value is ${space_use}%"echo $msg/usr/bin/mail $msgfi}bc_installnettools_installmonitor_cpu &>> /tmp/monitor.logmonitor_mem &>> /tmp/monitor.logmonitor_disk_inode &>> /tmp/monitor.logmonitor_disk_space &>> /tmp/monitor.log

如果觉得《编写监控脚本 监控集群内所有服务存活状态 内存 磁盘剩余率检测 异常则发送报警邮件...》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。