#!/bin/bash
partion_list=( 'df -h | awk ‘NF>3&&NR>1{sub(/%/,””,$(NF-1))print $NF,$(NF-1)}’' )
critical=90
notification_email()
{
emailuser='user@qq.com' “发送邮件地址”
emailpasswd='password'“成功开启POP3/SMTP服务,在第三方客户端登录时,密码框请输入的授权码”
emailsmtp='smtp.qq.com'
sendto='user2@qq.com' “接收邮箱地址”
title='Disk Space Alarm' “邮件标题”
/usr/local/bin/sendEmail -f $emailuser -t $sendto -s $emailsmtp -u $title -xu $emailuser -xp $emailpasswd -m $emailmessage
}
crit_info=””
for (( i=0i<${#partition_list[@]}i+=2 ))
do
if [ “${partition_list[ ((i+1)) ]}” -lt “$critical” ]then
echo “ok! ${partition_list[i]} used ${partition_list[ ((i+1)) ]}%”
else
if [ “${partition_list[ ((i+1)) ]}” -gt “$critical” ]then
crit_info=$crit_info”Warning!!! ${partition_list[i]}
used ${partition_list[ ((i+1) ] }%\n”
fi
fi
done
if [ “$crit_info” != ”” ]then
echo -e $crit_info | notification_email
fi
上面脚本的功能是监控每个磁盘分区,当磁盘分区使用空间超过90%时,就通过sendEmail来发送邮件告警。sendEmail是个开源工具,可以从http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz下载;
解压后把sendEmail拷贝到/usr/local/bin下即可。
Linux性能监控工具 - Nmon安装及简介tar.gz安装包安装方式:
1)用root用户登录到系统中;
2)建目录:#mkdir /nmon,作为Nmon的安装目录;
3)把nmon_linux_14g.tar.gz用ftp上传到/nmon,或者通过其他介质拷贝到/nmon目录中;
4)进入./nmon目录下,cd ./nmon;
5)解压缩上传的压缩包,tar -xf nmon_linux_14g.tar.gz;
6)执行以下命令进行安装:
6.1) cp nmon_linux_x86_64 nmon;
6.2) cp nmon /bin/nmon
6.3) cp nmon /usr/bin/nmon
6.4) cp nmon /usr/local/bin/nmon
7)此时安装目录下回出现nmon文件,执行授权命令:#chmod +x nmon,完成安装。
【简介】:
nmon是一种在AIX与各种Linux *** 作系统上广泛使用的监控与分析工具,相对于其它一些系统资源监控工具来说,nmon所记录的信息是比较全面的,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中,然后通过nmon_analyzer工具产生数据文件与图形化结果。
nmon所记录的数据包含以下一些方面(也是我们在寻找问题过程中所关注的资源点):
cpu占用率
内存使用情况
磁盘I/O速度、传输和读写比率
文件系统的使用率
网络I/O速度、传输和读写比率、错误统计率与传输包的大小
消耗资源最多的进程
计算机详细信息和资源
页面空间和页面I/O速度
用户自定义的磁盘组
网络文件系统
另外在AIX *** 作系统上,nmon还能监控到其他的一些信息,如异步I/O等。
#!/bin/ship=192.168.1.1 #你的真实IP地址
time=`date +%F-%H:%M`
mail_address="你的邮件地址"
tmpfile=/tmp/check-disk.txt
a=`df -h | grep 'sda1'|awk '{print int($5)}'` #指定过滤的硬盘分区
touch /tmp/check-disk.txt
echo "From :$ip" >$tmpfile #这里用“>”的意思是覆盖,保证每次发邮件的内容都是新的。
echo "DateTime:$time" >>$tmpfile
echo "Info :yourname" >>$tmpfile
echo "disk_status_use=$a%" >>$tmpfile
if [[ "$a" >85 ]]then #指定分区的磁盘使用空间大于85%就报警
/bin/mail -s "warning ! $HOSTNAME disk is full !" $mail_address <$tmpfile
else
/bin/mail -s "$HOSTNAME disk is ok !" $mail_address <$tmpfile
fi
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)