Sun Java System Message Queue 3.7 UR1 管理指南

编写应用程序来监视代理

Message Queue 提供度量监视功能,通过该功能,代理可以将度量数据写入 JMS 消息,然后根据消息中包含的度量信息类型将它们发送到众多度量主题目的地中的一个。

您可以通过编写具有下列功能的客户端应用程序来访问这些度量信息:订阅度量主题目的地、使用这些目的地中的消息以及处理消息中包含的度量信息。

共有五个度量主题目的地,它们的名称以及传送到各个目的地的度量消息的类型显示在表 10–6 中。

表 10–6 度量主题目的地

主题名称 

度量消息的类型

mq.metrics.broker 

代理度量

mq.metrics.jvm 

Java 虚拟机度量

mq.metrics.destination_list 

目的地及其类型的列表

mq.metrics.destination.queue. monitoredDestinationName

具有指定名称的队列的目的地度量 

mq.metrics.destination.topic. monitoredDestinationName

具有指定名称的主题的目的地度量 

设置基于消息的监视

本节讲述使用基于消息的监视功能来收集度量信息的过程。此过程包括客户端开发和管理任务这两方面。

Procedure设置基于消息的监视

  1. 编写度量监视客户端。

    有关以编程方式编写订阅度量主题目的地、使用度量消息并从这些消息中提取度量数据的客户端的说明,请参见 Message Queue Developer's Guide for Java Clients

  2. 通过在 config.properties 文件中设置代理属性值来配置代理的度量消息生成方:

    1. 启用度量消息生成。

      设置 imq.metrics.topic.enabled=true

      默认值为 true

    2. 设置生成度量消息的时间间隔(以秒为单位)。

      设置 imq.metrics.topic.interval=interval

      默认值为 60 秒。

    3. 指定是否需要让度量消息成为持久性消息(即,当代理发生故障时它们是否能保留下来)。

      设置 imq.metrics.topic.persist

      默认为 false

    4. 指定在删除度量消息之前它们能在各自的目的地中保留的时间。

      设置 imq.metrics.topic.timetolive

      默认值为 300 秒。

  3. 设置需要对度量主题目的地设置的任何访问控制。

    请参见下面安全性和访问注意事项中的讨论。

  4. 启动度量监视客户端。

    当使用方订阅度量主题时,系统会自动创建度量主题目的地。创建度量主题后,代理的度量消息生成方就会开始向度量主题发送度量消息。

安全性和访问注意事项

出于以下两个原因,需要限制对度量主题目的地的访问:

出于这些方面的考虑,建议限制对度量主题目的地的访问。

用于监视目的的客户端的验证和授权控制与其他任何客户端都相同。只有用户信息保留在 Message Queue 用户系统信息库中的用户才能连接到代理。

您可以通过访问控制属性文件来限制对特定度量主题目的地的访问,从而提供更多保护,如用户授权:访问控制属性文件中所述。

例如,accesscontrol.properties 文件中的下列条目将拒绝除 user1 和 user2 之外的其他任何用户访问 mq.metrics.broker 度量主题。


topic.mq.metrics.broker.consume.deny.user=*
topic.mq.metrics.broker.consume.allow.user=user1,user2

下列条目仅允许用户 user3 监视主题 t1。


topic.mq.metrics.destination.topic.t1.consume.deny.user=*
topic.mq.metrics.destination.topic.t1.consume.allow.user=user3

根据度量数据的敏感度不同,您也可以使用加密连接将度量监视客户端连接至代理。有关使用加密连接的信息,请参见消息加密

度量输出:度量消息

使用基于消息的监视 API 获得的度量数据输出是您编写的度量监视客户端的一个功能。您只会受到代理中度量生成器提供的数据的限制。有关这些数据的完整列表,请参见第 18 章,度量参考