Sun Java Enterprise System 5 监视指南

第 2 章 启用和配置 Monitoring Framework

Java ES 监视的工作方式中所述,Monitoring Framework 可为每个受监视的组件提供所需的程序设备和节点代理。因此,Monitoring Framework 是一个共享组件,在使用 Java Enterprise System 安装程序安装受监视的组件时,会自动安装它。

但是,默认情况下,许多受监视的组件没有启用监视功能,并且某些组件需要进一步配置才能显示在节点代理中。对于已安装的各个产品组件,请按照本章中的过程进行操作。


注 –

执行本章中的任何过程之前,建议安装和配置要在指定主机上运行的所有产品组件。进行任何安装或配置之前,应参阅《适用于 UNIX 的 Sun Java Enterprise System 5 发行说明》

这些过程使用了 mfwksetup 命令(一般无需此命令,因而未记录)。


本章包括以下各节:

安装的目录布局

Monitoring Framework 是一种共享组件,可在需要时自动进行安装。有关操作系统中安装的软件包的名称,请参见《适用于 UNIX 的 Sun Java Enterprise System 5 安装参考》中的第 5  章 “可安装软件包列表”。下表介绍了 Monitoring Framework 软件包中的目录。默认安装目录 mfwk-base 具有以下含义,如默认路径和文件名中所述:

表 2–1 Monitoring Framework 使用的目录

路径 

内容说明 

mfwk-base/config

配置文件模板 

Solaris 系统:mfwk-base/lib

Linux 系统:mfwk-base/share/lib

Java 归档文件 (.jar)

Solaris 系统:mfwk-base/lib

Linux 系统:mfwk-base/share/lib

32 位运行时库文件 (.so)

Solaris SPARC® 系统:mfwk-base/lib/sparcv9

Solaris x86 系统:mfwk-base/amd64

Linux 系统:mfwk-base/lib64

64 位运行时库文件 (.so)

mfwk-base/bin

公共脚本和专用二进制文件 

mfwk-base/mib

Monitoring Framework 支持的 SNMP MIB 的文本版本 

mfwk-base/xml

代理和主代理的 Common Agent Container 描述符模板(通过 mfwksetup 命令部署)

mfwk-base/dtd

OSS/J 功能的 DTD 文件 

/etc/mfwk-base/config

配置文件,包括与安全性相关的文件 

/etc/mfwk-base/xml

代理和示例的 Common Agent Container 描述符 

/var/mfwk-base/logs

Monitoring Framework 日志文件 

/var/mfwk-base/reports

用于监视规则报告的基目录 

/var/mfwk-base/alarms

报警文件的系统信息库 

在 Access Manager 中使用 Monitoring Framework

默认情况下,Access Manager 中会启用监视功能,但由于受到限制,受监视的对象无法显示在 Monitoring Console 中。

有关可以监视的对象和属性的列表,请参见Access Manager 的程序设备

Procedure在 Access Manager 中启用监视功能

  1. 使用以下命令在 Access Manager 中临时禁用监视功能:


    cacaoadm unregister-module com.sun.cmm.am.xml
    cacaoadm restart
  2. 打开 Access Manager XML 描述符文件进行编辑:


    vi /etc/AccessMgr-base/config/com.sun.cmm.am.xml
  3. 找到包含以下内容的行:


    <param-name>Product Name</param-name>
    <param-value>Access Manager</param-value>

    然后将第二行修改为:


    <param-value>Java ES Access Manager</param-value>

    保存该文件并退出编辑器。

  4. 注册已修改的 XML 模块:


    mfwk-base/bin/mfwksetup -u /etc/AccessMgr-base/config/com.sun.cmm.am.xml
    mfwk-base/bin/mfwksetup -r /etc/AccessMgr-base/config/com.sun.cmm.am.xml
  5. 重新启动 Common Agent Container:


    cacaoadm restart
故障排除

由于未对第三方 Web 容器进行行为测试,因此在 Websphere 或 Weblogic 中部署 Access Manager 时,默认情况下会禁用监视功能。尽管不支持此配置,仍可以按照有选择地禁用和重新启用监视中所述启用监视功能。

在 Application Server 中使用 Monitoring Framework

有关可以监视的对象和属性的列表,请参见Application Server 的程序设备

Procedure在 Application Server 中启用监视功能

  1. 编辑文件 /var/AppServer-base/domains/domain1/config/domain.xml,并将所有 module-monitoring-level 设置从 OFF 更改为 HIGH。或者:

    1. 登录到位于 https:// hostname:4849 的 Application Server 管理控制台

    2. 选择“配置”,然后选择“server-config (管理配置)”

    3. 将“监视”值设置为 HIGH

    4. 将所有其他值都设置为 HIGH

  2. 使用以下命令重新启动 Application Server:


    cd AppServer-base/appserv/bin
    asadmin stop-domain domain1
    asadmin start-domain user myUser domain1

    出现提示后,输入 myUser 的密码。

  3. 如果使用 Application Server 对 Portal Server 实例进行了部署和监视,重新启动 Application Server 将会影响 Portal Server 监视。要使 Portal Server 实例显示在 Monitoring Console 中,必须在浏览器中访问门户页面。例如,加载页面 http://portalserv.example.com:8080/portal 以便允许监视 portalserv.example.com

故障排除

由于受到限制,当 Application Server 崩溃或关闭时,将从 Monitoring Framework 中删除 Application Server 的受监视对象。如果出现这种情况,Application Server 将从 Monitoring Console 中消失,从而无法再受到监视。

在 Calendar Server 中使用 Monitoring Framework

有关可以监视的对象和属性的列表,请参见Calendar Server 的程序设备

Procedure在 Calendar Server 中启用监视功能

  1. 编辑 ics.conf 文件:


    vi CalServ-base/cal/config/ics.conf
  2. 添加以下行:


    local.mfagent.enable="yes"
  3. 注册 Calendar Server XML 模块:


    mfwk-base/bin/mfwksetup -r /opt/SUNWics5/cal/lib/com.sun.cmm.cs.xml
  4. 按如下所示设置 LD_LIBRARY_PATH 环境变量:


    LD_LIBRARY_PATH=mfwk-base/lib:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH
  5. 重新启动 Calendar Server:


    cd CalServ-base/cal/sbin/
    ./stop-cal
    ./start-cal
  6. 重新启动 Common Agent Container:


    cacaoadm restart

在 Directory Server 中使用 Monitoring Framework

有关可以监视的对象和属性的列表,请参见Directory Server 的程序设备

Procedure在 Directory Server 中启用监视功能

  1. 创建一个临时的密码文件:


    echo –n password > /tmp/pwd
  2. 使用以下命令启用监视插件:


    DirServ-base/ds6/bin/dscfg enable-plugin -e -p 389 -w /tmp/pwd  "Monitoring Plugin"
  3. 重新启动 Directory Server:


    cd DirServ-base/ds6/bin
    ./dsadm restart /var/DirServ-base/DSinstance/

在 Instant Messaging 中使用 Monitoring Framework

有关可以监视的对象和属性的列表,请参见Instant Messaging 的程序设备

Procedure在 Instant Messaging 中启用监视功能

  1. 打开 Instant Messaging XML 描述符文件进行编辑:


    vi /etc/IM-base/default/com.sun.cmm.im.xml
  2. 将安装位置由 IM-base 更改为 /etc/IM-base/default

  3. 注册修改的 Instant Messaging XML 描述符:


    mfwk-base/bin/mfwksetup -r /etc/IM-base/default/com.sun.cmm.im.xml
  4. 通过在文件 IM-base/config/iim.conf 中添加以下行来启用程序设备:


    iim_server.monitor.enable = true
  5. 使用以下命令重新启动 Instant Messaging:


    cd IM-base/sbin
    ./imadmin stop
    ./imadmin start
  6. 重新启动 Common Agent Container:


    cacaoadm restart

在 Messaging Server 中使用 Monitoring Framework

有关可以监视的对象和属性的列表,请参见Messaging Server 的程序设备

Procedure在 Messaging Server 中启用监视功能

  1. 使用以下命令启用程序设备:


    MsgServ-base/sbin/configutil -o local.mfagent.enable -v 1
  2. 注册 Messaging Server XML 模块:


    mfwk-base/bin/mfwksetup -r MsgServ-base/lib/com.sun.cmm.ms.xml
  3. 重新启动 Messaging Server:


    cd MsgServ-base/sbin
    ./stop-msg
    ./start-msg
  4. 重新启动 Common Agent Container:


    cacaoadm restart

在 Portal Server 中使用 Monitoring Framework

有关可以监视的对象和属性的列表,请参见Portal Server 的程序设备

Procedure在 Portal Server 中启用监视功能

    要启用 Portal Server,用户必须登录到


    http://FullHostname:8080/portal/dt

    这将会编译门户 JSP,以创建可以监视的门户实例。

故障排除

每次重新启动托管 Portal Server 的 Application Server 时,都必须按照此过程手动重新启用监视功能。

在 Web Server 中使用 Monitoring Framework

有关可以监视的对象和属性的列表,请参见Web Server 的程序设备

Procedure在 Web Server 中启用监视功能

  1. 使用以下命令启动 Web Server:


    cd /var/WebServer-base/https-FullHostname/bin
    ./startserv
  2. 启动管理服务器:


    cd /var/WebServer-base/admin-server/bin
    ./startserv

设置 Common Agent Container

Common Agent Container 是另一个共享组件,也是 Monitoring Framework 赖以运行节点代理的共享组件。Common Agent Container 可能会停止并需要重新启动,具体取决于安装顺序。另外,已经为 Common Agent Container 提供了程序设备,也可以对其进行监视。有关受监视对象的说明,请参见Common Agent Container 的程序设备

要检查是否已启动 Common Agent Container 和节点代理,请运行以下命令:


cacaoadm status

如果显示类似以下内容的消息,则表明节点代理正在运行:


default instance is DISABLED at system startup.
Smf monitoring process:
26996
Uptime: 0 day(s), 0:57

如果显示类似以下内容的消息,则表明节点代理没有运行:


default instance is DISABLED at system startup.
default instance is not running.

Procedure启用对 Common Agent Container 的监视

Common Agent Container 是一个共享组件,具有用来允许监视的程序设备。如节点代理中所述,主机或区域中的所有 Java ES 组件都共享 Common Agent Container 和节点代理。请以超级用户身份在部署中要监视 Common Agent Container 的每个逻辑主机上执行此任务。

  1. 如果 Common Agent Container 正在运行,请使用以下命令将其停止:


    cacaoadm stop
  2. 启用该容器本身的程序设备:


    cacaoadm set-param enable-instrumentation=true
  3. 检查刚设置的参数的值,然后重新启动 Common Agent Container:


    cacaoadm get-param enable-instrumentation
    cacaoadm start
  4. 创建密钥密码:


    echo –n password > /etc/mfwk-base/config/security/password.cacao
  5. 生成密钥:


    mfwk-base/bin/cpgenkey -n cacao -p /etc/mfwk-base/config/security/password.cacao
  6. 注册 Common Agent Container 自己的监视模块:


    cacaoadm register-module /usr/lib/cacao/ext/instrum/config/com.sun.cacao.instrum.xml
    cacaoadm register-module /usr/lib/cacao/ext/instrum_jesmf/config/com.sun.cacao.instrum.jesmf.xml
    cacaoadm register-module /usr/lib/cacao/ext/instrum_jesmf/config/com.sun.cacao.cmm.xml

Monitoring Framework 故障排除

另请参见《适用于 UNIX 的 Sun Java Enterprise System 5 发行说明》中列出的已知问题。

在 HP-UX 平台上使用 Monitoring Framework

默认情况下,不会为 Monitoring Framework 所需的大量任务处理优化 HP-UX 上的 Java 虚拟机 (Java Virtual Machine, JVM),因此可能导致 OutOfMemory 异常。要配置 JVM,请从以下位置下载并运行 HPjconfig 工具:http://h21007.ww2.hp.com/dspp/tech/tech_TechDocumentDetailPage_IDX/1,1701,1620,00.html

在 Microsoft Windows 上使用 Monitoring Framework

完全支持通过 Monitoring Framework 在 Windows 平台上监视 Java ES 组件,但与 HP-UX 平台相比,存在某些差异。例如,为避免某些已知问题,必须升级到 Java 1.5 或更高版本。有关其他已知问题,请参见《Sun Java Enterprise System 5 Release Notes for Microsoft Windows 》

Procedure重新启动节点代理

如果需要重新启动托管某节点代理的 Common Agent Container,则在执行以下过程之前,通过该节点代理监视的组件在 Monitoring Console 中将是不可见的:

  1. 重新启动托管节点代理的 Common Agent Container:


    cacaoadm restart
  2. 重新启动托管代理的 Common Agent Container。主代理在主机的 Monitoring Framework 或安装了 Monitoring Console 的区域中运行。


    cacaoadm restart

    主代理将自动与先前监视的所有节点代理重新连接。

  3. 重新启动托管 Monitoring Console 的 Web 服务器:


    /usr/sbin/smcwebserver restart

mfwkadm 命令

本节复制了 mfwkadm 命令(手册页 1M 一节中的一种维护命令)的手册页。使用此命令可以管理节点代理的内容,包括所监视组件的全部模块以及在此节点上定义的所有监视规则(也称为作业)。为与本文档中使用的术语和说明相符,已在此处对该手册页中的某些术语和说明进行了修改。

概要

mfwkadm --help
mfwkadm start
mfwkadm stop
mfwkadm restart
mfwkadm list-params
mfwkadm list-modules
mfwkadm info runningInstance

性能监视

mfwkadm pm-job observable-classes
mfwkadm pm-job observable-objects [class=objectClass] [domain= objectDomain]
mfwkadm pm-job observable-attributes class=objectClass
mfwkadm pm-job list
mfwkadm pm-job info jobName
mfwkadm pm-job create jobName granularity=integerValue object=objectName [object=objectName ...]
mfwkadm pm-job delete jobName
mfwkadm pm-job suspend jobName
mfwkadm pm-job resume jobName

操作状态监视

mfwkadm opstat-job observable-classes
mfwkadm opstat-job observable-objects [class=objectClass] [domain= objectDomain]
mfwkadm opstat-job observable-attributes class= objectClass
mfwkadm opstat-job list
mfwkadm opstat-job info jobName
mfwkadm opstat-job create jobName granularity= integerValue object=objectName [object=objectName ...]
mfwkadm opstat-job delete jobName
mfwkadm opstat-job suspend jobName
mfwkadm opstat-job resume jobName

阈值监视

mfwkadm thrsh-job observable-classes
mfwkadm thrsh-job observable-objects [class=objectClass] [domain= objectDomain]
mfwkadm thrsh-job observable-attributes class=objectClass
mfwkadm thrsh-job list
mfwkadm thrsh-job info jobName
mfwkadm thrsh-job create jobName granularity=integerValue attributeName=attributeName attributeType=attributeType thresholdValue=thresholdValue thresholdOffset=offsetValue thresholdDirection=[ RISING | FALLING ] object=objectName
mfwkadm thrsh-job delete jobName
mfwkadm thrsh-job suspend jobName
mfwkadm thrsh-job resume jobName

说明

mfwkadm 实用程序是一种管理 Monitoring Framework 代理(也称为节点代理)的命令行界面。该节点代理在 Common Agent Container 中运行。mfwkadm 实用程序可用于停止并重新启动节点代理,以及管理所执行的监视作业。应从正在运行节点代理的同一主机上运行此命令。必须遵从此处显示的此命令的参数顺序。

要更改输出消息的语言,请将 LC_MESSAGE 环境变量设置为您使用的语言环境mfwkadm 命令将使用 lib/resources 目录中名为 JesmfMessages_locale.pm 的文件包含的消息。如果语言环境没有对应的消息文件或者未指定语言环境,mfwkadm 命令将使用 JesmfMessages.pm 文件中默认的消息集。

mfwkadm 实用程序具有以下子命令。带有星号 (*) 标记的子命令需要运行 Common Agent Container 以及加载节点代理。

启动节点代理后,要经过几秒钟至几分钟的延迟才可以使用 mfwkadm 实用程序,具体取决于要装入的 Common Agent Container 模块的数量。如果在此期间使用命令,将会失败,并显示一条显式消息。

选项

支持以下选项:

--help

显示用法摘要。

子命令

start

启动 Monitoring Framework 节点代理及其关联的组件产品模块,而不停止 Common Agent Container。

此操作首先在 Common Agent Container 中部署节点代理,然后部署关联的组件产品模块。此工具是一种包装器,其优先级高于 cacaoadm 实用程序的 lockundeploy 子命令。

start 子命令仅启动与 Monitoring Framework 关联的节点代理和 Java ES 组件模块。组件模块的前缀为 com.sun.cmm

安全性:start 子命令只能由启动了 Common Agent Container 的用户来运行。否则,将会显示类似以下内容的错误消息:


Error occured in mfwkadm
Problem running /usr/sbin/cacaoadm unlock com.sun.mfwk 2>&1.
Stdout/Stderr: This command must be run by user: [root].
stop

停止 Common Agent Container 中的 Monitoring Framework 节点代理及其关联的 Java ES 组件模块。

此操作将首先停止 Common Agent Container 中部署的所有 Java ES 组件模块,然后停止节点代理。此工具是一种包装器,其优先级高于 cacaoadmlockunlock 子命令。

stop 子命令仅停止与 Monitoring Framework 关联的那些 Java ES 组件模块,然后停止节点代理本身。组件模块的前缀为 com.sun.cmm

安全性:stop 子命令只能由启动了 Common Agent Container 的用户来运行。否则,将会显示类似以下内容的错误消息:


Error occured in mfwkadm
Problem running /usr/sbin/cacaoadm unlock com.sun.mfwk 2>&1.
Stdout/Stderr: This command must be run by user: [root].
restart

重新启动 Common Agent Container 中的 Monitoring Framework 节点代理及其关联的 Java ES 组件模块。

此操作将尝试先停止 Common Agent Container 中的节点代理及其关联模块,然后再启动它们,其方式与 stopstart 子命令相同。

安全性:restart 子命令只能由启动了 Common Agent Container 的用户来运行。否则,将会显示类似以下内容的错误消息:


Error occured in mfwkadm
Problem running //usr/sbin/cacaoadm unlock com.sun.mfwk 2>&1.
Stdout/Stderr: This command must be run by user: [root].
list-params

列出与 Monitoring Framework 节点代理相关的所有配置参数。

安全性:此命令不存在任何用户限制。

list-modules

显示实现通用监视模型 (Common Monitoring Model, CMM) 以及加载到 Common Agent Container 中的那些组件产品模块的列表。此子命令还将列出每个已安装的 Java ES 组件的所有正在运行的实例。每个组件都可以拥有零个、一个或多个正在运行的实例。

安全性:对于非启动 Common Agent Container 的用户,已安装的 Java ES 组件列表不包括组件实例。

info runningInstance

显示有关指定 runningInstance 的信息。runningInstance 必须与 list-modules 子命令输出中列出的正在运行的实例匹配。

显示的信息包括:

  • 对于每种监视作业,显示与正在运行的实例关联的所有可观察对象(按其类名排序)。可观察对象即可以分别使用 pm-jobopstat-jobthrsh-job 子命令对其创建性能监视作业、操作状态作业或阈值监视作业的对象。

  • 对于每类可观察对象,显示其所有可观察属性,包括每类对象的名称和类型。

安全性:对于非启动 Common Agent Container 的用户,不会显示任何信息。

性能监视

pm-job observable-classes

显示可为其创建性能监视作业的对象的所有当前可观察类列表。

pm-job observable-objects [class= objectC lass] [domain=objectDomain]

显示可以创建性能监视作业的所有当前可观察对象的列表。默认情况下,将会列出所有可观察类的所有对象以及每个域中的所有对象。对象列表按其类名排序。

class=objectClass

指定可选的 objectClass 可将输出限制为该特定类的可观察对象。objectClass 必须为通过 pm-job observable-classes 子命令列出的类之一。

domain=objectDomain

指定可选的 objectDomain 可将输出限制为该域中的可观察对象。对象的域为对象的名称中冒号 (":") 字符前面的字符串。

pm-job observable-attributes class=objectClass

显示指定的 objectClass 的所有可观察属性的列表。将显示属性及其名称和类型。objectClass 必须为支持性能监视作业的类(使用 pm-job observable-classes 子命令可以列出这些类)之一。

pm-job list

显示所有当前定义的性能监视作业的列表。作业将针对具有定义的性能作业的每个对象列出,并且对象按其类名排序。显示的有关每个作业的信息与通过 pm-job info 子命令显示的信息相同。

安全性:对于非启动 Common Agent Container 的用户,不会显示任何作业。

pm-job info jobName

显示有关名为 jobName 的性能监视作业的详细信息。jobName 必须为通过 pm-job list 子命令显示的作业。此子命令显示的信息如下:

  • 性能监视作业的名称。

  • 性能监视作业的类型(“按对象分类”或“按类分类”)。按对象分类的作业监视一个或多个指定的对象实例,而按类分类的作业监视对象类的每个实例。请注意,无法使用 mfwkadm 实用程序创建按类分类的作业。

  • 性能监视作业的状态:活动在工作 (active on-duty)、活动未工作 (active off-duty) 或已暂停(suspended)。活动在工作的作业当前已预定运行并正在收集数据。活动未工作的作业正在运行,但没有收集数据,因为当前时间不在其工作调度内。已暂停的作业没有运行,也没有收集任何数据。使用 pm-job suspendpm-job resume 子命令可以更改性能监视作业的运行状态。

  • 性能监视作业的粒度(以秒为单位)。这是此作业的数据收集时间间隔。

  • 监视作业的报告周期。报告周期乘以粒度等于通知频率。例如,如果粒度周期为 10 秒,报告周期为 6,按事件报告的作业将每 10 秒收集一次数据,并且每 60 秒 (10*6) 发送一个包含 6 份报告的通知。如果该作业同时按文件报告,则还会每 60 秒发送一个包含 6 个所生成文件的位置的事件。

  • 性能监视作业是否在按事件进行报告。这意味着,性能监视作业的结果将以通知方式发送至注册的客户机。

  • 性能监视作业是否在按文件进行报告。这意味着,性能监视作业的报告将写入本地文件,并且包含文件名的通知将发送至注册的客户机。

  • 性能监视作业的报告格式,该格式始终为 XML

  • 性能监视作业的调度。该调度指定在什么日期和时间,作业处于活动在工作状态或活动未工作状态(收集数据或不收集数据)。

对于按对象分类的作业:

  • 被观察对象的列表,按名称排序。

  • 如果仅指定了可观察属性的子集,将按名称和类型列出被观察对象的被观察属性。

对于按类分类的作业:

  • 被观察类的列表,按名称排序。

  • 如果仅指定了可观察属性的子集,将按名称和类型列出被观察类的被观察属性。这些属性为所有类公用。

安全性:对于非启动 Common Agent Container 的用户,不会显示任何信息。

pm-job create jobName granularity= integerValue object=objectName [object= objectName ...]

在一个或多个对象上创建新的性能监视作业。mfwkadm 命令无法创建按类分类的作业。创建性能监视作业时,可以设置以下参数:

jobName

唯一标识性能监视作业的字符串。jobName 不能已被任何其他性能监视作业使用。

granularity=integerValue

当作业处于活动在工作状态时,连续两次启动测量数据收集之间的指定时间(以秒为单位)。粒度周期示例可以是 300 秒(5 分钟)、900 秒(15 分钟)、1800 秒(每半小时)或 3600 秒(每小时)。在大多数情况下,300 秒的粒度周期就足够了。对于某些测量,采用更大的粒度周期收集数据可能更有意义。

object=objectName [object= objectName ...]

性能监视作业将收集其数据并进行报告的一个或多个可观察对象。objectName 必须为通过 pm-job listpm-job observable-objects 子命令显示的对象。指定多个 object= objectName 参数将会创建一个监视多个对象的性能监视作业。

安全性:此子命令只能由启动了 Common Agent Container 的用户来运行。

pm-job delete jobName

删除名为 jobName 的性能监视作业。jobName 必须为通过 pm-job list 子命令显示的作业。

安全性:此子命令只能由启动了 Common Agent Container 的用户来运行。

pm-job suspend jobName

暂停名为 jobName 的性能监视作业。无论已暂停的作业的调度如何,该作业都处于非活动状态并不再收集数据。但是,该作业将保持已定义状态,并且可以通过 pm-job resume 子命令重新激活。jobName 必须为通过 pm-job list 子命令显示的作业之一。

安全性:此子命令只能由启动了 Common Agent Container 的用户来运行。

pm-job resume jobName

恢复名为 jobName 的性能监视作业。恢复的作业将根据其调度开始收集数据并发送报告。jobName 必须为通过 pm-job list 子命令显示的作业之一。此子命令与 pm-job suspend 子命令对应。

安全性:此子命令只能由启动了 Common Agent Container 的用户来运行。

操作状态监视

opstat-job observable-classes

显示可以为其创建操作状态监视作业的对象的所有当前可观察类的列表。

opstat-job observable-objects [class= objectClass] [domain=objectDomain]

显示可以创建操作状态监视作业的所有当前可观察对象的列表。默认情况下,将会列出所有可观察类的所有对象以及每个域中的所有对象。对象列表按其类名排序。

class=objectClass

指定可选的 objectClass 可将输出限制为该特定类的可观察对象。objectClass 必须为通过 opstat-job observable-classes 子命令列出的类之一。

domain=objectDomain

指定可选的 objectDomain 可将输出限制为该域中的可观察对象。对象的域为对象的名称中冒号 (“:”) 字符前面的字符串。

opstat-job observable-attributes class= objectClass

显示指定的 objectClass 的所有可观察属性的列表。将显示属性的名称和类型。objectClass 必须为通过 opstat-job observable-classes 子命令列出的类之一。

opstat-job list

显示所有当前定义的操作状态监视作业的列表。作业将针对具有定义的操作状态作业的每个对象列出,并且对象按其类名排序。显示的有关每个作业的信息与通过 opstat-job info 子命令显示的信息相同。

安全性:对于非启动 Common Agent Container 的用户,不会显示任何作业。

opstat-job info jobName

显示有关名为 jobName 的操作状态监视作业的详细信息。jobName 必须为通过 opstat-job list 子命令显示的作业。此子命令显示的信息如下:

  • 操作状态监视作业的名称。

  • 操作状态监视作业的类型(“按对象分类”或“按类分类”)。按对象分类的作业监视指定的对象实例,而按类分类的作业监视对象类的每个实例。请注意,无法使用 mfwkadm 实用程序创建按类分类的作业。

  • 操作状态监视作业的状态:活动在工作 (active on-duty)、活动未工作 (active off-duty) 或已暂停(suspended)。活动在工作的作业当前已预定运行并正在收集数据。活动未工作的作业正在运行,但未收集数据,因为当前时间不在其工作调度内。已暂停的作业没有运行,也没有收集任何数据。使用 opstat-job suspendopstat-job resume 子命令可以更改操作状态监视作业的运行状态。

  • 操作状态监视作业的粒度(以秒为单位)。这是此作业的数据收集时间间隔。

  • 操作状态监视作业是否在按事件进行报告。这意味着,操作状态监视作业的结果将以通知方式发送至注册的客户机。

  • 操作状态监视作业是否在按文件进行报告。这意味着,操作状态监视作业的报告将写入本地文件,并且包含文件名的通知将发送至注册的客户机。

  • 操作状态监视作业的报告格式,该格式始终为 XML

  • 操作状态监视作业的调度。该调度指定在什么日期和时间,作业处于活动在工作状态或活动未工作状态(收集数据或不收集数据)。

  • 对于按对象分类的作业,显示被观察对象的列表,按名称排序。

  • 对于按类分类的作业,显示被观察类的列表,按名称排序。

安全性:对于非启动 Common Agent Container 的用户,不会显示任何信息。

opstat-job create jobName granularity= integerValue object=objectName [object= objectName ...]

在一个或多个对象上创建新的操作状态监视作业。mfwkadm 命令无法创建按类分类的作业。创建性能监视作业时,可以设置以下参数:

jobName

唯一标识操作状态监视作业的字符串。jobName 不能已被任何其他操作状态监视作业使用。

granularity=integerValue

当作业处于活动在工作状态时,连续两次启动测量数据收集之间的指定时间(以秒为单位)。

object=objectName [object= objectName ...]

操作状态监视作业将收集其数据并报告的一个或多个可观察对象。objectName 必须为通过 opstat-job listopstat-job observable-objects 子命令显示的对象。指定多个 object= objectName 参数将会创建一个监视多个对象的操作状态作业。

安全性:此子命令只能由启动了 Common Agent Container 的用户来运行。

opstat-job delete jobName

删除名为 jobName 的操作状态监视作业。jobName 必须为通过 opstat-job list 子命令显示的作业。

安全性:此子命令只能由启动了 Common Agent Container 的用户来运行。

opstat-job suspend jobName

暂停名为 jobName 的操作状态监视作业。无论已暂停的作业的调度如何,该作业都处于非活动状态并将不再收集数据。但是,该作业将保持已定义状态,并且可以通过 opstat-job resume 子命令重新激活。jobName 必须为通过 opstat-job list 子命令显示的作业。

安全性:此子命令只能由启动了 Common Agent Container 的用户来运行。

opstat-job resume jobName

恢复名为 jobName 的操作状态监视作业。恢复的作业将根据其调度开始收集数据并发送报告。jobName 必须为通过 opstat-job list 子命令显示的作业。此子命令与 opstat-job suspend 子命令对应。

安全性:此子命令只能由启动了 Common Agent Container 的用户来运行。

阈值监视

thrsh-job observable-classes

显示可以为其创建阈值监视作业的对象的所有当前可观察类的列表。

thrsh-job observable-objects [class= objectClass] [domain=objectDomain]

显示可以为其创建阈值监视作业的所有当前可观察对象的列表。默认情况下,将会列出所有可观察类的所有对象以及每个域中的所有对象。对象列表按其类名排序。

class=objectClass

指定可选的 objectClass 可将输出限制为该特定类的可观察对象。objectClass 必须为通过 thrsh-job observable-classes 子命令列出的类之一。

domain=objectDomain

指定可选的 objectDomain 可将输出限制为该域中的可观察对象。对象的域为对象的名称中冒号 (“:”) 字符前面的字符串。

thrsh-job observable-attributes class=objectClass

显示指定的 objectClass 的所有可观察属性的列表。将显示属性的名称和类型。objectClass 必须为通过 thrsh-job observable-classes 子命令列出的类之一。

thrsh-job list

显示所有当前定义的阈值监视作业的列表。作业将针对具有定义的阈值作业的每个对象列出,并且对象按其类名排序。显示的有关每个作业的信息与通过 thrsh-job info 子命令显示的信息相同。

安全性:对于非启动 Common Agent Container 的用户,不会显示任何作业。

thrsh-job info jobName

显示有关名为 jobName 的阈值监视作业的详细信息。jobName 必须为通过 thrsh-job list 子命令显示的作业。此子命令显示的信息如下:

  • 阈值监视作业的名称。

  • 阈值监视作业的多样性。在此版本中,仅允许使用监视一个对象的一种属性的简单阈值作业。

  • 阈值监视作业的状态:活动在工作 (active on-duty)、活动未工作 (active off-duty) 或已暂停(suspended)。活动在工作的作业当前已预定运行并正在收集数据。活动未工作的作业正在运行,但未收集数据,因为当前时间不在其工作调度内。已暂停的作业没有运行,也没有收集任何数据。使用 thrsh-job suspendthrsh-job resume 子命令可以更改阈值监视作业的运行状态。

  • 阈值监视作业的粒度(以秒为单位)。这是此作业的数据收集时间间隔。

  • 阈值监视作业的调度。该调度指定在什么日期和时间,作业处于活动在工作状态或活动未工作状态(收集数据或不收集数据)。

  • 阈值监视作业的报警配置。此报警将在受监视的属性的被观察值超出定义的阈值时触发。显示内容包括报警的类型和严重性。

  • 阈值监视作业的被观察对象。

  • 对其应用阈值的属性名称。

  • 触发报警的阈值。

  • 在达到阈值时将触发报警的值的变化方向(RISINGFALLING)。

  • 阈值的容错偏移。如果方向为 RISING,则直到被观察属性的值小于 thresholdValue-offsetValue 时才会再次触发报警。如果方向为 FALLING,则直到被观察属性的值大于 thresholdValue+offsetValue 时才会再次触发报警。即使该偏移为零,此行为也适用。

安全性:对于非启动 Common Agent Container 的用户,不会显示任何信息。

thrsh-job create jobName object= objectName granularity=integerValue attributeName= attributeName attributeType=attributeType thresholdValue= thresholdValue thresholdOffset=offsetValue thresholdDirection= [RISING|FALLING]

创建监视一个对象的一种属性的新阈值监视作业。创建阈值作业时,可以设置以下参数:

jobName

唯一标识阈值监视作业的字符串。jobName 不能已被任何其他阈值监视作业使用。

object=objectName

阈值监视作业将收集其属性值以便与阈值进行比较的可观察对象。objectName 必须为通过 thrsh-job listthrsh-job observable-objects 子命令显示的对象。

granularity=integerValue

当作业处于活动在工作状态时,连续两次启动属性值观察之间的指定时间(以秒为单位)。

attributeName=attributeName

阈值监视作业将收集其值并与阈值进行比较的属性的名称。attributeName 必须通过 thrsh-job infothrsh-job observable-attributes 子命令列出。

attributeType=attributeType

要监视的可观察属性的类型。attributeType 必须通过 thrsh-job infothrsh-job observable-attributes 子命令列出。

thresholdValue=thresholdValue

导致此阈值作业在按 thresholdDirection 指定的方向超出时触发报警的受监视属性的值。

thresholdOffset=offsetValue

offsetValue 确定在触发连续的报警时阈值作业的容错。offsetValue 必须为零或正值。触发某个报警事件后,直到受监视的属性的值超出 offsetValuethresholdDirection 定义的范围时才会触发新的报警事件。

thresholdDirection=[RISING|FALLING]

如果方向为 RISING,则直到被观察属性的值小于 thresholdValue-offsetValue 时才会再次触发报警事件。如果方向为 FALLING,则直到被观察属性的值大于 thresholdValue+offsetValue 时才会再次触发报警事件。即使 offsetValue 为零,此行为也适用。

安全性:此子命令只能由启动了 Common Agent Container 的用户来运行。

thrsh-job delete jobName

删除名为 jobName 的阈值监视作业。jobName 必须为通过 thrsh-job list 子命令显示的作业。

安全性:此子命令只能由启动了 Common Agent Container 的用户来运行。

thrsh-job suspend jobName

暂停名为 jobName 的阈值监视作业。无论已暂停的作业的调度如何,该作业都处于非活动状态并将不再收集数据。但是,该作业将保持已定义状态,并且可以通过 thrsh-job resume 子命令重新激活。jobName 必须为通过 thrsh-job list 子命令显示的作业。

安全性:此子命令只能由启动了 Common Agent Container 的用户来运行。

thrsh-job resume jobName

恢复名为 jobName 的阈值监视作业。恢复的作业将根据其调度开始收集数据并发送报告。jobName 必须为通过 thrsh-job list 子命令显示的作业。此子命令与 thrsh-job suspend 子命令对应。

安全性:此子命令只能由启动了 Common Agent Container 的用户来运行。

示例

以下假定方案说明如何使用 mfwkadm 实用程序及其选项和子命令。

list-modules 子命令显示当前主机上的 Java ES 组件实例及其在 Common Agent Container 中的对应模块。以下示例列出了两个安装的组件:没有任何运行实例的 Directory Server 和具有一个运行实例的 Web Server。


$ mfwkadm list-modules

Installed products and their running instances:
==============================================

Instances for installed product: com.sun.cmm.ds:collectionID=/opt/SUNWdsee/ds6,
name=Sun Java(TM) System Directory Server,type=CMM_InstalledProduct
-------------------------------

No instance.

Instances for installed product: com.sun.cmm.ws:collectionID=/var/opt/SUNWwbsvr7,
name=WebServer,type=CMM_InstalledProduct
-------------------------------

/wsPrefix/com.sun.cmm.ws:name=https-hostname.example.com,type=CMM_ApplicationSystem

以下 info 子命令显示了 Web Server 实例的可观察对象以及在每种类型的作业中这些对象的类型和可观察属性。


$ mfwkadm info /wsPrefix/com.sun.cmm.ws:name=https-hostname.example.com,\\
type=CMM_ApplicationSystem

Information about running instance: /wsPrefix/com.sun.cmm.ws:
name=https-hostname.example.com,type=CMM_ApplicationSystem
==================================

Observable objects for performance jobs:
---------------------------------------

+ Objects of class: com.sun.cmm.settings.CMM_ApplicationSystemSetting

        /wsPrefix/com.sun.cmm.ws:name=https-hostname.example.com-setting,
type=CMM_ApplicationSystemSetting

        Observable attributes:

        Caption [STRING]
        ConfigurationDirectory [STRING]
        CreationClassName [STRING]
        Description [STRING]
        DirectoryName [STRING]
        ElementName [STRING]
        InstanceID [STRING]
        Name [STRING]
        URL [STRING]

+ Objects of class: com.sun.cmm.settings.CMM_KeepAliveSetting

        /wsPrefix/com.sun.cmm.ws:name=process-1-keepalive-setting,
type=CMM_KeepAliveSetting

        Observable attributes:

        AllocationUnit [STRING]
        Caption [STRING]
        ConnectionsUpperBound [LONG]
        CreationClassName [STRING]
        Description [STRING]
        ElementName [STRING]
        InputUnit [STRING]
        InstanceID [STRING]
        LowerAllocationLimit [LONG]
        LowerInputLimit [LONG]
        LowerOutputLimit [LONG]
        Name [STRING]
        OtherAllocationUnit [STRING]
        OtherInputUnit [STRING]
        OtherLowerAllocationLimit [LONG]
        OtherLowerInputLimit [LONG]
        OtherLowerOutputLimit [LONG]
        OtherOutputUnit [STRING]
        OtherUpperAllocationLimit [LONG]
        OtherUpperInputLimit [LONG]
        OtherUpperOutputLimit [LONG]
        OutputUnit [STRING]
        QueuedUpperBound [LONG]
        SecondsTimeout [LONG]
        TimeoutUpperBound [LONG]
        UpperAllocationLimit [LONG]
        UpperInputLimit [LONG]
        UpperOutputLimit [LONG]
        ...

以下命令显示了定义的性能监视作业的列表。在此示例中,包含一个称为 myPerfJob 的用于监视一个对象的性能作业:


$ mfwkadm pm-job list

BY_OBJECTS performance jobs:
===========================

Performance job information for: myPerfJob
-------------------------------

Type:                BY_OBJECTS
State:               ACTIVE_ON_DUTY
Granularity period:  30
Reporting period:    1
By event:            EVENT_SINGLE
By file:             EVENT_SINGLE
Report format:       XML
Schedule:           
        Global start time: Immediately
        Global stop time: Forever
        Weekly schedule: Everyday
        Daily schedule: All day
Observed objects:    
                /wsPrefix/com.sun.cmm.ws:name=virtualServer-hostname.example.com-
webApp-/-stats,type=CMM_VirtualServerWebModuleStats
Observed attributes: 
                All available

BY_CLASSES performance jobs:
===========================

No jobs found.

以下命令将创建一个与通过 opstat-job infoopstat-job observable-objects 子命令获取的两个可观察对象相关的操作状态监视作业:


$ mfwkadm opstat-job create myOpStatJob granularity=60 \\
object=/wsPrefix/com.sun.cmm.ws:name=process-1,type=CMM_UnixProcess \\
object=/wsPrefix/com.sun.cmm.ws:name=process-1-DNSCache1,type=CMM_DnsCache

以下命令将暂停上面创建的作业:


$ mfwkadm opstat-job suspend myOpStatJob

以下命令显示了潜在的阈值监视作业的可观察类:


$ mfwkadm thrsh-job observable-classes

Threshold jobs observable classes:
=================================

com.sun.cmm.cim.CIM_ScopedSettingData
com.sun.cmm.cim.CIM_SettingData
com.sun.cmm.cim.CIM_StatisticalData
com.sun.cmm.cim.statistics.CIM_EthernetPortStatistics
com.sun.cmm.cim.statistics.CIM_NetworkPortStatistics
com.sun.cmm.cim.statistics.j2ee.CIM_J2eeJVMStats
com.sun.cmm.cim.statistics.j2ee.CIM_J2eeStatistic
com.sun.cmm.settings.CMM_ApplicationSystemSetting
com.sun.cmm.settings.CMM_KeepAliveSetting
com.sun.cmm.settings.CMM_QueueTimeoutSetting
com.sun.cmm.settings.CMM_RFC2788ApplicationSystemSetting
com.sun.cmm.settings.CMM_ScopedSettingData
com.sun.cmm.settings.CMM_SoftwareResourceSetting
com.sun.cmm.settings.CMM_SWRBufferSetting
com.sun.cmm.settings.CMM_SWRLimitSetting
com.sun.cmm.settings.CMM_SWRQueueSetting
com.sun.cmm.settings.CMM_VirtualServerSetting
com.sun.cmm.statistics.CMM_ApplicationSystemStats
com.sun.cmm.statistics.CMM_ApplicationSystemWatchdogStats
com.sun.cmm.statistics.CMM_ConnectionQueueStats
com.sun.cmm.statistics.CMM_DnsCacheStats
com.sun.cmm.statistics.CMM_EthernetPortStats
com.sun.cmm.statistics.CMM_FileCacheStats
com.sun.cmm.statistics.CMM_HTTPResponsesStats
com.sun.cmm.statistics.CMM_JVMJSR174ExtStats
com.sun.cmm.statistics.CMM_JVMJSR174Stats
com.sun.cmm.statistics.CMM_JVMStats
com.sun.cmm.statistics.CMM_NetworkPortStats
com.sun.cmm.statistics.CMM_OperatingSystemStats
com.sun.cmm.statistics.CMM_ProcessorStats
com.sun.cmm.statistics.CMM_ProcessStats
com.sun.cmm.statistics.CMM_QueueTimeoutStats
com.sun.cmm.statistics.CMM_RFC2788ApplicationTableStats
com.sun.cmm.statistics.CMM_ServiceStats
com.sun.cmm.statistics.CMM_SoftwareResourceStats
com.sun.cmm.statistics.CMM_SolarisEthernetPortStats
com.sun.cmm.statistics.CMM_SolarisNetworkPortStats
com.sun.cmm.statistics.CMM_SolarisOperatingSystemStats
com.sun.cmm.statistics.CMM_SolarisProcessorStats
com.sun.cmm.statistics.CMM_SolarisProcessorSysinfoStats
com.sun.cmm.statistics.CMM_SolarisProcessorVmStats
com.sun.cmm.statistics.CMM_Statistic
com.sun.cmm.statistics.CMM_SWRBufferStats
com.sun.cmm.statistics.CMM_SWRCacheStats
com.sun.cmm.statistics.CMM_SWRLimitStats
com.sun.cmm.statistics.CMM_SWRQueueStats
com.sun.cmm.statistics.CMM_UnixOperatingSystemStats
com.sun.cmm.statistics.CMM_UnixProcessStats
com.sun.cmm.statistics.CMM_VirtualServerWebModuleStats
com.sun.cmm.statistics.CMM_WebModuleStats

以下命令显示了用于监视上例中 com.sun.cmm.statistics.CMM_SWRQueueStats 类的对象的阈值作业的可观察属性:


$ mfwkadm thrsh-job observable-attributes \\
class=com.sun.cmm.statistics.CMM_SWRQueueStats

Threshold jobs observable attributes:
====================================

Class: com.sun.cmm.statistics.CMM_SWRQueueStats

Attributes: 

BufferSize [LONG]
EntriesCount [LONG]
EntriesHighWaterMark [LONG]
EntriesLowWaterMark [LONG]
EntriesTotal [LONG]
ErrorCount [INTEGER]
FailedOperations [LONG]
LowerLimit [LONG]
OperationsCount [LONG]
OtherLowerLimit [LONG]
OtherUpperLimit [LONG]
OverflowsCount [LONG]
QueuedCount [LONG]
QueuedHighWater [LONG]
SampleInterval [LONG]
TotalQueuedCount [LONG]
UpperLimit [LONG]

以下命令是另一个作业创建示例,此处将创建一个阈值作业:


$ mfwkadm thrsh-job create myThreshJob granularity=30 \\
object=/wsPrefix/com.sun.cmm.ws:name=process-1-threadPool-NativePool-stats,\\
type=CMM_SWRQueueStats attributeName=EntriesCount attributeType=LONG \\
thresholdValue=1000 thresholdOffset=10 thresholdDirection=RISING

以下示例说明了上例中创建的阈值监视作业的 thrsh-job info 子命令的输出:


$ mfwkadm thrsh-job info myThreshJob

Threshold job information for: myThreshJob
-----------------------------

Type:                SIMPLE
State:               ACTIVE_ON_DUTY
Granularity period:  30
Schedule:           
        Global start time: Immediately
        Global stop time: Forever
        Weekly schedule: Everyday
        Daily schedule: All day
Alarm configuration:
                Type: QualityOfServiceAlarm
                Severity: INDETERMINATE
Threshold definition(s):
                Object: /wsPrefix/com.sun.cmm.ws:name=process-1-threadPool-
NativePool-stats,type=CMM_SWRQueueStats
                        Attribute: EntriesCount [LONG]
                        Value: 1000
                        Direction: RISING
                        Offset: 10

退出状态

返回的退出值如下:

0

成功完成

1

发生错误

属性

属性类型 

属性值 

可用性 

SUNWmfwk 

界面稳定性 

Contract Private 

另请参见

cacao.5、cacaoadm.1m