Sun Java Enterprise System 5 監視指南

第 2 章 啟用和配置 Monitoring Framework

Java ES Monitoring 運作方式所述,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

依預設,HP-UX 上的 Java 虛擬機器 (JVM) 未針對 Monitoring Framework 所需的密集作業處理進行調校,因此可能會導致 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 元件的方式完全受到支援,不過其中略有差異。例如,您必須升級至 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,並載入節點代理程式。

根據載入的 Common Agent Container 模組數量,在啟動節點代理程式和 mfwkadm 公用程式可供使用之間,會有幾秒鐘到幾分鐘的延遲。在這段時間中,指令會失敗,並出現明確的訊息。

選項

支援下列選項。

--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 元件模組,然後停止節點代理程式。此設備是一種包裝程式,優先於 cacaoadm 公用程式的 lockunlock 子指令。

stop 子指令只會先停止與 Monitoring Framework 相關聯的 Java ES 元件模組,再停止節點代理程式自身。元件模組的前綴是 com.sun.cmm

安全性:stop 子指令只能由已啟動 Common Agent Container 的使用者執行。否則會出現類似下列的錯誤訊息:


在 mfwkadm 中發生錯誤
執行 /usr/sbin/cacaoadm unlock com.sun.mfwk 2>&1 時發生問題。
Stdout/Stderr:這個指令必須由使用者 [root] 執行。
restart

重新啟動 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].
list-params

列出與 Monitoring Framework 節點代理程式相關聯的所有配置參數。

安全性:此指令沒有任何使用者限制。

list-modules

顯示實作 Common Monitoring Model (CMM) 且載入至 Common Agent Container 的元件產品模組清單。此子指令也會列出各個已安裝 Java ES 元件的所有執行中實例。各個元件可以有 0、1 或多個執行中實例。

安全性:對於不是啟動 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 公用程式建立按照類別進行的工作。

  • 效能監視工作的狀態:使用中已啟動、使用中未啟動或已暫停。使用中已啟動的工作目前已排程執行,並且正在收集資料。使用中未啟動的工作正在執行,但是由於目前時間不在工作排程之內,因此未收集資料。已暫停的工作未執行,並且未收集任何資料。使用 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 公用程式建立按照類別進行的工作。

  • 作業狀態監視工作的狀態。使用中已啟動、使用中未啟動或已暫停。使用中已啟動的工作目前已排程執行,並且正在收集資料。使用中未啟動的工作正在執行,但是由於目前時間不在工作排程之內,因此未收集資料。已暫停的工作未執行,並且未收集任何資料。使用 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 子指令顯示的項目。此子指令會顯示下列資訊:

  • 臨界值監視工作的名稱。

  • 臨界值監視工作的多重性。在此發行版本中,只可使用在一個物件上監視一個屬性的簡單臨界值工作。

  • 臨界值監視工作的狀態:使用中已啟動、使用中未啟動或已暫停。使用中已啟動的工作目前已排程執行,並且正在收集資料。使用中未啟動的工作正在執行,但是由於目前時間不在工作排程之內,因此未收集資料。已暫停的工作未執行,並且未收集任何資料。使用 thrsh-job suspend thrsh-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 伺服器。


$ 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 伺服器實例中的可觀察物件,以及各個工作類型中這些物件的類別和可觀察屬性。


$ 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