cputmp=`/usr/bin/sar -u 1 4 | tail -1`
cpuusr=`echo $cputmp | awk '{print $2}'`
cpusys=`echo $cputmp | awk '{print $3}'`
UPtime=`uptime |awk -F, '{print $1}'`
echo $cpuusr
echo $cpusys
echo $UPtime
echo `hostname`
这个脚本执行执行结果如下:
2
1
73 day(s) 17:09
表示用户占用2%,系统占用1%,系统已经连续运行了73天17小时零9分。
然后就是让MRTG去读取这些数据,现在写一个MRTG的cfg文件:
HTTP连接数:
HTTP_CONN=`netstat -an|grep ESTABLISHED|awk '$1~/\.80$/ {print $0}'|wc -l`
UPtime=`uptime |awk -F, '{print $1 $2}' | awk '{print $3 " " $4 " " $5}'`
echo $HTTP_CONN
echo $HTTP_CONN
echo $UPtime
echo `hostname`
SMTP连接数、POP连接数只需要修改上面脚本把80更换成25和110即可
POP_CONN=`netstat -an|grep ESTABLISHED|awk '$1~/\.110$/ {print $0}'|wc -l`
内存使用率:
!/bin/bash
MEM_U=`sar -r 1 5|tail -1|awk '{print $4}'`
UPtime=`uptime |awk '{print $2 " " $3 " " $4 " " $5}'`
echo $MEM_U
echo $MEM_U
echo $UPtime
echo `hostname`
mysql链接数:
mysqladmin -h 58.248.62.17 -utest -p****** status > mysql-info.log
cat mysql-info.log | awk '{ print $4;}'
cat mysql-info.log | awk '{ print $22;}'
/usr/bin/uptime
/sbin/ifconfig | grep "inet addr" | head -n 1 | awk '{print $2;}'
二、生成图片静态页:
制作index.html
在/etc/mrtg/mrtg.cfg中添加配置信息
WorkDir:/var/www/html/mrtg/
Options[cpu]:gauge, nopercent, growright
Language:chinese
EnableIPv6: no
Target[cpu]:`/var/script/cpu_util.sh`
MaxBytes[cpu]: 100
YLegend[cpu]: CPU loading (%)
ShortLegend[cpu]: %
LegendO[cpu]: CPU Used;
LegendI[cpu]: CPU Sys;
Title[cpu]: Utilization Analysis for CPU -- mail2
PageTop[cpu]: <H1>Utilization Analysis for CPU -- mail2</H1>
解释一下上面的一些参数:
WorkDir----生成MRTG页面文件的地方;
gauge----MRTG生成的图片上带有标尺;
nopercent----计算百分比;
growright----图形向右增长;
Language:chinese----页面显示中文,这个地方可以填写其它语言支持;
EnableIPv6----是否支持IPv6;
Target----告诉MRTG去执行那个脚本;
MaxBytes----最大字节数,这里我们监控CPU利用率的百分比,所以最大我们填100,如果监控其它参数要视情况而定;
YLegend----纵坐标(Y轴)单位和参数;
ShortLegend----单位;等页面生成以后你就可以看到这些东西出现的位置,不满意的话可以再进行修改;
LegendO,LegendI----MRTG监控的两个读数分别代表的什么;
Title----这个图片的标题;
PageTop----这个html页面的标题;
然后就是去mrgt去执行这个配置文件生成监控页面;
/usr/local/mrtg/bin/mrtg /usr/local/mrtg/cfg/cpu_until.cfg
然后再写进crontab:
这样这个cpu利用率的监控就做好了,5分钟就刷新一次。