MRTG—网络监控工具
最近一段时间在研究后台服务器测试技术,需要对后台服务器的各项性能指标进行实时监控和统计,也由此让我回想起之前公司曾经接触过的一个服务SNMP,SNMP是一种称之为简单网络管理协议的服务,主要是用于获取系统的流量、I/O、CPU、Memory和Disk等信息,通过自带的统计功能,将信息发送于监控程序上,最后以统计报表的形式展现于管理员,这种方式正是我所要的。于是通过一翻查找,发现了一款免费的开源工具,那就是MRTG,称之为网络监控工具。它可用于windows和linux平台,当然对于这些个开源的支持,linux相应的还是要为windows强,因为只有开源平台才能更好的支持开源项目的发展。对于linux的版本支持,基本上都没有问题,但是对于MRTG在windows上的支持,那可就需要摸索了,目前我试用过的基本有windows server 2003和windows xp,下面我将以xp系统来演示MRTG的安装和配置流程。
首先,来介绍一下MRTG的软件平台支撑需求如下:
1、Perl平台的支持,因为MRTG是Perl语言开发的,所以需要安装ActivePerl,下载地址如:http://downloads.activestate.com/ActivePerl/Windows/,当然了安装过程很简单,基本默认就ok了,安装目录Perl在C盘根目录下。
2、IIS服务,这个并不是必须的,但是为了方面浏览最后生成的报表,因为报表都是Html格式的,为了实时且可以远程访问这个页面,所以需要IIS服务来支持其web页面的浏览。
3、SNMP服务,这个组件是必须的,不管是监控或者是被监控设备都必须要安装该组件,一般在控制面板的“添加删除组件”中找到系统监控选项,然后选择简单网络管理协议组件安装就ok,一般安装需要系统光盘的支持,所以这里就不多介绍了。
4、MRTG,这个工具的下载地址为:http://oss.oetiker.ch/mrtg/download.en.html,这里有linux和windows版本的都有,格式略有不同,请注意这里下载的windows版本的格式为zip格式的。关于版本号的选择,本人在安装过程中遇到了一些问题,稍后在安装过程中给出说明。
其次,开启并设置SNMP服务,在安装好SNMP组件之后,在服务列表中可以找到如下两个服务程序如下图所示:
如上有SNMP Service和SNMP Trap Service这两个服务,其中SNMP Service是主服务,而SNMP Trap Service是一个Trap工具,也就是抓取工具,获取Service的信息。
接下来我们需要配置SNMP,如图所示:
选择SNMP Service,右键选择属性,在属性框中切换到安全对话框,这里如上图所示默认勾选“发送身份验证陷阱”,下面的接受团体名称为public,通常情况这里建议不用系统默认的关键字,至于这个关键字的作用,后面配置MRTG的时候将会说明,重新添加一个团体名称,区别于public就可以,权利可以附加只读和创建两个即可。然后在下面可以看到关于哪些主机的SNMP信息,这里需要根据实际情况来设定,一般请指定特定的主机地址,添加IP地址即可。关于SNMP的服务配置就这些了,因为这里只是介绍MRTG的工具使用,稍后有机会再详解SNMP应用。
第三,配置IIS应用服务器,这里主要是为MRTG建立一个文件夹,用于存放监控数据文件的地方,还有就是配置web页面的浏览。通常在安装完IIS应用之后会在C盘有如此目录c:/Inetpub/wwwroot/,在此目录下新建一个文件夹为mrtg作为mrtg的服务目录,然后在默认网站下新建一个站点,目录指向mrtg,这样就可以通过远程访问到mrtg下的web页面了。
第四,安装和配置MRTG,这里关于安装MRTG的版本问题需要说明,之前我在安装部署mrtg.2.16.2.zip之后,运行perl命令时提示一些错误,这里没有记录,所以需要说明的是,2.16.2版本是有bug的,最后选择了2.17.2版本之后就很顺利完成了,下面将2.17.2的版本直接解压,将解压的文件夹放到C盘根目录下,然后可以在windows下dos命令行下开始配置和执行MRTG,如下所示:
将命令行切换到mrtg的bin目录下,也就是可执行命令模式下。接下来就需要去指定需要监控的主机地址等相关信息,在bin目录执行如下命令:
C:/mrtg-2.17.2/bin/perl cfgmaker public@192.168.6.90 --global "workdir: c:/Inetput/wwwroot/mrtg" --output "c:/Inetput/wwwroot/mrtg/pc.cfg" 然后直接回车即可,这里要说明的是perl是执行平台脚本,cfgmaker是mrtg的命令,public@192.168.6.90中public就是SNMP Service中配置的接受团体名称,这里不建议使用public,@后面是IP地址;workdir是指定工作目录,而output是指定生成配置文件的输出目录,最后生成的配置文件以cfg后缀格式。这样就已经配置好了监控的那台主机的配置服务。
然后,需要生成一个web页面来显示当前监控的信息,命令行如下:
C:/mrtg-2.17.2/bin/perl indexmaker c:/Inetput/wwwroot/mrtg/pc.cfg>c:/Inetput/wwwroot/mrtg/index.html ,执行这个命令后就可以在mrtg目录下看到index.html文件了。
最后运行监控命令如下:
C:/mrtg-2.17.2/bin/perl mrtg --logging=c:/Inetput/wwwroot/mrtg/pc.log c:/Inetput/wwwroot/mrtg/pc.cfg,运行这个命令之后就可以在dos屏幕下看到有数据信息在滚动,说明SNMP已经在发送和接受信息了,这个时候可以在本地浏览器或者远程流程上访问当前的IIS服务,访问index.html页面,查看流量信息,默认是5分钟发送一次信息,如下图所示:
通常情况下监控一台主机只显示一个曲线报表,但是由于监控的主机上运行有一个虚拟机,而且本次应用就是通过虚拟机来演示的,所以对应有虚拟出来的本地连接也会被默认监控到,如果想去掉也可以,只需要在生成的cfg配置文件就更改就ok了,点击上面的单个图表可以进去详细的分析页面,分别有每日、每周、每月和每年的统计信息,直到这个监控服务被关闭为止,将清楚所有的流量统计信息。关于mrtg的更多应用,将在后续中继续发布。
相关文章:

IBM会话设置和覆盖规则
为什么80%的码农都做不了架构师?>>> 中文版地址:http://www-01.ibm.com/support/docview.wss?uidswg21659740 Technote (troubleshooting) Problem(Abstract) It is possible to set the HTTP Session time-out in various places on th…

FOSCommentBundle功能包:设置Doctrine ODM映射
Step 2b: Setup MongoDB mapping The MongoDB implementation does not provide a concrete Comment class for your use,you must create one: MongoDB实现并不提供为您所用的具体评论类,您必须要创建一个。 1234567891011121314151617181920212223<?php// src…

lighttpd 负载均衡-反向代理+cache浅谈
Lighttpd有硬盘级别的cache-(mod_cache)和内存级别的cache(mod_mem_cache),内存级别的cache是国人的产品,我喜欢用lighttpd就是因为它具有2种选择的cache,像我的实际需求,由于系统存在很多图片,但是容量不大…

设置网页标题图标
网页图标如图上位置 设置语句如下: link rel:"SHORTCUT ICON", href:"/images/logo.ico"

DeepMind 的新强化学习系统,是迈向通用人工智能的一步吗?
作者:Ben Dickson来源:数据实战派前言尽管已经掌握围棋、星际争霸 2 和其他游戏,深度强化学习模型的主要挑战之一是,它们无法将其能力泛化到训练领域之外。这种限制使得将这些系统在现实世界中的应用变得非常困难,因为…

无法访问D盘,执行页内操作时的错误
打开D盘后出现“无法访问D:/,执行页内操作时的错误”怎么办?既便D盘有病毒也不会出现这种状况,初步判断是D: 分区表错误,用系统安装光盘开机进入纯DOS下的修复模式中用 CHKDSK /R 或 /F来修复一下试试看。在cmd下输入chkdsk空格d:空格/f本文转…

怎样修改Ubuntu的root帐户密码并使用root登录
Ubuntu版本11.04 Ubuntu是一套基于Debian的Linux系统,它追求的是“Just Work”,最新的7.10版本发布于2007年10月,不同于其他Linux发行版本,Ubuntu的所有版本都是免费的,包括企业版。第一次安装Ubuntu,发现比…

CSDN 开学见面礼!限时免费申请,手慢无!
暑假即将结束,金秋开学季来袭。别让年轻的自己虚度光阴,现在扫码申请学习资格,10+场考前辅导,600+分钟大咖讲解与答疑直播免费看!大厂CTO级别导师陪你加buff!3周带你掌握大厂工程师基…

【No.1_sizeof与strlen】
【注意】 程序语言只是我们与计算机交流并让计算机实现我们创造性思想的工具,可以并鼓励深入掌握一门语言,但千万别沉迷于钻某种语言的牛角尖,一定要把握好二者间的度 本帖属不定时连载贴,以试卷的形式提出一个比较基础的问题供大…

Linux: CentOS 7下搭建高可用集群
转载: http://linux.cn/article-3963-1.html本文以两台机器实现双集热备高可用集群,主机名node1的IP为192.168.122.168 ,主机名node2的IP为192.168.122.169 。一、安装集群软件必须软件pcs,pacemaker,corosync…

史上最大规模 DDoS 攻击,每秒 1720 万次 HTTP 请求
整理 | 禾木木 出品 | AI科技大本营(ID:rgznai100) 互联网基础设施公司 Cloudflare 表示,已化解了迄今为止所记录的最大规模的容量耗尽分布式拒绝服务(DDoS)攻击。 近日,互联网基础设施服务提供商 Cloudfl…

如何查看当前Linux的版本
查看linux的版本主要有三种方法:1) 登录到服务器执行 lsb_release -a ,即可列出所有版本信息,例如:[root3.5.5Biz-46 ~]# lsb_release -a LSB Version: 1.3Distributor ID: RedHatEnterpriseASDescription: Red Hat Enterprise Li…

AIX5.3安装bash shell
一、下载bash shell,地址是:ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/bash/ 二、安装bash shell,rpm -ivh bash-3.2-1.aix5.2.ppc.rpm三、你现在就可以用了,赶紧bash试试!----你可能会有疑问我的系统的是…

经典算法题每日演练——第六题 协同推荐SlopeOne 算法
原文:经典算法题每日演练——第六题 协同推荐SlopeOne 算法相信大家对如下的Category都很熟悉,很多网站都有类似如下的功能,“商品推荐”,"猜你喜欢“,在实体店中我们有导购来为我们服务,在网络上 我们需要同样的一种替代物&…

基于 Python 环境搭建 - YOLO 实现吸烟行为监测
作者|李秋键 出品|AI科技大本营(ID:rgznai100) 引言 目标检测是一种与计算机视觉和图像处理有关的计算机技术, 用于检测数字图像和视频中特定类别的语义对象 (例如人、建筑物或汽车等), 其在视频安防,自动驾驶, 交通监控, 无人机场景分析和机器人视觉等领域有广阔的应用前景。近…

Ubuntu 下安装thttpd Web服务器
不知道大家是不是真的需要用appache这么复杂的功能这么强大的web server,其实有很多时候使用webserver也只是一种远程共享访问的方式。这里,Ubuntu repository的提供了一个简单的web server,名为thttpd,即 tiny http daemon. th…

mysql 新增 删除用户和权限分配
1. 新增用户 mysql>insert into mysql.user(Host,User,Password) values("localhost","lionbule",password("hello1234")); mysql>flush privileges; 2. 修改用户密码 mysql>update mysql.user set passwordpassword(new password)…

简历空空,如何编写一个面试时能拿的出手的真实项目?
最近,新一波的秋招全面开启,各大互联网行业像腾讯、百度、美团、哔哩哔哩,都加入到招聘队伍,秋招面试也进入白热化。作为一名求职者,要想在招聘浪潮中抢先一步,锁定大厂Offer,现在就要着手准备起…

mysql通过查看跟踪日志跟踪执行的sql语句
在SQL SERVER下跟踪sql采用事件探查器,而在mysql下如何跟踪sql呢? 其实方法很简单,开启mysql的日志log功能,通过查看跟踪日志即可。 开启mysql的日志log方法: windows环境下的配置方法: 我使用的版本&#…

用thttpd做Web Server
httpd是busybox中自带的web server,功能弱,不支持认证和CGI。thttpd和boa都支持认证CGI,功能比较全,Boa是一个单任务的小型http服务器,设计的小型系统不要数据库操作,所以可以使用thttpd作为server.1. 编译thttpdccarm…

ii第六单元 文本处理工具
linux中常用的基础命令 diff 命令 patch 命令 grep 命令 Cut 命令 sort 命令 uniq 命令 tr 命令 sed 命1.diff 命令 比较两个文件的不同 用于创建补丁文件 diff -u file file.new >file.path ##生成补丁文件 yum install patch -y ##安装打补丁工具 (1&…

Powershell管理系列(十)邮件联系人及邮件用户的管理
鉴于有些用户不太熟悉邮件联系人、邮件用户的区别,博文首先介绍下用户邮箱、邮件联系人、邮件用户的概念,以下介绍部分博文摘自winos微软中文技术论坛。---------------------------------------------------------------------------------------------…

移植 thttpd Web服务器
从http://www.acme.com/software/thttpd/ 下载thttpd 到/tmp 目录当中,并解压. 编译thttpd [armlocalhost thttpd-2.25b]$ CCarm-linux-gcc ./configure --hostarm-linux [armlocalhost thttpd-2.25b]$ vi Makefile 指定静态链接二进制文件 LDFLAGS -static …

懂外语、会创作,机器高质量学习挑战均在这里实现
编译 | 禾木木 出品 | AI科技大本营(ID:rgznai100) 近年来人工智能在不断的发展中,机器不仅已经学会了英语写作,也正在学习其它语言。 德国 Aleph Alpha 已经构建了世界上最强大的 AI 语言模型之一。它不仅能说流利的英语…

JPA 复杂查询 - Querydsl
添加依赖 <!--query dsl --> <dependency> <groupId>com.querydsl</groupId> <artifactId>querydsl-jpa</artifactId> </dependency> <dependency> <groupId>com.querydsl</groupId> <artifactId>qu…

服务器端开发经验总结 Linux C语言
简介在进行服务器端开发的时候需要考虑一些算法和性能问题,经过了几年的开发,对这方面有了一些经验,现在写下来跟大家分享和讨论。我主要是在Linux下进行C语言的开发,所以后面的实现都是基于Linux操作系统并用C语言来讲解。其它平…

Backbone.js学习笔记 Hello World!
使用Backbone.js 和 MVC 架构创建一个典型的Hello world项目。虽然是“杀鸡用牛刀了”,毕竟是我第一次使用Backbone.js 依赖 jQuery 1.9.1Undersore.js 1.5.0Backbone.js开始 <!doctype html> <html> <head> <meta charset"utf-8"&g…

一文速览机器学习的类别(Python代码)
作者:泳鱼来源:算法进阶机器学习按照学习数据经验的不同,即训练数据的标签信息的差异,可以分为:*监督学习(supervised learning)*非监督学习(unsupervised learning)*半监…

Linux下分割与合并文件的方法
Linux下分割与合并文件的方法 切割合并文件在linux下用split和cat就可以完成。下面举些实例进行说明。1.文件切割文件切割模式分为两种: 文本文件 二进制模式。 1.1文本模式 文本模式只适用于文本文件,用这种模式切割后的每个文件都是可读的。文本模式又…

将网站程序放在tmpfs下
将网站程序放在tmpfs下然后用nginx直接做对外服务呢varnish或者squid都是利用内存和它的连接数来做到加速服务.但是如果是squid->nginx->fastcgi->mysql这样当中很多连接是开销在内部的连接之中而且如果客户端请求php.squid还需要将请求再转发至nginx,然后nginx再转发…