以下各节讲述了 CLI 中可用的几种扩展命令类型:
导入和导出 CLI 界面介绍的拓扑导入和导出命令
用于管理模块的扩展命令共有 7 条。
模块命令可以使用以下参数。有关 a 和 m 参数的详细信息,请参阅预定义的参数和标记。
模块的本地化名称
模块的文本描述
以逗号分隔的模块参数列表
模块的默认设置
说明
disableModule 命令用于禁用一个或多个代理中的一个或多个模块。
语法
disableModule a=host[:port][,host[:port]]* m=module[+instance][,module[+instance]]*
参数
a 和 m
说明
enableModule 命令用于启用一个或多个代理中的一个或多个模块。
语法
enableModule a=host[:port][,host[:port]]* m=module[+instance][,module[+instance]]*
参数
a 和 m
说明
getLoadedModules 命令用于获取一个或多个代理中已安装模块的列表。
语法
getLoadedModules a=host[:port][,host[:port]]*
参数
a
说明
getModule 命令用于获取一个或多个代理中特定模块的信息。
语法
getModule a=host[:port][,host[:port]]* m=module[+instance]
参数
a 和 m
说明
getModules 命令用于获取一个或多个代理中所有可用模块的列表。
语法
getModules a=host[:port][,host[:port]]*
参数
a
说明
loadModule 命令用于将模块加载到一个或多个代理内。
语法
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 |
要在主机 seattle 的端口 1776 上加载 kernel-reader 模块,可以键入以下命令:
> loadModule a=seattle:1776 m=kernel-reader |
有四个用于管理对象属性和属性值的扩展命令。
以下参数可以由对象属性命令使用。有关 a 和 m 参数的详细信息,请参阅预定义的参数和标记。
property 参数的值是属性 (property) 的名称,该属性的子属性 (attribute) 正在被设置或被检索。
propInst 参数的值是属性 (property) 实例的名称,该属性的子属性 (attribute) 和值正在被设置或被检索。
attribute 参数的值是以逗号分隔的子属性 (attribute) 名称列表,其所属属性 (property) 的子属性和值正在被设置或检索。当与 setAttributes 命令一起使用时,attribute 参数中的每个属性名都一定在 value 参数中有一个对应的值。
value 参数的值是一个逗号分隔值列表。这些值与 attribute 参数中指定的属性相对应。与 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 命令可以设置单个属性,也可以设置一个或多个代理中的多个属性。此外,您还可以将指定属性的值重置为 null。
语法
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 属性 (property) 的所有子属性 (attribute):
> getAttributes a=haiku:1161 m=agent-stats mgtObj=totalstats \ property=size |
以下命令将上例指定的 size 属性 (property) 中的 alarmlimits.error-gt 子属性 (attribute) 设置为 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 参数的值是所管理的警报的状态值列表,其中的状态值由逗号分隔。状态参数的有效值包括: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]
要为报警设置电子邮件警报,可使用如下命令格式
command="email.sh:<email-id>:<message>" 或
command="email:<email-id>:<message>"
参数
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 命令可将一个或多个域中的拓扑数据导出到一个文件内。
语法
export filename=filename domain=domain|"All Domains" mode=append|overwrite validity=Unlimited|7|15|30|90 [comment=text]
参数
文件名、域、模式、有效性和 注释。
说明
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 命令可以返回当前域的名称。
语法
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
以下命令用于返回所有 Sun Management Center 代理主机的列表,这些代理主机位于运行 SunOS 5.7 软件的 menlo_park 域的 building12 组中的 sun4u 族:
> 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 |
以下命令将创建名为 myHost 的被管理实体,该实体位于 test_domain 域的 building12 组中。拓扑对象是一个在端口 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 |