dev2dev 首页 > 资源中心 > 技术文章
Hp Openview与Tuxedo的通信
Hp Openview NNM概述....
Tuxedo的SNMP Agent概述....
Tuxedo SNMP Agent
SNMP MIB 文件...
配置文件...
Openview与Tuxedo的通信....
准备工作...
载入Tuxedo MIB库信息...
Tuxedo SNMP Agent的安装...
设置Tuxedo SNMP Agent的工作环境...
修改相应的conf文件beamgt.conf
配置Tuxedo EventBroker
Server并启动运行...
启动SNMP Agent
进行管理...
命令行方式...
snmpget
snmpnext
snmpbulk.
snmpset
snmpwalk.
snmptrapd(tuxedo)...
图形界面方式...
Hp openview图形界面来完成event trap功能...
在Hp Openview的图形界面下查询系统的mib值...
遗留的问题....
Hp Openview的Network
Node Manager为网络管理人员提供了一种集成工具,使管理员可以通过单点控制完成管理网络的所需操作,Openview通过网络的一个图形化表示形式控制和管理多个联网系统。在一个网络管理模型中,安装Openview的机器处于管理机的地位,网络中的机器通过SNMP协议通信,即安装了Hp openview的机器和受管理的机器上都要安装简单网络管理协议SNMP。Hp Openview的主要网络管理功能包括故障和问题管理,性能管理和配置和变更管理,体现在对Tuxedo结点的管理上主要涉及对Tuxedo事件进行监控和对Tuxedo信息进行查询两方面。
Tuxedo的SNMP
Agent概述
在一个网络中,安装了Tuxedo产品的结点为与其他结点通信,也必须遵循SNMP协议,但是系统提供的SNMP服务不能完全满足需要,所以Tuxedo为此设计了专用的SNMP Agent,来满足结点间正常的通信需要。我们对此Agent在下文中通称为Tuxedo SNMP Agent。
Tuxedo8.1中的SNMP
Agent组件是在server版安装中是附带安装的。Tuxedo为SNMP Agent提供的的组件分别位于%TUXDIR%\bin和%TUXDIR%\udataobj\snmp\etc目录下。本文中需要使用的包括:
Tuxedo SNMP Agent的功能包括对SNMP管理机发出的询问进行响应;为Tuxedo系统和应用事件产生SNMP trap 通知;并将对Tuxedo的管理信息转换为相应的SNMP协议规范兼容格式;在本地SNMP mib中存储信息,供SNMP管理机查询所用。
Tuxedo SNMP Agent对应的可执行文件为%TUXDIR%\bin\tux_snmpd.exe
bea.asn1:BEA
SNMP Agent提供的SNMP MiB文件之一,是供网络管理机安装Tuxedo MIB的文件,仅当管理机安装Tuxedo的MIB信息后,才能够对Tuxedo进行诸如事件监控和查询信息等操作。是下文中主要讨论的mib文件。
mib.txt:BEA
SNMP Agent提供的SNMP MiB文件之一,它是由bea.asn1生成的,仅供Tuxedo SNMP Agent(tux_snmpd)自身启动时为被管理结点载入Tuxedo mib信息所用。
beamgr.conf:beamgr.conf文件一般被称为”BEA SNMP Agent 配置文件”,它包括一些用户可订制的配置项,这些配置信息在Tuxedo SNMP Agent(tux_snmpd)和BEA
SNMP Agent Integrator(snmp_integrator)启动时被其读取。所以对于Tuxedo SNMP Agent以及BEA SNMP Agent Intergrator的主要配置都在此文件中进行。
beamgr_snmpd.conf:beamgr_snmpd.conf文件一般被成为”BEA SNMP Agent passwords 配置文件”,其内容包括了许多用户定义的password配置,诸如SNMP community name,SMUX password等,这些信息也是在tux_snmpd和snmp_integrator启动时读取的。其中对于只读community name的默认设置为public,可读写community name默认设为iview,SMUX默认没有密码。一般情况下无需更改默认设置。
在一个现实的网络环境中,Openview总是处于Network Manager Framework的位置,而Tuxedo一般是安装在网络中的某个结点之上,要受到Openview的管理,这种管理功能主要体现在两个方面,首先是Openview对Tuxedo节点发生的事件有一定的监视功能,并能生成相应的日志;其次就是Openview管理机可以主动的查询Tuxedo节点的一些信息,主要是Tuxedo结点的一些mib信息。
载入Tuxedo
MIB库信息
对于安装了Tuxedo的网络结点,想要Openview对本机发生的tuxedo事件进行管理,就必须为Openview提供自己相应的mib库。Tuxedo8.1提供可供Hp Openview直接导入的mib文件,即%TUXDIR%\udataobj\SNMP\etc\
bea.asn1,利用Openview中的load mib功能可以方便的导入mib库。
图1 在Openview中安装Tuxedo的mib库
图2 安装Tuxedo mib成功
Tuxedo提供的原始可执行文件为%TUXDIR%bin\tux_snmp.exe,需要将其安装成为一个系统服务
instsrv tux_SNMP %TUXDIR%\bin\tux_snmp.exe
系统提示安装成功后会在服务中出现名为tux_snmp的系统服务。
图3 安装了Tuxedo
SNMP Agent的服务窗口
安装后的SNMP Agent 默认使用161端口进行监听,恰好与由于系统SNMP EMANATE MASTER AGENT的监听端口冲突,所以在两个SNMP Agent相互切换时需要先停止其中的一个方可启动另一个,否则会出现端口冲突的错误。
设置Tuxedo
SNMP Agent的工作环境
建立一个目录c:\etc, 将%TUXDIR%\etc下的所有文件复制到该目录下。
prompt> md
c:\etc
prompt> copy %TUXDIR%\udataobj\snmp\etc
c:\etc
修改相应的conf文件beamgt.conf
1 设置TRAP_HOST关键字,描述snmp_namager_host,trap的监听端口,以及commnity名称。修改后的情况如下所示。
2 修改TNAGENT关键字,描述logical_agent_name,TUXDIR和TUXCONFIG信息。使Openview可以通过安装的Tuxedo SNMP Agent来管理相应的应用,其中的TUXDIR和TUXCONFIG还可以通过设置环境变量来更改,由于我的示例程序位于c:\tuxedo8.1\samples\atmi\eventbroker目录下,所以我的设置如下图所示
配置Tuxedo
EventBroker Server并启动运行
由于Tuxedo SNMP Agent服务必须在Tuxedo EventBroker Server(TMSYSEVT server)配置并运行的前提下才可以启动,否则立即quit出系统。所以必须将TMSYSEVT Server启动起来,如下图所示
图6 启动TMSYSEVT Server
启动SNMP
Agent
首先停止SNMP EMANATE MASTER AGENT系统服务,启动Tuxedo SNMP Agent服务(启动参数-s)。
图7 启动Tuxedo SNMP
Agent
Openview通过snmpget命令完成SNMP标准中的get 请求。即从特定mib变量中读取值。命令格式为:
usage:
snmpget [options] node object-id [object-id]...
Options:
-d
dump ASN.1 packet trace
-v version protocol
version (1 or 2c)
-c community community string
-p port
remote port
-t timeout retransmission
timeout (1/10th seconds)
-r retries maximum
retransmission attempts
Examples:
获取mib项bea.tuxedo.tuxTdomain.tuxTdomainKey的值,即当前处于active的domain的IPCkey信息
C:\Program
Files\HP OpenView\NNM\bin>snmpget -v 1 -c public localhost bea.tuxedo.tuxTdomain.tuxTdomainKey.0
bea.tuxedo.tuxTdomain.tuxTdomainKey.0
: INTEGER: 55432
Openview通过snmpnext命令完成SNMP标准中的getNext 请求,遍历特定变量表中的信息。命令格式为:
usage:
snmpnext [options] node object-id [object-id]...
Options:
-d
dump ASN.1 packet trace
-v version protocol
version (1 or 2c)
-c community community string
-p port
remote port
-t timeout retransmission
timeout (1/10th seconds)
-r retries maximum
retransmission attempts
Examples:
获取mib项bea.tuxedo.tuxTdomain.tuxTdomainKey之后mib项的值,即bea.tuxedo.tuxTdomain.tuxTdomainMaster(当前处于active的domain中的Master Site信息)的值
C:\Program
Files\HP OpenView\NNM\bin>snmpnext -v 1 -c public localhost bea.tuxedo.tuxTdomain.tuxTdomainKey.0
bea.tuxedo.tuxTdomain.tuxTdomainMaster.0
: DISPLAY STRING- (ascii): SITE1
Openview通过snmpbulk命令完成SNMP标准中的getBulk 请求。命令格式为:
usage:
snmpbulk [options] node object-id [object-id]...
Options:
-d
dump ASN.1 packet trace
-v version protocol
version (1 or 2c)
-c community community string
-p port
remote port
-t timeout retransmission
timeout (1/10th seconds)
-r retries maximum
retransmission attempts
-n non-repeaters GetBulk non-repeaters
-m max-repetitions GetBulk maximum repetitions
Openview通过snmpset命令完成SNMP标准中的set 请求,将值写入特定变量,但是此操作一般不被使用,命令格式为
usage:
snmpset [options] node variable type value [variable type value]...
Options:
-d
dump ASN.1 packet trace
-v version protocol
version (1 or 2c)
-c community community string
-p port
remote port
-t timeout retransmission
timeout (1/10th seconds)
-r retries maximum
retransmission attempts
Openview还提供一种名为snmpwalk命令,可以方面的遍历整个mib树的各个结点并获取其mib值,非常方便。命令格式为:
usage:
snmpwalk [options] node [object-id]...
Options:
-d
dump ASN.1 packet trace
-v version protocol
version (1 or 2c)
-c community community string
-p port
remote port
-t timeout retransmission
timeout (1/10th seconds)
-r retries maximum
retransmission attempts
Examples:
遍历mib树中从tuxTdomain结点开始的所有mib值,即显示了当前处于active状态的domain中的所有相关信息(由于篇幅,仅列出部分结果)
C:\Program Files\HP OpenView\NNM\bin>snmpwalk -v
1 -c public localhost bea.tuxedo.tuxTdomain
bea.tuxedo.tuxTdomain.tuxTdomainKey.0 : INTEGER: 55432
bea.tuxedo.tuxTdomain.tuxTdomainMaster.0
: DISPLAY STRING-(ascii): SITE1
bea.tuxedo.tuxTdomain.tuxTdomainModel.0
: INTEGER: single-machine
bea.tuxedo.tuxTdomain.tuxTdomainState.0
: INTEGER: active
bea.tuxedo.tuxTdomain.tuxTdomainID.0
: DISPLAY STRING- (ascii):
图8 snmpwalk命令查询的结点tuxTdomain(SNMP MIB Browser)
对于跟踪Tuxedo事件的方法,我采用tuxedo自带的一个trap命令snmptrapd,使用非常简单,可以完成对tuxedo结点所发生事件进行跟踪的功能。命令的格式为:
usage:snmptrapd
[-d] [ -l port ] [-p]
Arguments:
-d
Causes the program to display a debug message for each packet.
-l port
Specifies the UDP port to use when listening for incoming trap packets (default:
162).
-p
Causes the program to print trap information output to the standard output.
Examples:
在我启动一个客户端进程tmadmin时,它会引发一定的系统事件,这些事件会被Agent trap到。注意我在之前的conf文件中设置的trap监听端口为162,而系统服务SNMP Trap Service监听端口默认也设置为162,所以需要事先关闭系统的trap服务。当然更改conf文件中的监听端口,并在相应端口上用snmptrapd命令进行监听也是可取的方法。
C:\tuxedo8.1\bin>snmptrapd -p
Starting snmptrapd
Port#
is 162
127.0.0.1:
Cold Start Trap (Specific Type 0) Uptime: 0:00:01
Name:
private.enterprises.bea.beaSystem.11.0
OCTET STRING- (ascii):
CAITAO: Windows_NT:4.0 BEA SNMP Agent Version 2.
1.1
:20030126:075108 Copyright 2002 BEA Systems
Inc., All rights reserved
127.0.0.1:
Enterprise Specific Trap (Specific Type 28) Uptime:
0:00:00
Name:
private.enterprises.bea.tuxedo.tuxEvents.tuxEventTrapVars.tuxEventsName
OCTET STRING- (ascii):
.SysClientState
Name:
private.enterprises.bea.tuxedo.tuxEvents.tuxEventTrapVars.tuxEventsSeverity
INTEGER:
info(3)
Name:
private.enterprises.bea.tuxedo.tuxEvents.tuxEventTrapVars.tuxEventsLmid
OCTET STRING- (ascii):
SITE1
Name:
private.enterprises.bea.tuxedo.tuxEvents.tuxEventTrapVars.tuxEventsTime
INTEGER:
1066573031
Name:
private.enterprises.bea.tuxedo.tuxEvents.tuxEventTrapVars.tuxEventsUsec
INTEGER:
636000
……
……
由于tmadmin是一个客户端命令,同时调用了.TMIB提供的服务,产生一些tuxedo的系统事件,这样就会被SNMP trap到,因为它是对此类事件敏感并订阅了的,可以看到,SNMP agent通过对tuxedo一些mib值的查询产生了对此客户端事件的反应。其中涉及的mib值有
下述方法可以在Hp Openview的图形界面中监视tuxedo的事件,即将SNMP Agent的功能与Openview结合起来,利用后者的图形界面来显示trap信息,方法比较简单,就是在load mib后使用openview的event
configuration功能,进行一些简单的设置即可。
图10 选择OptionsàEvent Configuration
图 11 选择tuxedo结点下需要trap的事件名称
图12 在Modify Events对话框中对事件设置如图所示的属性
配置好Hp Openview后,与命令方式的trap过程完全相同:启动TMSYSEVT server,开tux_snmp服务,运行tmdamin等客户端命令,既可以在你所设置的Application Alert Alarms Category中看到tuxedo相应的事件信息。
图13 设置的trap事件信息会显示在Alarm Category中的Application Alert Alarm一项中

图14 显示在Application Alert Alarm中的事件trap信息
在Hp Openview的图形界面下查询系统的mib值
目前为止仅能在启动SNMP MASTER AGENT的前提下查询一些系统的mib值,一旦启动Tuxedo Snmp Agent后,就不能在图形界面中进行查询的,在一下的问题一节中会详述

图15 选择Toolsà SNMP MIB Browser
图16 选择相应的系统mib项,Start Query可以查询其值
由于Openview query mib的图形界面默认选用SNMP Protocol v2c,但是Tuxedo81 的SNMP Agent仅支持SNMP
Protocol V1,而且现在还无法在Openview query mib的图形界面中选择SNMP Protocol版本(Openview V6.4),所以用Openview的图形界面不能查询tuxedo的mib值(由于命令行方式可以指定选用的SNMP Protocol版本,所以查询无误)。有消息预计Openview V7将会支持在图形界面中SNMP Protocol的选择功能。
图17 使用Tuxedo SNMP Agent后查询系统mib失败
| 作者简介 |
|
梁医是(dev2dev ID: lymathly )BEA系统(中国)有限公司 TSG技术顾问 |
作者其它文章
|