IBM AIX的SNMP协议配置步骤

I found that a lot of people from English as a first language countries read this article, but many left at the sight of it being in Chinese, so to be able to help users worldwide, if you need to read the English version, please jump to the following link:

How to configure the SNMP protocol of AIX


一、配置AIX下SNMP代理程序

1、查看当前运行的snmp版本

可以看到当前snmpd使用的是snmpdv3ne,表示支持的是SNMPv3非加密版本,ne=no encryption(非加密),只要对/etc/snmpdv3.conf进行相关配置,就能够以SNMPv1的方式使用,因此一般默认使用这个版本都能满足要求,如果有特殊需要也可用snmpv3_ssw命令来更改版本:

切换至SNMPv1

snmpv3_ssw -1

切换至SNMPv3非加密版本

snmpv3_ssw -n

切换至SNMPv3的加密版本(该版本默认并未安装)

snmpv3_ssw -e

2、创建一个叫hmsnmp的community

修改/etc/snmpdv3.conf文件如下所示,请特别注意用红线标注部分的内容。

其中192.0.243.113是监控机的地址,就是安装监控软件的那台设备地址,根据需要进行修改,表示只对该IP开放本机的snmp服务,这是出于安全性的考虑。

3、停止并启动相关服务,使得对/etc/snmpdv3.conf的修改生效

stopsrc -s aixmibd

stopsrc -s snmpmibd

stopsrc -s hostmibd

stopsrc -s snmpd

startsrc -s snmpd

startsrc -s hostmibd -a “-c hmsnmp”

startsrc -s snmpmibd -a “-c hmsnmp”

startsrc -s aixmibd -a “-c hmsnmp”

这里需要注意的是,当操作系统重启后,由于默认情况下是按照public的community去启动的,因此为了使得重启后hmsnmp的community能正常工作,建议修改/etc/rc.tcpip文件,修改默认的启动参数,如下所示:

# Start up the hostmibd daemon

start /usr/sbin/hostmibd “$src_running” “-c hmsnmp ”

# Start up the snmpmibd daemon

start /usr/sbin/snmpmibd “$src_running” “-c hmsnmp ”

# Start up the aixmibd daemon

start /usr/sbin/aixmibd “$src_running” “-c hmsnmp ”

4、测试snmp服务是否正常

在本机可执行命令如下:

# snmpinfo -md -c hmsnmp sysDescr

1.3.6.1.2.1.1.1.0 = “IBM PowerPC CHRP Computer

Machine Type: 0x0800004c Processor id: 00F7TEST4C00

Base Operating System Runtime AIX version: 06.01.0007.0015

TCP/IP Client Support version: 06.01.0007.0016″

在监控机可执行命令如下:

# snmpwalk -v 1 -c hmsnmp  192.0.246.23  1.3.6.1.2.1.1.1.0

SNMPv2-MIB::sysDescr.0 = STRING: IBM PowerPC CHRP Computer

Machine Type: 0x0800004c Processor id: 00F7TEST4C00

Base Operating System Runtime AIX version: 06.01.0007.0015

TCP/IP Client Support version: 06.01.0007.0016

二、AIX常用的MIB OID
上面我们主要完成的工作是配置了一个community叫hmsnmp,可用于监控机调用snmp相关服务,接下去给大家一些常用的MIB库信息,特别是OID,供参考。
AIX系统的常见基本信息的MIB为”AIX”打头,如果需要查找对于对象的OID,可以先到/etc/mib.defs中找到相应的对象,然后通过snmpinfo -md ObjectName,获取对应的OID,用于远程调用。

1、显示CPU使用率

# snmpinfo -md -v -c hmsnmp aixSeCPUUtilization

aixSeCPUUtilization.0 = 5

去掉-v参数看到的就是OID值

# snmpinfo -md -c hmsnmp aixSeCPUUtilization

1.3.6.1.4.1.2.6.191.1.2.1.0 = 5

2、显示Paging Space

# snmpinfo -md -v -c hmsnmp aixPagingSpace

aixPageThreshold.0 = 95

aixPageName.1 = “hd6”

aixPageNameVG.1 = “rootvg”

aixPageNamePV.1 = “hdisk0”

aixPageSize.1 = 14336

aixPagePercentUsed.1 = 1

aixPageStatus.1 = 1

aixPageType.1 = 1

aixPageIndex.1 = 1

3、查看机器的序列号

# snmpinfo -md -v -c hmsnmp aixSeMachineType

aixSeMachineType.0 = “IBM,8205-E6C”

# snmpinfo -md -v -c hmsnmp aixSeSerialNumber

aixSeSerialNumber.0 = “IBM,0210TESTR”

4、查看CPU数量

# snmpinfo -md -v -c hmsnmp aixSeNumCPUs

aixSeNumCPUs.0 = 4

5、查看VG相关信息aixVolumeGroup

6、查看LV相关信息aixLogicalVolume

7、查看PV相关信息aixPhysicalVolume

8、查看FS相关信息aixFileSystem

三、通过SNMP进行系统监控的简单案例

配置好需要使用的snmp agent的community名称,了解清楚需要监控对象的OID值,接下去就只要在监控机上部署对应的监控软件来调用snmp就可以了,例如SolarWinds。如果只是做一个简单监控,那自己写shell脚本也不失为一种方法。

下面我们就以监控文件系统的使用率为例,来自己编写一个shell脚本AIX_FS_CHECK.sh,该脚本部署到监控机上。

为了观察实际输出效果,在脚本中我们将阀值设置的比较低,如果你有兴趣也可以把阀值作为一个参数带入到脚本中,我们来执行以下脚本看看效果:

# ./AIX_FS_CHECK.sh -h 192.0.246.23 -c hmsnmp

WARNING!!/usr used 74%

WARNING!!/usr Inodes used 18%

WARNING!!/patch used 97%

监控机通过snmp顺利的获取到了被监控设备的信息,并根据我们的要求发出相关报警信息。

四、小结

本文介绍了使用SNMP协议对AIX系统进行监控的方法,虽然距离实现多种指标监控仍有着较大的距离,灵活性和易用性也有待提高,但为实现操作系统无代理方式的监控提供了一种思路,希望能给有需要的朋友带来一些帮助。

作者: Centro Sun

Maintainer,Engineer,Fixer

发表评论