MRTG 是通过SNMP 协议,向运行snmp协议主机询问相关的资料后,主机传递数值给MRTG ,然后MRTG 再绘制成网页上的图表(如下图)!

SNMPimple Network Management Protocol,简单网络管理协议)的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。随后,人们对SGMP进行了很大的修改,特别是加入了符合Internet定义的SMI和MIB:体系结构,改进后的协议就是著名的SNMP。SNMP的目标是管理互联网Internet上众多厂家生产的软硬件平台,因此SNMP受Internet标准网络管理框架的影响也很大。现在SNMP已经出到第三个版本的协议,其功能较以前已经大大地加强和改进了。

mrtg 简单好用的网络流量监控工具_windows

 

参考
http://gehailong.blog.51cto.com/765312/633825


一  安装mrtg
yum install gd-* libpng-* perl-* zlib-* httpd-* net-snmp-* mrtg-*


二  配置mrtg

  1. cfgmaker --global "WorkDir: /usr/local/apache/htdocs/mrtg" \
  2. --global "Options[]:growright,bits" --show-op-down --ifref=name \
  3. --output /usr/local/apache/htdocs/mrtg/mrtg.cfg dongnan@192.168.0.1 dongnan@10.0.100.71 

  4. env LANG=C /usr/bin/mrtg /usr/local/apache/htdocs/mrtg/mrtg.cfg
  5.  
  6. indexmaker --output=/usr/local/apache/htdocs/mrtg/index.html --title=mrtg /usr/local/apache/htdocs/mrtg/mrtg.cfg 
  7.  
  8. 命令解释: 
  9.  
  10. 2.1 cfgmaker命令是用来生成mrtg的配置文件的 
  11.  
  12. --global 是两个全局配置参数来指定mrtg的工作目录和流量的增长单位(bit)
  13.  
  14. --show-op-down 是显示所有接口流量,默认只显示有流量的接口 
  15.  
  16. --ifref=name 表示生成的流量图片上方的标题是接口的名称 
  17.  
  18. --output=mrtg.cfg 表示mrtg的配置文件的名称 
  19.  
  20. dongnan@ip,注意@前面是snmp的团体名称,是来做身份验证的,相当于密码,该团体名称要在被管设备上面提起设置好,这个需要大家注意一下。
  21.  
  22.  
  23. 2.2 env LANG=C /usr/bin/mrtg /usr/local/apache/htdocs/mrtg/mrtg.cfg 
  24.  
  25. 把环境变量LANG设置为C(中文chinese),用mrtg命令来处理刚才生成的mrtg的配置文件;注意该命令需要执行3次。 
  26.  
  27. 2.3 indexmaker --output=/var/ww/html/index.html --title=网页标题 /var/www/html/mrtg.cfg 
  28.  
  29. indexmaker是用来生成网页文件的,后面需要指定一下mrtg的配置文件。 
  30.  
  31. 2.4 重新启动 apache,然后通过http://搭建mrtg的ip就可以访问到监控内容了 
  32.  
  33. 2.5 每2分钟执行一次来达到实时监控的目的
  34. crontab -e
  35. */2 * * * * env LANG=C /usr/bin/mrtg /usr/local/apache/htdocs/mrtg/mrtg.cfg

 

三  监控路由器/交换机/服务器的接口流量

3.1  监控网络设备

以思科3560交换机为例:设备启用snmp的命令是: snmp community 共同体名 ro/rw

1f#conf ter
Enter configuration commands, one per line.  End with CNTL/Z.
1f(config)#snmp-server community switch ro
1f(config)#snmp-server trap-source GigabitEthernet 0/25
1f(config)#snmp-server enable traps
1f(config)#end


3.2  监控windows 系统

windows要安装“简单网络管理协议”(在添加删除程序里面),然后在服务里面就可以找到snmp service
安全选项->点击添加
snmp 服务配置 -> 团体权限(只读) -> 团体名称(字符串/密码)
接受来自这写的SNMP数据包 -> 添加 mrtg ip地址

3.3 监控linux 系统

安装snmp
yum install net-snmp-*

编辑 snmpd.conf 配置文件
vim /etc/snmp/snmpd.conf
41行 1将default 改为mrtg 服务器ip;2 将public 改成复杂些的识别的字符串
com2sec notConfigUser  default       dongnan
62行 1将systemview 改为all,供所有snmp 访问权限
access  notConfigGroup ""      any       noauth    exact  all none none
85行 将#注释符号去掉
view all    included  .1                               80

启动 snmpd

chkconfig snmpd on && /etc/init.d/snmpd start

 

结束

mrtg 配置简单明了,适用监控设备或服务器带宽流量,如果你需要更高级的功能,可以尝试 nagios|cacti|zabbix 等等。