使用MRTG监控服务器状态
这个东西主要是设置来监控CPU占用和内存使用的,每次登录到管理后台或者SSH都感觉太麻烦了,于是写了两个小脚本用MRTG输出到html,5分钟更新一次。
mrtg全称Multi Router Traffic Graph,不过这个东西的功能不限于检测router,实际上基于snmp输出的都可以。当然要有个http server来放这个输出。
在Ubuntu下面安装很简单,输入以下命令:
sudo apt-get install snmpd mrtg sysstat
装好后编辑snmp的conf,允许其他进程读取信息:
sudo nano /etc/snmp/snmpd.conf
找到以下几行:
#sec.name source community
#com2sec paranoid default public #注释掉这行
com2sec readonly default public #再把这行打开
#com2sec readwrite default private
然后
sudo /etc/init.d/snmpd restart
使设置生效。
接下来配置mrtg。网上多用cfgmaker,个人感觉没必要,修改的东西不多的话可以手工改。
sudo nano /etc/mrtg.cfg
WorkDir改成放输出的目录
然后就看你要监控什么加什么了。
监控CPU:
在mrtg.cfg里面加入:
Target[cpu]: /opt/mrtg/mrtg.cpu
MaxBytes[cpu]: 100
Options[cpu]: gauge, nopercent, growright
YLegend[cpu]: CPU Loading (%)
ShortLegend[cpu]: %
Legend1[cpu]: CPU sys
Legend2[cpu]: CPU user
LegendI[cpu]: CPU sys
LegendO[cpu]: CPU user
Title[cpu]: CPU Loading
PageTop[cpu]: CPU Loading
然后
sudo mkdir /opt/mrtg
nano /opt/mrtg/mrtg.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 | awk '{print $3""$4""$5}'
echo_cpu $cpuinfo
echo $upinfo
hostname
保存退出
最后
sudo chmod 755 /opt/mrtg/mrtg.cpu
内存监控
修改/etc/mrtg.cfg,加入
Target[ram]: /opt/mrtg/mrtg.ram
MaxBytes[ram]: 204800
Title[ram]:Memory
ShortLegend[ram]:
kmg[ram]:kB,MB
kilo[ram]:1024
YLegend[ram]: Memory Usage
Legend1[ram]: Total Memory
Legend2[ram]: Used Memory
LegendI[ram]: Total Memory
LegendO[ram]: Used Memory
Options[ram]: growright,gauge,nopercent
PageTop[ram]:Memory
然后建/opt/mrtg/mrtg.ram,输入
#!/bin/bash
totalmem=/usr/bin/free |grep Mem |awk '{print $2}'
usedmem=/usr/bin/free |grep Mem |awk '{print $3}'
UPtime=/usr/bin/uptime | awk '{print $3""$4""$5}'
echo $totalmem
echo $usedmem
echo $UPtime
hostname
保存+755。
产生输出
执行3次
sudo /usr/bin/mrtg /etc/mrtg.cfg
如果最后没有error就没问题了。
然后
sudo indexmaker /etc/mrtg.cfg | sudo tee /www/htdocs/mrtg/index.html
最后就可以用http://your-server/mrtg来查看状态了。
以上是手动的情况
要每5分钟更新一次的话,输入
crontab -e
选喜欢的editor
然后输入
5 * * * * /usr/bin/mrtg /etc/mrtg.cfg
大功告成。
截图: