Linux上的MRTG流量监控中心

转载请注明!

随着互联网应用的发展,企业的互联网应用已经不仅仅是建设一个网站这么简单了。企业对互联网应用的规模不断加大,功能也更丰富和强大。面对更大规模的互联网应用,许多企业在电信IDC机房中不得不拥有数台甚至数十台服务器。

在对这些服务器的管理过程中,每台服务器的流量情况成为管理工作的一个重点。管理员通过对网络中各种流量的监控,可以从网络的异常流量中及时察觉到潜在的安全或性能问题;上层领导也可以从统计的网络流量报告中获得有 用的经营分析信息,从而对业务做出相关的调整或升级决策。

在诸多网络流量监测软件中,MRTG无疑是著名而具有代表性的。MRTG是一个基于SNMP协议的典型网络流量监测、统计、分析工具。SNMP(简单网络管理协议)是一个专门设计用来监视和控制网络中各种网络设备,如交换机、路由器、服务器等的协议。

由于市场上绝大多数的网络产品都支持SNMP协议,所以MRTG的适用范围很广。本文将关注如何利用MRTG软件监控服务器的流量。

为什么需要MRTG监控中心

服务器的操作系统多种多样,使用较多的一般是Unix类或Windows类操作系统,它们都支持SNMP协议。例如,对于Windows系统而言,只要增加“管理和监控工具”中的Windows组件,就有了对SNMP协议的支持。

在服务器启动SNMP后,就会开放161/162端口。管理员如果要监控这台机器,就要在自己的机器上安装MRTG,然后通过MRTG向服务器的161/162端口发出查询等请求,取得数据后会生成图形及HTML文档的流量报告。这就是MRTG简单的监控过程。

在实际应用中,企业可能有多台服务器,通常需要管理员24小时不间断地对服务器的流量进行监控。如果这时还是简单地在管理员的机器上使用MRTG就不太适用了。最好的方法是建立一个MRTG监控中心。

MRTG 监控中心可以是一台专用的服务器,也可以由其它服务器兼作MRTG监控中心。用于监控中心的机器和其它服务器都位于防火墙背后,由于SNMP也很容易成为攻击的目标,所以在防火墙的规则中,要禁止外界对服务器161/162端口的访问。这样便保证了MRTG监控中心担负起监控其它所有服务器的责任。

MRTG监控中心将不断产生流量报告,以Web页面的形式发送给管理员。当然,该Web页面是带有身份认证功能的,以确保只有拥有账号的管理员才能察看相应的流量报告。

使用这样的MRTG监控中心,可以带来以下好处:

◆ 24小时不间断地工作,能保证产生详细、全面的流量报告;

◆ 提供带身份认证的Web浏览界面,管理员凭账号可以随时随地通过互联网察看流量报告;

◆ 免去管理员安装MRTG的烦恼,只需通过浏览器来察看流量报告;

◆ 只允许MRTG监控中心机器访问服务器161/162端口,安全性更高。

构建MRTG监控中心

下面介绍如何在Linux上构建一个MRTG监控中心。

MRTG需要先安装Apache

一、MRTG需要以SNMP服务为基础,所以请确保你的系统已经启用了此服务

1.请确保你的系统安装了以下软件包

net-snmp-libs

net-snmp

net-snmp-utils

2.修改/etc/snmp/snmpd.conf

去掉如下一行的注释

view mib2   included  .iso.org.dod.internet.mgmt.mib-2 fc

在大约55行处添加如下一行

view    systemview    included   .1.3.6.1.2.1.2

把如下行

access  notConfigGroup ""      any       noauth    exact  systemview none none

改作:

access  notConfigGroup ""      any       noauth    exact  mib2 none none

3.启用snmpd服务

#service snmpd start

#chkconfig --levle 2345 snmpd on

4.查看端口的开启状况

# netstat -tunlp |grep snmp

tcp        0      0 0.0.0.0:199             0.0.0.0:*               LISTEN      4973/snmpd

udp        0      0 0.0.0.0:161             0.0.0.0:*                           4973/snmpd

二、MRTG生成供浏览图像需要httpd服务的支持,同时也需要gd、libpng和zlib三个软件包的支持,而gd的正常运行也需要其

它的几个软件.

三:安装MRTG

下载地址:

# tar zxvf mrtg-2.16.2.tar.tar

# cd mrtg-2.16.2

# ./configure --prefix=/usr/local/mrtg

# make

# make install

四:配置MRTG

生成配置文件:

# mkdir /etc/mrtg

# /usr/local/mrtg/bin/cfgmaker public@localhost > /etc/mrtg/mrtg.cfg

编辑/etc/mrtg/mrtg.cfg

#WorkDir:/home/http/mrtg

去掉注释并改为

WorkDir: /usr/local/www/htdocs/mrtg

(此处是你的httpd默认的主目录)   注意前面不要有空格

去掉如下行的注释

# Options[_]: growright, bits

添加如下行,实现网页中的中文字符显示

Language:gb2312

生成MRTG网页主页面文件

# /usr/local/mrtg/bin/indexmaker /etc/mrtg/mrtg.cfg --output=/usr/local/www/htdocs/mrtg/index.html  --

title="My MRTG"

4.启动MRTG

# env LANG=C /usr/local/mrtg/bin/mrtg /etc/mrtg/mrtg.cfg

这个命令会输出一些错误信息,一般可以安全忽略,连续执行三次此命令即可。

5.MRTG生成的web页面是静态的,为了能让其不断的刷新,需要将以上命令添加进crontab

#crontab -e

添加如下一行

*/3 * * * * env LANG=C /usr/local/mrtg/bin/mrtg /etc/mrtg/mrtg.cfg

注:此行表示每三分钟刷新一次,你可以根据自己的需要修改刷新时间间隔。

6.安装完毕,可以去查看结果了,在浏览器输入形如以下地址

(IP地址为你的机器IP)

linux mrtg 进程名称,Linux上的MRTG流量监控中心相关推荐

  1. linux mrtg 进程名称,Linux下的mrtg使用

    Linux下的mrtg使用 用mrtg怎样才能监视非本机流量呢 如何去配置? 对于Mrtg就不多说了,在网上很容易就找到其各方面的详细资料,也可以上官方文档.下面我就说说我的安装过程: 在安装过程中用 ...

  2. linux mrtg 进程名称,linux 下MRTG的使用

    A. 需要的组件 安装MRTG 需要确认linux系统已经安装了以下组件: GCC Perl Gd Libpng Zlib Apache 确认的方法是rpm –qa| grep gcc (perl , ...

  3. linux mrtg 进程名称,linux mrtg

    mrtg 是linux下面一个非常简单的监控网络链路流量负载的一个软件,通过snmp协议得到各个需要监控设备的流量信息,并将流量负载以包含PNG格式的图形的HTML 文档方式显示出来,用户可以通过自己 ...

  4. linux mrtg 进程名称,Linux Mrtg系统监控

    一.mrgt配置案例说明,这里以监控网卡为例 #通过public监控localhost上的192.168.1.68地址流量 Target[eth1_lan]:/192.168.1.68:public@ ...

  5. linux wlan进程名称,linux无线网络配置无线网卡驱动安装与wlan802.11配置

    Linux无线网络配置--无线网卡驱动安装与WLAN 802.11 配置 Linux无线网络配置--无线网卡驱动安装与WLAN 802.11配置2008-05-10 18:27 20739人阅读 评论 ...

  6. linux pidof 进程名称查进程id

    pidof命令用于查找指定名称的进程的进程号id号. 语法 pidof(选项)(参数) 选项 -s:仅返回一个进程号: -c:仅显示具有相同"root"目录的进程: -x:显示由脚 ...

  7. linux的进程命令,Linux基础进程命令详解

    进程有关基础命令 一.进程定义 1.进程就是CPU未完成的工作,而且它是其中运行着一个或多个线程的地址空间和这些线程所需要的系统资源. 二.Linux系统进程和一些有关进程的命令 1.ps命令ps   ...

  8. linux select 进程id,Linux基础命令---显示进程ps

    ps ps指令可以显示系统中当前进程的信息,它的输出结果是高度可定制的.如果您希望重复更新所选内容和显示的信息,请使用top(1)代替. 请注意,"ps-aux"与"ps ...

  9. go linux下进程守护,Linux系统进程管理-Go语言中文社区

    一.进程基础知识 1.1 Linux进程的概念 Process:是运行中的程序的一个副本,是被载入内存的一个指令集合.进程ID(Process ID,PID)号码被用来标记各个进程 UID.GID.和 ...

最新文章

  1. 转另一个获取硬盘序列号的方法
  2. 把整数转换成2的n次方的和数组
  3. 添加本地图层出现要求cross domain policy的错误
  4. Odoo 8 Graph 视图 之 雷达图 (Radar\Spider)
  5. Python 统计文本中单词的个数
  6. POJ-1094 Sorting it All Out
  7. Al芯片前景看好,市场规模在2023年将达343亿美元
  8. Linux安装好php后找不到php.ini
  9. MYSQL导出数据报错ERROR 1290 (HY000) 和 ERROR 1 (HY000)
  10. Python中判断字符串中是否包含另一个字符串
  11. Typora 快捷键设置
  12. Pymol教程--安装
  13. COPY 一种接近最优的导航网格生成算法以及基于导航网格的寻路算法
  14. 学校多媒体讲台计算机怎么开,学校教室多媒体使用说明.PPT
  15. php 度分秒和小数转化
  16. 基于HTML5的电子病历编辑方法及系统与流程
  17. Google云游戏平台Stadia好不好玩?第一波实测火热出炉!
  18. access下如何配置两个vlan_如何一个端口设置多个VLAN
  19. 华为视频终端默认的Web页面用户名和密码是多少
  20. SQL简明数据分析教程

热门文章

  1. leetcode 131. Palindrome Partitioning | 131. 分割回文串(递归解法)
  2. leetcode 222. Count Complete Tree Nodes | 222. 完全二叉树的节点个数(Java)
  3. 牛客网_PAT乙级_1019. 数字黑洞 (20)
  4. JDK9的新特性:JPMS模块化
  5. Flume 1.7 源码分析(五)从Channel获取数据写入Sink
  6. 用ajax的方法获取列表,用ajax从服务器获取列表数据,为什么getElementsByTaName('li')的长度为0呢...
  7. gradle 的 依赖管理(八)
  8. 容器学习 之 容器访问外部网络(十四)
  9. Effective Java之考虑自定义的序列化模式(七十五)
  10. Effective Java之慎用可变参数(四十二)