Sun Management Center 指令行介面 (CLI) 是一種簡易型的字元驅動主控台,是除 Java 和 Web 主控台圖形化介面以外的另一種可以監視和管理系統的主控台。
本章討論主題如下:
Sun Management Center 指令行介面 (CLI) 是一種字元驅動的主控台應用程式,可用來監視和管理您的系統。CLI 提供數種有用特徵:
較低的系統負擔 – 儘管 CLI 可提供 Java 主控台和 Web 主控台的大多數功能,但是 CLI 無需點陣圖形。因此,CLI 可透過低頻寬連接在簡單資料終端設備上執行。但是,需要 GUI 的功能 (例如實體檢視或繪圖) 則無法透過 CLI 使用。
批次模式處理 – CLI 支援基本程序檔功能,此功能可讓 CLI 以批次模式從檔案中獲取指令輸入。
可配置的輸出格式 – 您可以配置 CLI 輸出的格式。純文字輸出可與其他以文字為基礎的工具相容。 對於延伸指令,您可以指定以 XML 和 HTML 輸出。
說明 – CLI 指令的線上說明可從 CLI 中取得。
您可以使用 CLI 執行以下作業:
建立拓樸物件 (如網域、群組和實體),並擷取有關這些物件的拓樸資訊。
擷取和操控受管理物件的屬性。
載入、卸載、啟用和停用 Sun Management Center 代理程式上的模組。
設定並執行警示動作、擷取警示資訊,以及在 Sun Management Center 代理程式上確認或刪除警示。
(在 Solaris) 您可以使用參數檔自動登入主控台。若參數檔包含使用者名稱和密碼,該檔案的權限一定是 400。否則,就不能透過 CLI 自動登入。
您可以在下列其中一個系統配置上從使用者終端機階段作業存取 CLI:
UNIX® 工作站,執行 Solaris 2.6、Solaris 7、Solaris 8、Solaris 9 或 Solaris 10 版本的 Solaris 作業系統。
UNIX 工作站,執行 Red Hat,SuSE/JDS Linux 核心版本 2.4 和 2.6。
個人電腦,執行 Windows 98、Windows 2000、Windows XP 或 Windows NT
階段作業模式 – 階段作業模式為互動模式。登入 Sun Management Center 伺服器之後,您便可以輸入指令並接收輸出,直到您明確登出該伺服器為止。
批次模式 – CLI 連接至伺服器並執行 filename 中包含的指令,其中 filename 為包含 CLI 指令的檔案名稱。
CLI 批次模式可以藉由修改位於 /opt/SUNWsymon/cli 的 cli.properties 檔來進行配置。此檔包含九個配置參數。
表 20–1 說明配置參數。
表 20–1 配置 CLI 批次模式的參數
參數 |
說明 |
預設值 |
---|---|---|
process_time_out |
到達時間時,CLI 後端程序將會從系統移除。 |
Process time-out 24 hrs process_time_out = 86400 (in seconds) |
uds_dgram_wait_time |
DGRAM 用戶端將會等待來自 CLI 後端程序的回應。若用戶端沒有在指定時間內收到回應,就會顯示錯誤訊息「Error receiving data from Backend」。 |
UDS DGRAM wait time in seconds uds_dgram_wait_time = 300 |
uds_stream_wait_time |
STREAM 用戶端將會等待來自 CLI 後端程序的回應。若用戶端沒有在指定時間內收到回應,就會顯示錯誤訊息「Error receiving data from Backend」。 |
UDS STREAM wait time in seconds uds_stream_wait_time = 180 |
out_file |
此檔包含目前執行的 CLI 後端程序詳細資訊。此檔的格式是 <user>:<hostname>:<C Process ID>:<Java Process ID> |
User & process information file out_file = /var/opt/SUNWsymon/cli/process-file |
socket_pathclnt |
此檔包含用戶端代理程式 UDS 檔的路徑。已處理之 CLI 指令的輸出會傳送到此檔。 |
Path to uds file socket_pathclnt = /var/opt/SUNWsymon/cli/broker_uds_client_file |
cli_log_path |
此檔包含 CLI 記錄檔的路徑。 |
Location of CLI log file cli_log_path = /tmp/sunmclog/cli |
cli_log_file |
CLI 記錄檔名稱。 |
Location of backend(broker) log file cli_log_file = /tmp/sunmclog/cli/cli-batch-mode-log |
uds_file_path |
此路徑包含 STREAM 和 DGRAM UDS 檔的位置。 |
Path of the uds files uds_file_path = /var/opt/SUNWsymon/cli/ |
log_level |
指定要使用的記錄層級。將生產環境的記錄層級設為 ERROR。將除錯環境的記錄層級設為 INFO。 |
Batch mode log level [options : INFO|ERROR] log_level=ERROR |
本節提供 CLI 指令與參數的簡介。
基本指令是修改其他 CLI 指令執行環境的指令。您可以使用基本指令設定參數值、定義指令別名、檢查指令狀況或者登入與登出伺服器。基本指令一律在前景執行。
延伸指令是詢問或修改受管理物件的拓樸及其屬性的指令。您可以使用延伸指令執行數種功能:
在受管理物件拓樸中定位受管理物件
啟用或停用模組
認可或刪除警報
依預設,延伸指令在背景執行。您可以將延伸指令配置為在前景執行。
在階段作業模式中,指令既可在前景執行,也可在背景執行。
前景 – 在前景執行的指令執行完成。這些指令會將其輸出直接傳送至螢幕,除非另外重新導向。每次僅可在前景執行一個指令。基本指令僅能在前景執行。依據預設,延伸指令是在背景執行,但是可以將其配置為在前景執行。
背景 – 在背景執行的指令會非同步執行,並且依據預設不會向螢幕傳送任何輸出或診斷訊息。輸出將被緩衝,並可稍後根據明確請求顯示。與 UNIX shell 不同,每次僅可在背景執行一個延伸指令。當該指令在背景執行時,可在前景執行任何數量的基本指令。依據預設,延伸指令是在背景執行,但是您可以指定延伸指令在前景執行。基本指令不能在背景執行。
CLI 同時也支援別名的使用。您可以為比較複雜的指令及其參數定義縮寫或別名。使用者定義的別名在不同的 CLI 階段作業中均可使用。
CLI 參數是一對名稱值:每個參數都有一個名稱和一個值。某些參數是 CLI 內建參數。它們的名稱和值的涵義都在 CLI 中預先定義。您可以定義其他參數,也稱為變數。某些參數在範圍上是屬於全域參數。全域參數會影響在特定階段作業中執行的所有 CLI 指令的執行。其他參數是某個指令或指令群組所特有的。
CLI 可提供數種輸入與輸出功能。
CLI 可為每個 CLI 指令提供線上說明。CLI 說明可從 CLI 中取得。CLI 輔助說明無需 GUI。對於每個指令,說明均提供指令用法對照表和與該指令相關的參數清單。
大多數 CLI 參數為一組名稱值:每個參數都有一個名稱和一個值。少數參數僅有名稱,沒有值。這些參數稱為旗標。
您可以在 CLI 階段作業中的多個位址指定參數值:
CLI 啟動 – 您可以在啟動 CLI 時在指令行指定參數。在啟動時指定的參數對於該階段作業來說是屬於全域參數。全域參數將保留它們的值,直至以 set 指令覆寫或使用 unset 指令從目前階段作業中移除。
CLI 指令 – 您可以為在階段作業中執行的個別 CLI 指令指定參數。被指定為指令一部份的值會暫時覆寫該指令期間的全域參數值。
輸入檔 – 參數定義可以儲存在外部檔案,而且可以隨時在 CLI 階段作業中被呼叫。在外部檔案中定義的參數值會被全域參數和個別指令參數覆寫。
file=/home/examples/example1
其中參數 name 是 file,而參數 value 則是 /home/examples/example1。在等號 (=) 和參數名稱或參數值之間不能有任何空格。若值中包含空格 (如空格或定位字元),則該值必須以雙引號字元 (ASCII 字元 0x22) 括住:
moduleDesc="Local File Scanning"
參數值可以是以逗號分隔的值的清單。請勿在逗號分隔的值之間加入空格,如以下範例所示。
severity=DIS,DWN,ERR
參數清單是以空格分隔的參數序列,如以下範例所示。
m=kernel-reader moduleDesc="My Kernel Reader"
ok1="This is just a test" ok2=hello ok3=hello,hi,aloha ok4="hello,hi,aloha"
broken1="How are you?","Who are you?" broken2="Testing",1,2,3 broken3="Hello broken4=Hello"
參數可以儲存在檔案中並在需要時讀取。您可以視需要建立多個參數檔案。請使用內建 i 參數以指定所需參數輸入檔的名稱。
本節說明 CLI 中具有預先定義意義的參數。
有些預先定義的參數名稱都是單一字母而已。範例包括 a、f 和 o。
當此旗標是被當作階段作業模式下延伸指令的參數來使用,它將指示 CLI 在執行目前指令時保留最近延伸指令的參數。若已指定 -l 旗標,則為目前指令指定的任何其他參數均被忽略。此旗標對基本指令不起作用。以下範例說明 -l 旗標的用法:
> getLoadModules a=myHostName ... ... > getAlarms -l |
在執行 getAlarms 指令時,指令會從之前執行的 getLoadModules 指令使用參數值 a (myHostName)。
a 參數值是代理程式,可將此值指定為代理程式主機和 (可選擇的) 連接埠號。若要指定連接埠號,請使用冒號 (:) 分隔主機名稱和連接埠號。一般語法為 a=agentHost[:agentPort] 。例如,若要指定在主機 example_host 上執行並偵聽連接埠 12345 的代理程式,您可以使用以下語法:
a=example_host:12345 |
append 參數的值是將指令的輸出附加到其中的檔案名稱。如果該檔案不存在,會建立該檔案。如果您將 append 參數設定為全域參數,則該階段作業的所有指令輸出都將附加到指定的檔案中。您還可以為特定指令設定該參數,如以下範例所示。
append=/home/examples/cli_output |
若皆已設定 append 和 o 參數,append 將會優先 o。僅有指令結果會被記錄在指定檔案中。實際指令不會被記錄下來。使用 log 參數可記錄指令資訊。
columns 參數的值是 print 指令顯示之指令輸出的一欄或多欄的名稱。欄名稱有區分大小寫。多個欄位名稱以逗號隔開。以下範例使用了數個欄名稱。
columns="Alarm Id,Node URL,Target Host,Severity" |
f 參數的值會判定指令輸出的格式。目前的格式為 plain 和 html。請參閱指令輸出格式以得知更多資訊。若要將格式設定為 HTML,請使用以下語法:
f=html |
height 參數的值是顯示在螢幕上的指令輸出行數。以下範例將高度設定為大約等於標準終端螢幕的高度:
height=24 |
history 參數的值是儲存在指令歷程中的指令數。指令歷程可允許使用者檢視之前執行過的指令。此參數是由 set 指令所使用。
history=10 |
i 的值是包含在目前階段作業中之參數定義的輸入檔名稱。在輸入檔案中,每個參數定義均應位於單獨的行上。例如,假設以下各行位於 /home/examples/myParams 檔中:
more=off serverHost=myserver a=myagent:161 |
i=/home/examples/myParams |
log 參數的值是記錄所有 CLI 指令和執行指令時間的檔案名稱。請注意,記錄檔僅會記錄指令名稱和執行時間。指令輸出會記錄在由 a 或 o 參數指定的檔案中。設定該參數之後,後續執行的所有指令都會附加至該檔案中。如果該檔案不存在,則會建立該檔案。因為記錄檔在記錄開啟時不會被覆寫,因此如果您想獲取不同的記錄,請確定指定不同的檔案。要關閉記錄功能,請搭配 log 參數使用 unset 指令。以下範例先開啟日誌,然後停止日誌。
> log=/home/examples/sunmc-log ... ... > unset log |
logmode 參數的值可以是 detailed、command 或 from n。detailed 的值會將指令資訊儲存在指令記錄檔中。command 值僅會將指令和其相關參數儲存在指令記錄檔中。from n 值會將所有項目 (從 nth 項目開始) 從指令歷程附加到指令記錄檔。logmode 參數的預設值為 detailed。
m 參數的值是 Sun Management Center 模組的名稱。該值也可以是以逗號分隔的模組清單。
m=kernel-reader |
more 參數的值會控制顯示的指令輸出頁數。可能的值為 on 和 off。若將 more 設定為 on,則輸出至終端機的所有後續輸出都將一次顯示在一個畫面上。畫面的大小由高度和寬度參數定義。批次模式的預設值為 off,階段作業模式的預設值為 on。
more=on |
o 參數的值是指令輸出所寫入檔案的名稱。如果該檔案存在,則覆寫該檔案。您可以透過將 o 參數指定給特定指令,使用 o 參數捕捉指令的輸出。您還可以使用 set 指令將該參數設定為全域參數,以將所有後續輸出寫入檔案。
若皆已設定 append 和 o 參數,append 將會優先 o。輸出會附加至指定的檔案。僅有指令輸出會被寫入該檔案。並不記錄實際指令。使用 log 參數可記錄指令資訊。以下範例定義指令輸出所寫入的檔案。
o=/home/examples/sunmc-output |
serverPort 參數的值是用來登入的伺服器連接埠。建立登入階段作業之後,該通用參數將無法設定。如果未設定該參數,則使用預設連接埠 2099。
style 參數會判定指令輸出的風格。此參數可使用的值為 table、 list 和 <custom>。table 值會以表格格式顯示輸出。list 值會以清單顯示輸出,各欄間以逗號分隔。<custom> 值可確保以使用者定義的格式顯示輸出。每欄會以 %a 顯示。自訂值可以包含特殊字元,例如 :、\t 和 \n。
t 參數的值是在拓樸代理程式中受管理的物件名稱。物件可以是網域、檢視群組或實體。物件名稱是在網域層級的完整名稱,例如 /domain/group/host。
請參閱 CLI 指令與參數簡介以得知指令類型和概念的簡介。如需關於基本 CLI 指令使用的參數詳細資訊,請參閱預先定義的參數和旗標。
說明
alias 指令會建立常用指令的別名,或者具有複雜參數之指令的別名。別名不能與現有的 CLI 指令同名。別名定義中的空格必須用雙引號 (", ASCII 字元 0x22) 括住。
當使用者結束 CLI 階段作業時,使用者指定的別名會儲存在 aliases 目錄的檔案中。當使用者登入 CLI 階段作業時,將可以使用這些別名。
Syntax
alias [<pseudonym>="command [parameters]"]
範例
> alias assign=set > alias alarms="getAlarms severity=dwn" |
若不包括引數呼叫 alias 指令,此指令便會列示已定義的別名與其值的清單。以下範例顯示 alias 指令不包括引數呼叫的結果。
> alias assign - set alarms - getAlarms severity=dwn |
attrib 指令會擷取拓樸物件的屬性。
語法
attrib [group=groupName [name=attribName] [-key]]
browse 指令會啟動拓樸的瀏覽模式。
語法
browse
說明
cd 指令會變更目前的拓樸路徑。若沒有指定任何路徑,目前的路徑將會被設為預設網域。若有指定某數字 (n),目前的路徑將被設為 nth 子系路徑,如 list 指令所顯示。
語法
cd [path|number]
說明
clear 指令會移除在目前階段作業期間所設的所有參數。但是,此指令將不會移除從指令行所設的參數。該指令與 unset 指令相似,但是無需參數名稱作為引數。
語法
clear
data 指令會顯示拓樸物件的詳細資訊。若有指定某數字 (n),路徑將被設為 nth 子系路徑,如 list 指令所顯示。
語法
data [path|number|-key]
end 指令會關閉拓樸的瀏覽模式。
語法
end
說明
exit 指令會終止伺服器連接和 CLI 階段作業。
語法
exit [-onError]
參數
onError
若在執行前一個指令時發生異常,就可使用 onError 參數來終止 CLI 階段作業。此參數僅可用於批次模式。
goto 指令可瀏覽到符合大小寫式樣的拓樸路徑。若找到數個相符的路徑,便會要求使用者選擇路徑。
語法
goto <pattern>
說明
help 指令會顯示關於 CLI 指令與其參數的資訊。說明資訊可在未使用點陣圖的終端機上顯示。如果不帶引數執行 help,說明會按字母順序顯示可用 CLI 指令的清單及簡短說明。首先列出基本指令,然後再列出延伸指令。當以 CLI 指令名稱作為引數呼叫 help 時,help 可列出針對該指令的資訊。當搭配 about 參數呼叫 help 時,help 會顯示 Sun Management Center 的版本。
語法
help [<command>|about]
參數
command 和 about。
範例
以下範例顯示 getAlarms 指令的輔助說明。
> help getAlarms getAlarms [a=host[,host]+] [alarm_filter_list] - Get alarm information on an agent or a list of agents under a set of filter conditions. If no agent is provided, all alarms will be obtained. All the filter conditions are "ANDED" to provide the result. The filter conditions as specified in alarm_filter_list comprises: domain=domain and/or m=module[+instance] and/or managed_object=managed_object and/or property=property and/or property_instance=property_instance and/or qualifier=qualifier and/or severity=[DIS,DWN,ERR,OFF,INF,IRR,WRN] and/or state=[C,F,O] and/or ack=[A,N] |
說明
history 指令會列出或執行之前在 CLI 階段作業中輸入的指令。當不帶任何引數呼叫 history 指令且之前已設好歷程時,將會列出所有之前輸入的指令。當搭配數字引數呼叫 history 指令且之前已設好歷程時,將會執行符合此引數的指令。
語法
history [num]
說明
語法
kill
說明
list 指令會列出某路徑下的物件。若有指定某數字 (n),路徑將被設為 nth 子系路徑,如下列指令所顯示。
語法
list [path|number]
說明
locate 指令會尋找所有符合指定式樣的拓樸路徑。式樣有區分大小寫。
語法
locate <pattern>
說明
login 指令會建立與 Sun Management Center 伺服器的連接。您可以指定 serverHost 和 serverPort (可選擇) 參數作為引數。如果未指定主機,則會提示您輸入主機。若未指定連接埠,則會使用 2099。login 指令也會提示您輸入使用者名稱和密碼。
語法
login [serverHost=host] [serverPort=portNumber] [user=userName] [password=userPassword]
參數
serverHost、serverPort、 user 和 password
說明
logout 指令會終止到 Sun Management Center 伺服器的連接,但不會終止 CLI 階段作業。
語法
logout
說明
print 指令可以以指定的格式將最後延伸指令的輸出導向至指定目標。依據預設,print 會以純文字格式將此輸出導向至終端機螢幕。如果已設定參數 append 或 o,則會將輸出導向至這些參數指定的檔案中。該輸出不會顯示在螢幕上。若沒有指定 ncols,預設欄數會設為 4。
語法
print [f=plain|xml|html] [style=table|list|<custom>] [columns= columnList] [ncols=num] [o=outputFile | append=appendFile]
參數
f、style、columns、 ncols、o 和 append
說明
quit 指令會中斷與伺服器的連接,並終止 CLI 階段作業。
語法
quit
說明
reset 指令可將在指令行上指定的所有參數值復原為 CLI 階段作業開始時指定的值。在階段作業期間而不是在指令行上定義的參數保持不變。如果將特定參數名稱作為引數提供給 reset,並且該參數是在指令行上被指定的,則該參數的值將被復原至原始值。否則,該參數的值保持不變。
語法
reset [<parameter>]*
說明
set 指令可讓您指定參數值或顯示參數值。使用 set 指令指定其值的參數對於目前階段作業是屬於全域參數。在該階段作業期間,全域指令可用於所有指令。如果不搭配引數執行 set,則會顯示目前階段作業期間定義的所有參數的值。如果搭配指定為引數的參數執行 set,則會顯示該參數的值。
語法
set [<parameter>[=value]]* [height=num] [history=num] [log=file] [logmode=detailed|command|"from n"] [more=on|off] [prompt=prompt]
範例
以下範例顯示該指令的所有三種變化形式。
> set height=10 > set height=10 > set height height=10 |
說明
語法
status
說明
語法
unalias [<pseudonym>]*
說明
unset 指令會從目前階段作業移除指定的參數。
語法
unset [<parameter>]*
unset 指令不會儲存在指令歷程中。
說明
where 指令會顯示目前拓樸路徑。
語法
where
以下小節將說明在 CLI 中可用的數種類型的延伸指令:
匯入和匯出 CLI 介面中的拓樸匯入與匯出指令
有七個延伸指令可用來管理模組。
模組指令可以使用以下參數。如需關於 a 和 m 參數的詳細資訊,請參閱預先定義的參數和旗標。
模組的國際化名稱
模組的文字說明
以逗號分隔之模組參數清單
模組的預設設定
說明
語法
disableModule a=host[:port][,host[:port]]* m=module[+instance][,module[+instance]]*
參數
a 和 m
說明
語法
enableModule a=host[:port][,host[:port]]* m=module[+instance][,module[+instance]]*
參數
a 和 m
說明
getLoadedModules 指令可取得代理程式中已載入的模組清單。
語法
getLoadedModules a=host[:port][,host[:port]]*
參數
a
說明
語法
getModule a=host[:port][,host[:port]]* m=module[+instance]
參數
a 和 m
說明
getModules 指令可取得代理程式中所有可用的模組清單。
語法
getModules a=host[:port][,host[:port]]*
參數
a
說明
語法
loadModule a=host[:port][,host[:port]]* m=module[+instance] [moduleName= name] [moduleDesc=description] [moduleParams= key=value[,key=value]*] [-default]
參數
a、m、moduleName、 moduleDesc、moduleParams 和 -default。
說明
unloadModule 指令會卸載代理程式中的模組。
語法
unloadModule a=host[:port][,host[:port]]* m=module[+instance][,module[+instance]]*
參數
a 和 m
若要決定將哪個模組載入到 agentHost 名稱為 seattle 的主機,您應在 CLI 提示符號處鍵入以下指令:
> getLoadedModules a=seattle |
若要將 kernel-reader 模組載入在連接埠 1776 的主機 seattle ,您應該鍵入以下指令:
> loadModule a=seattle:1776 m=kernel-reader |
有四個延伸指令可用來管理物件屬性及屬性值。
下列參數可被物件屬性指令所用:如需關於 a 和 m 參數的詳細資訊,請參閱預先定義的參數和旗標。
attribute 參數的值是以逗號分隔之已設定或擷取其屬性和值之特性的屬性名稱清單。當與 setAttributes 指令配合使用時,attribute 參數中的每個屬性名稱在 value 參數中均必須具有對應的值。
value 參數的值是以逗號分隔並對應於 attributes 參數中指定屬性的值清單。當與 setAttributes 指令配合使用時,每個指定的屬性均必須有值。
說明
語法
addRow a=host[:port][,host[:port]]* m=module[+instance] mgtObj=managedObject [property=property] [propInst=propertyInstance] rowValues=name=value[,name=value]
參數
a、m、mgtObj、property、propInst 和 rowValues。
說明
語法
delRow a=host[:port][,host[:port]]* m=module[+instance] mgtObj=managedObject [property=property] [propInst=propertyInstance] rowValues=name=value[,name=value]
參數
a、m、mgtObj、property、propInst 和 rowValues。
說明
getAttributes 指令會擷取特性資訊,或從代理程式或代理程式清單擷取指定屬性。
語法
getAttributes a=host[:port][,host[:port]]* m=module[+instance] mgtObj=managedObject property=property [propInst=propertyInstance] [attribute=attribute[,attribute]*]
參數
a、m、mgtObj、property、propInst 和 attribute。
說明
setAttributes 指令會設定特性,或者為代理程式的指定屬性設定值。
語法
setAttributes a=host[:port][,host[:port]]* m=module[+instance] mgtObj=managedObject property=property [propInst=propertyInstance] [attribute=attribute[,attribute]*] value=value[,value]*
參數
a、m、mgtObj、property、propInst、attribute 和 value。
對於在 attribute 參數中指定的每個屬性,value 參數中必須有對應的值。
以下指令可擷取主機 haiku 連接埠 1161 上的 agent-stats 模組中 totalstats 受管理物件之 size 特性的全部屬性:
> getAttributes a=haiku:1161 m=agent-stats mgtObj=totalstats \ property=size |
以下指令可將先前範例中指定的 size 特性中的屬性 alarmlimits.error-gt 的值設為 2:
> setAttributes a=haiku:1161 m=agent-stats mgtObj=totalstats \ property=size attribute=alarmlimits.error-gt value=2 |
以下指令可從 mgtObj 中指定的受管理物件中刪除在 rowValues 中指定的列:
> delRow a=haiku:1161 \ m=filemon mgtObj=filemonstats/filemonTable/filemonEntry \ rowValues="name=test,desc=this,filename=/etc/passwd" |
有五個延伸指令可用於管理警示。
下列參數可被延伸指令用來管理警示。如需關於 a 和 m 參數的詳細資訊,請參閱預先定義的參數和旗標。
ack 參數的值是以逗號分隔的值清單,指出受管理的警示是否已確認。ack 參數的合法值為 ACK (已確認) 和 NOACK (未確認)。
domain 參數的值是要管理警示的 Sun Management Center 網域名稱。如果未指定網域,則使用 [預設網域]。
severity 參數的值是以逗號分隔的受管理警示的嚴重性值清單。severity 參數允許使用以下值:
state 參數是以逗號分隔的受管理警示的狀態值清單。state 參數的合法值為 Open、Closed 和 Fixed。
說明
ackAlarms 指令會確認代理程式或代理程式清單中的警示。
語法
ackAlarms a=host[:port][,host[:port]]* [domain=domain] [m=module[+instance][mgtObj=managedObject [property=property [propInst=propertyInstance] [qualifier=qualifier]]]] [severity=DIS|DWN|ERR|INF|IRR|OFF|WRN] [state=OPEN|CLOSED|FIXED] [note=reason]
參數
a、domain、m、 mgtObj、property、propInst、 qualifier、severity、state 和 note。
說明
delAlarms 指令會刪除代理程式或代理程式清單中的警示。
語法
delAlarms a=host[:port][,host[:port]]* [domain=domain] [m=module[+instance][mgtObj=managedObject [property=property [propInst=propertyInstance] [qualifier=qualifier]]]] [severity=DIS|DWN|ERR|INF|IRR|OFF|WRN] [state=OPEN|CLOSED|FIXED] [ack=ACK|NOACK] [note=reason]
參數
a、domain、m、mgtObj、property、propInst、qualifier、severity、state、ack 和 note。
說明
getAlarms 指令會擷取代理程式或一組代理程式的警示資訊。
語法
getAlarms a=host[:port][,host[:port]]* [domain=domain] [m=module[+instance][mgtObj=managedObject [property=property [propInst=propertyInstance] [qualifier=qualifier]]]] [severity=DIS|DWN|ERR|INF|IRR|OFF|WRN] [state=OPEN|CLOSED|FIXED] [ack=ACK|NOACK]
參數
a、domain、m、mgtObj、property、propInst、qualifier、severity、state 和 ack。
說明
runAlarmAction 指令會為代理程式或代理程式清單中之網域下的所有警示執行手動或延遲警示動作。
語法
runAlarmAction a=host[:port][,host[:port]]* [domain=domain] [m=module[+instance][mgtObj=managedObject [property=property [propInst=propertyInstance] [qualifier=qualifier]]]] [severity=DIS|DWN|ERR|INF|IRR|OFF|WRN] [state=OPEN|CLOSED|FIXED] [ack=ACK|NOACK]
參數
a、domain、m、mgtObj、property、propInst、qualifier、severity、state 和 ack。
說明
setAlarmAction 指令會為代理程式或代理程式清單中之網域下的所有警示設定手動或延遲警示動作。
語法
setAlarmAction a=host[:port][,host[:port]]* command=command [domain=domain] [m=module[+instance][mgtObj=managedObject [property=property [propInst=propertyInstance] [qualifier=qualifier]]]] [severity=DIS|DWN|ERR|INF|IRR|OFF|WRN] [state=OPEN|CLOSED|FIXED] [ack=ACK|NOACK]
參數
a、command、domain、m、mgtObj、property、propInst、qualifier、severity、state 和 ack。
以下指令可從主機 haiku 中擷取所有嚴重性為 ERR 或 DWN 的警示:
> getAlarms a=haiku severity=ERR,DWN |
有九個延伸指令可用於管理拓樸。
下列參數可被延伸指令用來管理拓樸:如需關於 a 和 t 參數的詳細資訊,請參閱預先定義的參數和旗標。
agentPort 參數的值是代理程式的連接埠號。如果未指定 agentPort,將使用預設值 161。agentPort 參數為可選。僅在未指定 url 參數並且您不想使用預設連接埠時,才需要指定此參數。
domain 參數的值是您必須為 setCurrentDomain 指令指定的 Sun Management Center 網域名稱。
domainmode 參數的值可以是 follow 或 ignore。若值為 follow,import 指令則會從檔案將群組和網域資訊匯入到指定的目標網域。若值為 ignore,則 import 指令會忽略網域資訊。
filename 參數的值是檔案名稱。此參數是被 export 和 import 指令用來匯出和匯入拓樸資料。
isPolled 參數的值可以是 true 或 false。如果值為 true,實體可根據輪詢類型 (pollType) 輪詢狀況資訊。預設值為 true。
mode 參數的值可以是 append 或 overwrite。若值為 append,export 指令會將拓樸資料加到檔案末端。若值為 overwrite,export 指令會使用拓樸資料覆寫檔案。
nodemode 參數的值可以是 replace 或 ignore。若在檔案和網域中有資料不相符,replace 值會以檔案中的資料取代網域中的資料。ignore 值會忽略資料的不相符。
pollType 參數的值是該實體的輪詢類型。pollType 參數允許使用以下值:
url 參數的值是要輪詢之實體的URL。url 參數的值可用以下格式指定:
ping://hostname snmp://hostname:port/oid/#.#.#.# snmp://hostname:port/[mod,sym]/path
validity 參數的值是您要匯出之拓樸資料有效的期間 (以日為單位)。 validity 參數的值可以為 Unlimited、7、15、30 或 90。
writeInfo 參數的值是 SNMP 輪詢物件的 SNMPv1 寫入社群名稱。
說明
createEntity 指令可以建立受管理實體。
語法
createEntity t=topoObject pollType=ahost|amod|aprox|dummy|ping|snmp [fullDesc=text] [targetHost=host] [agentPort=port] [targetIp=ip] [family=family] [isPolled=true|false] [topoType=text] [topoCfg=text] [readInfo=text] [writeInfo=text] [url=url]
參數
t、pollType、fullDesc、targetHost、agentPort、targetIp、family、isPolled、topoType、topoCfg、readInfo、writeInfo 和 url。
說明
createGroup 指令可建立拓樸網域或群組。
語法
createGroup t=topoObject [family=base|building-view|campus-view|network-view|subnetwork-view] [fullDesc=desc]
參數
t、family 和 fullDesc。
若建立的實體為群組,family 參數就是必要的。
說明
delTopoObject 指令會刪除受管理拓樸階層結構中的受管理拓樸物件。同時將刪除指定拓樸物件下面的所有物件。
語法
delTopoObject t=topoObject
參數
t
說明
語法
export filename=filename domain=domain|"All Domains" mode=append|overwrite validity=Unlimited|7|15|30|90 [comment=text]
參數
filename、domain、 mode、validity 和 comment。
說明
getAgentPort 指令會傳回正在拓樸網域中指定的主機上執行的 Sun Management Center 代理程式的連接埠號。如果有多個代理程式,將會傳回連接埠號清單。
語法
getAgentPort a=host[,host]* [t=topoObject]
參數
a 和 t。
說明
getAllTopoObjects 指令會傳回符合 arch、family 或 pollType 參數指定之情況的受管理拓樸階層結構中的所有受管理物件清單。
語法
getAllTopoObjects t=topoObject [arch=os] [family=platform] [pollType=aview|ahost|amod|aprox|dummy|ping|snmp]
參數
t、arch、family 和 pollType。
說明
語法
getCurrentDomain
參數
無
說明
getDomains 指令會傳回目前伺服器環境中所有受管理網域的清單。
語法
getDomains
參數
無
說明
getTopoObject 指令會直接傳回由 t 參數指定之符合 arch、 family 或 pollType 參數指定情況的拓樸物件下的受管理拓樸物件清單。
語法
getTopoObject t=topoObject [arch=os] [family=platform] [pollType=aview|ahost|amod|aprox|dummy|ping|snmp]
參數
t、arch、family 和 pollType。
說明
語法
import filename=filename domainmode=follow|ignore nodemode=replace|ignore [domain=domain]
參數
filename、domainmode、 nodemode 和 domain。
說明
setCurrentDomain 指令可將主網域設定為 domain 參數中指定的值。
語法
setCurrentDomain domain=domainName
參數
domain
以下指令可傳回執行 SunOS 5.7 軟體的 menlo_park 網域 building12 群組內 sun4u 家族中所有 Sun Management Center 代理程式主機的清單:
> getTopoObject t=/menlo_park/building12 pollType=ahost \ arch="SunOS 5.7" family=sun4u |
以下指令可在現有名為 headquarters_test 的網域下建立名為 building19 的群組:
> createGroup t=/headquarters_test/building19 \ fullDesc="test headquarters domain" family=building-location |
以下指令可在 test_domain 網域的 building12 群組中建立名為 myHost 的受管理實體。該拓樸物件為在連接埠 1161 上執行代理程式的主機。
> createEntity t=/test_domain/building12/myHost \ fullDesc="my test host" family=ultra-2 topoType="" \ topoCfg="" isPolled=false pollType=ahost readInfo="" \ writeInfo="" targetHost=osftserv targetIp="" agentPort=1161 |
CLI 提供以下輸出選項:
將指令執行記錄至檔案
將指令輸出記錄至檔案
控制指令輸出在螢幕上的外觀
將輸出指定為純文字、XML 或 HTML
所有指令和記錄檔均為英文。但是,指令說明和說明文字則遵循 Java 國際化的規格,使用除英文之外的語言。
基本指令只能以純文字輸出。請參閱CLI 指令與參數簡介以得知基本和延伸指令的解釋。
延伸指令可以用三種格式輸出:
純文字
XML
HTML
若要指定輸出格式,請將 f 參數設定為所需格式的值。目前支援的值為 plain、xml 和 html。
您可以透過將 height 參數設定為所需的值來定義指令輸出的邏輯畫面大小。您可以設定 more 參數,以每次顯示一個輸出畫面。請參閱預先定義的參數和旗標以得知這些參數的解釋。
以下範例以純文字顯示 getLoadedModules 指令的部份輸出。
== getLoadedModules: Results 1/16 =============================== Module Name=Dynamic Reconfiguration Module Key=dr Description=Dynamic Reconfiguration (Sunfire) Agent Name=myhost-dev86 Agent Port=161 Version=2.0 == getLoadedModules: Results 2/16 =============================== Module Name=Config-Reader(sun4u/sun4d) Module Key=Config-Reader4u Description=Config Reader (sun4u/sun4d) Agent Name=myhost-dev86 Agent Port=161 Version=1.0 ... == getLoadedModules: Results 15/16 ============================== Module Name=DNS Synthetic Transaction [dns] Module Key=dnsST+dnstest Description=DNS Synthetic Transaction Agent Name=myhost-dev86 Agent Port=161 Version=1.0 ================================================================ |
若要將 CLI 指令記錄至記錄檔,請將 log 參數設定為要記錄該指令的檔案名稱。要在批次模式下將記錄檔傳送到 CLI 來執行,請將 logmode 參數設為 detailed、command 或 from n。如需更多詳細資訊,請參閱預先定義的參數和旗標中的 log 和 logmore。
記錄檔具有以下格式:
DATE & TIME;duration or message;command and parameters
以下範例是先前 getLoadedModules 指令輸出的指令序列記錄的摘錄。
Fri Dec 21 14:15:12 PST 2001;0 second;set o=\ /home/examples/output.3c23b455 Fri Dec 21 14:15:23 PST 2001;0 second;set f=plain Fri Dec 21 14:15:45 PST 2001;0 second;set a=smtg-dev21 Fri Dec 21 14:16:08 PST 2001;== START OF THREAD ==;getLoadedModules Fri Dec 21 14:16:08 PST 2001;2 seconds;getLoadedModules Fri Dec 21 14:16:12 PST 2001;9 seconds;print Fri Dec 21 14:21:28 PST 2001;== START OF THREAD ==;getAgentPort Fri Dec 21 14:21:28 PST 2001;0 second;getAgentPort Fri Dec 21 14:21:31 PST 2001;0 second;print Fri Dec 21 14:22:01 PST 2001;0 second;exit
說明
es-cli 指令可用來存取 CLI。
語法
es-cli [-h] [-b <filename> -i <parameter-filename>] [-i <parameter-filename>]
如需 es-cli 參數的解釋,請參閱 CLI 參數。
若沒有指定任何選項,會在階段作業模式下執行 CLI。
本節說明一些常用的 CLI 程序。
若沒有在預設的 /opt 目錄安裝主控台,將不會啟動 CLI 應用程式。在此情況下,請使用下列其中一種方式來啟動 CLI 應用程式:
安裝完成後,將 cli.properties 檔中的附加元件位置變更為正確地指向安裝位置。
建立 /opt/SUNWsymon/cli/addons 目錄。
若要啟動互動式階段作業,請鍵入指令 /opt/SUNWsymon/sbin/es-cli 以及任何所需的全域參數。
在 CLI 提示符號 (>) 處輸入 login 作為回應。
在 Host 提示符號處鍵入您希望連接的主機名稱作為回應。
在 Login 和 Password 提示符號處鍵入您的登入名稱和密碼作為回應。
步驟 1-4 的結果與以下範例相似:
/opt/SUNWsymon/sbin/es-cli parameters > login Host: myhost Login: mylogin Password: mypassword Login is successful. > |
您可以將先前準備的 CLI 指令檔案作為輸入,使用以下指令在批次模式中執行 CLI:/opt/SUNWsymon/sbin/es-cli -b file。
安裝好 Sun Management Center 主控台層後,連按兩下 CLI 資料夾中的 es-cli。
CLI 畫面即會顯示出來。
鍵入 login 指令。
登入程序會提示您指定所需的主機名稱和您的登入名稱。
在以下範例中,主機為 seattle,登入名稱為 susan:
> login Host: seattle Login: susan Password: > |
若要取得所有可用 CLI 指令的清單,請在 CLI 提示符號處輸入 help。
若要取得特定指令的更詳細說明,請輸入 help 及該指令的名稱。
例如,若要取得有關 getLoadedModules 指令的其他說明,您應輸入:
> help getLoadedModules |
透過將 height 參數設定為要顯示的行數來定義畫面大小。
例如,若要定義 20 行高的畫面,您應輸入:
> set height=20 |
若要每次檢視一頁輸出,請將 more 參數設定為 on。
> set more=on |
將 log 參數設定為要在其中記錄指令的檔案名稱。
> set log=/home/examples/log.3c254030 |
在設定 log 參數後,所有後續指令都將附加到該檔案中。如果該檔案不存在,會建立該檔案。
由於該檔案不會被覆寫,因此如果您想要一組新記錄,請確定建立新檔案。
要停止記錄,請搭配 log 參數使用 unset 指令。
> unset log |
若要將指令輸出記錄至檔案,請將 o 參數設定為輸出檔案的名稱。
> set o=/home/examples/output.3c254030 |
要停止記錄,請搭配 o 參數使用 unset 指令。
> unset o |
若要終止 CLI 階段作業,請鍵入 exit。
> exit |