内容


监控 WebSphere DataPower SOA Appliances

Comments

简介

IBM® WebSphere® DataPower® SOA Appliance(以下简称 DataPower)是为简化、保护、加速 XML、Web 服务和 Enterprise Service Bus 部署而特别设计的硬件平台。

和其他网络设备一样,监控 DataPower 设备的健康状况和容量可以确保它们能完成预先配置好的功能。监控不仅能将异常情况通知管理员,还能提供长期的设备管理和容量利用的趋势分析,从而使组织实现投资回报最大化,获得有关网络容量增长和潜在容量问题的警告。

本文描述了各种 DataPower 状态查询方法,并提供了解读这些信息的策略和最佳实践。本文基于 DataPower Firmware Revision 3.8.0。固件增强可能会影响对状态提供程序的监控,因此请参阅最新的固件文档,了解有关组件监视的新内容。

为什么要实施监控?

DataPower Appliance 家族包含 1U 机架式网络设备。最新一代设备(9235/9004 级)包含四个千兆以太网接口、一个 DB-9 串行端口、热交换电源和风扇组、电池、八千兆 RAM、基于闪存的文件系统,以及由其他多个部件组成的一个防干扰机箱。可选特性包括内置硬盘驱动器、硬加密模块,以及更多的闪存架(flash bay)。

每个组件都帮助确保设备得到正确配置,适合其接收的网络数据量。了解设备是否运行正常可确保它们是可用的并能够处理此流量。例如,如果提前收到设备风扇的工作异常警报,就可避免因意外服务导致设备脱机。了解网络流量的级别并了解增长变化就可以避免流量随时间增加带来的瓶颈。

DataPower 监控基础知识

DataPower 提供了大量关于一般系统健康状况以及资源与服务消耗的信息。物理参数包括 CPU 温度、内存与文件系统利用情况、接口利用、电压读数,以及其他物理值。此外,还有一些公式化指标,如 System Usage,它将计算系统容量。

DataPower 通过很多方式公开这些状态值。可以使用 Web GUI 或 Command Line Interface(CLI) show 命令查看状态值列表。或者可以使用 XML Management Interface (XMI) 向设备发送包含 dp:get-status 请求的 SOAP 消息,设备将使用 SOAP 响应中包含的状态信息进行响应。DataPower 还支持 Simple Network Management Protocol(SNMP) 并充当 SNMP 代理,提供状态信息来响应 SNMP 操作以及警报创建(通过 SNMP 通知机制)。

图 1 在 Web GUI 中显示了 CPU 使用信息。这是通过 Status Menu => System => CPU Usage 导航获得。表中显示的是从最近 10 秒到最近 24 小时的数据。

图 1. Web GUI CPU 使用信息显示
Java Beans 视图

CLI show 命令用于显示状态信息,清单 1 显示的是 show cpu 命令,它将会提供与 Web GUI 中一样的数据表格:

清单 1. CLI Show CPU 命令
xi50# show cpu
                    10 sec    1 min   10 min   1 hour    1 day
cpu usage (%):        1        1        7        7        7

虽然 Web GUI 和 CLI 都可以通过交互的方式方便地获取状态信息,而 XMI 则可通过编程方式集成到更复杂的解决方案中。例如,Java™ 类可以执行 dp:get-status 请求或者根据响应进行配置修改。清单 2 中的 SOAP 请求显示的是用于获取 CPU 使用信息的 dp:get-status 请求:

清单 2. 获得状态的示例 XMI 请求
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Body>
        <dp:request xmlns:dp="http://www.datapower.com/schemas/management">
            <dp:get-status class="CPUUsage"/>
        </dp:request>
    </env:Body>
</env:Envelope>

响应在 SOAP 有效负荷中返回,如以下的清单 3 所示。再次返回 CPU 状态,它包含在一个子树中,其中包含与 Web GUI 和 CLI 相同的数据表格:

清单 3. XMI dp:get-status 响应
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Body>
        <dp:response xmlns:dp="http://www.datapower.com/schemas/management">
            <dp:timestamp>2009-09-24T11:56:22-04:00</dp:timestamp>
            <dp:status>
                <CPUUsage xmlns:env="http://www.w3.org/2003/05/soap-envelope">
                    <tenSeconds>1</tenSeconds>
                    <oneMinute>1</oneMinute>
                    <tenMinutes>1</tenMinutes>
                    <oneHour>1</oneHour>
                    <oneDay>1</oneDay>
                </CPUUsage>
            </dp:status>
        </dp:response>
    </env:Body>
</env:Envelope>

可以通过 dp:get-status 请求获得大量状态数据。更多信息,包括自定义 dp:get-status 和其他 XMI 操作的模式和 WSDL 细节,请参阅 IBM 红皮书 WebSphere DataPower SOA Appliances: The XML Management Interface

很多组织使用 SNMP 协议以及诸如 IBM Tivoli Monitoring (ITM) 和 Tivoli Composite Application Manager (ITCAM) 之类的产品系列中的工具来查询网络设备的健康状况和容量。这些工具通过 UDP 使用 SNMP 来为 SNMP 代理轮询设备和应用程序指标。管理软件还会收到来自代理的通知警告,以响应设备中发生的特定事件。DataPower 设备还会被配置为充当一个 SNMP 代理,对进入的轮询请求进行响应并发出警告以响应预配置的事件。

SNMP 状态变量被组织为层次结构,这在 Management Information Base (MIB) 文档中有所描述。每个可被轮询的指标都通过 Object Identifier (OID) 编址。有些指标是描述单个数据点的标量对象,如设备的当前固件版本。其他指标可能是列表值,如之前例子中提供的 CPU 状态。当知道特定的 OID 后,SNMP 管理器可用 GET OID 获得特定的指标。如果需要某一个层次结构的所有指标,可用 Get Subtree 获得该层次结构中的所有值。DataPower 设备提供了三个 Enterprise MIB 文档,分别针对配置、状态和通知。这就是我们感兴趣的状态 MIB。

虽然状态查询直接明了,但警报是通过几个 DataPower 对象完成的。设备有四个内置的通知警报:authenticationFailure、linkDown、coldStart 和 linkUp。其他要预先设置,如下所示。正确配置的 SNMP 监视器会在设备重启、启用或禁用其接口或对设备的访问失败时接收到警报。除了这些内置警报,还可以通过订阅错误条件列表或配合使用日志系统来生成定制警报。

仅仅依赖警报并不是一项全面的监视策略。例如,如果产生警报的事件影响了设备通过网络发送消息的能力,SNMP 监视器可能收不到通知。因此明智的做法是将警报消息的订阅与状态信息轮询相结合,提供一个健壮的与监控工具通讯的机制。

如何监控

很多状态提供程序(或监控代理)都内置在 DataPower 固件中来获得状态数据。很多提供程序都是设备特定的。这些提供程序(如环境组件、风扇、温度、或电池健康状态),都包含在默认域中,一般是启用的。其他状态数据(如 DataPower 服务的事务率)是按应用程序域划分的,并且可进一步通过 XML-Manager 或 DataPower 服务划分。

设备级数据是自动启用的,而事务数据(如事务率或事务时间)只有在对设备启用了 Statistics 时才有效。但也有例外 —— 例如,CPU 状态需要统计信息支持,而 System Load 却不需要。每个域都有自己的 Statistics 设置,用来提供与域有关的状态。

这一节将演示如何从 SNMP 工具中启用 DataPower 监视,以及如何从 DataPower 中产生 SNMP 警报。您将看到如何进行 Logging Target 配置来产生基于系统事件的警报,以及如何订阅 Out of Memory 或 Power Supply 故障之类的事件来生成警报。将使用一个 Power Supply 故障示例来演示这些规则。

首先要配置 DataPower 设备上的 SNMP 设置。该配置在默认域中可访问,并通过 DataPower Web GUI 左边的导航菜单访问,首先选择 Administration 菜单,然后选择 Access 标题下的 SNMP Settings。

该配置包含多个选项卡。在主选项卡中要将 Admin State 设置为 Enabled。通常,将 Local IP Address 设置为默认域中定义的 Host Alias,它映射到 Management Interface IP,后者将 SNMP 轮询请求限制到这个 IP,而不是任何客户端流量接口(eth0、eth1 或 eth2)。图 2 显示默认 Local Port 161 上启用的 SNMP 设置。出站轮询响应和陷阱(trap)将通过具有正确路由的任何设备接口发送出去。为了使出站流量流向相同的 IP,向设备的 mgt0 配置添加一个静态路由。

图 2. 启用 SNMP 设置
启用 SNMP 设置
启用 SNMP 设置

DataPower MIB 可以从设备下载,并被任何 SNMP 管理工具所使用。MIB 允许这些工具将已命名的对象(诸如 dpStatusMemoryStatusUsage)转换成一个 OID,用来请求指标。所有的设备状态 OID 都在 drStatusMIB.txt MIB 文件中。图 3 显示的是 SNMP Settings 屏幕中的 Enterprise MIB 选项卡,以及下载 MIB 的方法:

图 3. SNMP MIB 下载选项卡
SNMP MIB 下载选项卡
SNMP MIB 下载选项卡

Trap Event Subscription 选项卡包含可作为警报发送给管理软件的事件代码列表。示例包括面向 “内部冷却风扇已停止” 或 “电源错误” 的代码。以下的图 4 显示的是一些默认的预先下载的订阅。要添加另外的事件,单击 Select Code。如果特定的代码未在列表中显示,可手动添加。例如,添加代码 0x806000e2 将会增加监视事件,表示证书何时会过期。可以从默认日志中的相关日志记录中获得这些事件代码。还可以从您的固件版本的 Message Reference 文档中获得事件代码。

图 4. SNMP Trap Event Subscription
SNMP Trap Event Subscription
SNMP Trap Event Subscription

SNMPV1/V2c Communities 选项卡使用 SNMP V1 和 V2 定义了管理软件的访问策略。社区名用作访问设备上的 SNMP 数据的凭证。对于只读访问的通用社区名是 public。一个 DataPower 域,无论是默认的还是应用程序域,都可与配置的社区相关联。

如果将要对应用程序数据轮询,需指定应用程序域;否则就使用默认域。指定应用程序域并不能防止管理软件轮询设备级指标,如设备加载、CPU 利用、内存指标以及环境统计数据。另外,它允许对应用程序指标轮询,如事务率和时间、MQ 队列管理器状态、消息计数器或 SLM 指标。

社区模式应当配置为对设备状态指标进行只读访问。最后,远程主机访问 0.0.0.0/0 让任何 SNMP 管理器都可以访问该社区。如果需要,可以限制 IP 范围。要配置额外的社区,单击 Add。图 5 显示的是指定 SNMP V1/V2c 社区名为 public,可用于 swlinn-poc 域内的应用程序域状态的只读访问。

图 5. SNMP Community Settings 指定和应用程序域
SNMP Community Settings 指定和应用程序域
SNMP Community Settings 指定和应用程序域

Trap and Notification Targets 选项卡可以让您指定接收 SNMP 警报和通知的 IP 和 SNMP 管理器端口。默认是 UDP 端口 162。必须指定社区名和 SNMP 版本(1、2c 或 3)。如果使用版本 3,DataPower 用户名在 Security Name 字段提供。该用户将用 SNMP V3 凭证进行配置。需要发出警报的特定事件在 SNMP Trap Event Subscription 选项卡或 SNMP 日志目标的订阅配置中设置。SNMP Trap Event Subscription 选项卡中默认预配置的事件是重要的设备相关事件,如内存用尽,或如电源、电池、风扇的硬件问题。要配置额外的通知目标,单击 Add。图 6 显示的是对 SNMP 警报的接收者的配置,使用的是 SNMP Version 2c,社区名为 public:

图 6. SNMP Trap and Notification Targets
SNMP Trap and Notification Targets
SNMP Trap and Notification Targets

最后,SNMPV3 Contexts 选项卡让 SNMPV3 管理器能访问非默认的应用程序域。要想只允许 SNMP 查询,只需启用 SNMP 设置并提供 SNMPV1/V2c 社区。陷阱和通知目标以及事件订阅在向 SNMP 管理器发送事件警报中是必需的。

如前所述,有些状态数据如风扇速度、CPU 使用都是与设备相关的。其他状态数据(如事务率)是根据应用程序域划分的,并只有在统计信息设置被启用时才会累计,如下图 7 所示。启用统计信息对系统利用率只有很小的影响。调整 Load Interval(SNMP 轮询的频率)将进一步限制这种影响。

图 7. 每个域启用的统计信息
每个域启用的统计信息
每个域启用的统计信息

以下是一个轮询设备指标的例子:SNMP 管理器发送一个 SNMP GET 命令用于获取 dpStatusMemoryStatusUsage 指标,它将返回一个内存使用百分数的标量值。很多 SNMP 管理器,当用 DataPower MIB 配置后,会提供一个状态 MIB 的树形分层结构,其中可以选择合适的指标、对指标进行轮询并显示值。

如果在 DataPower SNMP 配置中指定了应用程序域,也可以对应用程序监视进行轮询。根据应用程序配置,可以轮询特定的指标来提供健康状况数据或应用程序吞吐量。这些与应用程序相关的表条目与系统级指标不同,因为它们是动态的,并基于这些表的关键字段。以应用程序指标的轮询为例,考虑一下 dpStatusHTTPTransactions2Table 表,它包含一个域中各时间间隔的所有服务的事务率。该表中的指标基于服务类,例如 XMLFirewallService,以及服务名,如 Loopback_FW。

除了在 SNMP 设置中指定事件订阅,还可配置 DataPower 日志目标来产生 SNMP 日志事件,它将允许 DataPower 针对感兴趣的特定事件发送警报。从 DataPower Web GUI 左侧导航栏的 Miscellaneous 标题下的 Administration 菜单中选择 Manage Logging Targets。单击 Add 生成新的日志目标,并指定 Target Type 为 SNMP。图 8 显示的是 SNMP Target Type 类型的日志目标:

图 8. SNMP 日志目标
SNMP 日志目标
SNMP 日志目标

SNMP 日志目标可以订阅和过滤事件,就像其他 DataPower 日志目标一样。SNMP 的陷阱和通知事件代码列表中指定了大多数重要事件。在默认域中订阅所有紧急或以上级别事件的 SNMP 日志目标都是用同样方式产生警报。尽管如此,在应用程序域中的日志目标订阅 则更多是程序相关的。例如,可以在错误或以上级别用 MQ 或 SSL 日志类别来指定日志。还可以使用定制日志类别指定由定制样式表生成的日志消息。图 9 显示了针对这个 SNMP 类型日志目标的所有紧急事件的订阅:

图 9. Logging Target Subscriptions
Logging Target Subscriptions
Logging Target Subscriptions

现在已讲解了设置和启用 SNMP 警报的步骤,以下是电源警报的示例。使用以上配置,一个或两个电源插头已被拔掉。图 10 显示的是电源失败相关的日志条目:

图 10. System Log Entries
System Log Entries
System Log Entries

SNMP 配置对可接收来自设备公共社区的警报的 SNMP Manager 未指定任何限制。任何在设备 162 端口监听警报的 SNMP 管理器将收到有关电源错误事件的陷阱。

这节将向您演示如何配置 DataPower 以从 SNMP 工具启用对设备和应用程序的监控,以及如何生成应用程序内部的警报。日志目标配置用于根据日志事件生成警报。SNMP 配置被配置为通过订阅系统事件(诸如 “内存耗尽” 或 “电源错误”)以及应用程序事件(SSL 认证过期)来生成警报。还演示了在应用程序级别启用统计信息。展示了对内存指标的轮询来演示设备指标监控,通过对事务率表格的轮询来演示对特定于应用程序的指标的监控。最后,通过电源故障的例子来演示 SNMP 警报。

监控的对象

监控可以实现多个目标。设备及其各个物理部件的一般健康状况可以通过环境状态信息(如温度、风扇速度以及电池和电源状态)确定。系统负载可以通过特定的状态值如 System Usage 查出,另外还有一些更熟悉的测量,如 CPU、内存以及文件系统利用率。由设备处理的数据量可以通过分析网络接口消耗来确定。下节讨论几个有用的状态值。每节都演示如何从 Web GUI 确定数据,XMI 响应的元素,执行 CLI 命令以显示状态,以及来自 SNMP Enterprise MIB(包含值)的对象。

一般设备健康状况和活动监控

一般健康状况和活动监控将确保 DataPower 设备运行在预先配置的系统参数下。可以通过系统加载和 CPU 利用率来分析系统容量。可以评估正常运行时间来确保设备不会遇到意外重启。可以检查风扇和温度来避免温度过高,它会使设备无法正常运行。以下的监控就包含在这些任务中:

System Usage
Web GUISystem => System UsageXMISystemUsage/Load
CLIShow LoadStatus MIBdpStatusSystemUsageLoad

System Usage 用于测量设备接受额外工作的能力。它根据系统负载的各个组成使用公式进行计算。System Usage 通常被认为是总体系统容量的最佳单一指标。尽管有时它会达到 100%,但通常它的值小于 75%。次要的工作列表值是计算队列任务,通常在监控中不太重要。

图 11. System Usage Status
System Usage Status
CPU Usage
Web GUISystem => CPU UsageXMICPUUsage
CLIShow cpuStatus MIBdpStatusCPUUsage

CPU Usage 统计信息分五个时间段提供。很多用户习惯于监控 CPU 利用率,但 DataPower 中的这个指标在确定设备容量方面不如 System Usage 那么可靠。DataPower 会自我优化,当设备执行后台活动时,会出现与流量无关的 CPU 峰值。CPU 使用率有时会一直达到 100%,但这种情况一般不用担心,除非多个连续轮询都是如此。

图 12. CPU Usage Status
CPU Usage Status
Memory usage
Web GUISystem => System => Memory UsageXMIMemoryStatus
CLIShow memoryStatus MIBdpStatusMemoryStatus

Memory Usage 统计信息用于各类设备的闪存。统计信息中包括总的内存利用百分比;全部、已使用的和空闲的内存字节数;以及一些不太重要的监控数据,包括请求、XG4 和占用内存。已使用内存的百分比取决于应用程序、请求和响应消息的大小,以及请求的数量和延时。通常的利用率小于 80%,当统计信息超过这个限制时,需要保持警惕。可以使用设备的 Throttle Settings 来暂时减缓请求处理或执行热重启,将在这种情况下重新取回内存。

以下的系统错误代码与这些传感器相关,可用来触发 SNMP Trap Event Subscription 配置中的警报:

0x01a40001 Throttling connections due to low memory
0x01a30002 Restart due to low memory 
0x01a30003 Memory usage recovered above threshold
图 13. Memory Usage Status
Memory Usage Status
Memory Usage Status
文件系统信息
Web GUISystem => System => File system InformationXMIFilesystemStatus
CLIShow FilesystemStatus MIBdpStatusFilesystemStatus

文件系统统计信息用来提供加密、临时、内部文件系统的空闲和总的空间信息。监控所有空闲空间指标 —— 当低于总空间的 20% 时应引起注意。可以使用设备的 Throttle Settings 来暂时减缓请求处理或执行热重启,这将在空闲空间减少的情况下重新取回文件系统空间。

以下的系统错误代码与这些传感器相关,可用来触发 SNMP Trap Event Subscription 配置中的警报:

0x01a40005 Throttling connections due to low temporary file space 
0x01a30006 Restart due to low temporary file space 
0x01a50007 Temporary file space recovered above threshold
图 14. File system Usage Status
System Usage Status
System Usage Status
系统运行时间
Web GUIMain => Date and TimeXMIDateTimeStatus/uptime
CLIDateTimeStatus/ uptimeStatus MIBdpStatusDateTimeStatusuptime

系统运行时间表示自设备最近一次重启后经过的时间,包括受控制的固件重新加载和所有意外的设备重启。DataPower 设备在重启时会自动进行节流(throttle)设置,如内存或文件系统限制。当使用 SNMP 通知发出警告时,通过轮询来监控运行时间可确保所有的通知发生故障不会影响这些事件。

图 15. 日期和时间状态
日期和时间状态
日期和时间状态
温度传感器
Web GUISystem => Temperature SensorsXMITemperatureSensors/{various name values}
CLIShow Sensors-TemperatureStatus MIBdpStatusTemperatureSensorsTable

各种温度读数可用于 CPU、内存和系统。每个组件都有相关的警告和危险温度,状态值为 OK 或 FAIL。监控这些状态值能确保设备在特定温度范围内运行。通过检查风扇速度、周边气流可以确定温度是否超出正常范围,如果必要,还要联系 DataPower 技术支持。

图 16. 温度传感器状态
温度传感器状态
温度传感器状态
风扇传感器
Web GUISystem => Fan SensorsXMIEnvironmentalFanSensors/{various fan-id values}
CLIShow Sensors-FanStatus MIBdpStatusEnvironmentalFanSensorsTable

设备风扇的正常运转对设备的正常运行至关重要。有两个可热交换的风扇组。如果设备包含可选硬盘驱动器,将会有额外两个风扇。每个值都与一个最低范围和状态指示器关联。监控状态值将确保风扇正常运转。以下的系统错误代码与这些传感器相关,可用来触发 SNMP Trap Event Subscription 配置中的警报:

0x02240002 Internal cooling fan has slowed
0x02220003 Internal cooling fan has stopped
图 17. 风扇传感器状态
风扇传感器状态
风扇传感器状态
其他传感器
Web GUISystem => Other SensorsXMIEthernetInterfaceStatus/{various name values}
CLIShow Sensors-OtherStatus MIBdpStatusOtherSensorsTable

在 Other 类别中还有另外几个传感器,包括电池、硬盘和电源指示器。入侵检测传感器也在此列表中,当检测到物理设备被干扰时将触发该传感器。所有这些变量都包含状态值。监控这些状态值可确保风扇及其他部件正常运行。

以下的系统错误代码与这些传感器相关,可用来触发 SNMP Trap Event Subscription 配置中的警报:

0x02220001 Power supply failure
0x02220004 System battery missing
0x02220005 System battery failed

每两年更换一次电池 —— 否则会出现临界级别的日志记录。

图 18. 其他传感器状态
其他传感器状态
其他传感器状态

接口利用率统计信息

接口利用率监视器提供了 DataPower 设备接收和发送的数据量的分析。每个设备包含四个千兆接口。监控这种利用率能帮助了解传输率以及它们随时间的变化。如果某项服务每月增长 10%,那么可以用这个数据来预估额外支持资源,如 DataPower 或后台服务。

以太网接口
Web GUISystem => Ethernet InterfacesXMIEthernetInterfaceStatus/{various name values}
CLIShow EthernetStatus MIBdpStatusEthernetInterfaceStatusTable
图 19. 以太网接口状态
以太网接口状态
以太网接口状态
接收和发送吞吐量
Web GUIIP-Network => RX ThroughputXMIReceiveKbpsThroughput/{various time values}
CLIShow receive-kbpsStatus MIBdpStatusReceiveKbpsThroughputTable
Web GUIIP-Network => TX ThroughputXMITransmitKbpsThroughput/{various time values}
CLIShow transmit-kbpsStatus MIBdpStatusTransmitKbpsThroughputTable

接收和发送吞吐量信息能帮助您了解设备正在处理的数据量。可针对从 10 秒到最近 24 小时的 5 个时间值提供统计信息。获得这个数据值对于了解设备承载的网络负载很重要。其中包含流量管理。如果未将流量管理(如 Web GUI、CLI 和 XMI)划分到独立的接口,那么该数据将包含在所有应用程序流量中。

每个 DataPower 配置(或应用程序)在处理各自消息方面都有很大不同。有些情况下,小的消息会触发重要的处理,可能从机下(off box)终端请求额外数据,执行处理器密集型加密操作,或者以其他方式产生大量系统负载。其他一些情况下,大的消息也许只需要路由或需要较少的处理。虽然没有一种严格的规律,但是随着时间推移,数据的增长将对应于 DataPower 资源利用率的增长。在出现瓶颈之前了解这个信息,并使用更多的 DataPower 设备来缓解它,从而使您避免系统中断。

图 20. Rx 吞吐量状态
Rx 吞吐量状态
Rx 吞吐量状态
HTTP 连接
Web GUIConnection => HTTP Connection StatisticsXMIEthernetInterfaceStatus/{various name values}
CLIShow http connectionStatus MIBHTTPConnections

HTTP 连接在域级别生成。必须对每个域启用统计信息以生成 HTTP 连接数据。其中一个特性就是在回路(loopback)模式中,不会对服务累积 HTTP 连接数据。状态数据由 XML-Manager 划分,包含 HTTP 连接信息,如请求和重用。 这项数据能帮助您了解连接级别,并用于判断其随时间变化的利用率。

图 21. HTTP 连接状态
HTTP 连接状态
HTTP 连接状态

事务率和时间

每个服务的事务率和运行时间都在域中累加,并包含在域服务级别。除非对每个域启用了统计信息,才会提供事务率和时间。这项数据能帮助您了解已处理的事务数以及一些时间间隔内用于某个特殊服务的事务的平均响应时间。

Web GUIConnection => Transaction RateXMIHTTPTransactions /{various time values}
CLIShow httpStatus MIBdpStatusHTTPTransactionsTable
Web GUIConnection => Traction TimeXMIHTTPMeanTransactionTime/{various time values}
CLIShow httpStatus MIBdpStatusHTTPMeanTransactionTimeTable
图 22. 事务率状态
Transaction rate status
Transaction rate status

其他网络状态提供程序

除了已讨论的 HTTP 例子,DataPower 还支持很多其他协议,包括 FTP、IMS、MQ、NFS、NTP、SQL、Tibco 和 WebSphere JMS。这些协议都通过状态提供程序来表示,并且在前面的例子中,都可由 Web GUI、CLI、XMI 和 SNMP 支持。单个的配置也许不会使用这些额外协议,并且很少会使用全部这些协议。尽管如此,在使用其中一个或多个协议的配置中,监控相关的状态提供程序是明智的。

最佳实践

成功的 DataPower 设备监控将利用积极主动的状态信息查询。SNMP 工具配置需要监听设备发出的陷阱以及定期轮询设备的 MIB 状态数据。这些活动需要在轮询中结合使用 DataPower SNMP Trap Event Subscription 配置和 SNMP 监控代理配置,并且很可能基于返回的状态值。

除了设备监控,应用程序监控也是有用的实践。对于应用程序监控,消息可能从自动化(robotic)客户端通过 DataPower 服务发送,以确保所有网络连接(包括负载平衡器)都是可操作的。有些情况下,还会将消息发送给后台服务提供者应用程序,以确保前台和后台连接都能够正常使用。DataPower 和后台资源都必须进行配置以正确地响应测试消息。

DataPower SMMP 陷阱订阅功能是利用 DataPower 内的事件的 SNMP 通知的有效方法。以下是推荐订阅的错误代码列表。在发生错误时,DataPower 上的 SNMP 代理将会向 SNMP 监控器发送 Alert/Trap。

推荐的错误代码订阅

0x02220001environmentalcritical电源故障。
0x02240002environmentalwarning内部冷却风扇减速
0x02220003environmentalcritical内部冷却风扇停止。
0x02220004environmentalcritical系统电池丢失。
0x02220005environmentalcritical系统电池故障。
0x00330002mgmterror内存变满
0x01a40001systemwarning低内存导致节流连接
0x01a30002systemerror低内存导致重启
0x01a30003systemerror资源不足超时导致重启
0x01a50004systemnotice内存使用率恢复到阈值以上
0x01a50005systemwarning临时文件空间减少导致节流连接
0x01a30006systemerror临时文件空间减少导致重启
0x01a50007systemnotice临时文件空间恢复到阈值以上
0x01a40008systemwarning空闲端口减少导致节流连接
0x01a30009systemerror端口不足导致重启
0x01a3000bsystemerror前缀 qcode 不足导致重启
0x01a3000csystemerror名称空间 qcode 不足导致重启
0x01a3000dsystemerror本地 qcode 不足导致重启
0x01a2000esystemcritical安装的电池快要用尽
0x01a30011systemerror无效的虚拟文件系统
0x01a30012systemerror文件未找到
0x01a30013systemerror缓冲太小
0x01a30014systemerrorI/O 错误
0x01a30015systemerror内存不足
0x01a10016systemalert空闲 qcode 的数量太少
0x01a30017systemerror文件描述符太小导致重启
0x01a40018systemwarning可用文件描述符数量太少导致节流

需要监控的 MIB 状态值

建议将 SNMP 监控器配置为在以下情况中获取并报告状态值:

dpStatusSystemUsageLoad>80%,10 分钟或 10 分钟以上的时间间隔
dpStatusCPUUsagetenMinutes>90%(10 分钟时间间隔)
dpStatusFilesystemStatusFreeTemporary<20%,根据错误代码订阅,可能不需要监视
dpStatusFilesystemStatusFreeUnencrypted<20%,根据错误代码订阅,可能不需要监视
dpStatusFilesystemStatusFreeEncrypted<20%,根据错误代码订阅,可能不需要监视
dpStatusMemoryStatusFreeMemory<20%,根据错误代码订阅,可能不需要监视
dpStatusTemperatureSensorsReadingStatus各种温度传感器读数(表格)
dpStatusEthernetInterfaceStatusStatus用于已配置的接口

监视接口利用率的 MIB 状态值

除了轮询和查询数据,需要确定应用程序在一段时间内的正常的流量模式。最好的方法是获取并监控设备正在处理的网络流量。以下的发送和接收数据将帮助您预测设备什么时候会出现流量饱和。提前知道这些信息能帮助您避免服务中断。

dpStatusNetworkTransmitDataThroughputTenMinutesBits在更长的时间内获取值
dpStatusNetworkReceiveDataThroughputTenMinutesBits在更长的时间内获取值

结束语

监控 DataPower 的最佳实践从三个方面入手:

  • 通过轮询状态数据和订阅 SNMP 陷阱,不断检查 DataPower 环境的状态。
  • 通过分析系统使用率数据和解读 Ethernet 活动,监控设备利用情况和容量。
  • 通过 DataPower 服务配置发送测试消息(可能达到后台资源),执行完整的应用程序路径验证。

执行这三项活动将确保服务可用并且 DataPower 设备在正常范围内运行。

致谢

作者希望感谢所有参与撰写这篇 developerWorks 文章的人。尤其是来自 WebSphere DataPower Engineering 的 Shiu-Fun Poon、Matthias Seibler 和 Gaurang Shah,以及来自 WebSphere DataPower Technical Sales 的 Bill Hines。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere
ArticleID=492843
ArticleTitle=监控 WebSphere DataPower SOA Appliances
publish-date=05272010