【实验环境】php
监控机:Red Hat linux 5.3 IP:10.10.10.2/24 监控机的操做窗口为绿色字体html
被监控机:Red Hat linux 5.3 IP:10.10.10.10/24 操做为白色字体linux
【实验目的】ios
监控网络流量web
【实验步骤】apache
一、监控机上须要安装3个软件包,net-snmp(安装一个网管协议)、mrtg(这次监控软件)、httpd(因为须要用网页显示,因此必须安装http),固然你们能够选择rpm安装或者yum安装,如下演示就是用yum安装的。三者都是必要要安装的哈!vim
挂载光驱,安装net-snmp软件包。windows

安装mrtg软件包centos

安装httpd软件包安全

二、安装后就能够在被监控机上安装snmp了,我要监控的是一台linux服务器。一样也是安装net-snmp软件包

编辑/etc/snmp/snmpd.conf,要修改三个位置

将systemview修改成mib2


将此行#注释去掉


在第395行添加 团体名 rocommunity 123456 添加了一个只读属性的团体名密码是123456

三、重启被监控机上的snmp服务,默认是没启动的,因此中止的时候是失败

四、下一步在监控机配置
先创建一个mrtg的工做目录,而后生成mrtg的配置文件,被监控的主机是10.10.10.10 他的团体名密码是123456

修改上述生成的/var/www/html/mrtg/mrtg.cfg配置文件,未修改以前的

将WorkDIr:/home/http/mrtg的#号去掉并改为WorkDir: /var/www/html/mrtg
将Options[_]: growright, bits #号去掉在下面添加一行
Language: Chinese 支持中文
下图是修改完以后的

修改完成
下面继续修改一下apache的主配置文件
添加或修改一行成为AddDefaultCharset GB2312 为的是apache支持中文

修改以后

从新生成配置文件,通常要执行三次才会成功

生成网页文件

修改/etc/httpd/conf.d/mrtg.cfg的文件,修改以前的

修改以后的

重启apache服务

这里只是简单介绍在centos下使用mrtg监控网络流量
参考鸟哥的linux私房菜,个人linux入门啊
http://linux.vbird.org/linux_security/old/04mrtg.php
一、安装mrtg
yum install mrtg
使用yum能够省去不少麻烦,没必要去关心那些依赖包。
二、配置
安装好后会有一个默认的基本mrtg配置文件在/etc/mrtg目录下
咱们使用命令创建新的配置文件,目前咱们要监控3台linux服务器的网络状态,首先确认3台linux服务器snmp配置好,三台服务器以下:
服务器 组织名称 ip地址
web1 nubbcom 192.168.0.21
web2 nubbcom 192.168.0.22
web3 nubbcom 192.168.0.23
分别给每台服务器生产一个mrtg配置文件
cfgmaker nubbcom@192.168.0.21 > mrtg_web1.cfg
cfgmaker nubbcom@192.168.0.22 > mrtg_web2.cfg
cfgmaker nubbcom@192.168.0.23 > mrtg_web3.cfg
如下有些配置项是须要配置的
# Created by
# /usr/bin/cfgmaker nubbcom@192.168.0.23
### Global Config Options
# for UNIX
WorkDir: /var/www/html/mrtg/ #这里要去掉原来的注释,并配置你如今的mrtg工做目录即mrtg文件的目录。
# or for NT
# WorkDir: c:\mrtgdata
### Global Defaults
# to get bits instead of bytes and graphs growing to the right
Options[_]: growright, bits #顾名思义啊,使用bits仍是使用bytes本身选择。
注意:以上配置应该向左顶格,不要有空格出现,不然执行该配置文件会报错,以下示例:
[root@cacti mrtg]# LANG=C /usr/bin/mrtg mrtg_web2.cfg
ERROR: Line 8 ( WorkDir: /var/www/html/mrtg/) in CFG file (mrtg_web2.cfg) does not make sense
三、启用mrtg
执行mrtg命令 后跟设定的配置文件
[root@cacti mrtg]# LANG=C /usr/bin/mrtg mrtg_web1.cfg
第一次启用时须要执行三遍
第一遍 没有mrtg文件因此建立相关文件
26-10-2011 12:03:12, Rateup WARNING: /usr/bin/rateup could not read the primary log file for 192.168.0.21_2
26-10-2011 12:03:12, Rateup WARNING: /usr/bin/rateup The backup log file for 192.168.0.21_2 was invalid as well
26-10-2011 12:03:12, Rateup WARNING: /usr/bin/rateup Can't remove 192.168.0.21_2.old updating log file
26-10-2011 12:03:12, Rateup WARNING: /usr/bin/rateup Can't rename 192.168.0.21_2.log to 192.168.0.21_2.old updating log file
26-10-2011 12:03:12, Rateup WARNING: /usr/bin/rateup could not read the primary log file for 192.168.0.21_3
26-10-2011 12:03:12, Rateup WARNING: /usr/bin/rateup The backup log file for 192.168.0.21_3 was invalid as well
26-10-2011 12:03:12, Rateup WARNING: /usr/bin/rateup Can't remove 192.168.0.21_3.old updating log file
26-10-2011 12:03:12, Rateup WARNING: /usr/bin/rateup Can't rename 192.168.0.21_3.log to 192.168.0.21_3.old updating log file
第二遍
26-10-2011 12:03:15, Rateup WARNING: /usr/bin/rateup Can't remove 192.168.0.21_2.old updating log file
26-10-2011 12:03:16, Rateup WARNING: /usr/bin/rateup Can't remove 192.168.0.21_3.old updating log file
第三遍
无信息
执行完后会看到工做目录下有mrtg全部的文件,一些图形显示页面用到的元素和日志文件。
[root@cacti mrtg]# ll /var/www/html/mrtg/
total 972
-rw-r--r-- 1 root root 1445 Oct 26 12:09 192.168.0.21_2-day.png
-rw-r--r-- 1 root root 6441 Oct 26 12:09 192.168.0.21_2.html
-rw-r--r-- 1 root root 48198 Oct 26 12:09 192.168.0.21_2.log
-rw-r--r-- 1 root root 1361 Oct 26 12:09 192.168.0.21_2-month.png
-rw-r--r-- 1 root root 48198 Oct 26 12:09 192.168.0.21_2.old
-rw-r--r-- 1 root root 1417 Oct 26 12:09 192.168.0.21_2-week.png
-rw-r--r-- 1 root root 1685 Oct 26 12:09 192.168.0.21_2-year.png
-rw-r--r-- 1 root root 1445 Oct 26 12:09 192.168.0.21_3-day.png
-rw-r--r-- 1 root root 6442 Oct 26 12:09 192.168.0.21_3.html
-rw-r--r-- 1 root root 48198 Oct 26 12:09 192.168.0.21_3.log
惋惜的是这个mrtg命令依次只能加载一个配置文件,其余服务器文件逐个执行,在多数量的被监控对象状况下这样显得很是不便,能够讲多个配置文件合并到一个大文件里
简化mrtg执行的操做。
[root@cacti mrtg]# cat mrtg_web*.cfg >mrtg.cfg
今后,执行只须要一个操做
[root@cacti mrtg]# LANG=C /usr/bin/mrtg mrtg.cfg
mrtg命令只是手动执行,要可以看到连续的图形,必须定时执行mrtg操做获取当时的流量,使用crontab每分钟采集一次。
[root@cacti mrtg]# crontab -e
*/1 * * * * LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg
四、创建监控页面
上一步已经完成了流量数据的获取和相关文件的生成,可是咱们须要定制一个监控页面同一展现数据。
mrtg本身提供一个生成监控主页的命令indexmaker,执行它生成网页。
[root@cacti mrtg]# indexmaker mrtg.cfg >/var/www/html/mrtg/index.html
输入网址http://web服务器名或ip/mrtg/ 查看当前主页。
注意:这里须要你先设定好apache,讲mrtg的监控主页配置设置好。
补充:在监控防火墙的时候出现如下问题
[root@cacti mrtg]# cfgmaker ct10000@172.10.10.3 >mrtg_isg2000-1.cfg
SNMP Error:
no response received
SNMPv1_Session (remote host: "172.10.10.3" [172.10.10.3].161)
community: "ct10000"
request ID: -869504328
PDU bufsize: 8000 bytes
timeout: 2s
retries: 5
backoff: 1)
at /usr/bin/../lib64/mrtg2/SNMP_util.pm line 627
SNMPWALK Problem for 1.3.6.1.2.1.1 on ct10000@172.10.10.3:v4only
at /usr/bin/cfgmaker line 918
WARNING: Skipping ct10000@172.10.10.3 as no info could be retrieved
最后确认防火墙使用的snmp是v2版本,因此从新执行指定snmp版本v2
[root@cacti mrtg]# cfgmaker --snmp-options=:::::2 ct10000@172.10.0.3 >mrtg_isg2000-1.cfg
ok!执行成功
MRTG 是经过SNMP 协议,向运行snmp协议主机询问相关的资料后,主机传递数值给MRTG ,而后MRTG 再绘制成网页上的图表(以下图)!
SNMP(imple Network Management Protocol,简单网络管理协议)的前身是简单网关监控协议(SGMP),用来对通讯线路进行管理。随后,人们对SGMP进行了很大的修改,特别是加 入了符合Internet定义的SMI和MIB:体系结构,改进后的协议就是著名的SNMP。SNMP的目标是管理互联网Internet上众多厂家生产 的软硬件平台,所以SNMP受Internet标准网络管理框架的影响也很大。如今SNMP已经出到第三个版本的协议,其功能较之前已经大大地增强和改进 了。

参考
http://gehailong.blog.51cto.com/765312/633825
一 安装mrtg
yum install gd-* libpng-* perl-* zlib-* httpd-* net-snmp-* mrtg-*
二 配置mrtg
- cfgmaker --global "WorkDir: /usr/local/apache/htdocs/mrtg" \
- --global "Options[]:growright,bits" --show-op-down --ifref=name \
- --output /usr/local/apache/htdocs/mrtg/mrtg.cfg dongnan@192.168.0.1 dongnan@10.0.100.71
-
- env LANG=C /usr/bin/mrtg /usr/local/apache/htdocs/mrtg/mrtg.cfg
-
- indexmaker --output=/usr/local/apache/htdocs/mrtg/index.html --title=mrtg /usr/local/apache/htdocs/mrtg/mrtg.cfg
-
- 命令解释:
-
- 2.1 cfgmaker命令是用来生成mrtg的配置文件的
-
- --global 是两个全局配置参数来指定mrtg的工做目录和流量的增加单位(bit)
-
- --show-op-down 是显示全部接口流量,默认只显示有流量的接口
-
- --ifref=name 表示生成的流量图片上方的标题是接口的名称
-
- --output=mrtg.cfg 表示mrtg的配置文件的名称
-
- dongnan@ip,注意@前面是snmp的团体名称,是来作身份验证的,至关于密码,该团体名称要在被管设备上面提起设置好,这个须要你们注意一下。
-
-
- 2.2 env LANG=C /usr/bin/mrtg /usr/local/apache/htdocs/mrtg/mrtg.cfg
-
- 把环境变量LANG设置为C(中文chinese),用mrtg命令来处理刚才生成的mrtg的配置文件;注意该命令须要执行3次。
-
- 2.3 indexmaker --output=/var/ww/html/index.html --title=网页标题 /var/www/html/mrtg.cfg
-
- indexmaker是用来生成网页文件的,后面须要指定一下mrtg的配置文件。
-
- 2.4 从新启动 apache,而后经过http://搭建mrtg的ip就能够访问到监控内容了
-
- 2.5 每2分钟执行一次来达到实时监控的目的
- crontab -e
- */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 等等。