control commands

This commit is contained in:
Feng Lee 2015-03-23 00:06:31 +08:00
parent 18a5da6691
commit 3a7103a728
2 changed files with 47 additions and 8 deletions

View File

@ -38,6 +38,8 @@
-export([status/1, -export([status/1,
broker/1, broker/1,
stats/1,
metrics/1,
cluster/1, cluster/1,
listeners/1, listeners/1,
bridges/1, bridges/1,
@ -84,12 +86,12 @@ userdel([Username]) ->
broker([]) -> broker([]) ->
Funs = [sysdescr, version, uptime, datetime], Funs = [sysdescr, version, uptime, datetime],
[?PRINT("~s: ~s~n", [Fun, emqttd_broker:Fun()]) || Fun <- Funs]; [?PRINT("~s: ~s~n", [Fun, emqttd_broker:Fun()]) || Fun <- Funs].
broker(["stats"]) -> stats([]) ->
[?PRINT("~s: ~p~n", [Stat, Val]) || {Stat, Val} <- emqttd_broker:getstats()]; [?PRINT("~s: ~p~n", [Stat, Val]) || {Stat, Val} <- emqttd_broker:getstats()].
broker(["metrics"]) -> metrics([]) ->
[?PRINT("~s: ~p~n", [Metric, Val]) || {Metric, Val} <- emqttd_metrics:all()]. [?PRINT("~s: ~p~n", [Metric, Val]) || {Metric, Val} <- emqttd_metrics:all()].
listeners([]) -> listeners([]) ->

View File

@ -149,8 +149,8 @@ case "$1" in
;; ;;
broker) broker)
if [ $# -gt 2 ]; then if [ $# -ne 1 ]; then
echo "Usage: $SCRIPT broker [status | stats | metrics]" echo "Usage: $SCRIPT broker"
exit 1 exit 1
fi fi
@ -165,6 +165,41 @@ case "$1" in
$NODETOOL rpc emqttd_ctl broker $@ $NODETOOL rpc emqttd_ctl broker $@
;; ;;
stats)
if [ $# -ne 1 ]; then
echo "Usage: $SCRIPT stats"
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 stats $@
;;
metrics)
if [ $# -ne 1 ]; then
echo "Usage: $SCRIPT metrics"
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 metrics $@
;;
bridges) bridges)
# Make sure the local node IS running # Make sure the local node IS running
RES=`$NODETOOL ping` RES=`$NODETOOL ping`
@ -223,8 +258,10 @@ case "$1" in
*) *)
echo "Usage: $SCRIPT" echo "Usage: $SCRIPT"
echo " status #query status" echo " status #query broker status"
echo " broker [stats | metrics] #query broker stats or metrics" echo " broker #query broker version, uptime and description"
echo " stats #query broker statistics of clients, topics, subscribers"
echo " metrics #query broker metrics"
echo " cluster [<Node>] #query or cluster nodes" echo " cluster [<Node>] #query or cluster nodes"
echo " plugins list #query loaded plugins" echo " plugins list #query loaded plugins"
echo " plugins load <Plugin> #load plugin" echo " plugins load <Plugin> #load plugin"