我在网上找了很多关于FreeBSD 利用mrtg 画出画出Packet图表,但都不全面,安装不成功,终于在昨天半夜安装成功了,原来在FreeBSD 下安装这个咚咚是那么简单,写出来和大家分享。
首先更新ports 这个就不说怎么更新了,这方面的文章太多了
1,安装 snmp
cd /usr/ports/net-mgmt/p5-SNMP
make install clean
当中会叫你 填写 你的email 操作系统
安装成功会在/usr/local/etc/rc.d 里有个 snmpd.sh 但不知道为什么这个不能用 删掉里面的东西 改称 /usr/local/sbin/snmpd 保存 运行/usr/local/etc/rc.d/snmpd.sh snmp就启动了
2,安装 mrtg
cd /usr/ports/net-mgmt/mrtg
make install clean
3,配置 Packet-MRTG 文件
ee /usr/local/etc/mrtg/packet-mrtg.cfg
写入以下内容
Target[packet]:ifInUcastPkts.1&ifOutUcastPkts.1:public@server5.axin.net
WorkDir: /pub/www/root/server-stats
MaxBytes[packet]: 100000000
Options[packet]:growright,bits
Title[packet]: IP Packet Count MRTG - Server5.Axin.Net
PageTop[packet]: IP Packet Count MRTG - Server5.Axin.Net
Language:gb2312
YLegend[packet]: IP Packet Count
Colours[packet]: Packet IN#FF6600,Packet OUT#006600,DARK GREEN#006600,VIOLET#FF00FF
说明一下:Target 是数据的抓取的方式 如同MRTG测流量时的public@community一样,这里是关键,因为是要用MRTG画封包数量图形时,要先用它统计封包的数量,所以用的是
ifInUcastPkts.n&ifOutUcastPkts.n:community@host.domain
其中n表示您的网络适配卡,如果你有多张网络卡,请注意不要观测错了哦,要不然是没有数据出来的。(通常应该是1,但如果你有多张,可能就是2,3,4…啦)
public是snmp默认的公共字符串,当然你可以在snmp里面更改它的设置的。
host.domain是你的主机名字,也可以使用IP
MaxBytes: 制绘图的最大封包值
Title: HTML 网页的title 语法
PageTop: 在显示画面的"标题"
Options: 采用标准格式,并且让MRTG由右往左绘图
YLegend: 图表的Y轴名称
ShotLegend: 图表Y 轴的单位
WorkDir: 工作目录 也就是网页中显示图表的路径,一般是可以通过浏览器访问的
Language: 语言
Colours:颜色
4,生成流量图
/usr/local/bin/mrtg /usr/local/etc/mrtg/packet-mrtg.cfg
因为首次运行时,系统没有MRTG需要的某些旧图形档案,可能会有报错的,请多执行2-5次即可。
这时候在前面的packet-mrtg.cfg文件设置的WorkDir目录里面/pub/www/root/server-stats,将会产生一些png图形文件和一个.html的文件,我们可以通过网页访问它:
http://网站名字/mrtg/packet.html
如果可以正常看到Packet封包流量图,那就说明你前面设置一切正常了,恭喜你
ee /etc/crontab
加上*/5 * * * * root /usr/local/bin/mrtg /usr/local/etc/mrtg/packet-mrtg.cfg
让他5分钟执行一次