Mrtg服务器搭建(监控网络流量)

[日期:2012-07-03] 来源:Linux社区  作者:split_two [字体: ]
 

【实验环境】

监控机:Red Hat linux 5.3  IP:10.10.10.2/24 监控机的操作窗口为绿色字体

被监控机:Red Hat linux 5.3  IP:10.10.10.10/24 操作为白色字体

【实验目的】

监控网络流量

【实验步骤】

1、监控机上需要安装3个软件包,net-snmp(安装一个网管协议)、mrtg(此次监控软件)、httpd(由于需要用网页显示,所以必须安装http),当然大家可以选择rpm安装或者yum安装,以下演示就是用yum安装的。三者都是必要要安装的哈!

挂载光驱,安装net-snmp软件包。

安装mrtg软件包

安装httpd软件包

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

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

将systemview修改为mib2

将此行#注释去掉

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

3、重启被监控机上的snmp服务,默认是没启动的,所以停止的时候是失败

4、下一步在监控机配置

先建立一个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
1、安装mrtg
yum install mrtg
使用yum可以省去很多麻烦,不必去关心那些依赖包。

2、配置
安装好后会有一个默认的基本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

3、启用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

4、建立监控页面
上一步已经完成了流量数据的获取和相关文件的生成,但是我们需要定制一个监控页面同一展示数据。
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

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

mrtg监控网络流量简单配置的更多相关文章

  1. 在RedHa上安装MRTG监控网卡流量

    http://os.51cto.com/art/201103/252149.htm 2011-03-30 15:05 张微波 phpchina 字号:T | T 在RedHa上安装MRTG监控网卡流量 ...

  2. 运用Ntop监控网络流量(视频Demo)

    运用Ntop监控网络流量 ____网络流量反映了网络的运行状态,是判别网络运行是否正常的关键数据,在实际的网络中,如果对网络流量控制得不好或发生网络拥塞,将会导致网络吞吐量下降.网络性能降低.通过流量 ...

  3. Ntop监控网络流量

    运用Ntop监控网络流量 ____ 网络流量反映了网络的运行状态,是判别网络运行是否正常的关键数据,在实际的网络中,如果对网络流量控制得不好或发生网络拥塞,将会导致网络吞吐量下降. 网络性能降低.通过 ...

  4. Linux服务器上监控网络带宽的18个常用命令nload, iftop,iptraf-ng, nethogs, vnstat. nagios,运用Ntop监控网络流量

    Linux服务器上监控网络带宽的18个常用命令 本文介绍了一些可以用来监控网络使用情况的Linux命令行工具.这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度.入站流量和出站流量 ...

  5. ubuntu下使用nethogs监控网络流量

    NetHogs是一款小巧免费的开源命令行工具,用来按进程或程序实时统计网络带宽使用率. 对于使用类似于“repo tool”.“depot_tools”等工具checkout源码时非常有用,可以查看当 ...

  6. linux下脚本监控网络流量

    linux下脚本监控网络流量 学习了:https://blog.csdn.net/chenghuikai/article/details/48437479 学习了:http://www.jb51.ne ...

  7. 监控网络流量iftop和nethogs安装

    服务器环境是centos7,centos下通常使用iftop,或者nethogs来进行网络流量监控.这2个工具都需要先安装epel,因为这个库通常操作系统是不自带的.那么就先安装epel,使用的命令是 ...

  8. centos8平台基于iftop监控网络流量

    一,iftop的作用: 基于ip统计外部机器与本机之间的网络流量, 可以方便的查看各客户端是否有非正常的到本机的访问 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnbl ...

  9. Linux图形化监控网络流量:speedometer查看流量

    Speedometer是一个带宽控制台和对数带宽显示的文件下载进度监控,以及一个简单的命令行界面.其目的是测量和显示网络连接或数据存储在文件中的数据率. Speedometer 2.8该版本增加了一个 ...

随机推荐

  1. java中关于如何运行jar格式程序的说明

    通常情况下,我们用打包工具如Eclipse的export工具制作的jar包是无法通过鼠标双击来运行的. 此时我们需要启动DOS窗体,在DOS窗体中输入java命令运行程序(前提是你的环境变量class ...

  2. CXF 调用C#.net的WebService

    原文链接:http://hi.baidu.com/pengfeiiw/blog/item/3203e29065aa3a8aa977a4d0.html 1.编写C#.net的WebService Ser ...

  3. ubuntu, Debian, CentOS

    ubuntu源自debian,内核很多文档都还是debian的字样,稳定性逐渐增强,基本满足日常开发. debian的核心稳定,性能强劲. centos的内核版本低,安全性高. 选择Debian是因为 ...

  4. 多关键字排序(里面有关于操作符(<<运算符 和 >>运算符 )的重载)

    一种排序 时间限制:3000 ms | 内存限制:65535 KB 难度:3   描述 现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复:还知道这个长方形的宽和长,编号.长.宽都是整数:现 ...

  5. SGU 310. Hippopotamus( 状压dp )

    题目大意:给N块板, 有A,B2种类型的板, 要求任意M块连续的板中至少有K块B板.1≤n≤60,1≤m≤15,0≤k≤m≤n. dp(x, s)表示第x块板, x前M块板的状态为s, 然后合法状态转 ...

  6. javascript小练习—记住密码提示框

    px/px solid redpxpx]; var oTips = document.getElementById("tips"); oP.onmousemove = functi ...

  7. ASPから広がり

    ASP是动态服务器页面(Active Server Page)外语缩写.[1]是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单.方便的编程工具.ASP的网页文 ...

  8. 对discuz的代码分析学习(三)mysql驱动

    一. 属性分析         1.tablepre :表名称前缀        2.version : 数据库版本        3.drivertype:驱动类型        4.querynu ...

  9. linux之sed

    sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为:         sed ...

  10. nyist0j 35 表达式求值

    题目链接:表达式求值 该题以前做过但是WA了,今天终于把他解决了,各种悲剧啊,又是考虑不周到啊................... 所以贴出来纪念一下,并作为一个警示 /**** ps:注意当遇到 ...