使用 Shell 脚本监控主机,实现主机性能监控

本文介绍了一种使用Shell脚本进行主机性能监控的方法,包括磁盘占用、CPU使用和内存使用情况的监控。通过设置告警日志和邮件通知,实现了性能监控的自动化。最后,结合计划任务,使主机性能监控每半小时自动执行一次。
摘要由CSDN通过智能技术生成

一、编写脚本程序,组织好各种代码

[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 

在这里插入图片描述

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

[root@localhost ~]# cd /mnt/
[root@localhost mnt]# ls
sysmon.sh
[root@localhost mnt]# sh sysmon.sh
[root@localhost mnt]# cat /var/spool/mail/root | tail -20

在这里插入图片描述

三、结合计划任务,实现主机性能自动监控

[root@localhost ~]# systemctl status crond    			#查看计划任务是否在运行状态
[root@localhost ~]# crontab -e							#编写计划任务
*/30 * * * * /usr/bin/sh  /mnt/sysmon.sh				#每半个小时执行一次
[root@localhost ~]# crontab -l							#查看计划任务

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

愿许浪尽天涯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值