mrtg 监控数据的获得 (shell-php-mysql)
安装好mrtg后,还需要自己写脚本来对系统的状态进行监控,比如:内存,硬盘,cpu,load等等
下面是我使用的脚本:
1) 基础数据的获得
通过shell取得系统数据存到txt文件中,启动php程序读取txt插入到mysql。
脚本略…
2)mrtg的配置
##这里是localhost的mrtg--config配置文件
#/usr/local/apache/htdocs/mrtg/localhost/mem/mrtg.cfg.mem
WorkDir:/usr/local/apache/htdocs/mrtg/localhost/mem/
Language:GB2312
Target[memory]:`/usr/local/apache/htdocs/mrtg/localhost/mem/mem_out.sh`
MaxBytes[Memory]:2048
Options[Memory]:gauge,nopercent,growright
YLegend[Memory]:Memory Usage
ShortLegend[Memory]:M
LegendO[Memory]: 总内存量
LegendI[Memory]: 可用内存
Title[Memory]:内存使用状态
PageTop[Memory]:
主机内存监控
##执行配置文件
env LANG=C /usr/local/mrtg-2/bin/mrtg /usr/local/apache/htdocs/mrtg/localhost/mem/mrtg.cfg.mem
#加入到crontab文件当中
*/5 * * * * /usr/local/mrtg-2/bin/mrtg /usr/local/apache/htdocs/mrtg/localhost/mem/mrtg.cfg.mem
>/dev/null2>&1
3)shell脚本调用php文件的应用
#绘制mrtg图需要的shell脚本(调用php,从mysql中取得监控数值)
#!/bin/sh
#/usr/local/apache/htdocs/mrtg/localhost/mem/mem_out.sh
#shell脚本调用php文件读取数据库中的数据,用来绘制mrtg监控图
Uptime=`/usr/bin/uptime | awk ‘{print $3 ” ” $4 ” ” $5}’`
/usr/local/php/bin/php /usr/local/apache/htdocs/mrtg/localhost/mem/
mem.php |sed -n ‘2,$p’ > mem_moni.txt
cat mem_moni.txt
echo $Uptime
rm -rf mem_moni.txt
4)php读取mysql文件
#php从mysql中取得系统当前数据,由于mrtg只能绘制含有两个参数的图表,所以只取出总内存和空闲内存即可。
#mem.php
最活跃的读者