centos 5 Linux Mrtg 懒人安装法

时间:2021-08-09 15:33:21

  Mrtg是多语言平台软件,可以工作在windows下也可以工作在Linux下,由于工作在windows下非常耗费CPU资源,建议安装在linux系统下,我使用的是Centos系统。

建议:首先建议安装系统时选择安装成服务器,把perl,apache都安装上,这样就可以节省很多包的安装。

 

一,Centos下安装mrtg安装

每个人的Linux基础不同,安装方法也不同,建议使用两种最简便的安装方法

1.yum install mrtg (前提是电脑已经可以上网)

系统自动会去mirro(镜像服务器)去找安装包,我发现国内用户使用的是163的镜像。

目前的版本是:mrtg-2.14.5-2,好像2.15的版本都有了,也不一定要用最新的码。

2.安装mrtg rpm包,rpm安装方式,大家可以到网上去搜索一下。也可以到如下地址下载:

http://oss.oetiker.ch/mrtg/pub/mrtg-2.15.1.tar.gz

-------------------------------rpm安装--------------------------------------------- 

tar-zxvfmrtg-2.15.1.tar.gz

cdmrtg-2.15.1

./configure--prefix=/usr/local/mrtg(mrtg的安装路径)

make

makeinstall

----------------------------------OK----------------------------------------------------

 

二、修改apache配置及启动他(apache服务的进程名叫httpd)

apache的配置文件为:/etc/httpd/conf/httpd.conf

#vi etc/httpd/conf/httpd.conf

修改apache默认工作目录DocumentRoot"/var/www/html"  //这个是apache的默认工作目录

为DocumentRoot"/var/www/mrtg"就是把web的默认页面定向到mrtg目录下

建立mrtg目录:mkdir/var/www/mrtg //系统没有这个文件夹,自己建一个

查看httpd服务是否正常启动(service httpd status)。

启动httpd服务(service httpd start)

二.mrtg基本配置

生成主配置文件(可以使用man cfgmaker查看帮助了解具体命令参数的含义)

方法1.cd /usr/bin/ (mrtg安装目录,不同的系统可能不同,可以使用find -name mrtg来查找mrtg的安装目录),如果community 中包含“)”,“@”等特殊字符需要用\转译一下,@用\@代替。

cfgmaker --global 'WorkDir:/var/www/mrtg' --global"language:GB2312" --global'Options[_]:growright,bits' --ifref=ip --output/etc/mrtg/Mymrtg.cfg mycommunity@192.168.1.254(被监控的IP)

2.使用编辑模式

cfgmaker \
--global WorkDir:/var/www/mrtg  \
--global language:GB2312 \
--global Options[_]:growright,bits \
--ifref=nr \
--community=*3rLkDb\) \
119.6.132.3 \

--output /etc/mrtg/SCNC-169-GPJF-ME60-1.cfg

 

这样会在/etc/mrtg/下生成配置文件Mymrtg.cfg

参数简介:

WorkDir:http服务器的工作目录

language:GB2312 指定编码方式,比如utf-8

Options[_]:growright,bits  图表区县显示方式,从右打到左(和left相反),bits以bit显示流量,也可以选择byte.

ifref能指定为nr、ip、eth、descr、name。nr表示用接口在MIBII库中Interface接口的ifIndex来识别接口;IP表示使用ip地址识别接口;eth表示使用接口的物理地址标识接口;descr表示使用接口的描述信息来标识接口;name表示使用接口名来标识接口。一般来说ip地址是唯一的,不过有些情况下接口是没有IP地址的,例如交换机就会出现这种情况。对于接口来说nr(接口号)是唯一的,因此对于一般情况使用IP地址就能了,而对于其他一些情况则需要采用nr了

output/etc/mrtg/Mymrtg.cfg   本次cfgmaker命令执行后生成的配置文件名和存放目录,可以自己指定

我统一存放在/etc/mrtg/目录下。

mycommunity@192.168.1.254 mycommunity:是被网管设备SNMP readonly communitystring不同的设备不同,自己可以设置比如public,192.168.1.254是被网管设备IP地址,@符号没啥用但是必须,用来连接community和IP地址。

三、生成MRTG网页主页面文件(索引文件)

这步的作用就是把不同端口的图汇总到一个html文件中,方便查看流量,自己也可以进行方便自己的二次开发。

indexmaker /etc/mrtg/Mymrtg.cfg--output=/var/www/mrtg/index.html --title="MyMrtg"

也可已使用多行编辑方式,逐行输入,或者直接粘贴,注意粘贴的话需要把">"删掉

#/usr/bin/indexmaker \
> --output=/var/www/mrtg/index.html \
> --title="liuliang tongji" \
> /etc/mrtg/Mymrtg.cfg

注意执行命令的路径为:/usr/bin/因为indexmaker在那个目录下就在哪儿执行。

四、启动MRTG

执行  env LANG=C /usr/bin/mrtg/etc/mrtg/Mymrtg.cfg 注意空格和路径

(其实也可以直接执行 mrtg/etc/mrtg/Mymrtg.cfg,如果报错的话就用上面那条命令吧,主要是因为环境配置问题,有空你也可以解决它,以便直接执行mrtg命令)

如果报错按照提示执行3次就行了(因为第一次执行,目录下没有.old文件可更新会出警告,第二次没有.old文件可以删除也会出警告,没关系的)

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

注:crontab 是Linux定期任务执行程序如果没有的话需要安装,相关内容参考文章:LINUX crontab 定期任务

crontab-e  //这是一条编辑任务,编辑当前用户的定时任务,也可以放到cron的全局配置里面。

添加如下一行

*/5 * * * * /bin/env LANG=C /usr/bin/mrtg/etc/mrtg/Mymrtg.cfg  这里比较容易出错,要仔细理解,定义如下图:

centos 5 Linux Mrtg 懒人安装法

:wq 保存退出,若果正确提示:crontab: installing newcrontab,如果错误你会收到邮件,可以查看邮件看错误原因。
注:此行表示每五分钟刷新一次,你可以根据自己的需要修改刷新时间间隔。也可以通过修改相应的mrtg配置文件实现啊。

注:如果网页打开出现乱码问题,直接修改httpd.conf的配置文件,AddDefaultCharsetUTF-8改为AddDefaultCharsetGB2312保存重启httpd服务。我的已经添加了gb2312了,所以不需要修改。 

其他提示:我今执行cfgmaker是出现错误提示:

-----------------------------------------执行cfgmaker错误提示----------------------------------

SNMP Error:
no responsereceived
SNMPv1_Session (remote host:"192.168.1.1" [192.168.1.1].161)
community: "public"
request ID: -564855723
PDU bufsize: 8000 bytes
timeout: 2s
retries: 5
backoff: 1)
at /usr/local/mrtg/bin/../lib/mrtg2/SNMP_util.pm line 627
SNMPWALK Problem for 1.3.6.1.2.1.1 onpublic@192.168.1.1::::::v4only
at/usr/local/mrtg/bin/cfgmaker line 918
WARNING: Skipping public@192.168.1.1: as no info could beretrieved

问题解决:

1.查看服务器到被监控设备IP网络是否畅通

2.查看read only community string是否正确 不同的设备配置方法不同,流行的设备主要有Cisco华为,中兴

3.查看设备开启的snmp版本和Mrtg服务器的版本是否相同,我的就出在这里。我的设备原来只支持V3,后来我开启了所有支持版本就可以了,估计Mrtg侧也是可以修改的(以后再研究)

-------------------------------------------------------------------

 

最后:每个人在具体的工作时会碰到各种各样的问题,希望不要怕难,子要自己愿意解决,没有解决不了的困难,应为Mrtg流量监控已经是很成熟的技术,希望大家到网上多搜索多学习。另外Mrtg本身带的帮助文件非常详细,如果你精通English的话,估计很快就搞定了。

另外特别提醒注意各环节的执行路径
以上内容为原创^_^(网上很类似的也很多)

 

相关参考文章:Linux系统中使用Mrtg监控网络流量

               LINUX crontab 定期任务

                Mrtg官方网站帮助