Parcourir la source

control commands

Feng Lee il y a 11 ans
Parent
commit
3a7103a728
2 fichiers modifiés avec 47 ajouts et 8 suppressions
  1. 6 4
      apps/emqttd/src/emqttd_ctl.erl
  2. 41 4
      rel/files/emqttd_ctl

+ 6 - 4
apps/emqttd/src/emqttd_ctl.erl

@@ -38,6 +38,8 @@
 
 -export([status/1,
          broker/1,
+         stats/1,
+         metrics/1,
          cluster/1,
          listeners/1,
          bridges/1,
@@ -84,12 +86,12 @@ userdel([Username]) ->
 
 broker([]) ->
     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"]) ->
-    [?PRINT("~s: ~p~n", [Stat, Val]) || {Stat, Val} <- emqttd_broker:getstats()];
+stats([]) ->
+    [?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()].
     
 listeners([]) ->

+ 41 - 4
rel/files/emqttd_ctl

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