RabbitMQ 集群状态:如何从 shell 解析 Erlang 的光束?
RabbitMQ cluster status: how to parse Erlang's beam from a shell?
我需要监控rabbitmq集群状态。
REST API 不提供有关 partitions
的信息。所以我需要使用应用 rabbitmqctl
:
# rabbitmqctl cluster_status
Cluster status of node 'rabbit@rabbit-1' ...
[{nodes,[{disc,['rabbit@rabbit-1','rabbit@rabbit-2',
'rabbit@rabbit-3']}]},
{running_nodes,['rabbit@rabbit-3','rabbit@rabbit-2',
'rabbit@rabbit-1']},
{cluster_name,<<"rabbit@rabbit-1">>},
{partitions,[]},
{alarms,[{'rabbit@rabbit-3',[]},
{'rabbit@rabbit-2',[nodedown]},
{'rabbit@rabbit-1',[]}]}]
我需要检查 {partitions,[]},
。如果有空[]
它is ok。否则我有问题。
我从 bash:
找到了使用 erlang 的例子
erl -eval 'erlang:display(erlang:system_info(otp_release)), halt().' -noshell
是否可以使用 erl
(或其他工具)和 return 信息 "empty / not empty" 或 return 代码来解析 rabbitmqctl
标准输出?
我完全不懂 Erlang。
如果有人帮助我,我会很高兴:-)
你可以使用这个API
http://your_ip:15672/api/nodes
您可以在其中检查节点是启动还是关闭
name: "rabbit@t-srv-rabbit-cent04",
type: "disc",
running: false,
+cluster_links: (0)[...],
或分区
},
-{
-partitions: (0)[
],
os_pid: "8070",
fd_total: 300000,
sockets_total: 269908,
mem_limit: 1590196633,
你不需要 erlang shell
我需要监控rabbitmq集群状态。
REST API 不提供有关 partitions
的信息。所以我需要使用应用 rabbitmqctl
:
# rabbitmqctl cluster_status
Cluster status of node 'rabbit@rabbit-1' ...
[{nodes,[{disc,['rabbit@rabbit-1','rabbit@rabbit-2',
'rabbit@rabbit-3']}]},
{running_nodes,['rabbit@rabbit-3','rabbit@rabbit-2',
'rabbit@rabbit-1']},
{cluster_name,<<"rabbit@rabbit-1">>},
{partitions,[]},
{alarms,[{'rabbit@rabbit-3',[]},
{'rabbit@rabbit-2',[nodedown]},
{'rabbit@rabbit-1',[]}]}]
我需要检查 {partitions,[]},
。如果有空[]
它is ok。否则我有问题。
我从 bash:
找到了使用 erlang 的例子erl -eval 'erlang:display(erlang:system_info(otp_release)), halt().' -noshell
是否可以使用 erl
(或其他工具)和 return 信息 "empty / not empty" 或 return 代码来解析 rabbitmqctl
标准输出?
我完全不懂 Erlang。
如果有人帮助我,我会很高兴:-)
你可以使用这个API
http://your_ip:15672/api/nodes
您可以在其中检查节点是启动还是关闭
name: "rabbit@t-srv-rabbit-cent04",
type: "disc",
running: false,
+cluster_links: (0)[...],
或分区
},
-{
-partitions: (0)[
],
os_pid: "8070",
fd_total: 300000,
sockets_total: 269908,
mem_limit: 1590196633,
你不需要 erlang shell