如何监控linux阿里云磁盘空间

如何监控linux阿里云磁盘空间,第1张

Linux系统中需要监控磁盘各分区的使用情 况,避免由于各种突发情况,造成磁盘空间被消耗殆尽的情况,例如某个分区被Oracle的归档日志耗尽,导致后续的日志文件无法归档,这时ORACLE数 据库就会出现错误。监控磁盘空间的使用情况,其实有许多工具,例如Nagios等,其实最简单的还是使用Shell脚本。下面就介绍一下如何通过 Shell脚本和Crontab作业结合来实现对磁盘空间的监控、告警。
一般查看磁盘各分区的使用情况可以通过df命令来查看,网上有两种获取磁盘使用百分比的Shell脚本。
1:df -h | grep /dev | awk '{print $5}' | cut -f 1 -d "%"
2:df -h | grep /dev | awk '{print $5}' | sed 's/%//g'
但是这两个命令还是有些bug,例如如下截图所示:当显示内容过长,导致换行时。此时上面的Shell脚本就无法获取其值。
尤其是某些特殊情况下,完全无法准确获取相应数据
此时只需在参数上稍微做一下调整即可
1:df -P | grep /dev | awk '{print $5}' | cut -f 1 -d "%"
2:df -P | grep /dev | awk '{print $5}' | sed 's/%//g'
下面脚本是用来监控各分区使用情况,当超过阀值(默认为90%)时,发出告警邮件,通知管理员及时处理。
#
# FileName : disk_capatiy_alarmsh
#
# Author : Kerry
# CreateDate : 2013-11-07
# Description : this script is mointoring the linux disk
# capacity, if disk used more than 90%,
# then it will send a alarm email
#
#! /bin/bash
email_content="/home/oracle/scripts/output/disk_sendmailpl"
email_logfile="/home/oracle/scripts/output/diskdetailtxt";
cat /dev/null > ${email_content};
cat /dev/null > ${email_logfile};
SendMail()
{
date_today=`date +%Y_%m_%d`
subject="The server xxxxxx\'s Disk Capacity Alarm"
content="Dear All,
The server xxxx(xxxxxxxxxxxx) disk capacity alarm ,please take action for it many thanks!
"
echo "#!/usr/bin/perl" >> ${email_content}
echo "use Mail::Sender;" >> ${email_content}
echo "\$sender = new Mail::Sender {smtp => 'xxxxxxxxxxxx', from => 'xxx@xxxcom'}; ">> ${email_content}
echo "\$sender->MailFile({to => 'kerry@xxxcom',">> ${email_content}
echo "cc=>'xxxx@xxxxcom'," >> ${email_content}
echo "subject => '$subject',">> ${email_content}
echo "msg => '$content',">> ${email_content}
echo "file => '${email_logfile}'});">> ${email_content}
perl ${email_content}
}
for d in `df -P | grep /dev | awk '{print $5}' | sed 's/%//g'`
do
if [ $d -gt 90 ]; then
df -h >>$email_logfile;
SendMail;
exit 0;
fi
done

原贴 防挂记录此文章

为了减少购买昂贵的内存资源,可以暂时使用虚拟内存代替(根据运行的程序需求,性能会降低一些)。

这个技术在云服务器上使用,可以省很多银子的哦!!!

1、查看内存使用情况

虚拟内存空间竟然为0,实在是没有想到!!!

2、创建虚拟内存磁盘卷

dd if=/dev/zero of=/swap/swapadd bs=1024 count=2024288
3、将磁盘卷转为虚拟内存卷
mkswap /swap/swapadd
4、启用虚拟内存服务
swapon /swap/swapadd
5、再来查看内存使用情况

多出来2G左右的swap空间。

6、关闭虚拟内存服务

7、移动虚拟内存空间
如果当前的虚存所在的磁盘空间不够,可以首先关闭虚存服务,将其移动到别的磁盘,再启用即可。

嗯,这个技术在云服务器上使用,可以省很多银子的哦!!!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zz/13021054.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-29
下一篇2025-08-29

发表评论

登录后才能评论

评论列表(0条)

    保存