@liyuj
2016-09-10T11:27:10.000000Z
字数 3062
阅读 4350
Apache-Ignite-1.7.0-中文开发手册
Visor命令行接口为Ignite提供了脚本化的监控能力,他可以用于从网格获得与节点、缓存和任务有关的统计数据,显示与网络有关的各种指标的一般细节,还有节点的配置属性也可以在这里看到,他还可以用于启动和停止远程节点。
Ignite附带了IGNITE_HOME/bin/ignitevisorcmd.{sh|bat}
脚本,用于启动命令行管理接口。
要获得帮助以及希望入门,输入type
或者?
命令,要将visor接入网格,输入open
命令。
命令 | 别名 | 描述 |
---|---|---|
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 |
注册: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:小于等于‘<=’
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”。
比如:
alert -r -t=5 -n=MyAlert -nc=gte2 -cc=lte16 -i=15 -s=/home/user/myScript.sh
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……指的是每个子条件的值。
Visor命令行可以开启一个批处理模式(运行一组命令)。
运行ignitevisorcmd.{sh|bat} -?
后,会显示有效的选项:
Usage:
ignitevisorcmd.bat [? | -help]|[{-v}{-np} {-cfg=<path>}]|[{-b=<path>} {-e=command1;command2;...}]
Where:
?, /help, -help - show this message.
-v - verbose mode (quiet by default).
-np - no pause on exit (pause by default).
-cfg=<path> - connect with specified configuration.
-b=<path> - batch mode with file.
-e=cmd1;cmd2;... - batch mode with commands.
第一个批处理模式-b=<path>
会从文件中读取命令,所有的命令都要从新的一行开始:
sample.txt:
open
0
status
使用:
./ignitevisorcmd.sh -np -b=sample.txt
ignitevisorcmd.bat -np -b=sample.txt
这会从索引0打开配置然后执行status
命令。
第二个批处理模式会执行一个用分号分割的命令列表。
使用:
./ignitevisorcmd.sh -np "-e=open;0;status"
ignitevisorcmd.bat -np -e=open;0;status
这会和上面的例子做同样的事情。
注意,在批处理模式中,Visor命令行只是简单地按照给定的命令一个一个地执行,就和通过键盘输入时一样的。