mrtg这款软件是在互联网应用的比较早的监控软件,像在05,06年的时候,它是非常吃香的。它的原理比较简单:通过snmp与被管设备通信,把数据取回来,然后生成图片,直接显示出来,不需要把数据写到数据库里面,非常简洁,如果单纯想监控主机/路由器/交换机等设备的接口流量的话,mrtg是首选的监控软件。
下面说一下mrtg的搭建和使用
一.前提条件:
系统必须已经安装以下软件,这些软件都是光盘里自带的:
gd;libpng;perl;gpeg;apache;snmp(也可以安装源码包)。
二.安装mrtg。大家用源码包或者rpm包都可以,在这里我选择用rpm包了,在rhel4以后的版本里面已经把mrtg集成进去了,直接用光盘的rpm包安装就可以了。
三.用mrtg来监控路由器/交换机/服务器的接口流量。
1. cfgmaker --global "WorkDir:/var/www/html" --global "Options[]:growright,bits" --show-op-down --ifref=name --output mrtg.cfg password1@路由器ip password2@交换机ip password3@服务器ip
解释一下:
cfgmaker命令是用来生成mrtg的配置文件的
--global是两个全局配置参数来指定mrtg的工作目录和流量的增长单位
--show-op-down是显示所有接口流量,默认只显示有流量的接口
--ifref=name表示生成的流量图片上方的标题是接口的名称
--output=mrtg.cfg表示mrtg的配置文件的名称
password1@路由器ip,注意@前面是snmp的团体名称,是来做身份验证的,相当于密码,该团体名称要在被管设备上面提起设置好,这个需要大家注意一下。
2. env LANG=C /usr/bin/mrtg mrtg.cfg
这条命令大家应该清楚什么意思吧:把环境变量LANG设置为C(中文chinese),用mrtg命令来处理刚才生成的mrtg的配置文件。注意该命令需要执行3次。
3. indexmaker --output=/var/ww/html/index.html --title=网页标题 /var/www/html/mrtg.cfg
indexmaker是用来生成网页文件的,后面需要指定一下mrtg的配置文件。
4. 启动一下apache,然后通过http://搭建mrtg的ip就可以访问到监控内容了。
5. 写一个计划任务让它每五分钟执行一次来达到实时监控的目的.
crontab -e
*/5 * * * * env LANG=C /usr/bin/mrtg /var/www/html/mrtg.cfg
注意:A. 如果监控网络设备,一定要提前在设备上开启snmp,否则是监控不到的。
比如:华为或者h3c的设备启用snmp的命令是: snmp-agent community read 共同体名
思科的设备启用snmp的命令是: snmp community 共同体名 ro/rw
B .如果监控windows客户端,windows要安装“简单网络管理协议”(在添加删除程序里面),然后在服务里面就可以找到snmp:如图
给它添加一个团体名称就可以了。
C. 如果监控的是linux客户端,则需要安装snmp软件,然后编辑它的配置文件/etc/snmp/snmpd.conf.
把41行最后的public改为一个安全的共同体名
把62行的symtemview改为all:
把85行#去掉。