Chinaunix首页 | 论坛 | 博客
  • 博客访问: 240990
  • 博文数量: 52
  • 博客积分: 2263
  • 博客等级: 大尉
  • 技术积分: 695
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-28 12:00
文章分类

全部博文(52)

文章存档

2010年(2)

2009年(20)

2008年(30)

分类: 网络与安全

2008-10-31 16:36:42

SNMPMRTG配置手册

 

 

准备工作:安装好apache

这里apache的工作目录放在/var/www

系统版本:

[root@fxs_zlj_01 ~]# uname -a

Linux fxs_zlj_01.test.com 2.6.11-1.1369_FC4 #1 Thu Jun 2 22:55:56 EDT 2005 i686 i686 i386 GNU/Linux

[root@fxs_zlj_01 ~]#

SNMP版本:net-snmp-5.4

MRTG版本:mrtg-2.15.1

 

一、安装SNMP & MRTG

 

1.下载SNMP  & MRTG

下载SNMP

ftp://ftp.freesnmp.com/mirrors/net-snmp/

 

[zhoulj@fxs_zlj_01 src$ wget

 

下载MRTG

 

[zhoulj@fxs_zlj_01 src$ wget pub/mrtg-2.15.1.tar.gz

 

2.安装SNMP

参考文档:

 

[root@fxs_zlj_01 net-snmp-5.4]# ./configure

[root@fxs_zlj_01 net-snmp-5.4]# make

[root@fxs_zlj_01 net-snmp-5.4]# make install

 

3.安装MRTG

参考文档:doc/mrtg-unix-guide.en.html

说明:在安装前需要安装libpng

安装过程:略。

 

二、配置SNMP

1.启动snmp服务

 

默认SNMP配置文件在 /usr/local/share/snmp/snmpd.conf

通过snmpconf命令生成config文件

[root@fxs_zlj_01 net-snmp-5.4]# cd /usr/local/share/snmp/

[root@fxs_zlj_01 snmp]# snmpconf -g basic_setup

下面是我做的snmp文件的内容(配置文件在/etc/snmpd/下):

 

[root@fxs_zlj_01 snmp]# cat /etc/snmpd/snmpd.conf |grep -Ev "^#|^$"

com2sec notConfigUser  default       public

group   notConfigGroup v1           notConfigUser

group   notConfigGroup v2c           notConfigUser

view    systemview    included   .1

access  notConfigGroup ""      any       noauth    exact  systemview none none

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

syslocation FXS_zlj_01

syscontact Root (configure /etc/snmp/snmp.local.conf)

disk /

load 12 14 14

pass .1.3.6.1.4.1.4413.4.1 /usr/bin/ucd5820stat

 

启动snmpd进程:

 

/usr/local/sbin/snmpd -p /var/run/snmpd -c /etc/snmpd/snmpd.conf -a

 

-p:指定pid文件位置

-c:指定配置文件位置

-a:log文件采用追加的方式;snmplog文件默认在 /var/log/snmpd.log

 

检查snmpd服务是否正常启动:

 

[root@fxs_zlj_01 snmp]# more /var/log/snmpd.log

…….

NET-SNMP version 5.4

[root@fxs_zlj_01 snmp]#

 

Snmpd的默认端口是UDP  161:

 

[root@fxs_zlj_01 snmp]# netstat -anu

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address               Foreign Address             State     

udp        0      0 0.0.0.0:32768               0.0.0.0:*                              

udp        0      0 0.0.0.0:161                 0.0.0.0:*                              

udp        0      0 0.0.0.0:693                 0.0.0.0:*                              

udp        0      0 0.0.0.0:5353                0.0.0.0:*                              

udp        0      0 0.0.0.0:111                 0.0.0.0:*                              

udp        0      0 0.0.0.0:631                 0.0.0.0:*                              

[root@fxs_zlj_01 snmp]#

 

系统正常启动,没有错误,下面通过snmpwalk命令查看一下系统信息:

 

[root@fxs_zlj_01 snmp]# snmpwalk -v 2c 10.4.5.225 -c public

参数说明:

-v:指定版本号 例如:SNMP V1 使用1 SNMP V2 使用 2c

-c:后面跟Community String 的字符, 这里使用public(在配置文件里面可以看到)

该命令执行成功后,如果snmp服务正常会看到很多信息

 

[root@fxs_zlj_01 snmp]# snmpwalk -v 1 localhost -c public                    

SNMPv2-MIB::sysDescr.0 = STRING: Linux fxs_zlj_01.test.com 2.6.11-1.1369_FC4 #1 Thu Jun 2 22:55:56 EDT 2005 i686

SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (2542749) 7:03:47.49

SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB

SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip

…………………..

 

 

2.配置MRTG

 

修改/root/.bash_profile文件修改下面一行。注:/usr/local/mrtg-2/bin MRTG安装目录

 

PATH=$PATH:$HOME/bin:/usr/local/mrtg-2/bin

 

 

这里需要掌握着下面3个命令的用法:

cfgmaker

indexmaker

mrtg

 

1)生成配置文件:

cfgmaker --global 'WorkDir: /var/www/mrtg/networks'  \

         --global 'Options[_]: bits,growright'  \

         --output /etc/mrtg/networks.cfg  \

          public@10.4.5.225

该命令默认只生成网络的配置:

 

[root@fxs_zlj_01 mrtg]# cat /etc/mrtg/networks.cfg |grep -Ev "^#|^$"

EnableIPv6: no

WorkDir: /var/www/mrtg/networks

Target[10.4.5.225_2]: 2:public@10.4.5.225:

SetEnv[10.4.5.225_2]: MRTG_INT_IP="10.4.5.225" MRTG_INT_DESCR="eth0"

MaxBytes[10.4.5.225_2]: 1250000

Title[10.4.5.225_2]: Traffic Analysis for 2 -- fxs_zlj_01.test.com

PageTop[10.4.5.225_2]:

Traffic Analysis for 2 -- fxs_zlj_01.test.com

               

                       

                               

                                       

                                       

                                

                               

                                       

                                       

                                

                               

                                       

                                       

                               

                               

                                       

                                       

                               

                               

                                       

                                       

                               

                               

                                       

                                       

                               

                               

                                       

                                       

                               

                       

System: fxs_zlj_01.test.com in FXS_zlj_01
Maintainer: Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
Description: eth0 
ifType: ethernetCsmacd (6)
ifName: eth0
Max Speed: 1250.0 kBytes/s
Ip: 10.4.5.225 ()

               

[root@fxs_zlj_01 mrtg]#

 

 

2)生成index页面文件:

 

indexmaker --columns=3 --output=/var/www/mrtg/networks/index.html /etc/mrtg/networks.cfg

--columns=3 :每个行显示图片的数量,默认是2

--output=   :生成的页面index文件的位置

 

3)采集数据:

 

/usr/local/mrtg-2/bin/mrtg /etc/mrtg/networks.cfg

 

该命令执行3次,前2次会提示出错。

修改crontab内容,增加下面一行,让系统自动采集,每5分钟一次:

 

*/5 * * * * /usr/local/mrtg-2/bin/mrtg /etc/mrtg/networks.cfg

 

4snmptranslate命令

通过snmptranslate 命令来查看mib信息库的节点

同下面命令列出所有结的字符串明和数值:

snmptranslate –Tlo

 

[root@fxs_zlj_01 ~]# snmptranslate -Tlo >oid.txt

[root@fxs_zlj_01 ~]# head oid.txt

.iso(1).org(3)

.1.3

.iso(1).org(3).dod(6)

.1.3.6

.iso(1).org(3).dod(6).internet(1)

.1.3.6.1

…………………………..

 

三、配置一个完整监控系统

在这里我们分别对10.4.5.225的网络流量、CPU、系统负责、磁盘空间、内存、SWAPTCP连接数量进行监控。

 

 

EnableIPv6: no

Options[_]: bits,growright

#WorkDir: /var/www/mrtg/225_new/

HtmlDir: /var/www/mrtg/225_new/

Imagedir: /var/www/mrtg/225_new/img/

Logdir: /var/www/mrtg/225_new/logs/

Language: Chinese

Refresh:300

 

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

 

Target[10.4.5.225_2]: 2:public@10.4.5.225:

SetEnv[10.4.5.225_2]: MRTG_INT_IP="10.4.5.225" MRTG_INT_DESCR="eth0"

MaxBytes[10.4.5.225_2]: 1250000

Title[10.4.5.225_2]: 10.4.5.225_eth0

Xsize[10.4.5.225_2]: 200

Ysize[10.4.5.225_2]: 120

PageTop[10.4.5.225_2]:

10.4.5.225_eth0

                

                       

                               

                                       

                                       

                                

                               

                                       

                                       

                               

                               

                                        

                                       

                               

                               

                                       

                                        

                               

                               

                                       

                                       

                                

                               

                                       

                                       

                               

                                

                                       

                                       

                               

                       

System: fxs_zlj_01.test.com in FXS_zlj_01
Maintainer: Root
Description: eth0 
ifType: ethernetCsmacd (6)
ifName: eth0
Max Speed: 1250.0 kBytes/s
Ip: 10.4.5.225 ()

               

 

##########################CPU###########################

LoadMIBs: /usr/local/share/snmp/mibs/UCD-SNMP-MIB.txt 

Target[cpu]: ssCpuUser.0&ssCpuSystem.0:public@10.4.5.225

Xsize[cpu]: 200

Ysize[cpu]: 120

Options[cpu]: nopercent,growright,gauge,noinfo

Title[cpu]: CPU 使用状况

PageTop[cpu]:

CPU Useing Info

MaxBytes[cpu]: 1000000000

#kMG[cpu]: k,M,G,T,P,X

Ylegend[cpu]: CPU loading (%)

ShortLegend[cpu]: (%)

LegendI[cpu]: CPU User Using

LegendO[cpu]: CPU System Using

Legend1[cpu]: CPU User Using

Legend2[cpu]: CPU System Using

##########################END OF CPU####################

##########################10.4.5.225_load avarge##############

LoadMIBs: /usr/local/share/snmp/mibs/UCD-SNMP-MIB.txt 

Target[10.4.5.225_load]: laLoad.1&laLoad.1:public@10.4.5.225*100

Xsize[10.4.5.225_load]: 200

Ysize[10.4.5.225_load]: 120

Options[10.4.5.225_load]: nopercent,growright,gauge,noinfo

Title[10.4.5.225_load]: load averge

PageTop[10.4.5.225_load]:

load average

MaxBytes[10.4.5.225_load]: 1000000

#kMG[10.4.5.225_load]: k,M,G,T,P,X

Ylegend[10.4.5.225_load]: loading*100

ShortLegend[10.4.5.225_load]:

LegendI[10.4.5.225_load]: load average i

LegendO[10.4.5.225_load]: load average o

Legend1[10.4.5.225_load]: load average 1

Legend2[10.4.5.225_load]: load average 2

#################END OF 10.4.5.225_10.4.5.225_load avarge##############

################## Disk Space #######################

LoadMIBs: /usr/share/snmp/mibs/HOST-RESOURCES-MIB.txt

Target[server.disk]: 1.3.6.1.4.1.2021.9.1.8.1&1.3.6.1.4.1.2021.9.1.6.1:public@localhost

Xsize[server.disk]: 200

Ysize[server.disk]: 120

Title[server.disk]: Disk Partition Usage

PageTop[server.disk]:

Disk Partition Usage /

MaxBytes[server.disk]: 35091004

kmg[server.disk]: KB,MB,GB

ShortLegend[server.disk]:

YLegend[server.disk]: Utilization

LegendI[server.disk]: used

LegendO[server.disk]: total

Options[server.disk]: gauge,growright,nopercent

Unscaled[server.disk]: ymwd

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

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

LoadMIBs: /usr/local/share/snmp/mibs/UCD-SNMP-MIB.txt 

Target[memory]: memAvailReal.0&memTotalReal.0:public@10.4.5.225

Xsize[memory]: 200

Ysize[memory]: 120

Options[memory]: nopercent,growright,gauge,noinfo

Title[memory]: RAM 使用状况

PageTop[memory]:

RAM 使用状况

MaxBytes[memory]: 1000000000

kMG[memory]: k,M,G,T,P,X

Ylegend[memory]: Bytes

ShortLegend[memory]: Bytes

LegendI[memory]: RAM 可使用

LegendO[memory]: RAM 总数量

Legend1[memory]: RAM 可使用单位 MB

Legend2[memory]: RAM 总数量单位 MB

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

##########################Swap #######################

LoadMIBs: /usr/local/share/snmp/mibs/UCD-SNMP-MIB.txt 

Target[swap]: memAvailSwap.0&memTotalSwap.0:public@10.4.5.225

Xsize[swap]: 200

Ysize[swap]: 120

Options[swap]: nopercent,growright,gauge,noinfo

Title[swap]: SWAP 使用状况

PageTop[swap]:

Swap Uesing Info

MaxBytes[swap]: 1000000000

kMG[swap]: k,M,G,T,P,X

Ylegend[swap]: Bytes

ShortLegend[swap]: Bytes

LegendI[swap]: SWAP 可使用

LegendO[swap]: SWAP 总数量

Legend1[swap]: SWAP 可使用单位 MB

Legend2[swap]: SWAP 总数量单位 MB

 

##########################10.4.5.225_tcp connections########################

LoadMIBs: /usr/local/share/snmp/mibs/UCD-SNMP-MIB.txt 

Target[10.4.5.225_tcp_conn]: tcpCurrEstab.0&tcpCurrEstab.0:public@10.4.5.225

Xsize[10.4.5.225_tcp_conn]: 200

Ysize[10.4.5.225_tcp_conn]: 120

Options[10.4.5.225_tcp_conn]: nopercent,growright,gauge,noinfo

Title[10.4.5.225_tcp_conn]: tcp connections

PageTop[10.4.5.225_tcp_conn]:

TCP Connections

MaxBytes[10.4.5.225_tcp_conn]: 1000000

#kMG[10.4.5.225_tcp_conn]: k,M,G,T,P,X

Ylegend[10.4.5.225_tcp_conn]: connections

ShortLegend[10.4.5.225_tcp_conn]: hosts

LegendI[10.4.5.225_tcp_conn]: tcp 1

LegendO[10.4.5.225_tcp_conn]: tcp o

Legend1[10.4.5.225_tcp_conn]: tc1 1

Legend2[10.4.5.225_tcp_conn]: tcp 2

 

 

在这里我们分别对10.4.5.213的网络流量、CPU、系统负责、磁盘空间、内存、SWAPTCP连接数量进行监控。

 

配置文件和225的基本类似

 


附录:

1、为了方便启动SNMP 服务,自己编写一个sh脚本 ,放到/etc/init.d/目录下,文件名snmpd ,赋予该文件执行权限,这样每次在启动SNMP 服务的时候直接可以通过下面命令:

 

[root@fxs_zlj_01 etc]# /etc/init.d/snmpd

 

/etc/init.d/snmpd文件内容:

#!/bin/bash

CONF_FILE="/etc/snmp/snmpd.conf"

PID_FILE="/var/run/snmpd"

 

start_snmpd()

{

        echo "start snmpd , please waiting ..."

        /usr/local/sbin/snmpd -p $PID_FILE -c $CONF_FILE -a

        echo "start snmpd OK!"

        echo ""

}

stop_snmpd()

{

        echo "stop snmpd , please waiting ..."

        kill -9 `cat /var/run/snmpd`

        rm $PID_FILE

        echo "stop snmpd OK!"

        echo ""

}

 

case $1 in

start)

        start_snmpd

        ;;

stop)

        stop_snmpd

        ;;

restart)

        if [ -e $PID_FILE ]

        then

        stop_snmpd

        fi

        start_snmpd

        ;;

*)

        echo "Usage: $0 (start|stop|restart)"

        exit 1

esac

 

 

2、让SNMP服务在系统启动时候自己启动

 

[root@fxs_zlj_01 etc]# cd /etc/rc3.d/

[root@fxs_zlj_01 rc3.d]# ln -s /etc/init.d/snmpd S70snmpd

[root@fxs_zlj_01 rc3.d]# ln -s /etc/init.d/snmpd K70snmpd

[root@fxs_zlj_01 rc3.d]# ll ?70*

lrwxrwxrwx  1 root root 17 Mar 21 21:52 K70snmpd -> /etc/init.d/snmpd

lrwxrwxrwx  1 root root 17 Mar 21 21:51 S70snmpd -> /etc/init.d/snmpd

[root@fxs_zlj_01 rc3.d]#

 

 

 

 

Mrtg 配置文件语法说明:

 

#工作目录

WorkDir: /var/www/mrtg/225/

#Html文件的目录

Htmldir: /www/mrtg/

#图片文件目录

Imagedir: /www/mrtg/images

#log文件目录

Logdir: /www/mrtg/logs

 

说明:如果定义workdir 之后htmldirImagedirLogdir会实效,如果想把这些文件分开放置建议不使用workdir选项,而用htmldirImagedirLogdir3个选项。

 

#定义页面语言

Language: Chinese

#浏览器自动刷新时间

Refresh:300

#定义信息的来源

Target[memory]: memAvailReal.0&memTotalReal.0:public@10.4.5.225

#定义图片的大小

Xsize[memory]: 200

Ysize[memory]: 120

#定义像的显示方向,是从左到右,还是从右到左

Options[memory]: nopercent,growright,gauge,noinfo

Title[memory]: RAM 使用状况

#页面的标题

PageTop[memory]:

RAM 使用状况

#Y坐标的最大值,建议比实际参数大一些,不要大很多,有时候图象会看不到

MaxBytes[memory]: 1000000000

#计算单位

kMG[memory]: k,M,G,T,P,X

#Y轴的单位

Ylegend[memory]: Bytes

#图片下面的单位

ShortLegend[memory]: Bytes

#LegendI & LegendO 是图片下方提示信息

LegendI[memory]: RAM 可使用

LegendO[memory]: RAM 总数量

#Legend1 & Legend2是最下方提示信息

Legend1[memory]: RAM 可使用单位 MB

Legend2[memory]: RAM 总数量单位 MB

#线条的颜色,可以自己定义,注意是6位,16进制的数字

Colours[10.4.5.225_tcp_conn]: GREEN#ffffff,BLUE#00eb0c,DARK GREEN#00eb0c,VIOLET#00eb0c

 

 

 

说明:

通过Target[memory]: memAvailReal.0&memTotalReal.0:public@10.4.5.225 中的内容来定义采集的数据源。

该数据源可以通过OID(对象标示符)、变量、自己编写脚本的形式收集数据。

 

 

 

 

阅读(1756) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~