2015年1月7日星期三

烂泥:使用snmpwalk采集设备的OID信息

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
烂泥:使用snmpwalk采集设备的OID信息  阅读原文»

打算开始学习有关监控方面的知识,但是现在很多监控系统都是根据SNMP进行的。而SNMP监控的性能指标很多都是通过snmpwalk采集设备的OID信息得到的,所以今天就来先介绍下,如何通过snmpwalk来采集设备的OID信息。

要使用snmpwalk采集设备的OID信息,需要以下几个步骤:

1、 理解snmpwalk的原理

2、 安装snmpwalk

3、 snmpwalk参数说明

4、 snmpwalk的使用方法

5、 使用snmpwalk采集设备OID信息

6、 生产环境中设备OID信息注意事项

一、理解snmpwalk的原理

snmpwalk是SNMP的一个工具,它使用SNMP的GETNEXT请求查询指定OID(SNMP协议中的对象标识)入口的所有OID树信息,并显示给用户。通过snmpwalk也可以查看支持SNMP协议(可网管)的设备的一些其他信息,比如cisco交换机或路由器IP地址、内存使用率等,也可用来协助开发SNMP功能。

二、安装snmpwalk

要使用snmpwalk,我们首先要安装snmpwalk。snmpwalk没有单独的安装包,它被包含在net-snmp软件包中的,所以我们只需要安装net-snmp软件包就可以得到snmpwalk。而net-snmp的安装又分为linux环境和windows环境,下面我们来一一进行介绍。

2.1 linux下安装net-snmp

在linux下使用snmpwalk工具,我们必须要安装net-snmp-utils这个软件包。

注意:如果linux只安装net-snmp的话,则不包含snmpwalk工具,如下:

yum -y install net-snmp-utils

snmpwalk -h

clip_image001

clip_image002

2.2 windows安装下net-snmp

windows下安装net-snmp,我们可以去net-snmp官网进行下载。

现在我们安装的是net-snmp-5.6.1.1-1.x86.exe这个软件包。如下:

clip_image003

clip_image004

以上是一种方法,还有另外一种方法就是直接使用,已经制作好的免安装包。

免安装包的制作很简单,就是先在本地安装net-snmp软件包,然后把安装目录下的bin目录复制到其他服务器就可以正常了。如下:

clip_image005

这样就可以把bin目录,复制到其他机器上使用。注意在使用的过程中为了更方便的使用snmpwalk工具,我们可以把该目录所在的路径加入系统的环境变量中,如下:

clip_image006

clip_image007

clip_image008

clip_image009

这样我们就把net-snmp安装完毕。关于snmpwalk免安装包可以在这个地址下载《烂泥snmpwalk5.6.1.1免安装包》。

三、snmpwalk参数说明

snmpwalk的用法,我们可以通过帮助信息进行查看,如下:

snmpwalk -h

clip_image010

通过上图,我们可以看到snmpwalk的参数比较多,但是我们比较常用的就只有-v和-c参数。如下:

h:显示帮助。

v:指定snmp的版本, 1或者2c或者3。

c:指定连接设备SNMP密码。

V:显示当前snmpwalk命令行版本。

r:指定重试次数,默认为0次。

t:指定每次请求的等待超时时间,单为秒,默认为3秒。

l:指定安全级别:noAuthNoPriv|authNoPriv|authPriv。

a:验证协议:MD5|SHA。只有-l指定为authNoPriv或authPriv时才需要。

A:验证字符串。只有-l指定为authNoPriv或authPriv时才需要。

x:加密协议:DES。只有-l指定为authPriv时才需要。

X:加密字符串。只有-l指定为authPriv时才需要。

四、snmpwalk的使用方法及实例

snmpwalk使用方法很简单,如下:

snmpwalk -v 1或2c(代表SNMP版本) -c SNMP密码 IP地址 OID(对象标示符)

v:指定snmp的版本, 1或者2,该参数必须有。

c:指定连接设备SNMP读密码,该参数必须有。

IP:指定要walk的设备的IP地址,该参数必须有。

OID:代表要获取设备的指标oid,该参数不是必须的。

五、使用snmpwalk获取设备OID信息

下面我们开始使用snmpwalk开始获取设备的一些OID信息,注意现在获取的都是windows系统,没有涉及到linux系统。

注意:在此我们还使用了iReasoning MIB Browser这个

Oracle Study之案例--通过IPCS查看共享内存之"怪现象"  阅读原文»

Oracle Study之案例--通过IPCS查看共享内存之"怪现象"

Oracle Study之案例--通过IPCS查看共享内存之"怪现象"

在Oracle 11gR2环境下,通过ipcs命令查看共享内存,竟然发现分配给Oracle的内存只有4096Bytes,而在Oracle 10g环境下从未发现这种问题!

  [root@rh6 ~]# ipcs -a  ------ Shared Memory Segments --------  key        shmid      owner      perms      bytes      nattch     status  0x00000000 0          root       644        52         2  0x00000000 32769      root       644        16384      2  0x00000000 65538      root       644        268        2  0x00000000 98307      gdm        600        393216     2          dest  0x00000000 131076     gdm        600        393216     2          dest  0x00000000 163845     gdm        600        393216     2          dest  0x00000000 196614     gdm        600        393216     2          dest  0x00000000 229383     gdm        600        393216     2          dest  0x4b4218ec 557064     oracle     660        4096       0  ------ Semaphore Arrays --------  key        semid      owner      perms      nsems  0x00000000 0          root       600        1  0x00000000 98305      root       600        1  0x000000a7 327682     root       600        1  0xbe61d9cc 983043     oracle     660        154  ------ Message Queues --------  key        msqid      owner      perms      used-bytes   messages  

数据库版本:

  16:27:09 SYS@ test3 >select * from v$version;  BANNER  --------------------------------------------------------------------------------  Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production  PL/SQL Release 11.2.0.1.0 - Production  CORE    11.2.0.1.0      Production  TNS for Linux: Version 11.2.0.1.0 - Production  NLSRTL Version 11.2.0.1.0 - Production  

Oraccle 11g的通过以下两个参数实现内存的自动个管理:

  16:27:19 SYS@ test3 >show parameter mem  NAME                                 TYPE        VALUE  ------------------------------------ ----------- ------------------------------  hi_shared_memory_address             integer     0  memory_max_target                    big integer 300M  memory_target                        big integer 300M  shared_memory_address                integer     0  

在Oracle 11g中用看Oracle的共享内存段---------IPCS

1、会不会是参数memory_max_target有关系呢?把它设为0,然后重启数据库。

  16:28:11 SYS@ test3 >alter system set memory_target=0 ;  System altered.  16:36:44 SYS@ test3 >show parameter mem  NAME                                 TYPE                   VALUE  ------------------------------------ ---------------------- ------------------------------  hi_shared_memory_address             integer                0  memory_max_target                    big integer            300M  memory_target                        big integer            0  shared_memory_address                integer                0  16:30:51 SYS@ test3 >startup force ;  ORACLE instance started.  Total System Global Area  313860096 bytes  Fixed Size                  1336232 bytes  Variable Size             205524056 bytes  Database Buffers          100663296 bytes  Redo Buffers                6336512 bytes  Database mounted.  Database opened.  

再看共享内存:

  [oracle@rh6 ~]$ ipcs -a  ------ Shared Memory Segments --------  key        shmid      owner      perms      bytes      nattch     status  0x00000000 0          root       644        52         2  0x00000000 32769      root       644        16384      2  0x00000000 65538      root       644        268        2  0x4b4218ec 622600     oracle     660        4096       0  ------ Semaphore Arrays --------  key        semid      owner      perms      nsems  0xbe61d9cc 1114115    oracle     660        154  ------ Message Queues --------  key        msqid      owner      perms      used-bytes   messages  

发现分配给Oracle的共享内存仍然很小,看来不是memory_target 参数的问题

2、尝试调整memory_max_target参数,将其恢复到系统默认值:

  16:39:49 SYS@ test3 >alter system set sga_max_size=300m scope=spfile;  System altered.  16:40:06 SYS@ test3 >alter system reset memory_max_target scope=spfile sid='*';  System altered.  16:40:40 SYS@ test3 >startup force nomount;  ORACLE instance started.  Total System Global Area  313860096 bytes  Fixed Size                  1336232 bytes  Variable Size             205524056 bytes  Database Buffers          100663296 bytes  Redo Buffers                6336512 bytes  16:40:52 SYS@ test3 >show parameter mem  NAME                                 TYPE                   VALUE  ------------------------------------ ---------------------- ------------------------------  hi_shared_memory_address             integer                0  memory_max_target                    big integer            0  memory_target                        big integer            0  shared_memory_address                integer                0  16:40:59 SYS@ test3 >show parameter sga  NAME                                 TYPE                   VALUE  ------------------------------------ ---------------------- ------------------------------  lock_sga                             boolean                FALSE  pre_page_sga                         boolean                FALSE  sga_max_size                         big integer            300M  sga_target                           big integer            180M  

查看系统共享内存:

  [oracle@rh6 ~]$ ipcs -a  ------ Shared Memory Segments --------  key        shmid      owner      perms      bytes      nattch     status  0x00000000 0          root       644        52         2  0x00000000 32769      root       644        16384      2  0x00000000 65538      root       644        268        2  0x4b4218ec 884744     oracle     660        316669952  16  ------ Semaphore Arrays --------  key        semid      owner      perms      nsems  0xbe61d9cc 1638403    oracle     660        154  ------ Message Queues --------  key        msqid      owner      perms      used-bytes   messages  

看来是设置了memory_max_target参数的原因,导致通过ipcs查看到分配给Oracle的内存为4096Bytes!

本文出自 "天涯客的blog" 博客,请务必保留此出处http://tiany.blog.51cto.com/513694/1599787

阅读更多内容

没有评论:

发表评论