关于MRTG的问题

虫虫 发布于 2009/05/04 00:52
阅读 1K+
收藏 1

有没有在Linux(CentOS)安装MRTG的教程?我要监控服务器的内存和CPU使用,还有网络流量。

安装这个服务会不会对服务器造成额外的压力?

 

谢谢!

加载中
0
范堡
范堡

RedHat As4 的都ok,配置过程是一样的。
要打开系统的 SNMP 服务,然后Crontab 每5分钟更新一次。理论上是会对服务器造成额外压力的。
但其实这压力微乎其微,基本可以忽略了。

虫虫啊,如果你的服务器原本装有 PHP 运行环境跟 Apache 的话,哈哈,别用MRTG了。用Cacti吧!!~

MRTG 的安装教程如下。

在RedHat EL4.0 上安装 MRTG
作者:liheng
Email:liheng_2006@hotmail.com
MRTG(Multi Router Traffic Grapher,MRTG)是一个监控网络链路流量负载的工具软件, 它通过snmp协议从设备得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML 文档方式显示给用户,以非常直观的形式显示流量负载。
MRTG 的安装
首先检查系统中是否已经安装好了 SNMP
[root @test root] # rpm -qa | grep net-snmp
net-snmp-libs-5.1.2-11
net-snmp-5.1.2-11
查询结果显示已正常安装 SNMP 服务,这个候还需要修改 SNMP 配置文件
[root @test root] # vi /etc/snmp/snmpd.conf

access  notConfigGroup ""      any       noauth    exact  systemview  none none
修改成
access  notConfigGroup ""      any       noauth    exact  mib2  none none

view mib2   included  .iso.org.dod.internet.mgmt.mib-2 fc
前面的 # 字符去掉
启动 snmp 服务
[root @test root] # service snmpd start
设置 SNMP 服务开机自启动
[root @test root] # chkconfig —level 345 snmpd on
查看 snmp 服务是否正常启动
[root @test root] # netstat -tlunp | grep snmp
tcp        0      0 0.0.0.0:199                 0.0.0.0:*                   LISTEN      3722/snmpd
udp        0      0 0.0.0.0:161                 0.0.0.0:*                               3722/snmpd
安装 ZLIB
[root @test root] # tar xzvf zlib-1.2.3.tar.gz
[root @test root] # cd zlib-1.2.3
[root @test zlib-1.2.3] # ./configure —prefix=/usr/local/zlib
[root @test zlib-1.2.3] # make
[root @test zlib-1.2.3] # make install
[root @test zlib-1.2.3] # cd
安装 libpng
[root @test root] # tar xzvf libpng-1.2.22.tar.gz
[root @test root] #  cd libpng-1.2.22
[root @test libpng-1.2.22] # make -f scripts/makefile.std CC=gcc ZLIBLIB=/usr/local/zlib ZLIBINC=/usr/local/zlib
[root @test libpng-1.2.22] # cd
安装 freetype
[root @test root] # tar xzvf freetype-2.3.5.tar.gz
[root @test root] # cd freetype-2.3.5
[root @test freetype-2.3.5] #  mkdir -p /usr/local/freetype
[root @test freetype-2.3.5] #  ./configure --prefix=/usr/local/freetype
[root @test freetype-2.3.5] # make
[root @test freetype-2.3.5] # make install
[root @test freetype-2.3.5] # cd
安装 jpegsrc.v6b
[root @test root] #  mkdir -pv /usr/local/jpeg6/{,bin,lib,include,man/{,man1},man1}
[root @test root] # tar xzvf jpegsrc.v6b.tar.gz
[root @test root] # cd jpeg-6b/
[root @test cd jpeg-6b] #  ./configure --prefix=/usr/local/jpeg6 --enable-shared --enable-static
[root @test cd jpeg-6b] # make
[root @test cd jpeg-6b] # make install
[root @test cd jpeg-6b] # make install-lib
[root @test cd jpeg-6b] # cd
安装 libxml
[root @test root] # tar xzvf libxml2-2.6.30.tar.gz
[root @test root] # cd libxml2-2.6.30
[root @test libxml2-2.6.30] #  mkdir /usr/local/libxml
[root @test libxml2-2.6.30] # ./configure --prefix=/usr/local/libxml
[root @test libxml2-2.6.30] # make
[root @test libxml2-2.6.30] #  make install
[root @test libxml2-2.6.30] #  cp xml2-config /usr/bin
[root @test libxml2-2.6.30] # cd
安装 gd
[root @test root] # tar xzvf gd-2.0.33.tar.gz
[root @test root] # mkdir -p /usr/local/gd
[root @test root] # cd gd-2.0.33
[root @test gd-2.0.33] # ./configure --prefix=/usr/local/gd --with-jpeg=/usr/local/jpeg6 --with-png=/usr/local/lib --with-zlib=/usr/local/zlib —with-freetype=/usr/local/freetype
[root @test gd-2.0.33] # make
[root @test gd-2.0.33] # make install
[root @test gd-2.0.33] # cd
2008年5月12日添加 APACHE 部分,在这里要谢谢会员 COOLZYX 的严谨和及时的指正
安装httpd-2.2.4
[root @ test root] # tar jxvf httpd-2.2.4.tar.bz2
[root @ test root] # cd httpd-2.2.4
[root @ test httpd-2.2.4] #./configure
--prefix=/usr/local/apache --enable-so --enable-ssl
--with-ssl=/usr/local/ssl --enable-track-vars --enable-rewrite --with-zlib
--enable-mods-shared=most  --enable-suexec                  —with-suexec-caller=daemon  
[root @ test httpd-2.2.4] # make
[root @ test httpd-2.2.4] # make install
[root @ test httpd-2.2.4] # echo "/usr/local/apache/bin/apachectl start" >> /etc/rc.local(系统启动时服务自动启动)
[root @test httpd-2.2.4] # cd
修改apache 的配置文件, 这里将网站根目录指定到/var/www:
[root @test httpd-2.2.4] # vi /usr/local/apache/conf/httpd.conf
找到DocumentRoot “/usr/local/apache/htdocs”
修改为:DocumentRoot “/var/www”(后文中我们还会注释掉此行,以启用虚拟主机)

找到<Directory “/usr/local/apache/htdocs”>
修改为:<Directory “/var/www”>
安装 mrtg
[root @test root] # tar xzvf mrtg-2.15.2.tar.gz
[root @test root] # cd mrtg-2.15.2
[root @test mrtg-2.15.2] #  ./configure --prefix=/usr/local/mrtg --with-gd=/usr/local/gd --with-gd-lib=/usr/local/gd/lib --with-gd-inc=/usr/local/gd/include --with-z=/usr/local/zlib --with-z-lib=/usr/local/zlib/lib --with-z-inc=/usr/local/zlib/include --with-png=/root/libpng
[root @test mrtg-2.15.2] # make
[root @test mrtg-2.15.2] # make install
[root @test mrtg-2.15.2] # mkdir -p /var/www/mrtg/net
[root @test mrtg-2.15.2] # cp images/* /var/www/mrtg/net
[root @test mrtg-2.15.2] # /usr/local/mrtg/bin/cfgmaker --output=/var/www/mrtg/net/mrtg.cfg community@localhost
[root @test mrtg-2.15.2] # vi /var/www/mrtg/net/mrtg.cfg

# WorkDir: /home/http/mrtg
修改成
WorkDir: /var/www/mrtg/net
并去掉前面的 # 字符
注意:在去掉 WorkDir: /var/www/mrtg/net 前面的 # 字符时,在WorkDir: /var/www/mrtg/net 前面不能留空格,不能在执行 /usr/local/mrtg/bin/mrtg /var/www/mrtg/net/mrtg.cfg &  env LANG=C /usr/local/mrtg/bin/mrtg /var/www/mrtg/net/mrtg.cfg 时会报错:ERROR: Line 8 ( WorkDir: /var/www/mrtg/net) in CFG file (/var/www/mrtg/net/mrtg.cfg)  does not make sense

Options[_]: growright, bits
前面的 # 字符去掉
添加下面一行
Language: GB2312
[root @test mrtg-2.15.2] #  /usr/local/mrtg/bin/mrtg /var/www/mrtg/net/mrtg.cfg
这时会报错,如下:
-----------------------------------------------------------------------
ERROR: Mrtg will most likely not work properly when the environment
       variable LANG is set to UTF-8. Please run mrtg in an environment
       where this is not the case. Try the following command to start:

       env LANG=C /usr/local/mrtg/bin/mrtg /var/www/mrtg/net/mrtg.cfg
-----------------------------------------------------------------------
根据提示,重新执行命令
[root @test mrtg-2.15.2] # env LANG=C /usr/local/mrtg/bin/mrtg /var/www/mrtg/net/mrtg.cfg
会提示错误:
2007-10-29 16:27:34, Rateup WARNING: /usr/local/mrtg/bin//rateup could not read the primary log file for localhost_2
2007-10-29 16:27:34, Rateup WARNING: /usr/local/mrtg/bin//rateup The backup log file for localhost_2 was invalid as well
2007-10-29 16:27:34, Rateup WARNING: /usr/local/mrtg/bin//rateup Can't remove localhost_2.old updating log file
2007-10-29 16:27:34, Rateup WARNING: /usr/local/mrtg/bin//rateup Can't rename localhost_2.log to localhost_2.old updating log file
[root@bv-diannao-004 mrtg-2.15.2]# env LANG=C /usr/local/mrtg/bin/mrtg /var/www/mrtg/net/mrtg.cfg
2007-10-29 16:27:41, Rateup WARNING: /usr/local/mrtg/bin//rateup Can't remove localhost_2.old updating log file
再次执行相同命令
[root @test mrtg-2.15.2] # env LANG=C /usr/local/mrtg/bin/mrtg /var/www/mrtg/net/mrtg.cfg
又报错:
2007-10-29 16:27:41, Rateup WARNING: /usr/local/mrtg/bin//rateup Can't remove localhost_2.old updating log file
第三次执行上面的相同命令后,不再报错了,说明正常了。如果还报错,就要检查错误的原因了。
[root @test mrtg-2.15.2] # env LANG=C /usr/local/mrtg/bin/mrtg /var/www/mrtg/net/mrtg.cfg
生成 mrtg 显示信息页面
[root @test mrtg-2.15.2] #  /usr/local/mrtg/bin/indexmaker --output=/var/www/mrtg/net/index.html --title="My MRTG" /var/www/mrtg/net/mrtg.cfg
MRTG 生成的页面是静态的,为了让其不断的刷新,需要将以下命令添加进 crontab
[root @test mrtg-2.15.2] # crontab -e
*/5 * * * * env LANG=C /usr/local/mrtg/bin/mrtg /var/www/mrtg/net/mrtg.cfg
这样每隔5分钟 mrtg 就会刷新一次。
登录: http://localhost/mrtg/net查看 mrtg 显示图,如图所示:

0
虫虫
虫虫

太复杂了。。。。唉,不敢再服务器上乱搞。万一down了损失的是钱啊

0
范堡
范堡

引用来自“虫虫”的帖子

太复杂了。。。。唉,不敢再服务器上乱搞。万一down了损失的是钱啊

 其实不复杂的呢..你本来就有 php ,apache ,跟 Mysql 的环境..只要多装一个 RRdtools 就ok了.

0
虫虫
虫虫

我已经跟主机服务商联系过了,他们的服务器监控页面正在开发中,算了,我还是等等吧。

返回顶部
顶部