我需要监控 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,[]},
。如果有空[]
就可以了。否则我有问题。
我从 bash 中找到了使用 erlang 的示例:
erl -eval 'erlang:display(erlang:system_info(otp_release)), halt().' -noshell
rabbitmqctl
是否可以使用(或其他工具)解析标准输出erl
并返回信息“空/非空”或返回代码?
我绝对不了解 Erlang。
如果有人帮助我,我会很高兴:-)