- 28
- Dec
Ramhost已经买了整整七天了,也就是说,刚过“现金返还”的日期。当然我也不打算退了,虽然还没真正上线运营来看实际效果,但是用着尚可,也不想换来换去折腾了。
刚刚给VPS用MRTG搞定了CPU和内存的监视,因而记之。
MRTG是用来监视网络信息的,但是设计的比较灵活,因此可以很方便地转而监视其他信息,如CPU,内存等。
这里不得不说到Ramhost的简陋,因为它的后台只提供了网络的图表信息,其他什么都没有。我记得Linode是有的,我也奇怪我居然能忍受着用Ramhost。
第一次用OpenVZ技术的VPS,刚开始光是搞性能优化就花了很久。因为OpenVZ的特殊性,虚拟内存的占用也算在VPS内存里,结果导致1GB的内存,开个Apache,开个Mysql,没其他东西,就占了80%左右。
后来我调节了ulimit,设置了虚拟内存的stack size(调成了256K),把内存占用减少至了18%左右。
每次登录去看内存是件麻烦的事情,于是决定搭一个监控软件,请教了骨头,就自然地开始搭MRTG。
这里不再介绍来龙去眿,就记一下加入内存和CPU监视是如何实现的,其他可看骨头写的:ubuntu下,给现有网站加个简单的流量监控的方法
MRTG要求一个脚本,能输出四行信息: in, out, uptime, hostname,然后就能作为MRTG的一个图表项了。
于是我安装了sysstat,并写了两个脚本,分别用来监视当前CPU和内存的情况:
这个监视内存
#!/bin/bash
function echo_mem {
echo $1
echo $2
}
meminfo=`/usr/bin/free |grep Mem |awk '{print $2, $3}'`
upinfo=`uptime | cut -d \, -f 1`
echo_mem $meminfo
echo $upinfo
hostname
这个监视CPU
#!/bin/bash
function echo_cpu {
echo $1
echo $2
}
cpuinfo=`/usr/bin/sar -u 1 3 | grep Average | awk '{print $3, $5}'`
upinfo=`/usr/bin/uptime | cut -d \, -f 1`
echo_cpu $cpuinfo
echo $upinfo
hostname
把这两个脚本存到“/opt/mrtg/”下,然后用下面的配置文件:
Target[cpu]: `/opt/mrtg/mrtg-cpu`
MaxBytes[cpu]: 100
Options[cpu]: gauge, nopercent, growright
YLegend[cpu]: CPU Loading (%)
ShortLegend[cpu]: %
LegendO[cpu]: CPU user:
LegendI[cpu]: CPU sys:
Title[cpu]: CPU Loading
PageTop[cpu]: <H1>CPU Loading</H1>
Target[ram]: `/opt/mrtg/mrtg-mem`
MaxBytes[ram]: 2048000
Title[ram]:Memory
kmg[ram]:kB,MB
kilo[ram]:1024
ShortLegend[ram]:
YLegend[ram]: Memory Cost
LegendI[ram]:
LegendO[ram]: Used Memory:
Options[ram]: growright,gauge
PageTop[ram]: <H1>Memory</H1>
最后就按骨头文章里的方式重新产生一遍index.html,就能看来漂亮的服务器信息的图表了。
看看效果图:当前服务器几乎没有负载,等正式上线时看看会如何。 
有经验的朋友们有什么更棒的解决方案吗?很想知道大家是怎么监视的。
关于mrtg.cfg里面的详细语法和控制选项,可以参考这篇文档:
http://oss.oetiker.ch/mrtg/doc/mrtg-reference.en.html
哈哈,又沙发喽。
既然已经找到mrtg的老家去了,那就顺便看看http://oss.oetiker.ch/rrdtool/ 吧
试试这样管用不?
Target[cpu]: `sar -u 1 3 | awk '/Average/{print $3;print $5}';uptime | cut -d \, -f 1;hostname`
干嘛不用cacti呢?MRTG和cacti,不论从功能上还是扩展性上,都没有可比性。
这点内存就别上apache了,上个轻量点的httpserver
我是自己写的snmpwalk,超了50%报警
推荐你试试 munin
http://munin.projects.linpro.no/
支持自定义脚本来监视,可以监视 nginx 执行、mysql、IO、CPU...
同样是生成图表的
插件:
http://goo.gl/ghCW
感謝大家的推荐,原来还有这么多选择。有空我就一样一样试过来,找一样最合适的。
Cacti
http://www.flickr.com/photos/latteye/4224370014/
这个Cacti太强大了,可以监视这么多电脑啊,企业级应用的。
我比較喜歡WRG54GL上ddwrt的哪一個
MRTG 我们一直用来监控节点的流量信息 cacti足够你使了
呃。。。我只想监控本机的网络流量,有推荐么...
脚本好强大。。。