IBM® WebSphere® MQ 缺乏一个良好的监控工具。本文将向您展示如何使用来自 mega.com 的一个简单的基于 Web 的 WebSphere MQ 监控工具。本文面向那些想利用监控工具特性的 WebSphere MQ 管理员和用户,这些监控工具特性包括 WebSphere MQ 系统运行状况的可视化和 WebSphere MQ 对象(包括队列、主题、通道、听众和队列管理器)的自定义报警条件。
WebSphere MQ 监控工具
监控器工具支持两种模式:
在仪表板上的实时图表中显示被监控 MQ 对象的统计信息和整个系统的状态统计信息:
该监控工具易于安装,因为它被实现为一个标准的 Java Web 应用程序。您可以在任意的 Java EE 应用服务器或任何 Java servlet 引擎上轻松部署它。在完成部署后,将会启动并运行监控应用程序。
在安装 WebSphere MQ 监测工具之前,请确保您已经安装了以下软件。
有关安装 WebSphere MQ 或 Java EE 应用程序服务器的信息,请参阅 安装 WebSphere MQ、安装 WebSphere Application Server,或适用于另一个 Java EE 应用程序服务器或 servlet 引擎的类似信息。
将监控应用程序作为一个 WAR 文件部署到 Java EE 应用程序服务器或 servlet 引擎。如需定制,请解压缩 WAR 文件,根据需要修改配置文件并重新部署。
如需自定义设置,请解压缩 WAR 文件,在 WEB-INF 目录中找到 config.properties 文件,并根据此配置文件中的注释更新应用程序的特定设置。仔细编辑该文件,因为无效的设置可能会阻止监控应用程序启动。
监控器默认情况下会使用嵌入式 Apache Derby 数据库。如需配置数据库或使用不同的数据库,请解压缩 WAR 文件,在 WEB-INF 目录中找到 jdbc.properties 文件,并编辑配置文件,切换到您的首选数据库。您还需要将相应的数据库驱动程序 JAR 文件放入 WEB-INF/lib 目录。监控器采用 Apache OpenJPA 作为持久性提供程序,因此 Apache OpenJPA 支持的任何数据库都应该是可用的。在启动监控器时,会自动生成数据库架构。对于大量的数据负载,应考虑切换到更强大的数据库,如 MySQL,因为如果有许多监控器在使用所收集的大量数据,那么 Apache Derby 可能无法很好地工作。
监控器需要进行登录和身份验证。输入默认用户 ID/密码(mqadmin/mqadmin),然后单击 Login。在首次登录后,您会被重定向到首页,您应该立刻在这里将密码更改为更安全的密码。
如需注销,请单击主页右上角的 Username,单击下拉列表中的 Sign out ,然后单击 OK 确认。如果不需要进行注销,并且较长时间没有使用工具,系统会自动将您注销,并要求您重新登录。
如需更改密码,请单击右上角的 Username,从下拉列表中选择 Edit profile,输入您的当前密码和新密码,然后单击 Save 确认更改。
单击 Connection 选项卡,监控一个队列管理器。
单击 New QM Connection 创建一个连接,它代表对队列管理器的连接。
为了连接到远程队列管理器,需要下面的连接元数据:
一旦连接到队列管理器,Monitors 选项卡就会变得可用。如果队列管理器的 MQTT 服务是 Available,这意味着它已配置和启动,MQTT 选项卡可用。
单击选定的连接,打开用连接名称来命名的新选项卡,然后打开 Monitors 选项卡:
在 Monitors 选项卡中有六个按钮:
单击 Add 打开 Create Monitor 对话框:
监控器元数据包括以下信息,用于监控 MQ 对象:
boolean-operator ::= '&' | '|' operator ::= '>' | '<' | '>=' | '<=' | '!=' property ::= the value defined in the monitor measurement dropdown list value ::= most of cases are numeric values, and also there are status values that are different from object to object expr ::= (property operator value) alert-rule ::= warn(boolean-operator(expr)(expr)(expr)...), error(boolean-operator(expr)(expr)(expr)...)
规则 -- Warn(|(currentQDepth>1000)(openInputCount>100)),error(&(currentQDepth>30000)(openInputCount>200))
描述 -- 如果 currentQDepth>1000 或 openInputCount>100,则发出警告性的警报;如果 currentQDepth>30000 并且 openInputCount>200,则发出错误警报
规则 -- Warn(currentQDepth>1000),error(currentQDepth>4000)
描述 -- 如果 currentQDepth>1000,则发出警告性的警报;如果 currentQDepth>4000,则发出错误警报
规则 -- warn(publishedMessagesCount>1000)
描述 -- 如果 publishedMessagesCount>1000,则发出警告性的警报
规则 -- Warn(channelStatus=Stopped)。可用的 channelStatus 值是 Stopped、Running、Stopping、Inactive、Initializing、Binding、Starting、Paused、Retrying 和 Requesting。
描述 -- 如果 channelStatus 是 Stopped,则发出警告性的警报。
规则 -- Warn(listenerStatus=Stopped)。可用的 listenerStatus 值是 Starting、Running、Stopping 和 Stopped。
描述 -- 如果 listenerStatus 是 Stopped,则发出警告性的警报。
规则 -- Error(queueManagerStatus=Unavailable)。可用的 queueManagerStatus 值是 Starting、Running、Quiescing 和 Unavailable。
描述 -- 如果 queueManagerStatus 是 Unavailable,则发出警告性的警报。
警报规则的无效属性输入会阻止监控器评估被监控 MQ 对象的健康状况。在属性上不必执行验证,因此也不会生成任何警告信息。
创建监控器的另一个方法是,在 Connection 选项卡的左侧导航中右键单击所选中的连接,并在下拉菜单中单击 Create Monitor。
如果成功地创建了监控器,那么所有监控器都将在 Monitors 选项卡的网格中显示。
选中一个监控器,然后单击 Activate 启动监控器,或单击 Deactivate 停止监控器。
如果已配置和启动 MQTT 服务,则会启用 MQTT 选项卡:
工具栏操作:
单击 Monitor 打开 Message 选项卡,监控 MQTT:
单击 Configuration 添加主题:
这个步骤和在简单仪表板中添加/删除监控器是一样的。从 Topic 下拉列表中选择一个主题。主题监控器将被自动激活。主题测量指标是已发布的消息数,所以发送消息给选定的主题时,监控器将随之更新。
选中一个目标,在文本框中输入文本,然后单击 Send。如果消息发送成功,历史记录将会显示在框中。
仪表板是一组监控器的可视化显示。仪表板可以对特定用例应用某种显示模式。目前支持简单模式和发送者-接收者模式。仪表板可以通过利用模式以更合适的方式显示监控器,更好地满足业务场景:
仪表板元数据包含以下信息:
在这种仪表板中,可以添加任意监控器:
单击 Add/Remove Monitors 管理此仪表板中的监控器。
如果显示器处于非活动状态,请单击位于每个监控器的中央或右上角的 Activate。
监控器图表:
仪表板支持两种图表:Line Chart(折线图)和 Area Chart(面积图)。面积图是首选的监控测量,如 channelStatus 和 listenerStatus。
底部的表格显示了监控器的详细信息,每五分钟刷新一次。单击右侧的滚动按钮可查看更多的信息。
SenderReceiver Dashboard 监控主题消息场景,来自传输队列的消息通过发送者-接收者通道发送,并且将信息传输到目标队列,这通常是一个本地队列。当监视传输队列时,可能还需要知道发送者/接收者通道,以及将会接收消息的目标队列的状态。SenderReceiver 仪表板向您显示幕后的事情:
单击 Add/Remove Monitors 管理 SenderReceiver 仪表板中的监控器:
从下拉列表中选择监控器,并如上所述,在仪表板的特定位置添加或删除它们。否则,SenderReceiver 仪表板就和 Simple 仪表板一样。
Alert 选项卡收集活动监控器基于监控器创建过程中所定义的警报条件而生成的所有警报信息:
Tooltip 显示警报消息的总和,每 50 秒更新一次。
在每次访问 Alert 消息表后都会刷新它:
本文向您展示了如何使用一个简单的、可下载的、基于 Web 的 WebSphere MQ 监控工具,提供可视化和 WebSphere MQ 对象(包括通道、听众、主题、队列和队列管理器)自定义报警条件。