Sun Management Center 3.6 使用者指南

第 20 章 使用指令行介面

Sun Management Center 指令行介面 (CLI) 是一種簡易型的字元驅動主控台,是除 Java 和 Web 主控台圖形化介面以外的另一種可以監視和管理系統的主控台。

本章討論主題如下:

Sun Management Center CLI 簡介

Sun Management Center 指令行介面 (CLI) 是一種字元驅動的主控台應用程式,可用來監視和管理您的系統。CLI 提供數種有用特徵:

您可以使用 CLI 執行以下作業:


備註 –

(在 Solaris) 您可以使用參數檔自動登入主控台。若參數檔包含使用者名稱和密碼,該檔案的權限一定是 400。否則,就不能透過 CLI 自動登入。


系統需求

您可以在下列其中一個系統配置上從使用者終端機階段作業存取 CLI:

CLI 互動模式

CLI 支援下列兩種互動模式:

配置 CLI 批次模式

CLI 批次模式可以藉由修改位於 /opt/SUNWsymon/clicli.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 指令與參數的簡介。

CLI 指令簡介

CLI 指令可以區分為兩種類型:基本指令和延伸指令。

在階段作業模式中,指令既可在前景執行,也可在背景執行。

CLI 同時也支援別名的使用。您可以為比較複雜的指令及其參數定義縮寫或別名。使用者定義的別名在不同的 CLI 階段作業中均可使用。

CLI 參數簡介

CLI 參數是一對名稱值:每個參數都有一個名稱和一個。某些參數是 CLI 內建參數。它們的名稱和值的涵義都在 CLI 中預先定義。您可以定義其他參數,也稱為變數。某些參數在範圍上是屬於全域參數。全域參數會影響在特定階段作業中執行的所有 CLI 指令的執行。其他參數是某個指令或指令群組所特有的。

輸入與輸出功能

CLI 可提供數種輸入與輸出功能。

CLI 指令說明

CLI 可為每個 CLI 指令提供線上說明。CLI 說明可從 CLI 中取得。CLI 輔助說明無需 GUI。對於每個指令,說明均提供指令用法對照表和與該指令相關的參數清單。

CLI 參數

大多數 CLI 參數為一組名稱值:每個參數都有一個名稱和一個。少數參數僅有名稱,沒有值。這些參數稱為旗標

參數範圍

您可以在 CLI 階段作業中的多個位址指定參數值:

參數語法

參數是被指定為一組 name=value

file=/home/examples/example1

其中參數 namefile,而參數 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 中具有預先定義意義的參數。


備註 –

有些預先定義的參數名稱都是單一字母而已。範例包括 afo


-b

若旗標在啟動 CLI 時包含在指令行中,此旗標就會指示 CLI 在批次模式下執行。該旗標在階段作業模式中將被忽略。

-h

若此旗標是被當作在階段作業模式下的指令參數來使用,此旗標就會指示 CLI 顯示指令的說明文字。

-l

當此旗標是被當作階段作業模式下延伸指令的參數來使用,它將指示 CLI 在執行目前指令時保留最近延伸指令的參數。若已指定 -l 旗標,則為目前指令指定的任何其他參數均被忽略。此旗標對基本指令不起作用。以下範例說明 -l 旗標的用法:


> getLoadModules a=myHostName
...
...
> getAlarms -l

在執行 getAlarms 指令時,指令會從之前執行的 getLoadModules 指令使用參數值 a (myHostName)。

a

a 參數值是代理程式,可將此值指定為代理程式主機和 (可選擇的) 連接埠號。若要指定連接埠號,請使用冒號 (:) 分隔主機名稱和連接埠號。一般語法為 a=agentHost[:agentPort] 。例如,若要指定在主機 example_host 上執行並偵聽連接埠 12345 的代理程式,您可以使用以下語法:


a=example_host:12345

a 參數的值可以是以逗號分隔的代理程式規格清單:a=agent[,agent]*.

about

about 參數是搭配 help 指令使用。此參數會顯示 CLI 的版本資訊。

append

append 參數的值是將指令的輸出附加到其中的檔案名稱。如果該檔案不存在,會建立該檔案。如果您將 append 參數設定為全域參數,則該階段作業的所有指令輸出都將附加到指定的檔案中。您還可以為特定指令設定該參數,如以下範例所示。


append=/home/examples/cli_output

若皆已設定 appendo 參數,append 將會優先 o。僅有指令結果會被記錄在指定檔案中。實際指令不會被記錄下來。使用 log 參數可記錄指令資訊。

columns

columns 參數的值是 print 指令顯示之指令輸出的一欄或多欄的名稱。欄名稱有區分大小寫。多個欄位名稱以逗號隔開。以下範例使用了數個欄名稱。


columns="Alarm Id,Node URL,Target Host,Severity"
f

f 參數的值會判定指令輸出的格式。目前的格式為 plainhtml。請參閱指令輸出格式以得知更多資訊。若要將格式設定為 HTML,請使用以下語法:


f=html
height

height 參數的值是顯示在螢幕上的指令輸出行數。以下範例將高度設定為大約等於標準終端螢幕的高度:


height=24
history

history 參數的值是儲存在指令歷程中的指令數。指令歷程可允許使用者檢視之前執行過的指令。此參數是由 set 指令所使用。


history=10
i

i 的值是包含在目前階段作業中之參數定義的輸入檔名稱。在輸入檔案中,每個參數定義均應位於單獨的行上。例如,假設以下各行位於 /home/examples/myParams 檔中:


more=off
serverHost=myserver
a=myagent:161

您可以使用下行將這些參數包含在目前的 CLI 階段作業中:


i=/home/examples/myParams
log

log 參數的值是記錄所有 CLI 指令和執行指令時間的檔案名稱。請注意,記錄檔僅會記錄指令名稱和執行時間。指令輸出會記錄在由 ao 參數指定的檔案中。設定該參數之後,後續執行的所有指令都會附加至該檔案中。如果該檔案不存在,則會建立該檔案。因為記錄檔在記錄開啟時不會被覆寫,因此如果您想獲取不同的記錄,請確定指定不同的檔案。要關閉記錄功能,請搭配 log 參數使用 unset 指令。以下範例先開啟日誌,然後停止日誌。


> log=/home/examples/sunmc-log
...
...
> unset log
logmode

logmode 參數的值可以是 detailedcommandfrom ndetailed 的值會將指令資訊儲存在指令記錄檔中。command 值僅會將指令和其相關參數儲存在指令記錄檔中。from n 值會將所有項目 (從 nth 項目開始) 從指令歷程附加到指令記錄檔。logmode 參數的預設值為 detailed

m

m 參數的值是 Sun Management Center 模組的名稱。該值也可以是以逗號分隔的模組清單。


m=kernel-reader
more

more 參數的值會控制顯示的指令輸出頁數。可能的值為 onoff。若將 more 設定為 on,則輸出至終端機的所有後續輸出都將一次顯示在一個畫面上。畫面的大小由高度和寬度參數定義。批次模式的預設值為 off,階段作業模式的預設值為 on


more=on
ncols

ncols 參數的值是 print 指令顯示的指令輸出最大欄數。

o

o 參數的值是指令輸出所寫入檔案的名稱。如果該檔案存在,則覆寫該檔案。您可以透過將 o 參數指定給特定指令,使用 o 參數捕捉指令的輸出。您還可以使用 set 指令將該參數設定為全域參數,以將所有後續輸出寫入檔案。

若皆已設定 appendo 參數,append 將會優先 o。輸出會附加至指定的檔案。僅有指令輸出會被寫入該檔案。並不記錄實際指令。使用 log 參數可記錄指令資訊。以下範例定義指令輸出所寫入的檔案。


o=/home/examples/sunmc-output
prompt

prompt 參數的值是用來設定不同的 CLI 提示符號。

serverPort

serverPort 參數的值是用來登入的伺服器連接埠。建立登入階段作業之後,該通用參數將無法設定。如果未設定該參數,則使用預設連接埠 2099

style

style 參數會判定指令輸出的風格。此參數可使用的值為 table list<custom>table 值會以表格格式顯示輸出。list 值會以清單顯示輸出,各欄間以逗號分隔。<custom> 值可確保以使用者定義的格式顯示輸出。每欄會以 %a 顯示。自訂值可以包含特殊字元,例如 :、\t 和 \n。

t

t 參數的值是在拓樸代理程式中受管理的物件名稱。物件可以是網域、檢視群組或實體。物件名稱是在網域層級的完整名稱,例如 /domain/group/host

CLI 指令

請參閱 CLI 指令與參數簡介以得知指令類型和概念的簡介。如需關於基本 CLI 指令使用的參數詳細資訊,請參閱預先定義的參數和旗標

基本 CLI 指令

以下清單說明基本 CLI 指令。

alias

說明

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 指令會擷取拓樸物件的屬性。

語法

attrib [group=groupName [name=attribName] [-key]]

browse

說明

browse 指令會啟動拓樸的瀏覽模式。

語法

browse

cd

說明

cd 指令會變更目前的拓樸路徑。若沒有指定任何路徑,目前的路徑將會被設為預設網域。若有指定某數字 (n),目前的路徑將被設為 nth 子系路徑,如 list 指令所顯示。

語法

cd [path|number]

clear

說明

clear 指令會移除在目前階段作業期間所設的所有參數。但是,此指令將不會移除從指令行所設的參數。該指令與 unset 指令相似,但是無需參數名稱作為引數。

語法

clear

data

說明

data 指令會顯示拓樸物件的詳細資訊。若有指定某數字 (n),路徑將被設為 nth 子系路徑,如 list 指令所顯示。

語法

data [path|number|-key]

end

說明

end 指令會關閉拓樸的瀏覽模式。

語法

end

exit

說明

exit 指令會終止伺服器連接和 CLI 階段作業。

語法

exit [-onError]

參數

onError

若在執行前一個指令時發生異常,就可使用 onError 參數來終止 CLI 階段作業。此參數僅可用於批次模式。


備註 –

exit 指令和 quit 指令是相同的。


goto

說明

goto 指令可瀏覽到符合大小寫式樣的拓樸路徑。若找到數個相符的路徑,便會要求使用者選擇路徑。

語法

goto <pattern>

help

說明

help 指令會顯示關於 CLI 指令與其參數的資訊。說明資訊可在未使用點陣圖的終端機上顯示。如果不帶引數執行 help,說明會按字母順序顯示可用 CLI 指令的清單及簡短說明。首先列出基本指令,然後再列出延伸指令。當以 CLI 指令名稱作為引數呼叫 help 時,help 可列出針對該指令的資訊。當搭配 about 參數呼叫 help 時,help 會顯示 Sun Management Center 的版本。

語法

help [<command>|about]

參數

commandabout

範例

以下範例顯示 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

說明

history 指令會列出或執行之前在 CLI 階段作業中輸入的指令。當不帶任何引數呼叫 history 指令且之前已設好歷程時,將會列出所有之前輸入的指令。當搭配數字引數呼叫 history 指令且之前已設好歷程時,將會執行符合此引數的指令。

語法

history [num]

kill

說明

kill 指令會終止任何在背景執行的指令。

語法

kill

list

說明

list 指令會列出某路徑下的物件。若有指定某數字 (n),路徑將被設為 nth 子系路徑,如下列指令所顯示。

語法

list [path|number]

locate

說明

locate 指令會尋找所有符合指定式樣的拓樸路徑。式樣有區分大小寫。

語法

locate <pattern>

login

說明

login 指令會建立與 Sun Management Center 伺服器的連接。您可以指定 serverHostserverPort (可選擇) 參數作為引數。如果未指定主機,則會提示您輸入主機。若未指定連接埠,則會使用 2099。login 指令也會提示您輸入使用者名稱和密碼。

語法

login [serverHost=host] [serverPort=portNumber] [user=userName] [password=userPassword]

參數

serverHostserverPort userpassword

logout

說明

logout 指令會終止到 Sun Management Center 伺服器的連接,但不會終止 CLI 階段作業。

語法

logout

print

說明

print 指令可以以指定的格式將最後延伸指令的輸出導向至指定目標。依據預設,print 會以純文字格式將此輸出導向至終端機螢幕。如果已設定參數 appendo,則會將輸出導向至這些參數指定的檔案中。該輸出不會顯示在螢幕上。若沒有指定 ncols,預設欄數會設為 4。


備註 –

print 指令不會儲存在指令歷程中。


語法

print [f=plain|xml|html] [style=table|list|<custom>] [columns= columnList] [ncols=num] [o=outputFile | append=appendFile]

參數

fstylecolumns ncolsoappend

quit

說明

quit 指令會中斷與伺服器的連接,並終止 CLI 階段作業。


備註 –

quitexit 指令是相同的。


語法

quit

reset

說明

reset 指令可將在指令行上指定的所有參數值復原為 CLI 階段作業開始時指定的值。在階段作業期間而不是在指令行上定義的參數保持不變。如果將特定參數名稱作為引數提供給 reset,並且該參數是在指令行上被指定的,則該參數的值將被復原至原始值。否則,該參數的值保持不變。


備註 –

reset 指令不會儲存在指令歷程中。


語法

reset [<parameter>]*

set

說明

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

說明

status 指令會顯示在背景執行之任何指令的狀況。

語法

status

unalias

說明

unalias 指令可移除別名或指定為引數的別名清單。

語法

unalias [<pseudonym>]*

unset

說明

unset 指令會從目前階段作業移除指定的參數。

語法

unset [<parameter>]*


備註 –

unset 指令不會儲存在指令歷程中。


where

說明

where 指令會顯示目前拓樸路徑。

語法

where

延伸 CLI 指令

以下小節將說明在 CLI 中可用的數種類型的延伸指令:

模組延伸指令

有七個延伸指令可用來管理模組。

模組指令參數

模組指令可以使用以下參數。如需關於 am 參數的詳細資訊,請參閱預先定義的參數和旗標

moduleName

模組的國際化名稱

moduleDesc

模組的文字說明

moduleParams

以逗號分隔之模組參數清單

-default

模組的預設設定

模組指令

disableModule

說明

disableModule 指令會停用代理程式中的模組。

語法

disableModule a=host[:port][,host[:port]]* m=module[+instance][,module[+instance]]*

參數

am

enableModule

說明

enableModule 指令可啟用代理程式中的模組。

語法

enableModule a=host[:port][,host[:port]]* m=module[+instance][,module[+instance]]*

參數

am

getLoadedModules

說明

getLoadedModules 指令可取得代理程式中已載入的模組清單。

語法

getLoadedModules a=host[:port][,host[:port]]*

參數

a

getModule

說明

getModule 指令可取得代理程式中特定模組的資訊。

語法

getModule a=host[:port][,host[:port]]* m=module[+instance]

參數

am

getModules

說明

getModules 指令可取得代理程式中所有可用的模組清單。

語法

getModules a=host[:port][,host[:port]]*

參數

a

loadModule

說明

loadModule 指令會在代理程式中載入模組。

語法

loadModule a=host[:port][,host[:port]]* m=module[+instance] [moduleName= name] [moduleDesc=description] [moduleParams= key=value[,key=value]*] [-default]

參數

ammoduleName moduleDescmoduleParams-default

unloadModule

說明

unloadModule 指令會卸載代理程式中的模組。

語法

unloadModule a=host[:port][,host[:port]]* m=module[+instance][,module[+instance]]*

參數

am

模組指令範例

若要決定將哪個模組載入到 agentHost 名稱為 seattle 的主機,您應在 CLI 提示符號處鍵入以下指令:


> getLoadedModules a=seattle

若要將 kernel-reader 模組載入在連接埠 1776 的主機 seattle ,您應該鍵入以下指令:


> loadModule a=seattle:1776 m=kernel-reader

物件屬性延伸指令

有四個延伸指令可用來管理物件屬性及屬性值。

物件屬性指令的參數

下列參數可被物件屬性指令所用:如需關於 am 參數的詳細資訊,請參閱預先定義的參數和旗標

mgtObj

mgtObj 參數的值是已設定或擷取其屬性與特性之受管理物件的名稱。

property

property 參數的值是已設定或擷取其屬性與值之特性的名稱。

propInst

propInst 參數的值是已設定或擷取其屬性和值之特性的實例名稱。

rowValues

rowValues 參數的值是以逗號分隔之一組名稱值的清單。name 是列中的欄名。value 是該欄中的值。

attribute

attribute 參數的值是以逗號分隔之已設定或擷取其屬性和值之特性的屬性名稱清單。當與 setAttributes 指令配合使用時,attribute 參數中的每個屬性名稱在 value 參數中均必須具有對應的值。

value

value 參數的值是以逗號分隔並對應於 attributes 參數中指定屬性的值清單。當與 setAttributes 指令配合使用時,每個指定的屬性均必須有值。

物件屬性指令

您可以使用下列指令來設定與擷取物件屬性和屬性值:

addRow

說明

addRow 指令會新增指定值的列到表格中。

語法

addRow a=host[:port][,host[:port]]* m=module[+instance] mgtObj=managedObject [property=property] [propInst=propertyInstance] rowValues=name=value[,name=value]

參數

ammgtObjpropertypropInstrowValues

delRow

說明

delRow 指令會從表格刪除指定值的列。

語法

delRow a=host[:port][,host[:port]]* m=module[+instance] mgtObj=managedObject [property=property] [propInst=propertyInstance] rowValues=name=value[,name=value]

參數

ammgtObjpropertypropInstrowValues

getAttributes

說明

getAttributes 指令會擷取特性資訊,或從代理程式或代理程式清單擷取指定屬性。

語法

getAttributes a=host[:port][,host[:port]]* m=module[+instance] mgtObj=managedObject property=property [propInst=propertyInstance] [attribute=attribute[,attribute]*]

參數

ammgtObjpropertypropInstattribute

setAttributes

說明

setAttributes 指令會設定特性,或者為代理程式的指定屬性設定值。

語法

setAttributes a=host[:port][,host[:port]]* m=module[+instance] mgtObj=managedObject property=property [propInst=propertyInstance] [attribute=attribute[,attribute]*] value=value[,value]*

參數

ammgtObjpropertypropInstattributevalue

對於在 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"

警示延伸指令

有五個延伸指令可用於管理警示。

警示指令參數

下列參數可被延伸指令用來管理警示。如需關於 am 參數的詳細資訊,請參閱預先定義的參數和旗標

ack

ack 參數的值是以逗號分隔的值清單,指出受管理的警示是否已確認。ack 參數的合法值為 ACK (已確認) 和 NOACK (未確認)。

command

command 參數的值是要執行的警示動作。

domain

domain 參數的值是要管理警示的 Sun Management Center 網域名稱。如果未指定網域,則使用 [預設網域]。

mgtObj

mgtObj 參數的值是要管理警示之受管理物件的名稱。

note

note 參數的值是要執行之指令的文字註釋。

property

property 參數的值是要管理警示的特性名稱。

propInst

propInst 參數的值是要管理警示的特定特性實例名稱。

qualifier

qualifier 參數的值是與要管理警示之受管理特性相關的合格者名稱。

severity

severity 參數的值是以逗號分隔的受管理警示的嚴重性值清單。severity 參數允許使用以下值:

  • ERR — 錯誤

  • WRN — 警告

  • INF — 提供資訊

  • IRR — 不合理

  • DWN — 當機

  • DIS — 已停用

  • OFF — 關閉

state

state 參數是以逗號分隔的受管理警示的狀態值清單。state 參數的合法值為 Open、Closed 和 Fixed。

警示指令

您可以使用以下指令檢驗警示值和警示動作:

ackAlarms

說明

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]

參數

adomainm mgtObjpropertypropInst qualifierseveritystatenote

若沒有為 state 參數指定值,state 會預設為 Open。

delAlarms

說明

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]

參數

adomainmmgtObjpropertypropInstqualifierseveritystateacknote

若沒有為 state 參數指定值,state 會預設為 Closed。

getAlarms

說明

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]

參數

adomainmmgtObjpropertypropInstqualifierseveritystateack

若沒有指定任何參數,getAlarms 會傳回所有警示資訊。

runAlarmAction

說明

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]

參數

adomainmmgtObjpropertypropInstqualifierseveritystateack

setAlarmAction

說明

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]

參數

acommanddomainmmgtObjpropertypropInstqualifierseveritystateack

警示指令範例

以下指令可從主機 haiku 中擷取所有嚴重性為 ERRDWN 的警示:


> getAlarms a=haiku severity=ERR,DWN

拓樸延伸指令

有九個延伸指令可用於管理拓樸。

拓樸指令參數

下列參數可被延伸指令用來管理拓樸:如需關於 at 參數的詳細資訊,請參閱預先定義的參數和旗標

agentPort

agentPort 參數的值是代理程式的連接埠號。如果未指定 agentPort,將使用預設值 161。agentPort 參數為可選。僅在未指定 url 參數並且您不想使用預設連接埠時,才需要指定此參數。

arch

arch 參數的值是拓樸物件的架構。

domain

domain 參數的值是您必須為 setCurrentDomain 指令指定的 Sun Management Center 網域名稱。

domainmode

domainmode 參數的值可以是 followignore。若值為 followimport 指令則會從檔案將群組和網域資訊匯入到指定的目標網域。若值為 ignore,則 import 指令會忽略網域資訊。

family

family 參數的值是拓樸物件的物件系列。若未指定,則將會自動取得。

filename

filename 參數的值是檔案名稱。此參數是被 exportimport 指令用來匯出和匯入拓樸資料。

fullDesc

fullDesc 參數的值是要建立的實體或群組的文字說明。

isPolled

isPolled 參數的值可以是 truefalse。如果值為 true,實體可根據輪詢類型 (pollType) 輪詢狀況資訊。預設值為 true

mode

mode 參數的值可以是 appendoverwrite。若值為 appendexport 指令會將拓樸資料加到檔案末端。若值為 overwriteexport 指令會使用拓樸資料覆寫檔案。

nodemode

nodemode 參數的值可以是 replaceignore。若在檔案和網域中有資料不相符,replace 值會以檔案中的資料取代網域中的資料。ignore 值會忽略資料的不相符。

pollType

pollType 參數的值是該實體的輪詢類型。pollType 參數允許使用以下值:

  • agroup – 識別使用中代理程式安裝並執行的群組

  • ahost – 識別使用中代理程式安裝並執行的主機

  • amod – 識別具有使用中代理程式的模組

  • aprox – 識別正在執行 SNMP 代理模組的代理程式

  • dummy – 識別不受監視的裝置

  • ping – 使用 ICMP ping 指令識別要受監視的主機

  • snmp – 識別要使用 SNMP ping 指令監視的主機

readInfo

readInfo 參數的值是 SNMP 輪詢物件的 SNMPv1 唯讀社群名稱。

targetHost

targetHost 參數的值是目標主機的名稱。

targetIp

targetIP 參數的值是目標主機的 IP 位址。

topoCfg

topoCfg 參數的值是受管理實體之拓樸表示的配置資訊。

topoType

topoType 參數的值是受管理物件的拓樸表示類型。

url

url 參數的值是要輪詢之實體的URL。url 參數的值可用以下格式指定:

ping://hostname
snmp://hostname:port/oid/#.#.#.#
snmp://hostname:port/[mod,sym]/path
validity

validity 參數的值是您要匯出之拓樸資料有效的期間 (以日為單位)。 validity 參數的值可以為 Unlimited7153090

writeInfo

writeInfo 參數的值是 SNMP 輪詢物件的 SNMPv1 寫入社群名稱。

拓樸指令

有九個延伸指令可用來管理拓樸。

createEntity

說明

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]

參數

tpollTypefullDesctargetHostagentPorttargetIpfamilyisPolledtopoTypetopoCfgreadInfowriteInfourl

若已指定urlagentPort 參數,就不會使用預設連接埠 161

createGroup

說明

createGroup 指令可建立拓樸網域或群組。

語法

createGroup t=topoObject [family=base|building-view|campus-view|network-view|subnetwork-view] [fullDesc=desc]

參數

tfamilyfullDesc

若建立的實體為群組,family 參數就是必要的。

若建立的實體是網域,就會忽略 family fullDesc 參數。

delTopoObject

說明

delTopoObject 指令會刪除受管理拓樸階層結構中的受管理拓樸物件。同時將刪除指定拓樸物件下面的所有物件。

語法

delTopoObject t=topoObject

參數

t

export

說明

export 指令會將網域的拓樸資料匯出到檔案中。

語法

export filename=filename domain=domain|"All Domains" mode=append|overwrite validity=Unlimited|7|15|30|90 [comment=text]

參數

filenamedomain modevaliditycomment

getAgentPort

說明

getAgentPort 指令會傳回正在拓樸網域中指定的主機上執行的 Sun Management Center 代理程式的連接埠號。如果有多個代理程式,將會傳回連接埠號清單。

語法

getAgentPort a=host[,host]* [t=topoObject]

參數

at

若未指定 t 參數,就會使用預設網域。

getAllTopoObjects

說明

getAllTopoObjects 指令會傳回符合 archfamily pollType 參數指定之情況的受管理拓樸階層結構中的所有受管理物件清單。

語法

getAllTopoObjects t=topoObject [arch=os] [family=platform] [pollType=aview|ahost|amod|aprox|dummy|ping|snmp]

參數

tarchfamilypollType

getCurrentDomain

說明

getCurrentDomain 指令會傳回目前網域名稱。

語法

getCurrentDomain

參數

getDomains

說明

getDomains 指令會傳回目前伺服器環境中所有受管理網域的清單。

語法

getDomains

參數

getTopoObject

說明

getTopoObject 指令會直接傳回由 t 參數指定之符合 arch familypollType 參數指定情況的拓樸物件下的受管理拓樸物件清單。

語法

getTopoObject t=topoObject [arch=os] [family=platform] [pollType=aview|ahost|amod|aprox|dummy|ping|snmp]

參數

tarchfamilypollType

import

說明

export 指令可以從檔案將拓樸資料匯入到網域。

語法

import filename=filename domainmode=follow|ignore nodemode=replace|ignore [domain=domain]

參數

filenamedomainmode nodemodedomain

setCurrentDomain

說明

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 輸出

CLI 提供以下輸出選項:


備註 –

所有指令和記錄檔均為英文。但是,指令說明和說明文字則遵循 Java 國際化的規格,使用除英文之外的語言。


指令輸出格式

基本指令只能以純文字輸出。請參閱CLI 指令與參數簡介以得知基本和延伸指令的解釋。

延伸指令可以用三種格式輸出:

若要指定輸出格式,請將 f 參數設定為所需格式的值。目前支援的值為 plainxmlhtml

您可以透過將 height 參數設定為所需的值來定義指令輸出的邏輯畫面大小。您可以設定 more 參數,以每次顯示一個輸出畫面。請參閱預先定義的參數和旗標以得知這些參數的解釋。


範例 20–1 純文字指令輸出

以下範例以純文字顯示 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 記錄檔

若要將 CLI 指令記錄至記錄檔,請將 log 參數設定為要記錄該指令的檔案名稱。要在批次模式下將記錄檔傳送到 CLI 來執行,請將 logmode 參數設為 detailedcommandfrom n。如需更多詳細資訊,請參閱預先定義的參數和旗標中的 loglogmore

記錄檔具有以下格式:

DATE & TIME;duration or message;command and parameters

範例 20–2 部份 CLI 記錄檔

以下範例是先前 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

存取 CLI

es-cli

說明

es-cli 指令可用來存取 CLI。

語法

es-cli [-h] [-b <filename> -i <parameter-filename>] [-i <parameter-filename>]

如需 es-cli 參數的解釋,請參閱 CLI 參數


備註 –

若沒有指定任何選項,會在階段作業模式下執行 CLI。


CLI 程序

本節說明一些常用的 CLI 程序。

Procedure在 Solaris 或 Linux 作業環境中存取 CLI

開始之前

備註 –

若沒有在預設的 /opt 目錄安裝主控台,將不會啟動 CLI 應用程式。在此情況下,請使用下列其中一種方式來啟動 CLI 應用程式:


步驟
  1. 若要啟動互動式階段作業,請鍵入指令 /opt/SUNWsymon/sbin/es-cli 以及任何所需的全域參數。

  2. 在 CLI 提示符號 (>) 處輸入 login 作為回應。

  3. Host 提示符號處鍵入您希望連接的主機名稱作為回應。

  4. LoginPassword 提示符號處鍵入您的登入名稱和密碼作為回應。

    步驟 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


Procedure在 Microsoft Windows 環境中存取 CLI

步驟
  1. 安裝好 Sun Management Center 主控台層後,連按兩下 CLI 資料夾中的 es-cli

    CLI 畫面即會顯示出來。

  2. 鍵入 login 指令。

    登入程序會提示您指定所需的主機名稱和您的登入名稱。

    在以下範例中,主機為 seattle,登入名稱為 susan


    > login
    Host: seattle
    Login: susan
    Password:
    >

Procedure存取 CLI 線上說明

步驟
  1. 若要取得所有可用 CLI 指令的清單,請在 CLI 提示符號處輸入 help

  2. 若要取得特定指令的更詳細說明,請輸入 help 及該指令的名稱。

    例如,若要取得有關 getLoadedModules 指令的其他說明,您應輸入:


    > help getLoadedModules
    

Procedure控制指令輸出畫面大小

步驟
  1. 透過將 height 參數設定為要顯示的行數來定義畫面大小。

    例如,若要定義 20 行高的畫面,您應輸入:


    > set height=20
    
  2. 若要每次檢視一頁輸出,請將 more 參數設定為 on


    > set more=on
    

Procedure將 CLI 指令記錄至記錄檔

步驟
  1. log 參數設定為要在其中記錄指令的檔案名稱。


    > set log=/home/examples/log.3c254030
    

    在設定 log 參數後,所有後續指令都將附加到該檔案中。如果該檔案不存在,會建立該檔案。

    由於該檔案不會被覆寫,因此如果您想要一組新記錄,請確定建立新檔案。

  2. 要停止記錄,請搭配 log 參數使用 unset 指令。


    > unset log
    

Procedure將指令輸出記錄至檔案

步驟

    若要將指令輸出記錄至檔案,請將 o 參數設定為輸出檔案的名稱。


    > set o=/home/examples/output.3c254030
    

    要停止記錄,請搭配 o 參數使用 unset 指令。


    > unset o
    

Procedure終止 CLI 階段作業

步驟

    若要終止 CLI 階段作業,請鍵入 exit。


    > exit