[关闭]
@liyuj 2016-09-10T11:27:10.000000Z 字数 3062 阅读 4350

Apache-Ignite-1.7.0-中文开发手册

18.Visor管理控制台

18.1.命令行接口

18.1.1.摘要

Visor命令行接口为Ignite提供了脚本化的监控能力,他可以用于从网格获得与节点、缓存和任务有关的统计数据,显示与网络有关的各种指标的一般细节,还有节点的配置属性也可以在这里看到,他还可以用于启动和停止远程节点。

18.1.2.使用

Ignite附带了IGNITE_HOME/bin/ignitevisorcmd.{sh|bat}脚本,用于启动命令行管理接口。
要获得帮助以及希望入门,输入type或者?命令,要将visor接入网格,输入open命令。

18.1.3.命令

命令 别名 描述
ack 所有远程节点的Ack参数
alert 提示用户定义的事件
cache 输出缓存的统计数据,清理缓存,从缓存输出所有条目的列表
close 将visor从网格断开
config 输出节点的配置
deploy 将文件或者文件夹复制到远程主机
disco 输出网络变更日志
events 从一个节点输出事件
gc 在远程节点运行GC
help ? 输出Visor控制台帮助
kill 杀掉或者重启节点
log 启动或者停止网格范围的事件日志
mclear 清除Visor控制台内存变量
mget 获取Visor控制台内存变量
mlist 输出Visor控制台内存变量
node 输出节点统计数据
open 将Visor接入网格
ping ping节点
quit 退出Visor控制台
start 在远程主机启动或者重启节点
status ! 输出Visor控制台状态
tasks 输出任务执行统计数据
top 输出当前的网络
vvm 打开网络节点的VisualVM

18.2.报警指令

18.2.1.报警指令规范

注册:alert: alert -r {-t=<sec>} {-<metric>=<condition><value>} ... {-<metric>=<condition><value>}
取消注册:alert -u {-id=<alert-id>|-a}

报警选项:
-n:报警名字
-u:取消注册的报警,‘-a’标志或者‘id’参数需要二选一,注意同时只允许‘-u’和‘-r’其中之一,如果‘-r’或者‘-u’都没有提供,会输出所有的报警。
-a:如果提供了‘-a’,所有的报警都会被取消。
-id=<alert-id>:如果提供了‘-u’,匹配id的报警会被取消。
-r:通过有助记忆的谓语注册新的报警,注意同时只允许‘-u’和‘-r’其中之一,如果‘-r’或者‘-u’都没有提供,会输出所有的报警。
-t:定义通知的频率(秒),默认是60秒,这个参数只可以和‘-r’配套使用。
-s:当报警触发时执行的脚本,要配置调节时间间隔,可以看-r参数。脚本可以通过如下方式进行接收:
1)当名字没有定义时,报警名字或者报警ID;
2)字符串形式的报警条件;
3)按照报警指令的顺序的报警条件值。

-i:配置报警通知的最小调节时间间隔(秒),默认是60秒;

-<指标>:定义了有助记忆的可度量的指标:
集群范围(不是特定节点的):
cc:网格内的有效CPU数量;
nc:网格内的节点数量;
hc:网格内的物理主机数量;
cl:网格内当前的平均CPU负载(%);

每节点的当前指标:
aj:节点的活动作业;
cj:节点取消的作业;
tc:节点的线程数;
ut:节点的正常运行时间;
注意:<num>可以有‘s’,‘m’或者‘h’后缀,分别代表秒,分和时,默认值(没有后缀)是毫秒。
je:节点的作业执行时间;
jw:节点的作业等待时间;
wj:节点的等待作业数;
rj:节点的拒绝作业数;
hu:节点使用的堆内存(MB);
cd:节点的当前CPU负载;
hm:节点的堆内存最大值(MB);

<条件>
有助记忆谓词的比较部分:
eq:等于‘=’
neq:不等于‘!=’
gt:大于‘>’
gte:大于等于’>=’
lt:小于‘<’
lte:小于等于‘<=’

18.2.2.示例

alert
输出当前注册的所有报警。
alert -u -a
取消当前所有已注册的报警。
alert -u -id=12345678
取消指定id的报警。
alert -r -t=900 -cc=gte4 -cl=gt50
注册一个报警,如果网格内有大于等于4个CPU以及大于50%的CPU负载,每隔15分会发出通知。
alert -r -n=Nodes -t=15 -nc=gte3 -s=/home/user/scripts/alert.sh -i=300
注册一个报警,如果网格内有大于等于3个节点每隔15秒会发送通知,并且每隔不小于5分钟重复执行脚本“/home/user/scripts/alert.sh”。

18.2.3.自定义脚本

比如:
alert -r -t=5 -n=MyAlert -nc=gte2 -cc=lte16 -i=15 -s=/home/user/myScript.sh

  1. echo ALERT [$1] CONDITION [$2] alarmed with node count [$3] and cpu count [$4]

会生成如下的字符串:
ALERT [MyAlert] CONDITION [-nc=gte2 -cc=lte16] alarmed with node count [2] and cpu count [8]

注意,这里2指的是报警条件,4……指的是每个子条件的值。

18.3.批处理模式

Visor命令行可以开启一个批处理模式(运行一组命令)。
运行ignitevisorcmd.{sh|bat} -?后,会显示有效的选项:

  1. Usage:
  2. ignitevisorcmd.bat [? | -help]|[{-v}{-np} {-cfg=<path>}]|[{-b=<path>} {-e=command1;command2;...}]
  3. Where:
  4. ?, /help, -help - show this message.
  5. -v - verbose mode (quiet by default).
  6. -np - no pause on exit (pause by default).
  7. -cfg=<path> - connect with specified configuration.
  8. -b=<path> - batch mode with file.
  9. -e=cmd1;cmd2;... - batch mode with commands.

18.3.1.使用带有命令的文件的批处理模式

第一个批处理模式-b=<path>会从文件中读取命令,所有的命令都要从新的一行开始:
sample.txt:

  1. open
  2. 0
  3. status

使用:

  1. ./ignitevisorcmd.sh -np -b=sample.txt
  2. ignitevisorcmd.bat -np -b=sample.txt

这会从索引0打开配置然后执行status命令。

18.3.2.使用命令列表的批处理模式

第二个批处理模式会执行一个用分号分割的命令列表。
使用:

  1. ./ignitevisorcmd.sh -np "-e=open;0;status"
  2. ignitevisorcmd.bat -np -e=open;0;status

这会和上面的例子做同样的事情。

注意,在批处理模式中,Visor命令行只是简单地按照给定的命令一个一个地执行,就和通过键盘输入时一样的。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注