以下各节讲述了 CLI 中可用的几种扩展命令类型:
导入和导出 CLI 界面中介绍的拓扑导入和导出命令
有七个用于管理模块的扩展命令。有关 a、m、f 和 columns 参数的详细信息,请参见预定义的参数和标记。
禁用代理中的模块。disableModule 命令使用以下参数: a 和 m。
启用代理中的模块。enableModule 命令使用以下参数: a、f、m 和 columns。
获取代理中已加载模块的列表。getLoadedModules 命令使用以下参数: a、f 和 columns。
获取特定模块的信息。getModule 命令使用以下参数: a、f、m 和 columns。
获取代理中的模块列表。getModules 命令使用以下参数: a、f 和 columns。
加载代理中的模块。loadModule 命令使用以下参数: a、f、m 和 columns。
loadModule 命令还可以使用两个附加的参数: moduleName(国际化模块名称)和 moduleDesc(模块的文字说明)。
卸载代理中的一个或多个模块。unloadModule 命令使用以下参数: a、f、m 和 columns。
要确定在 agentHost 名称为 seattle 的主机上加载的模块,可以在 CLI 提示下键入以下命令:
> getLoadedModules a=seattle |
要在主机 seattle 的端口 1776 上加载 kernel-reader 模块,可以键入以下命令:
> loadModule a=seattle:1776 m=kernel-reader |
有四个用于管理对象属性和属性值的扩展命令。
对象属性命令可以使用以下参数。有关 a、m、f 和 columns 参数的详细信息,请参见预定义的参数和标记。
mgtObj 参数的值是设置或检索其属性和特性的被管理对象的名称。
property 参数的值是已设置或检索了其属性和值的特性的名称。
propInst 参数的值是设置或检索其属性和值的特性实例的名称。
rowValues 参数的值是由逗号分隔的名称-值对列表。name 是行中列的名称。value 是该列中的值。
attributes 参数的值是由逗号分隔的属性名称的列表,这些属性名称属于已设置或检索了其属性和值的特性。在与 setAttributes 命令一起使用时,attributes 参数中的每个属性名称都必须在 values 参数中有一个相应的值。
values 参数的值是由逗号分隔的值的列表,这些值与在 attributes 参数中指定的属性相对应。在与 setAttributes 命令一起使用时,每个指定的属性必须有一个值。
可以使用以下命令设置和检索对象属性和属性值:
addRow 命令用于向表中添加一行。addRow 命令使用以下参数: a、m、mgtObj、property、propInst 和 rowValues。
delRow 命令用于从表中删除行。delRow 命令使用以下参数: a、m、mgtObj、property、propInst 和 rowValues。
getAttributes 命令从代理或代理列表中检索指定的属性。getAttributes 命令使用以下参数: a、f、m、columns、mgtObj、property、propInst 和 attributes。
setAttributes 命令为代理或代理列表中的指定属性指定值。setAttributes 命令使用以下参数: a、m、mgtObj、property、propInst、attributes 和 values。
对于在 attributes 参数中指定的每个属性,values 参数中必须有一个相应的值。
以下命令检索主机 haiku 端口 1161 处 agent-stats 模块中的被管理对象 totalstats 中 size 特性的所有属性:
> getAttributes a=haiku:1161 m=agent-stats mgtObj=totalstats \ property=size |
以下命令将属性 alarmlimits.error-gt 设置为上例指定的 size 特性中的值 2:
> setAttributes a=haiku:1161 m=agent-stats mgtObj=totalstats \ property=size attributes=alarmlimits.error-gt values=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 参数的合法值包括 A (已确认)和 N (未确认)。
command 参数的值是要执行的警报操作。
domain 参数的值是要管理其警报的 Sun Management Center 域的名称。如果未指定任何域,将使用缺省域。
managed_object 参数的值是要管理其警报的被管理对象的名称。
note 参数的值是正在运行的命令的文字注释。
property 参数的值是要管理其警报的特性的名称。
property_instance 参数的值是要管理其警报的特定特性实例的名称。
qualifier 参数的值是与要管理其警报的被管理特性关联的限定词的名称。
severity 参数的值是所管理的警报的严重程度值的列表,此列表中的值由逗号分隔。severity 参数可以使用以下值:
ERR — 错误
WRN — 警告
INF — 信息
IRR — 不合理
DWN — 关闭
DIS — 禁用
OFF — 关闭
state 参数的值是所管理的警报的状态值列表,其中的状态值由逗号分隔。state 参数的合法值为 O(打开)或 C (关闭)。
可以使用以下命令检查警报值和设置警报操作:
ackAlarms 命令用于确认代理或代理列表中的警报。ackAlarms 命令使用以下参数: a、ack、columns、 domain、f、m、 managed_object、note、 property、property_instance、qualifier、severity 和 state。
如果没有为 state 参数指定值,则 state 参数缺省设置为 O(打开)。
delAlarms 命令用于删除代理或代理列表中的警报。delAlarms 命令使用以下参数: a、ack、columns、 domain、f、m、 managed_object、note、 property、property_instance、qualifier、severity 和 state。
如果没有为 state 参数指定值,则 state 参数缺省设置为 C(关闭)。
getAlarms 命令用于检索代理或代理组的警报信息。getAlarms 命令使用以下参数: a、ack、columns、domain、f、m、managed_object、property、 property_instance、qualifier、severity 和 state。
如果未指定任何参数,则 getAlarms 命令将返回所有警报信息。
runAlarmAction 命令用于在代理或代理列表中运行手动或延迟的警报操作。runAlarmAction 命令使用以下参数: a 和 domain
setAlarmAction 命令用于在代理或代理列表中为现有的警报设置手动或延迟的警报操作。setAlarmAction 命令使用以下参数:a、command 和 domain。
以下命令用于从主机 haiku 中检索严重程度为 ERR 或 DWN 的所有警报:
> getAlarms a=haiku severity=ERR,DWN |
有九个用于管理拓扑的扩展命令。
拓扑扩展命令可以使用以下参数。有关 a、columns、f 和 t 参数的详细信息,请参见预定义的参数和标记。
agentPort 参数的值是代理端口号。如果未指定 agentPort 参数,将使用缺省值 161。agentPort 参数是可选的。仅当未指定 url 参数且不需要缺省端口时才指定此参数。
arch 参数的值是拓扑对象的体系结构。
domain 参数的值是 Sun Management Center 域的名称,必须为 setCurrentDomain 命令指定此名称。
family 参数的值是拓扑对象的对象族。
fullDesc 参数的值是所创建的实体或组的文字说明。
isPolled 参数的值可以是 true 或 false。如果是 true,则实体根据巡回检测类型 (pollType) 巡回检测状态信息。
pollType 参数的值表示此实体的巡回检测类型。pollType 参数可以使用以下值:
ahost – 识别安装和运行激活代理的主机
amod – 识别包含激活代理的模块
aprox – 识别运行 SNMP 代理服务器模块的代理
dummy – 识别未被监视的设备
ping – 使用 ICMP ping 命令识别要监视的主机
snmp — 使用 SNMP ping 命令识别要监视的主机
readInfo 参数的值表示 SNMP 巡回检测对象的 SNMPv1 读团体名。
targetHost 参数的值表示目标主机的名称。
targetIP 参数的值是目标主机的 IP 地址。
topoCfg 参数的值是被管理的实体的拓扑表示方式的配置信息。
topoType 参数的值是被管理的实体的拓扑表示类型。
url 参数的值是要巡回检测的实体的 URL。可以使用以下格式指定 url 参数的值:
ping://hostname snmp://hostname:port/oid/#.#.#.# snmp://hostname:port/[mod,sym]/path
writeInfo 参数的值表示 SNMP 巡回检测对象的 SNMPv1 写团体名。
有九个用于管理拓扑的扩展命令。
createEntity 命令用于创建被管理的实体。可以使用以下参数指定被管理实体的特性: agentPort、arch、family、fullDesc、isPolled、pollType、readInfo、 targetHost、targetIP、topoCfg、topoType、url、columns、 f 和 t。
如果指定了 url 或 agentPort 参数,则不使用缺省端口 161。
createGroup 命令用于创建拓扑域或组。如果要创建的实体是组,则可以使用以下参数指定组特性: family 和 fullDesc。createGroup 命令还使用以下参数: columns、f 和 t。
如果要创建的实体是域,则忽略 family 和 fullDesc 参数。
delTopoObjects 命令用于删除被管理拓扑分层结构中的被管理拓扑对象。同时还删除指定拓扑对象下的所有对象。delTopoObjects 命令使用以下参数: columns、f 和 t。
getAgentPort 命令用于返回在拓扑域中的指定主机上运行的 Sun Management Center 代理的端口号。如果存在多个代理,则返回端口号列表。getAgentPort 命令使用以下参数: columns、f 和 t。
如果未指定 t,则使用缺省域。
getAllTopoObjects 命令返回被管理的拓扑分层结构中所有被管理对象的列表,这些对象满足 arch、family 或 pollType 参数指定的条件。getAllTopoObjects 命令也使用以下参数: columns、f 和 t。
getCurrentDomain 命令返回当前域的名称。
getDomains 命令返回所有被管理域的列表。
getTopoObject 命令返回直接位于参数 t 指定的拓扑对象下的被管理拓扑对象的列表,这些对象满足由 arch、family 或 pollType 参数指定的条件。getTopoObject 命令还使用以下参数: columns 和 f。
setCurrentDomain 命令用于将主域设置为 domain 参数中指定的值。
有关从 CLI 导出和导入拓扑信息的信息,请参见导入和导出 CLI 界面。
以下命令用于返回所有 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 中运行代理的 Sun Ultra-2 主机。
> 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 |