Sun Management Center 命令行界面 (CLI) 是轻量级、字符驱动的控制台,可替代 Java 和 Web 控制台图形界面,用于监视和管理您的系统。
本章包含以下主题:
Sun Management Center 命令行界面 (Command-line Interface, CLI) 是字符驱动的控制台应用程序,用于监视和管理您的系统。CLI 提供了几个有用的功能:
低系统开销 – 尽管 CLI 提供了 Java 控制台和 Web 控制台的大多数功能,但 CLI 并不需要位图图形。因此 CLI 可以通过低带宽连接在简单的数据终端设备上运行。但是,CLI 并不支持需要 GUI 的功能(例如物理视图或绘图)。
批处理模式处理 – CLI 支持一种基本的脚本功能,该功能允许 CLI 以批处理模式从文件中获取命令输入。
可配置的输出格式 – 用户可以配置 CLI 输出的格式。纯文本输出能够与其它基于文本的工具兼容。对于扩展命令,可以指定以 HTML 格式输出。
帮助 – CLI 中提供了 CLI 命令的联机帮助。
使用 CLI 可以执行以下任务:
创建拓扑对象(例如域、组和实体),以及检索有关这些对象的拓扑信息。
检索和操作被管理对象的特性或属性。
加载、卸载、启用和禁用 Sun Management Center 代理中的模块。
在 Sun Management Center 代理上设置和运行警报操作、检索警报信息以及确认或删除警报。
(在 Solaris 和 Linux 上)您可以使用参数文件自动登录到控制台。如果参数文件包含用户名和密码,则该文件的权限必须为 400。否则便无法通过 CLI 自动登录。
运行以下 Solaris 操作系统版本的 UNIX® 工作站:Solaris 7、Solaris 8、Solaris 9 或 Solaris 10。
运行以下操作系统的 UNIX 工作站:Red Hat、SuSE/JDS Linux(内核版本 2.4 和 2.6)。
运行 Windows 2000、Windows XP 或 Windows NT 的 PC。
会话模式 – 会话模式是可交互的。登录到 Sun Management Center 服务器后,可以输入命令并接收输出,直到明确地在服务器上注销。
批处理模式 – CLI 连接到服务器并执行 filename 文件中包含的命令。其中,filename 是包含 CLI 命令的文件的名称。CLI 可作为非超级用户在批处理模式下运行。
通过修改 cli.properties 文件(位于 /opt/SUNWsymon/cli 目录下),可以对 CLI 批处理模式进行配置。此文件包含 9 个可配置参数。
表 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 命令的环境。使用基本命令可以设置参数值、定义命令别名、检查命令状态或登录到服务器以及在服务器上注销。基本命令始终在前台运行。
扩展命令用于查询或修改被管理对象的拓扑结构和它们的属性(property 和 attribute)。使用扩展命令可以执行以下几个功能:
在被管理对象的拓扑结构中定位被管理对象
启用或禁用模块
确认或删除警报
缺省情况下,扩展命令在后台运行。也可以将扩展命令配置为在前台运行。
在会话模式下,命令在前台或后台均可执行。
前台 – 在前台执行的命令会一直运行到结束,并直接将输出发送至屏幕,除非经过重定向。在前台,一次只能运行一条命令。基本命令只能在前台运行;而扩展命令缺省情况下在后台运行,但是可以将其配置为在前台运行。
后台 – 在后台执行的命令以异步方式运行,默认情况下不向屏幕发送输出或诊断信息。输出被缓存起来,可以在以后接收到明确请求时显示。与 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 中具有预定义含义的参数。
如果在会话模式下将此标记用作扩展命令的参数,则指示 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 设置为大约相当于标准终端屏幕的高度:
height=24 |
history 参数的值是命令历史记录中所保存的命令的数量。通过使用命令历史记录,用户可以查看以前执行的命令。此参数由 set 命令使用。
history=10 |
i 参数的值是输入文件的名称,该文件中包含的参数定义要包含在当前会话中。输入文件中的每个参数定义应位于不同的行上。例如,假设 /home/examples/myParams 文件中包含以下各行:
more=off serverHost=myserver a=myagent:161 |
通过使用以下行,您可以将这些参数包含在当前的 CLI 会话中:
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,则命令历史记录中第 n 个条目后的所有条目都将添加到命令日志文件中。logmode 参数的默认值是 detailed。
m 参数的值是 Sun Management Center 模块的名称。该值也可以是由逗号分隔的模块列表。
m=kernel-reader |
more 参数的值控制显示器上命令输出的分页情况。可以使用的值包括 on 和 off。如果将 more 设置为 on,则到终端的所有后续输出一次显示一屏。屏幕大小由 height 和 width 参数定义。在批处理模式下,默认值为 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 会话中时,便可以使用这些别名。
语法
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),则当前路径将被设置为第 n 级子路径,如 list 命令所示。
语法
cd [path|number]
说明
clear 命令用于删除当前会话期间设置的所有参数。但是,此命令不会删除从命令行设置的参数。此命令与 unset 命令作用相似,但是不要求参数名是变量。
语法
clear
data 命令用于显示拓扑对象的详细信息。如果指定了一个数值 (n),则路径将被设置为第 n 级子路径,如 list 命令所示。
语法
data [path|number|-key]
end 命令用于取消激活拓扑的浏览模式。
语法
end
说明
exit 命令用于终止您的服务器连接和 CLI 会话。
语法
exit [-onError]
参数
onError
如果在执行上一条命令的过程中发生了异常,onError 参数可用于终止该 CLI 会话。该参数仅可用于批处理模式下。
goto 命令用于导航到符合大小写模式的拓扑路径。如果发现多条匹配的路径,将提示用户选择其中一条路径。
语法
goto <pattern>
说明
help 命令用于显示有关 CLI 命令及其参数的信息。帮助信息适于显示在非位图模式的终端屏幕上。执行 help 命令而不包含参数时,该命令将按字母顺序显示可用 CLI 命令的列表及其简要说明。首先列出基本命令,然后是扩展命令。
语法
help [-e][-h] [<command>|about|legal]
参数
-e、-h、command、about 和 legal
-e 以详细模式显示帮助文本。也支持使用以下格式:<command> -e。
-h 以正常模式显示帮助文本。也支持使用以下格式:<command> -h。
command 显示特定于该命令的信息。
about 显示 CLI 的版本信息。
legal 显示 CLI 的许可证条款。
示例
下例显示了 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),则路径将被设置为第 n 级子路径,如该命令所示。
语法
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 界面介绍的拓扑导入和导出命令
用于管理模块的扩展命令共有 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 |
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 参数 > login Host: 用户主机 Login: 用户登录名 Password: 用户密码 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 |