服务器 频道

MRTG+SNMP构建服务器信息统计系统

  2.安装配置mrtg

  在安装mrtg之前所必须的安装两个包,libpng,gd

  wget http://planetmirror.com/pub/sourceforge/libpng/libpng-1.0.15.tar.gz

  gunzip -c libpng-*.tar.gz |tar xf -

  rm libpng-*.tar.gz

  mv libpng-* /usr/local/src/libpng

  cd libpng

  make -f scripts/makefile.std CC=gcc ZLIBLIB=../zlib ZLIBINC=../zlib

  rm *.so.* *.so

  wget http://www.boutell.com/gd/http/gd-1.8.4.tar.gz

  gunzip -c gd-*.tar.gz |tar xf -

  rm gd-*.tar.gz

  mv gd-* gd

  cd gd

  perl -i~ -p -e s/gd_jpeg.o//g Makefile

  make INCLUDEDIRS="-I. -I../zlib -I../libpng" LIBDIRS="-L../zlib -L. -L../libpng" LIBS="-lgd -lpng -lz -lm" CFLAGS="-O -DHAVE_LIBPNG"

  cd ..

  wget ftp://linux.tnc.edu.tw/pub/Sysop/MRTG/mrtg-2.9.28.tar.gz

  tar zvxf mrtg-2.9.28.tar.gz
  cd mrtg-2.9.28
  ./configure --prefix=/usr/local/mrtg --with-gd=/usr/local/src/gd  --with-z=/usr/local/src/zlib  --with-png=/usr/local/src/libpng

  make && make install

  3.配置mrtg

  mkdir /usr/local/apache/htdocs/mrtg 这里/usr/local/apache/htdocs是www的默认主页地址,大家可能跟我不同
  cp images/* /usr/local/apache/htdocs/mrtg images/*是在安装源文件夹里

  下面接着:
  /usr/local/mrtg/bin/mrtg /usr/local/apache/htdocs/mrtg/mrtg.cfg

  这个需要运行3次,前两次都会报错,不用去理会他,第3次就应该没有错误了,不过,若是有问题的话,就需要改mrtg.cfg,
  再执行直到没有错误发生为止。

  由于需要将多台服务器的信息输出到一个页面,

  /usr/local/mrtg/bin/cfgmaker --output=/usr/local/apache/htdocs/mrtg/mrtg.cfg

  创建一个mrtg.cfg文件在/usr/local/apache/htdocs/mrtg目录下,由于需要将多台服务器的信息输出到一个页面,所以我们必须对 mrtg.cfg进行了修改,我们需要把每一台服务器的网络流量,内存使用状态,CPU使用状态,还有磁盘的读写状态都需通过mrtg.cfg来显示,如下是我的做法,可以参考:

  # Created by  yzjboy

  ### Global Config Options

  #  for UNIX

  # WorkDir: /home/http/mrtg

  #  or for NT

  # WorkDir: c:mrtgdata

  ### Global Defaults

  #  to get bits instead of bytes and graphs growing to the right

  Options[_]: growright, bits

  WorkDir: /usr/local/apache/htdocs/mrtg/

  Options[_]:growright,bits

  Refresh: 300

  Interval: 5

  Language:GB2312

  #########################################
#############################

  # System: www2

  # Description: Linux wy1 2.4.20-8smp #1 SMP Thu Mar 13 17:45:54 EST 2003 i686

  # Contact: Root <root@wuying.com> (configure /etc/snmp/snmp.local.conf)

  # Location: wy1.wuying.com (edit /etc/snmp/snmpd.conf)

  #######################################
###############################

  ### Interface 2 >> Descr: ''eth0'' | Name: '''' | Ip: ''192.168.0.1'' | Eth: ''00:D0:B7:7E:7A:D1'' ###

  Target[192.168.0.1_192.168.0.1]: /192.168.0.1:public@192.168.0.1:

  SetEnv[192.168.0.1_192.168.0.1]: MRTG_INT_IP="192.168.0.1" MRTG_INT_DESCR="eth0"

  MaxBytes[192.168.0.1_192.168.0.1]: 1024000

  Xsize[192.168.0.1_192.168.0.1]: 300

  Ysize[192.168.0.1_192.168.0.1]: 100

  #kmg[192.168.0.1_192.168.0.1]: M/s

  #kilo[192.168.0.1_192.168.0.1]: 1024

  Title[192.168.0.1_192.168.0.1]: Traffic for www1服务器网络流量

  PageTop[192.168.0.1_192.168.0.1]: <H1>Traffic for www1服务器网络流量</H1>

  #Options[192.168.0.1_192.168.0.1]: growright,gauge,nopercent

  ###MEM status

  Target[WWW1_mem]:`snmpwalk -v 1  192.168.0.1 -c public .1.3.6.1.4.1.2021.53 | grep 53.101 | awk -F" ''{print $2}''`

  #Targey[WWW1_mem]: memTotalReal.0&memAvailReal.0:holdata@holdata.3322.org

  Xsize[WWW1_mem]: 300

  Ysize[WWW1_mem]: 100

  Ytics[WWW1_mem]: 7

  MaxBytes[WWW1_mem]: 1006

  Title[WWW1_mem]:NAS服务器内存状态

  PageTop[WWW1_mem]:<H1>NAS服务器内存状态</H1>

  ShortLegend[WWW1_mem]:

  kmg[WWW1_mem]: MB

  kilo[WWW1_mem]:1024

  YLegend[WWW1_mem]: Memory Usage

  Legend1[WWW1_mem]: 可用内存

  Legend2[WWW1_mem]: 总内存量

  Legend3[WWW1_mem]: 可用内存

  Legend4[WWW1_mem]: 总内存量

  LegendI[WWW1_mem]: 可用内存

  LegendO[WWW1_mem]: 总内存量

  Options[WWW1_mem]: growright,gauge,nopercent

  ###cpu status

  Target[WWW1_CPU]:`snmpwalk -v 1  192.168.0.1 -c public .1.3.6.1.4.1.2021.54 | grep 54.101 | awk -F" ''{print $2}''`

  #Targey[WWW1_CPU]: memTotalReal.0&memAvailReal.0:holdata@holdata.3322.org

  Xsize[WWW1_CPU]: 300

  Ysize[WWW1_CPU]: 100

  Ytics[WWW1_CPU]: 7

  MaxBytes[WWW1_CPU]: 100

  Title[WWW1_CPU]:www1服务器CPU状态

  PageTop[WWW1_CPU]:<H1>www1服务器CPU状态</H1>

  ShortLegend[WWW1_CPU]:

  kmg[WWW1_CPU]: %

  #kilo[WWW1_CPU]:1024

  YLegend[WWW1_CPU]: CPU Usage

  Legend1[WWW1_CPU]: 已用CPU:

  Legend2[WWW1_CPU]: 可用CPU:

  LegendI[WWW1_CPU]: 已用CPU:

  LegendO[WWW1_CPU]: 可用CPU:

  Options[WWW1_CPU]: growright,gauge,nopercent

  ###iostat

  ###cpu status

  Target[WWW1_IO]:`snmpwalk -v 1  192.168.0.1 -c public .1.3.6.1.4.1.2021.55 | grep 55.101 | awk -F" ''{print $2}''`

  #Targey[WWW1_IO]: memTotalReal.0&memAvailReal.0:holdata@holdata.3322.org

  Xsize[WWW1_IO]: 300

  Ysize[WWW1_IO]: 100

  Ytics[WWW1_IO]: 7

  MaxBytes[WWW1_IO]: 10000

  Title[WWW1_IO]:www1服务器磁盘存储状态

  PageTop[WWW1_IO]:<H1>www1服务器磁盘存储状态</H1>

  ShortLegend[WWW1_IO]:

  kmg[WWW1_IO]: K/s,M/s

  kilo[WWW1_IO]:1024

  YLegend[WWW1_IO]: DISK IO SPEED

  Legend1[WWW1_IO]: IO速度:

  Legend2[WWW1_IO]: IO速度:

  LegendI[WWW1_IO]: IO速度:

  LegendO[WWW1_IO]: IO速度:

  Options[WWW1_IO]: growright,gauge,nopercent

  用同样方法加入其他服务器snmp相关数据,

  制作首页index.html:

  /usr/local/mrtg/bin/indexmaker
  --output=/usr/local/apache/htdocs/mrtg/index.html
  --title=服务器流量统计
  /usr/local/apache/htdocs/mrtg/mrtg.cfg

  上面这个程序indexmaker是在制作首页。会自动地输出一个index.html的文件中。

  使用手工运行mrtg并不能定时产生适当的统计信息,因此最好还是定时自动运行mrtg来生 成统计信息,默认为五分钟运行一次。
  作为root身份crontab -e进入编辑状态,添加内容如下:

  */5 * * * * /usr/local/mrtg/bin/mrtg /usr/local/apache/htdocs/mrtg/mrtg.cfg

  ok!到此为止,配置完毕,记得一定要启动snmp和httpd服务哦!

  访问:
  http://192.168.0.3/mrtg/
  就能看到流量图了。
  

0
相关文章