MRTG开源监控安装手册

环境要求:

CentOS6以上版本

2G内存

16G存储

源码包下载:第一部分:下载,第二部分:下载

 

1.安装snmp

 

 yum install -y net-snmp net-snmp-devel net-snmp-utils
 yum install -y gcc gcc-c++  libtool*

 

配置snmp

 

删除/etc/snmp/snmpd.conf配置文件中所有内容,粘贴如下内容到配置文件

com2sec notConfigUser  default       public

group   notConfigGroup v1           notConfigUser
group   notConfigGroup v2c           notConfigUser

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


view    systemview    included   .1.3.6.1.2.1.1
view    systemview    included   .1.3.6.1.2.1.2
view    systemview    included   .1.3.6.1.2.1.25.1.1

access  notConfigGroup ""      any       noauth    exact  mib2 none none

syslocation Unknown (edit /etc/snmp/snmpd.conf)

syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)

启动SNMP

 

 

准备好安装包:

 

2.安装zlib

 

[root@localhost software]# tar -zxf zlib-1.2.5.tar.gz 
[root@localhost zlib-1.2.5]# ./configure --prefix=/usr/local/zlib
[root@localhost zlib-1.2.5]# make
[root@localhost zlib-1.2.5]# make install

 

3安装apache

 

root@localhost httpd-2.2.9]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-usertrack --enable-rewrite --with-z=/usr/local/zlib


root@localhost httpd-2.2.9]# make && make install

 

配置apache

修改配置文件中的ServerName 127.0.0.1

 

 

启动apache

 

[root@localhost software]# /usr/local/apache/bin/apachectl -k restart

 

 

4.安装libpng

 

[root@localhost software]# tar -zxf libpng-1.2.50.tar.gz 
[root@localhost software]# cd libpng-1.2.50

[root@localhost libpng-1.2.50]# cp scripts/makefile.linux makefile

修改makefile指定的zlib的路径:

 

[root@localhost libpng-1.2.50]# make
[root@localhost libpng-1.2.50]# make install

5.安装freetype

 

[root@localhost software]# tar -zxf freetype-2.1.10.tar.gz 
[root@localhost software]# cd freetype-2.1.10
[root@localhost freetype-2.1.10]# mkdir -p /usr/local/freetype
[root@localhost freetype-2.1.10]# ./configure --prefix=/usr/local/freetype
[root@localhost freetype-2.1.10]# make
[root@localhost freetype-2.1.10]# make install

 

6.安装jpeg

 

[root@localhost software]# tar -zxf jpegsrc.v6b.tar.gz 
[root@localhost software]# cd jpeg-6b/
[root@localhost jpeg-6b]# 
jpeg默认不会自动创建安装目录手动创建:
[root@localhost jpeg-6b]# mkdir -pv /usr/local/jpeg6/{,bin,lib,include,man/{,man1},man1}
mkdir: created directory `/usr/local/jpeg6/'
mkdir: created directory `/usr/local/jpeg6/bin'
mkdir: created directory `/usr/local/jpeg6/lib'
mkdir: created directory `/usr/local/jpeg6/include'
mkdir: created directory `/usr/local/jpeg6/man/'
mkdir: created directory `/usr/local/jpeg6/man/man1'
mkdir: created directory `/usr/local/jpeg6/man1'
[root@localhost jpeg-6b]# 
[root@localhost jpeg-6b]# cp /usr/share/libtool/config/config.sub  /root/software/jpeg-6b/      #copy系统下libtool下的这两个文件覆盖jpeg下同
cp: overwrite `/root/software/jpeg-6b/config.sub'? y                                            #样的文件   
[root@localhost jpeg-6b]# cp /usr/share/libtool/config/config.guess  /root/software/jpeg-6b/
cp: overwrite `/root/software/jpeg-6b/config.guess'? y
[root@localhost jpeg-6b]# 
[root@localhost jpeg-6b]# ./configure  --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
[root@localhost jpeg-6b]# make

[root@localhost jpeg-6b]# make install

 

7.安装libxml2

[root@localhost software]# tar -zxf libxml2-2.6.30.tar.gz
[root@localhost software]# cd libxml2-2.6.30
[root@localhost libxml2-2.6.30]# mkdir -p /usr/local/libxml2
[root@localhost libxml2-2.6.30]# ./configure  --prefix=/usr/local/libxml2
[root@localhost libxml2-2.6.30]# make
[root@localhost libxml2-2.6.30]# make install

8.安装gd

 

[root@localhost gd-2.0.35]# tar -zxf gd-2.0.35.tar.gz
[root@localhost gd-2.0.35]# ./configure  --prefix=/usr/local/gd2 --with-png=/usr/local/lib --with-zlib=/usr/local/zlib --with-freetype=/usr/local/freetype --with-jpeg=/usr/local/jpeg6
[root@localhost gd-2.0.35]# make
[root@localhost gd-2.0.35]# make install

 

9.安装mrtg

 

[root@localhost software]# tar -zxf mrtg-2.15.1.tar.gz 
[root@localhost software]# cd mrtg-2.15.1
[root@localhost software]# mkdir /etc/mrtg
[root@localhost mrtg-2.15.1]# ./configure --prefix=/usr/local/mrtg --sysconfdir=/etc/mrtg --with-gd=/usr/local/gd2/include --with-gd-lib=/usr/local/gd2/lib --with-gd-inc=/usr/local/gd2/include  --with-png=/usr/local/include --with-png-lib=/usr/local/lib --with-png-inc=/usr/local/include --with-zlib=/usr/local/zlib/include --with-zlib-lib=/usr/local/zlib/lib  --with-zlib-inc=/usr/local/zlib/include
[root@localhost mrtg-2.15.1]# make
[root@localhost mrtg-2.15.1]# make install
[root@localhost ~]# /usr/local/mrtg/bin/cfgmaker public@localhost > /etc/mrtg/mrtg.cfg
--base: Get Device Info on public@localhost:
--base: Vendor Id: 
--base: Populating confcache
--coca: populate confcache public@localhost:
--coca: store in confcache public@localhost_ Name lo --> 1
--coca: store in confcache public@localhost_ Name eth0 --> 2
--coca: store in confcache public@localhost_ Name eth1 --> 3
--coca: store in confcache public@localhost_ Descr lo --> 1
--coca: store in confcache public@localhost_ Descr eth0 --> 2
--coca: store in confcache public@localhost_ Descr eth1 --> 3
--coca: store in confcache public@localhost_ Type 24 --> 1
--coca: store in confcache public@localhost_ Type 6 --> 2
--coca: store in confcache public@localhost_ Type 6 --> 3 (duplicate)
--coca: store in confcache public@localhost_ Ip 127.0.0.1 --> 1
--coca: store in confcache public@localhost_ Ip 172.16.56.215 --> 2
--coca: store in confcache public@localhost_ Eth  --> 1
--coca: store in confcache public@localhost_ Eth 00-0c-29-a8-d9-94 --> 2
--coca: store in confcache public@localhost_ Eth 00-0c-29-a8-d9-9e --> 3
--base: Get Interface Info
--base: Walking ifIndex
--base: Walking ifType
--base: Walking ifAdminStatus
--base: Walking ifOperStatus
--base: Walking ifMtu
--base: Walking ifSpeed

[root@localhost ~]# 

 

10.修改MRTG配置文件:

 

[root@localhost ~]# vi /etc/mrtg/mrtg.cfg 

11.新建网页文件存放目录:

 

[root@localhost ~]# mkdir /usr/local/apache/htdocs/mrtg

 

12.生成网页文件:

 

[root@localhost ~]# /usr/local/mrtg/bin/indexmaker /etc/mrtg/mrtg.cfg --output=/usr/local/apache/htdocs/mrtg/index.html --title="MY MRTG"
[root@localhost ~]# 
[root@localhost ~]# cd /usr/local/apache/htdocs/mrtg/
[root@localhost mrtg]# ls
index.html

13.启动MRTG:
[root@localhost ~]# env LANG=C /usr/local/mrtg/bin/mrtg /etc/mrtg/mrtg.cfg 
2013-12-24 05:04:27, Rateup WARNING: /usr/local/mrtg/bin/rateup could not read the primary log file for localhost_2
2013-12-24 05:04:27, Rateup WARNING: /usr/local/mrtg/bin/rateup The backup log file for localhost_2 was invalid as well
2013-12-24 05:04:27, Rateup WARNING: /usr/local/mrtg/bin/rateup Can't remove localhost_2.old updating log file
2013-12-24 05:04:27, Rateup WARNING: /usr/local/mrtg/bin/rateup Can't rename localhost_2.log to localhost_2.old updating log file
[root@localhost ~]# env LANG=C /usr/local/mrtg/bin/mrtg /etc/mrtg/mrtg.cfg 
2013-12-24 05:04:32, Rateup WARNING: /usr/local/mrtg/bin/rateup Can't remove localhost_2.old updating log file
[root@localhost ~]# env LANG=C /usr/local/mrtg/bin/mrtg /etc/mrtg/mrtg.cfg 
[root@localhost ~]# 

PS:上面env LANG
=C /usr/local/mrtg/bin/mrtg /etc/mrtg/mrtg.cfg 命令会有错误信息输出,忽略执行三次命令即可

 

因为mrtg生成的是静态html文件,不断刷新则需要加入计划任务:

 

重启计划任务:

访问mrtg

 

在浏览器输入:http://x.x.x.x/mrtg

 

MRTG配置文件mrtg.cfg配置文件中参数说明:

mrtg.cfg 里面几个参数的意思.
Target:是要执行的脚本
Xsize:生成图表的横向宽度(最大600)
Ysize:生成图表的纵向高度(最大200)
Title:标题
kMG: Change the default multiplier prefixes
 Ytics:纵向划分为几个块(格子)
MaxBytes:图表纵向数值的最大上限
PageTop:页面上面的提示
kilo:一般是写1024,如果需要的话,是1000在计算机里的单位
LegendI:从SHELL返回的数据中的第一个
LegendO:从SHELL返回的数据中的第二个
Options: growright,表示图表向右延展

 

 

 

 

 

 

 

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/osxlinux/p/3489311.html