监视 Java EE 组件

监视警报

使用 Enterprise Manager,可以在运行时监视警报。您可以执行以下任务:

Enterprise Manager 的基本信息,请参见Enterprise Manager ��֪ʶ

Java CAPS 提供了一个警报管理 API。有关警报管理 API 的详细信息,请参见《Java CAPS Management and Monitoring APIs》。

警报概述

在项目组件中发生指定情况时,将触发警报。这种情况可能表示出现了必须解决的问题,也可能只是提供信息供您参考。

下表列出了 Sun Enterprise Service Bus 的预定义警报。每个预定义警报都由一个代码标识,例如 COL-00001。警报还包含相关的说明,例如“协作正在运行”。

表 1–1 Sun Enterprise Service Bus 的预定义警报

代码 

描述 

建议的操作 

COL-00001 

协作正在运行。 

此警报不指示任何故障。不需要执行任何用户操作。 

COL-00002 

协作已停止。 

没有建议的操作。 

COL-00003 

协作用户定义的警报。 

建议的操作取决于用户定义的警报的用途。 

MS-00009 

消息服务器已达到消息总数的调效阈值。 

对于主题,您必须等待订阅者使用更多的消息。同时,停止尝试向 JMS IQ Manager 传送消息。 

对于队列,您必须等待接收者使用更多的消息。此外,还可以尝试添加接收者以提高吞吐量。 

如果您能够停止运行时应用程序并重新启动应用服务器,则可以提高服务器调效阈值。 

MS-00010 

消息服务器已低于消息总数的调效阈值。 

没有建议的操作。 

MS-00011 

消息服务器已达到消息目的地的调效阈值。 

没有建议的操作。 

MS-00012 

消息服务器已低于消息目的地的调效阈值。 

没有建议的操作。 

要查看有关适配器预定义警报的信息,请参见《Java CAPS 适配器的警报代码》。

项目开发者可以添加自定义警报。

警报的初始状态为“未观察”。您可以将状态更改为“已观察”或“已解决”。“已观察”指示您已看到并确认了警报。“已解决”指示您已解决导致警报的问题。

默认情况下,不会将警报持久保存到外部数据库中。有关配置持久性的信息,请参见���þ����־���

查看警报

您可以在运行时查看警报。此外,您还可以更改警报的状态。

Enterprise Manager 中的“警报”选项卡的屏幕捕获。显示了各种不同的警报。

Procedure查看警报

  1. 在 Enterprise Manager 的“资源管理器”面板中,选择一个应用服务器、项目组件或消息服务器。

  2. 单击“警报”选项卡或节点。

    将显示选定组件的警报。

    这些选项卡下面的摘要行显示了每种警报类型(致命、临界、主要、次要、警告和信息)的警报总数。

    工具栏显示在摘要行下面。

  3. 默认情况下,警报按日期/时间降序排列。要按其他标准对警报进行排序,请单击所需列中的向上/向下箭头。

  4. 要选择所有警报,请单击“全选”图标。

  5. 要取消选择当前选定的警报,请单击“取消选择”图标。

Procedure查看警报详细信息

  1. 双击该警报,或者选择该警报并单击“查看详细信息”图标。

    将显示“警报详细信息”对话框。

  2. 完成后,请单击“关闭”。

Procedure更改警报的状态

  1. 选择该警报。

  2. 单击“设置为已观察”图标或“设置为已解决”图标。

    也可以单击“重置”图标将状态重置为“未观察”。

过滤警报

您可以控制在 Enterprise Manager 中显示哪些警报。

Procedure过滤警报

  1. 在 Enterprise Manager 的“资源管理器”面板中,选择一个应用服务器、项目组件或消息服务器。

  2. 单击“警报”选项卡或节点。

    将显示选定组件的警报。

  3. 单击“过滤器”图标。

    将显示“警报过滤器”对话框。该对话框中显示的字段取决于在“资源管理器”面板中选择的组件类型。

  4. 指定一个或多个字段。

  5. 单击“提交”。

Procedure删除过滤器

  1. 执行以下任一操作:

    • 单击“清除过滤器”图标。

    • 依次单击“过滤器”图标、“清除”和“提交”。

删除警报

您可以删除单个警报,也可以同时删除多个警报。

Procedure删除一个警报

  1. 在 Enterprise Manager 的“资源管理器”面板中,选择一个应用服务器、项目组件或消息服务器。

  2. 单击“警报”选项卡或节点。

    将显示选定组件的警报。

  3. 选择该警报。

  4. 单击“删除”图标,或者按 Delete 键。

    将显示确认对话框。

  5. 单击“确定”。

Procedure同时删除多个警报

  1. 选择要删除的警报。

    • 要选择所有警报,请单击“全选”图标。

    • 要选择可能相邻或不相邻的警报,请使用 Ctrl 键。

    • 要选择一组相邻的警报,请单击该范围一端的警报,按住 Shift 键,然后单击该范围另一端的警报。

  2. 单击“删除”图标,或者按 Delete 键。

    将显示确认对话框。

  3. 单击“确定”。

Procedure删除选定组件的所有警报

  1. 单击“全部删除”图标。

    将显示确认对话框。

  2. 单击“确定”。


    注 –

    如果当前由于进行了过滤而未显示某个警报,则不会删除该警报。请参见���˾���


配置警报持久性

警报持久性体系结构包含以下数据库。

嵌入式数据库和外部数据库的图表。

默认情况下,不会将警报持久保存到外部数据库中。本主题介绍了如何启用持久性。

一定要了解各种持久性配置的行为。

外部数据库可以采用以下任何数据库类型。Sun Java System Application Server 附带提供了 Derby 数据库,但未提供其他数据库类型。

如果要使用 Derby 以外的数据库类型,则必须执行额外的配置任务。例如,必须使用 JavaTM DataBase Connectivity ("JDBCTM") 软件和 Java Naming and Directory InterfaceTM ("J.N.D.I.") API 来设置对数据库的访问。

对于所有数据库类型,您都必须登录到 Configuration Agent 并修改警报通知字段。

Procedure配置警报表名称(Derby 以外的数据库)

  1. 打开 JavaCAPS-install-dir/appserver/domains/domain-name/jbi/config 目录中的 eventmanagement.properties 文件。

  2. 如有必要,请更改 AlertTableName 属性的默认值,然后保存该文件。

    您可能需要更改该默认值,以使其符合组织的命名约定或满足数据库服务器的表名称字符限制。

Procedure设置数据库访问(Derby 以外的数据库)

  1. 登录到 Sun Java System Application Server 管理控制台。

  2. 集成 JDBC 驱动程序。

    您可以使通用类加载器或系统类加载器能够访问该驱动程序。

    有关如何集成 JDBC 驱动程序的详细信息,请在管理控制台中单击“帮助”。

  3. 在左窗格中,展开“资源”节点和 "JDBC" 节点,然后选择“连接池”节点。

  4. 单击“新建”。

  5. 创建 JDBC 连接池。

    有关如何创建 JDBC 连接池的详细信息,请在管理控制台中单击“帮助”。

  6. 在左窗格中,选择“JDBC 资源”节点。

  7. 单击“新建”。

  8. 创建 JDBC 资源。

    您将在后面的过程中输入 JDBC 资源的 JNDI 名称。

    将池名称设置为刚创建的 JDBC 连接池。

    有关如何创建 JDBC 资源的详细信息,请在管理控制台中单击“帮助”。

Procedure运行数据库脚本(Derby 以外的数据库)

  1. 打开 JavaCAPS-install-dir/appserver/jbi/lib 目录中的 jbi_rt.jar 文件。

  2. 提取您使用的数据库类型的 SQL 脚本。

  3. 如果使用的是 Oracle,则创建将用于持久保存警报的表空间和用户。

    1. 打开 create_event_store_user.sql 脚本,然后进行任何所需的更改以满足数据库配置要求。

    2. 运行 create_event_store_user.sql 脚本。

  4. 创建将用于持久保存警报的表。

    1. 打开 create_event_store_schema.sql 脚本,然后进行任何所需的更改以满足数据库配置要求。

      确保表名与 eventmanagement.properties 文件中的值相符。

    2. 运行 create_event_store_schema.sql 脚本。

Procedure登录到 Configuration Agent

  1. 如果应用服务器没有运行,请启动应用服务器。

  2. 在浏览器中,输入以下 URL:

    http://hostname:portnumber/configagent

    将主机名设置为安装了应用服务器的计算机的 TCP/IP 主机名。将端口号设置为应用服务器的管理端口号。例如:

    http://myserver.company.com:4848/configagent

    将显示 Configuration Agent 安全网关。

  3. 在“用户 ID”字段中,输入应用服务器用户名。

  4. 在“密码”字段中,输入相应的密码。

  5. 单击“登录”。

    将显示 Configuration Agent。

Procedure修改警报通知字段

  1. 确保数据库正在运行。

  2. 在 Configuration Agent 中,单击“警报管理配置”选项卡。

    “警报管理配置”选项卡的屏幕捕获
  3. 选中“警报通知持久性”标签右侧的“已启用”复选框。

  4. 如果要启用日记功能,则选中“警报通知日记”标签右侧的“已启用”复选框。

  5. 从“警报通知数据库类型”下拉列表中选择数据库类型。

  6. 如果使用 Derby 以外的数据库,则将 JNDI 名称设置为您创建的 JDBC 资源的 JNDI 名称。

  7. 单击“保存”。

  8. 重新启动应用服务器域。

对警报进行归档

您可以对 Enterprise Manager 的嵌入式数据库中的警报进行归档。归档进程会将警报写入到 JavaCAPS-install-dir/emanager/EventRepositoryDb 目录中的 .csv 文件中。

使用 JavaCAPS-install-dir/emanager/server/shared/classes 目录中的 eventdb_archive.properties 文件,您可以配置归档进程。下表介绍了这些属性。

表 1–2 警报归档属性

属性 

描述 

GROUP_MAX_COUNT 

以下字段值相同的警报构成一个组:环境、物理主机、逻辑主机、服务器、部署、组件以及消息代码。此属性指定一个组中可以包含的最大警报数。当超出该数量时,会对超出该数量的最早的行进行归档。 

如果该值为 0,归档进程将忽略此属性。 

MAX_TIME_DELTA_FOR_ARCHIVE 

两次归档操作间隔的最长时间(以毫秒为单位)。 

如果该值为 0,归档进程将忽略此属性。 

MAX_EVENT_COUNT_FOR_ARCHIVE 

当达到此警报数时,将会运行归档进程。 

如果该值为 0,归档进程将忽略此属性。 

MAX_AGE_OF_EVENTS 

在运行归档进程时,会对超出此存留期限制(以毫秒为单位)的警报进行归档。 

如果该值为 0,归档进程将忽略此属性。 

MAX_ROWCOUNTLIMIT_IN_ARCHIVE_FILE 

可以在 .csv 文件中存储的最大记录数。当达到此数量时,归档进程将会创建一个新的 .csv 文件。 

如果更改了一个或多个属性的值,则必须重新启动 Enterprise Manager 服务器以使更改生效。请参见Enterprise Manager ��֪ʶ

减少重复的警报

在某些情况下,可能会在短时间内生成大量警报。例如,在系统发生故障并反复尝试处理消息的情况下。

您可以使用一个属性来减少显示的警报数。该属性的值以毫秒为单位。默认值为 5000(相当于 5 秒)。如果在此期间内收到某个警报的多个实例,则仅显示该警报的一个实例。

警报详细信息字段开头添加了一个字符串,该字符串指示处理的重复警报数。例如:


[3x] Collaboration CMap1_jcdFileToJMS1 is RUNNING

Procedure减少重复的警报

  1. 打开 JavaCAPS-install-dir/emanager/server/conf 目录中的 monitor.properties 文件。

  2. timeInCache 属性值更改为所需的毫秒数。

  3. 保存 monitor.properties 文件。

  4. 重新启动 Enterprise Manager 服务器。