本文我曾于2005年8月15日发表于CU上,当前的软件与安装方法均有所更新。 前言: 在CU 的论坛上经常看到有人问MRTG的问题,还有很多的关于MRTG的精彩文章。MRTG的确是非常好 的东东,但我认为它毕竟已经是一套很旧的软件了,其作者在多年前就已经开发了RRDTool代替该软件,现在已经发展得很成熟。既然有更好的选择,为什么 我们还要用MRTG呢? 第一部分,介绍: 2004年我刚进某公司工作,当时我使用MRTG建立了一套系统,专门监测我们服务器和其它网络设备的流量。 后 来我想将其它的系统性能比如CPU负载、系统负载,网络连接数等一起监测起来。我在网上查找了很多的资料, 也实现了这些功能,但总觉得实现的太费劲,管理起来太麻烦了。比如我有几百个被监测点,分布在不同的机房,而且我需要将这些服务器和网络设备分类,这样的 话我就要将这些被监测点放在不同的mrtg配 置文件中,运行多个crontab,而且自己还写了一些html页面对其进行管理。
Browsing the archives for the mrtg tag
cacti 是一个用 rrdtool 来画图的网络监控系统, 通常一说到网络管理, 大家首先想到的经常是 mrtg, 但是 mrtg 画的图简单且难看, rrdtool 虽然画图本领一流, 画出来的图也漂亮, 但是他也就是一个画图工具, 不像 mrtg 那样本身还集成了数据收集功能. cacti 则是集成了各种数据收集功能,然后用 rrdtool 画出监控图形. 其本身界面比起同类系统要漂亮不少. 推荐所有有监控需求的人都去研究一下. cacti 和 nagios 是不同功用的系统, nagios 适合监视大量服务器上面的大批服务是否正常, 重点并不在图形化的监控, 其集成的很多功能例如报警,都是 cacti 没有或者很弱的. cacti 主要用途还是用来收集历史数据和画图, 所以界面比 nagios 漂亮很多. net-snmp 是一套广泛使用在类 unix 系统上的 snmp 软件, 包含一套 snmp agent 框架 ,一个 snmpd 和 一堆 snmp 工具 , 其前身为 ucd-snmp. 关于 snmp 是什么, 以及如何配置的文章,网上搜一下有一堆一堆的. 在这里就不重复了.
其实从标题来看,这样的文章已经相当多,不过由于这次使用了最新版的系统和软件,在配置方面比原来的版本有了一些改进,明显更加方便,所以值得记录 一下和大家分享。 这次实现监控的目标是系统网络流量、TCP连接数、CPU负载、system和user的CPU负载、内存消耗、swap使用,另外还可以在此基础 上实现磁盘监控、Mailscanner的垃圾邮件等监控。 首先通过cvsup更新系统源码和ports数到当前的FreeBSD 6.1Release版本,保持系统和软件包的最新版本,然后使用极为方便的ports进行软件安装。 1、安装net-snmp-5.2.2 #cd /usr/ports/net-mgmt/net-snmp #make install clean 然后就等着系统自动为您下载net-snmp-5.2.2.tar.gz软件包以及关联软件包,ports会自动完成后续的安装。
1.安装SNMP 一般版本的FreeBSD系统SNMP存放在/usr/ports/net/net-snmp下面,但是有的版本不是。有些版本 在安装Package的时候,除了要安装Net之外,还要安装Net-mgmt里面的SNMP,安装好之后,SNMP就存放在/usr/ports /net-mgmt/net-snmp下面了。下面就是安装过程: # cd /usr/ports/net-mgmt/net-snmp #snmp的存放路径 # make install clean #安装snmp # ee /etc/rc.conf snmpd_enable=”YES” snmpd_flags=”-p /var/run/snmpd.pid” # /etc/netstart # ee /usr/local/share/snmp/snmpd.conf rocommunity public # /usr/local/etc/rc.d/snmpd.sh start #启动snmp
被监控设备必须支持snmp协议,因为mrtg就是通过snmp协议来获取该设备的端口流量信息。如何在一个网络设备上启用snmp协议呢?
在配置模式下执行如下命令:3550(config)#snmp-server community public ro,启用snmp协议。启用后才能使用mrtg进行监控。
我中心用一台linux服务器监控三台网络设备的流量,其服务器地址为10.66.100.100/16,三台交换机的任一VLAN地址分别为 192.168.3.253,172.19.96.2,10.70.0.1。现为了叙述方便,仅选取10网段的交换机为例进行说明。其他设备方法相同,不再赘述。
在执行mrtg的各步操作前,linux系统中必须先安装apache服务,用于网页发布。
、 安装SNMP
一般版本的FreeBSD系统SNMP存放在/usr/ports/net/net-snmp下面,但是有的版本不是。有些版本在安装Package的时候,除了要安装Net之外,还要安装Net-mgmt里面的SNMP,安装好之后,SNMP就存放在/usr/ports /net-mgmt/net-snmp下面了。下面就是安装过程:
# cd /usr/ports/net-mgmt/net-snmp #snmp的存放路径
# make install clean #安装snmp
MRTG(Multi Router Traffic Grapher),通常讲是一个监控网络链路流量负载的开源软件,它可以从所有运行SNMP协议的设备上(包括服务器、路由器、交换机等)抓取信息。事实上它不仅可以监控网络设备,任何其它的支持SNMP协议的设备都可以做为MRTG的监控对象,并自动生成包含PNG图形格式的HTML文档,通过HTTP 方式显示给用户。
官方的安装指导:http://mrtg.cs.pu.edu.tw/doc/mrtg-nt-guide.en.html
mrtg安全支持对squid服务器各种状态的监控
下面本人实现步骤,仅供参考!
squid安装完后,在mrtg配置文件中将/usr/local/squid/share/mib.txt载入
引用
cp /usr/local/squid/share/mib.txt /etc/mrtg/squid.mib
在mrtg配置文件mrtg.cfg文件中加入:
LoadMIBs: /etc/mrtg/squid.mib
并在squid配置文件中合适位置加入