如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 具有以下含义,如默认路径和文件名中所述:
Solaris 系统:/opt/SUNWmfwk
Linux 系统:/opt/sun/mfwk
路径 |
内容说明 |
---|---|
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 Console 中。
有关可以监视的对象和属性的列表,请参见Access Manager 的程序设备。
使用以下命令在 Access Manager 中临时禁用监视功能:
cacaoadm unregister-module com.sun.cmm.am.xml cacaoadm restart |
打开 Access Manager XML 描述符文件进行编辑:
vi /etc/AccessMgr-base/config/com.sun.cmm.am.xml |
找到包含以下内容的行:
<param-name>Product Name</param-name> <param-value>Access Manager</param-value> |
然后将第二行修改为:
<param-value>Java ES Access Manager</param-value> |
保存该文件并退出编辑器。
注册已修改的 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 |
重新启动 Common Agent Container:
cacaoadm restart |
由于未对第三方 Web 容器进行行为测试,因此在 Websphere 或 Weblogic 中部署 Access Manager 时,默认情况下会禁用监视功能。尽管不支持此配置,仍可以按照有选择地禁用和重新启用监视中所述启用监视功能。
有关可以监视的对象和属性的列表,请参见Application Server 的程序设备。
编辑文件 /var/AppServer-base/domains/domain1/config/domain.xml,并将所有 module-monitoring-level 设置从 OFF 更改为 HIGH。或者:
使用以下命令重新启动 Application Server:
cd AppServer-base/appserv/bin asadmin stop-domain domain1 asadmin start-domain user myUser domain1 |
出现提示后,输入 myUser 的密码。
如果使用 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 的程序设备。
编辑 ics.conf 文件:
vi CalServ-base/cal/config/ics.conf |
添加以下行:
local.mfagent.enable="yes" |
注册 Calendar Server XML 模块:
mfwk-base/bin/mfwksetup -r /opt/SUNWics5/cal/lib/com.sun.cmm.cs.xml |
按如下所示设置 LD_LIBRARY_PATH 环境变量:
LD_LIBRARY_PATH=mfwk-base/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH |
重新启动 Calendar Server:
cd CalServ-base/cal/sbin/ ./stop-cal ./start-cal |
重新启动 Common Agent Container:
cacaoadm restart |
有关可以监视的对象和属性的列表,请参见Directory Server 的程序设备。
创建一个临时的密码文件:
echo –n password > /tmp/pwd |
使用以下命令启用监视插件:
DirServ-base/ds6/bin/dscfg enable-plugin -e -p 389 -w /tmp/pwd "Monitoring Plugin" |
重新启动 Directory Server:
cd DirServ-base/ds6/bin ./dsadm restart /var/DirServ-base/DSinstance/ |
有关可以监视的对象和属性的列表,请参见Instant Messaging 的程序设备。
打开 Instant Messaging XML 描述符文件进行编辑:
vi /etc/IM-base/default/com.sun.cmm.im.xml |
将安装位置由 IM-base 更改为 /etc/IM-base/default。
注册修改的 Instant Messaging XML 描述符:
mfwk-base/bin/mfwksetup -r /etc/IM-base/default/com.sun.cmm.im.xml |
通过在文件 IM-base/config/iim.conf 中添加以下行来启用程序设备:
iim_server.monitor.enable = true |
使用以下命令重新启动 Instant Messaging:
cd IM-base/sbin ./imadmin stop ./imadmin start |
重新启动 Common Agent Container:
cacaoadm restart |
有关可以监视的对象和属性的列表,请参见Messaging Server 的程序设备。
使用以下命令启用程序设备:
MsgServ-base/sbin/configutil -o local.mfagent.enable -v 1 |
注册 Messaging Server XML 模块:
mfwk-base/bin/mfwksetup -r MsgServ-base/lib/com.sun.cmm.ms.xml |
重新启动 Messaging Server:
cd MsgServ-base/sbin ./stop-msg ./start-msg |
重新启动 Common Agent Container:
cacaoadm restart |
有关可以监视的对象和属性的列表,请参见Portal Server 的程序设备。
要启用 Portal Server,用户必须登录到
http://FullHostname:8080/portal/dt |
这将会编译门户 JSP,以创建可以监视的门户实例。
每次重新启动托管 Portal Server 的 Application Server 时,都必须按照此过程手动重新启用监视功能。
有关可以监视的对象和属性的列表,请参见Web Server 的程序设备。
使用以下命令启动 Web Server:
cd /var/WebServer-base/https-FullHostname/bin ./startserv |
启动管理服务器:
cd /var/WebServer-base/admin-server/bin ./startserv |
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. |
Common Agent Container 是一个共享组件,具有用来允许监视的程序设备。如节点代理中所述,主机或区域中的所有 Java ES 组件都共享 Common Agent Container 和节点代理。请以超级用户身份在部署中要监视 Common Agent Container 的每个逻辑主机上执行此任务。
如果 Common Agent Container 正在运行,请使用以下命令将其停止:
cacaoadm stop |
启用该容器本身的程序设备:
cacaoadm set-param enable-instrumentation=true |
检查刚设置的参数的值,然后重新启动 Common Agent Container:
cacaoadm get-param enable-instrumentation cacaoadm start |
创建密钥密码:
echo –n password > /etc/mfwk-base/config/security/password.cacao |
生成密钥:
mfwk-base/bin/cpgenkey -n cacao -p /etc/mfwk-base/config/security/password.cacao |
注册 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 |
另请参见《适用于 UNIX 的 Sun Java Enterprise System 5 发行说明》中列出的已知问题。
默认情况下,不会为 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。
完全支持通过 Monitoring Framework 在 Windows 平台上监视 Java ES 组件,但与 HP-UX 平台相比,存在某些差异。例如,为避免某些已知问题,必须升级到 Java 1.5 或更高版本。有关其他已知问题,请参见《Sun Java Enterprise System 5 Release Notes for Microsoft Windows 》。
如果需要重新启动托管某节点代理的 Common Agent Container,则在执行以下过程之前,通过该节点代理监视的组件在 Monitoring Console 中将是不可见的:
重新启动托管节点代理的 Common Agent Container:
cacaoadm restart |
重新启动托管主代理的 Common Agent Container。主代理在主机的 Monitoring Framework 或安装了 Monitoring Console 的区域中运行。
cacaoadm restart |
主代理将自动与先前监视的所有节点代理重新连接。
重新启动托管 Monitoring Console 的 Web 服务器:
/usr/sbin/smcwebserver restart |
本节复制了 mfwkadm 命令(手册页 1M 一节中的一种维护命令)的手册页。使用此命令可以管理节点代理的内容,包括所监视组件的全部模块以及在此节点上定义的所有监视规则(也称为作业)。为与本文档中使用的术语和说明相符,已在此处对该手册页中的某些术语和说明进行了修改。
mfwkadm 实用程序是一种管理 Monitoring Framework 代理(也称为节点代理)的命令行界面。该节点代理在 Common Agent Container 中运行。mfwkadm 实用程序可用于停止并重新启动节点代理,以及管理所执行的监视作业。应从正在运行节点代理的同一主机上运行此命令。必须遵从此处显示的此命令的参数顺序。
要更改输出消息的语言,请将 LC_MESSAGE 环境变量设置为您使用的语言环境。mfwkadm 命令将使用 lib/resources 目录中名为 JesmfMessages_locale.pm 的文件包含的消息。如果语言环境没有对应的消息文件或者未指定语言环境,mfwkadm 命令将使用 JesmfMessages.pm 文件中默认的消息集。
mfwkadm 实用程序具有以下子命令。带有星号 (*) 标记的子命令需要运行 Common Agent Container 以及加载节点代理。
start
stop
restart
list-params (*)
list-modules (*)
info (*)
pm-job (*)
opstat-job (*)
thrsh-job (*)
启动节点代理后,要经过几秒钟至几分钟的延迟才可以使用 mfwkadm 实用程序,具体取决于要装入的 Common Agent Container 模块的数量。如果在此期间使用命令,将会失败,并显示一条显式消息。
支持以下选项:
显示用法摘要。
启动 Monitoring Framework 节点代理及其关联的组件产品模块,而不停止 Common Agent Container。
此操作首先在 Common Agent Container 中部署节点代理,然后部署关联的组件产品模块。此工具是一种包装器,其优先级高于 cacaoadm 实用程序的 lock 和 undeploy 子命令。
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]. |
停止 Common Agent Container 中的 Monitoring Framework 节点代理及其关联的 Java ES 组件模块。
此操作将首先停止 Common Agent Container 中部署的所有 Java ES 组件模块,然后停止节点代理。此工具是一种包装器,其优先级高于 cacaoadm 的 lock 和 unlock 子命令。
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]. |
重新启动 Common Agent Container 中的 Monitoring Framework 节点代理及其关联的 Java ES 组件模块。
此操作将尝试先停止 Common Agent Container 中的节点代理及其关联模块,然后再启动它们,其方式与 stop 和 start 子命令相同。
安全性: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]. |
列出与 Monitoring Framework 节点代理相关的所有配置参数。
安全性:此命令不存在任何用户限制。
显示实现通用监视模型 (Common Monitoring Model, CMM) 以及加载到 Common Agent Container 中的那些组件产品模块的列表。此子命令还将列出每个已安装的 Java ES 组件的所有正在运行的实例。每个组件都可以拥有零个、一个或多个正在运行的实例。
安全性:对于非启动 Common Agent Container 的用户,已安装的 Java ES 组件列表不包括组件实例。
显示有关指定 runningInstance 的信息。runningInstance 必须与 list-modules 子命令输出中列出的正在运行的实例匹配。
显示的信息包括:
对于每种监视作业,显示与正在运行的实例关联的所有可观察对象(按其类名排序)。可观察对象即可以分别使用 pm-job、opstat-job 或 thrsh-job 子命令对其创建性能监视作业、操作状态作业或阈值监视作业的对象。
对于每类可观察对象,显示其所有可观察属性,包括每类对象的名称和类型。
安全性:对于非启动 Common Agent Container 的用户,不会显示任何信息。
显示可为其创建性能监视作业的对象的所有当前可观察类列表。
显示可以创建性能监视作业的所有当前可观察对象的列表。默认情况下,将会列出所有可观察类的所有对象以及每个域中的所有对象。对象列表按其类名排序。
指定可选的 objectClass 可将输出限制为该特定类的可观察对象。objectClass 必须为通过 pm-job observable-classes 子命令列出的类之一。
指定可选的 objectDomain 可将输出限制为该域中的可观察对象。对象的域为对象的名称中冒号 (":") 字符前面的字符串。
显示指定的 objectClass 的所有可观察属性的列表。将显示属性及其名称和类型。objectClass 必须为支持性能监视作业的类(使用 pm-job observable-classes 子命令可以列出这些类)之一。
显示所有当前定义的性能监视作业的列表。作业将针对具有定义的性能作业的每个对象列出,并且对象按其类名排序。显示的有关每个作业的信息与通过 pm-job info 子命令显示的信息相同。
安全性:对于非启动 Common Agent Container 的用户,不会显示任何作业。
显示有关名为 jobName 的性能监视作业的详细信息。jobName 必须为通过 pm-job list 子命令显示的作业。此子命令显示的信息如下:
性能监视作业的名称。
性能监视作业的类型(“按对象分类”或“按类分类”)。按对象分类的作业监视一个或多个指定的对象实例,而按类分类的作业监视对象类的每个实例。请注意,无法使用 mfwkadm 实用程序创建按类分类的作业。
性能监视作业的状态:活动在工作 (active on-duty)、活动未工作 (active off-duty) 或已暂停(suspended)。活动在工作的作业当前已预定运行并正在收集数据。活动未工作的作业正在运行,但没有收集数据,因为当前时间不在其工作调度内。已暂停的作业没有运行,也没有收集任何数据。使用 pm-job suspend 和 pm-job resume 子命令可以更改性能监视作业的运行状态。
性能监视作业的粒度(以秒为单位)。这是此作业的数据收集时间间隔。
监视作业的报告周期。报告周期乘以粒度等于通知频率。例如,如果粒度周期为 10 秒,报告周期为 6,按事件报告的作业将每 10 秒收集一次数据,并且每 60 秒 (10*6) 发送一个包含 6 份报告的通知。如果该作业同时按文件报告,则还会每 60 秒发送一个包含 6 个所生成文件的位置的事件。
性能监视作业是否在按事件进行报告。这意味着,性能监视作业的结果将以通知方式发送至注册的客户机。
性能监视作业是否在按文件进行报告。这意味着,性能监视作业的报告将写入本地文件,并且包含文件名的通知将发送至注册的客户机。
性能监视作业的报告格式,该格式始终为 XML。
性能监视作业的调度。该调度指定在什么日期和时间,作业处于活动在工作状态或活动未工作状态(收集数据或不收集数据)。
对于按对象分类的作业:
被观察对象的列表,按名称排序。
如果仅指定了可观察属性的子集,将按名称和类型列出被观察对象的被观察属性。
对于按类分类的作业:
被观察类的列表,按名称排序。
如果仅指定了可观察属性的子集,将按名称和类型列出被观察类的被观察属性。这些属性为所有类公用。
安全性:对于非启动 Common Agent Container 的用户,不会显示任何信息。
在一个或多个对象上创建新的性能监视作业。mfwkadm 命令无法创建按类分类的作业。创建性能监视作业时,可以设置以下参数:
唯一标识性能监视作业的字符串。jobName 不能已被任何其他性能监视作业使用。
当作业处于活动在工作状态时,连续两次启动测量数据收集之间的指定时间(以秒为单位)。粒度周期示例可以是 300 秒(5 分钟)、900 秒(15 分钟)、1800 秒(每半小时)或 3600 秒(每小时)。在大多数情况下,300 秒的粒度周期就足够了。对于某些测量,采用更大的粒度周期收集数据可能更有意义。
性能监视作业将收集其数据并进行报告的一个或多个可观察对象。objectName 必须为通过 pm-job list 或 pm-job observable-objects 子命令显示的对象。指定多个 object= objectName 参数将会创建一个监视多个对象的性能监视作业。
安全性:此子命令只能由启动了 Common Agent Container 的用户来运行。
删除名为 jobName 的性能监视作业。jobName 必须为通过 pm-job list 子命令显示的作业。
安全性:此子命令只能由启动了 Common Agent Container 的用户来运行。
暂停名为 jobName 的性能监视作业。无论已暂停的作业的调度如何,该作业都处于非活动状态并不再收集数据。但是,该作业将保持已定义状态,并且可以通过 pm-job resume 子命令重新激活。jobName 必须为通过 pm-job list 子命令显示的作业之一。
安全性:此子命令只能由启动了 Common Agent Container 的用户来运行。
恢复名为 jobName 的性能监视作业。恢复的作业将根据其调度开始收集数据并发送报告。jobName 必须为通过 pm-job list 子命令显示的作业之一。此子命令与 pm-job suspend 子命令对应。
安全性:此子命令只能由启动了 Common Agent Container 的用户来运行。
显示可以为其创建操作状态监视作业的对象的所有当前可观察类的列表。
显示可以创建操作状态监视作业的所有当前可观察对象的列表。默认情况下,将会列出所有可观察类的所有对象以及每个域中的所有对象。对象列表按其类名排序。
指定可选的 objectClass 可将输出限制为该特定类的可观察对象。objectClass 必须为通过 opstat-job observable-classes 子命令列出的类之一。
指定可选的 objectDomain 可将输出限制为该域中的可观察对象。对象的域为对象的名称中冒号 (“:”) 字符前面的字符串。
显示指定的 objectClass 的所有可观察属性的列表。将显示属性的名称和类型。objectClass 必须为通过 opstat-job observable-classes 子命令列出的类之一。
显示所有当前定义的操作状态监视作业的列表。作业将针对具有定义的操作状态作业的每个对象列出,并且对象按其类名排序。显示的有关每个作业的信息与通过 opstat-job info 子命令显示的信息相同。
安全性:对于非启动 Common Agent Container 的用户,不会显示任何作业。
显示有关名为 jobName 的操作状态监视作业的详细信息。jobName 必须为通过 opstat-job list 子命令显示的作业。此子命令显示的信息如下:
操作状态监视作业的名称。
操作状态监视作业的类型(“按对象分类”或“按类分类”)。按对象分类的作业监视指定的对象实例,而按类分类的作业监视对象类的每个实例。请注意,无法使用 mfwkadm 实用程序创建按类分类的作业。
操作状态监视作业的状态:活动在工作 (active on-duty)、活动未工作 (active off-duty) 或已暂停(suspended)。活动在工作的作业当前已预定运行并正在收集数据。活动未工作的作业正在运行,但未收集数据,因为当前时间不在其工作调度内。已暂停的作业没有运行,也没有收集任何数据。使用 opstat-job suspend 和 opstat-job resume 子命令可以更改操作状态监视作业的运行状态。
操作状态监视作业的粒度(以秒为单位)。这是此作业的数据收集时间间隔。
操作状态监视作业是否在按事件进行报告。这意味着,操作状态监视作业的结果将以通知方式发送至注册的客户机。
操作状态监视作业是否在按文件进行报告。这意味着,操作状态监视作业的报告将写入本地文件,并且包含文件名的通知将发送至注册的客户机。
操作状态监视作业的报告格式,该格式始终为 XML。
操作状态监视作业的调度。该调度指定在什么日期和时间,作业处于活动在工作状态或活动未工作状态(收集数据或不收集数据)。
对于按对象分类的作业,显示被观察对象的列表,按名称排序。
对于按类分类的作业,显示被观察类的列表,按名称排序。
安全性:对于非启动 Common Agent Container 的用户,不会显示任何信息。
在一个或多个对象上创建新的操作状态监视作业。mfwkadm 命令无法创建按类分类的作业。创建性能监视作业时,可以设置以下参数:
唯一标识操作状态监视作业的字符串。jobName 不能已被任何其他操作状态监视作业使用。
当作业处于活动在工作状态时,连续两次启动测量数据收集之间的指定时间(以秒为单位)。
操作状态监视作业将收集其数据并报告的一个或多个可观察对象。objectName 必须为通过 opstat-job list 或 opstat-job observable-objects 子命令显示的对象。指定多个 object= objectName 参数将会创建一个监视多个对象的操作状态作业。
安全性:此子命令只能由启动了 Common Agent Container 的用户来运行。
删除名为 jobName 的操作状态监视作业。jobName 必须为通过 opstat-job list 子命令显示的作业。
安全性:此子命令只能由启动了 Common Agent Container 的用户来运行。
暂停名为 jobName 的操作状态监视作业。无论已暂停的作业的调度如何,该作业都处于非活动状态并将不再收集数据。但是,该作业将保持已定义状态,并且可以通过 opstat-job resume 子命令重新激活。jobName 必须为通过 opstat-job list 子命令显示的作业。
安全性:此子命令只能由启动了 Common Agent Container 的用户来运行。
恢复名为 jobName 的操作状态监视作业。恢复的作业将根据其调度开始收集数据并发送报告。jobName 必须为通过 opstat-job list 子命令显示的作业。此子命令与 opstat-job suspend 子命令对应。
安全性:此子命令只能由启动了 Common Agent Container 的用户来运行。
显示可以为其创建阈值监视作业的对象的所有当前可观察类的列表。
显示可以为其创建阈值监视作业的所有当前可观察对象的列表。默认情况下,将会列出所有可观察类的所有对象以及每个域中的所有对象。对象列表按其类名排序。
指定可选的 objectClass 可将输出限制为该特定类的可观察对象。objectClass 必须为通过 thrsh-job observable-classes 子命令列出的类之一。
指定可选的 objectDomain 可将输出限制为该域中的可观察对象。对象的域为对象的名称中冒号 (“:”) 字符前面的字符串。
显示指定的 objectClass 的所有可观察属性的列表。将显示属性的名称和类型。objectClass 必须为通过 thrsh-job observable-classes 子命令列出的类之一。
显示所有当前定义的阈值监视作业的列表。作业将针对具有定义的阈值作业的每个对象列出,并且对象按其类名排序。显示的有关每个作业的信息与通过 thrsh-job info 子命令显示的信息相同。
安全性:对于非启动 Common Agent Container 的用户,不会显示任何作业。
显示有关名为 jobName 的阈值监视作业的详细信息。jobName 必须为通过 thrsh-job list 子命令显示的作业。此子命令显示的信息如下:
阈值监视作业的名称。
阈值监视作业的多样性。在此版本中,仅允许使用监视一个对象的一种属性的简单阈值作业。
阈值监视作业的状态:活动在工作 (active on-duty)、活动未工作 (active off-duty) 或已暂停(suspended)。活动在工作的作业当前已预定运行并正在收集数据。活动未工作的作业正在运行,但未收集数据,因为当前时间不在其工作调度内。已暂停的作业没有运行,也没有收集任何数据。使用 thrsh-job suspend 和 thrsh-job resume 子命令可以更改阈值监视作业的运行状态。
阈值监视作业的粒度(以秒为单位)。这是此作业的数据收集时间间隔。
阈值监视作业的调度。该调度指定在什么日期和时间,作业处于活动在工作状态或活动未工作状态(收集数据或不收集数据)。
阈值监视作业的报警配置。此报警将在受监视的属性的被观察值超出定义的阈值时触发。显示内容包括报警的类型和严重性。
阈值监视作业的被观察对象。
对其应用阈值的属性名称。
触发报警的阈值。
在达到阈值时将触发报警的值的变化方向(RISING 或 FALLING)。
阈值的容错偏移。如果方向为 RISING,则直到被观察属性的值小于 thresholdValue-offsetValue 时才会再次触发报警。如果方向为 FALLING,则直到被观察属性的值大于 thresholdValue+offsetValue 时才会再次触发报警。即使该偏移为零,此行为也适用。
安全性:对于非启动 Common Agent Container 的用户,不会显示任何信息。
创建监视一个对象的一种属性的新阈值监视作业。创建阈值作业时,可以设置以下参数:
唯一标识阈值监视作业的字符串。jobName 不能已被任何其他阈值监视作业使用。
阈值监视作业将收集其属性值以便与阈值进行比较的可观察对象。objectName 必须为通过 thrsh-job list 或 thrsh-job observable-objects 子命令显示的对象。
当作业处于活动在工作状态时,连续两次启动属性值观察之间的指定时间(以秒为单位)。
阈值监视作业将收集其值并与阈值进行比较的属性的名称。attributeName 必须通过 thrsh-job info 或 thrsh-job observable-attributes 子命令列出。
要监视的可观察属性的类型。attributeType 必须通过 thrsh-job info 或 thrsh-job observable-attributes 子命令列出。
导致此阈值作业在按 thresholdDirection 指定的方向超出时触发报警的受监视属性的值。
offsetValue 确定在触发连续的报警时阈值作业的容错。offsetValue 必须为零或正值。触发某个报警事件后,直到受监视的属性的值超出 offsetValue 和 thresholdDirection 定义的范围时才会触发新的报警事件。
如果方向为 RISING,则直到被观察属性的值小于 thresholdValue-offsetValue 时才会再次触发报警事件。如果方向为 FALLING,则直到被观察属性的值大于 thresholdValue+offsetValue 时才会再次触发报警事件。即使 offsetValue 为零,此行为也适用。
安全性:此子命令只能由启动了 Common Agent Container 的用户来运行。
删除名为 jobName 的阈值监视作业。jobName 必须为通过 thrsh-job list 子命令显示的作业。
安全性:此子命令只能由启动了 Common Agent Container 的用户来运行。
暂停名为 jobName 的阈值监视作业。无论已暂停的作业的调度如何,该作业都处于非活动状态并将不再收集数据。但是,该作业将保持已定义状态,并且可以通过 thrsh-job resume 子命令重新激活。jobName 必须为通过 thrsh-job list 子命令显示的作业。
安全性:此子命令只能由启动了 Common Agent Container 的用户来运行。
恢复名为 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 info 或 opstat-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 |
返回的退出值如下:
成功完成
发生错误
属性类型 |
属性值 |
---|---|
可用性 |
SUNWmfwk |
界面稳定性 |
Contract Private |
cacao.5、cacaoadm.1m