emqttd_ctl vm
This commit is contained in:
parent
d0eb5cddb4
commit
2a9653f8a8
|
@ -37,6 +37,7 @@
|
|||
io:format(Format, Args)).
|
||||
|
||||
-export([status/1,
|
||||
vm/1,
|
||||
broker/1,
|
||||
stats/1,
|
||||
metrics/1,
|
||||
|
@ -77,13 +78,32 @@ cluster([SNode]) ->
|
|||
?PRINT("failed to connect to ~p~n", [Node])
|
||||
end.
|
||||
|
||||
|
||||
useradd([Username, Password]) ->
|
||||
?PRINT("~p", [emqttd_auth:add(list_to_binary(Username), list_to_binary(Password))]).
|
||||
|
||||
userdel([Username]) ->
|
||||
?PRINT("~p", [emqttd_auth:delete(list_to_binary(Username))]).
|
||||
|
||||
vm([]) ->
|
||||
[vm([Name]) || Name <- ["load", "memory", "process", "io"]];
|
||||
|
||||
vm(["load"]) ->
|
||||
?PRINT_MSG("Load: ~n"),
|
||||
[?PRINT(" ~s:~s~n", [L, V]) || {L, V} <- loads()];
|
||||
|
||||
vm(["memory"]) ->
|
||||
?PRINT_MSG("Memory: ~n"),
|
||||
[?PRINT(" ~s:~p~n", [Cat, Val]) || {Cat, Val} <- erlang:memory()];
|
||||
|
||||
vm(["process"]) ->
|
||||
?PRINT_MSG("Process: ~n"),
|
||||
?PRINT(" process_limit:~p~n", [erlang:system_info(process_limit)]),
|
||||
?PRINT(" process_count:~p~n", [erlang:system_info(process_count)]);
|
||||
|
||||
vm(["io"]) ->
|
||||
?PRINT_MSG("IO: ~n"),
|
||||
?PRINT(" max_fds:~p~n", [proplists:get_value(max_fds, erlang:system_info(check_io))]).
|
||||
|
||||
broker([]) ->
|
||||
Funs = [sysdescr, version, uptime, datetime],
|
||||
[?PRINT("~s: ~s~n", [Fun, emqttd_broker:Fun()]) || Fun <- Funs].
|
||||
|
@ -156,4 +176,11 @@ node_name(SNode) ->
|
|||
end,
|
||||
list_to_atom(SNode1).
|
||||
|
||||
loads() ->
|
||||
[{load1, ftos(cpu_sup:avg1()/256)},
|
||||
{load5, ftos(cpu_sup:avg5()/256)},
|
||||
{load15, ftos(cpu_sup:avg15()/256)}].
|
||||
|
||||
ftos(F) ->
|
||||
[S] = io_lib:format("~.2f", [F]), S.
|
||||
|
||||
|
|
|
@ -147,6 +147,23 @@ case "$1" in
|
|||
|
||||
$NODETOOL rpc emqttd_ctl userdel $@
|
||||
;;
|
||||
|
||||
vm)
|
||||
if [ $# -gt 2 ]; then
|
||||
echo "Usage: $SCRIPT vm [ load | memory | process | io ]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Make sure the local node IS running
|
||||
RES=`$NODETOOL ping`
|
||||
if [ "$RES" != "pong" ]; then
|
||||
echo "emqttd is not running!"
|
||||
exit 1
|
||||
fi
|
||||
shift
|
||||
|
||||
$NODETOOL rpc emqttd_ctl vm $@
|
||||
;;
|
||||
|
||||
broker)
|
||||
if [ $# -ne 1 ]; then
|
||||
|
@ -199,7 +216,6 @@ case "$1" in
|
|||
$NODETOOL rpc emqttd_ctl metrics $@
|
||||
;;
|
||||
|
||||
|
||||
bridges)
|
||||
# Make sure the local node IS running
|
||||
RES=`$NODETOOL ping`
|
||||
|
@ -259,6 +275,7 @@ case "$1" in
|
|||
*)
|
||||
echo "Usage: $SCRIPT"
|
||||
echo " status #query broker status"
|
||||
echo " vm [ load | memory | process | io ] #query load, memory, process and io of erlang vm"
|
||||
echo " broker #query broker version, uptime and description"
|
||||
echo " stats #query broker statistics of clients, topics, subscribers"
|
||||
echo " metrics #query broker metrics"
|
||||
|
|
Loading…
Reference in New Issue