最新消息: PyCharm vs VSCode,哪个更好?
您现在的位置是:群英 > 服务器 > 云计算 >
Shell脚本监控主机怎么操作?
CSDN发表于 2020-09-09 17:44 次浏览
        公司随着业务的不断发展,所使用的linux服务器也越来越多,所以很多公司希望编写一个简单的性能监控脚本,以方便公司业务的发展,下面我们来看一下详细步骤吧:
编写脚本程序sysmon.sh,组织好各种代码
[root@localhost ~]# cd /mnt/
[root@localhost mnt]# vim sysmon.sh
#!/bin/bash
#提取性能监控指标(磁盘占用、CPU使用、内存使用)
DUG=$(df -h | grep "/$" | awk '{print $5}' | awk -F% '{print $1}')
CUG=$(expr 100 - $(mpstat | tail -1 | awk '{print $12}' | awk -F. '{print $1}'))
MUG=$(expr $(free | grep "Mem:" | awk '{print $3}') \* 100 / $(free | grep "Mem:" | awk '{print $2}'))
#设置告警日志文件、告警邮箱
ALOG="/mnt/www.txt"               # 日志文件的变量
AMAIL="root"                      # 发送到邮箱的变量
#判断是否记录告警
if [ $DUG -gt 80 ]
then
    echo "磁盘占用率:$DUG %" >> $ALOG
fi
if [ $CUG -gt 70 ]
then
    echo "CPU使用率:$CUG %" >> $ALOG
fi
if [ $MUG -gt 80 ]
then
    echo "内存使用率:$MUG %" >> $ALOG
fi
#判断是否发送告警邮件,最后删除告警日志文件
if [ -f $ALOG ]
then
    cat $ALOG | mail -s "Host Alert" $AMAIL
    rm -rf $ALOG
fi 

 

验证脚本执行效果、邮件发送效果

配置计划任务,每半小时调用一次sysmon.sh脚本

[root@localhost mnt]# systemctl status crond    查看计划任务是否在运行状态
[root@localhost mnt]# crontab -e
crontab: no changes made to crontab
[root@localhost mnt]# crontab -l
*/30 * * * * /usr/bin/sh  /mnt/sysmon.sh
[root@localhost mnt]#

实验完成

标签:Shell脚本
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
相关信息推荐