3.4. 检查代理和队列的健康状况
AMQ Broker 包括一个命令行实用程序,可让您在代理拓扑中对代理和队列执行各种健康检查。
以下示例演示了如何使用 实用程序来运行健康检查。
流程
请参阅代理拓扑中可为特定代理(即 节点)运行的检查列表。
$ <broker_instance_dir>/bin/artemis help check node
您会看到输出来描述可与
artemis 检查节点命令一起使用的选项列表
。NAME artemis check node - Check a node SYNOPSIS artemis check node [--backup] [--clientID <clientID>] [--diskUsage <diskUsage>] [--fail-at-end] [--live] [--memoryUsage <memoryUsage>] [--name <name>] [--password <password>] [--peers <peers>] [--protocol <protocol>] [--silent] [--timeout <timeout>] [--up] [--url <brokerURL>] [--user <user>] [--verbose] OPTIONS --backup Check that the node has a backup --clientID <clientID> ClientID to be associated with connection --diskUsage <diskUsage> Disk usage percentage to check or -1 to use the max-disk-usage --fail-at-end If a particular module check fails, continue the rest of the checks --live Check that the node has a live --memoryUsage <memoryUsage> Memory usage percentage to check --name <name> Name of the target to check --password <password> Password used to connect --peers <peers> Number of peers to check --protocol <protocol> Protocol used. Valid values are amqp or core. Default=core. --silent It will disable all the inputs, and it would make a best guess for any required input --timeout <timeout> Time to wait for the check execution, in milliseconds --up Check that the node is started, it is executed by default if there are no other checks --url <brokerURL> URL towards the broker. (default: tcp://localhost:61616) --user <user> User used to connect --verbose Adds more information on the execution
例如,检查本地代理的磁盘用量是否低于为代理配置的最大磁盘用量。
$ <broker_instance_dir>/bin/artemis check node --url tcp://localhost:61616 --diskUsage -1 Connection brokerURL = tcp://localhost:61616 Running NodeCheck Checking that the disk usage is less then the max-disk-usage ... success Checks run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.065 sec - NodeCheck
在前面的示例中,为
--diskUsage
选项指定-1
的值意味着,实用程序会根据为代理配置 的最大 磁盘用量检查磁盘用量。代理的最大磁盘用量是使用broker.xml
配置文件中的max-disk-usage
参数进行配置。为max-disk-usage
指定的值代表代理允许使用的可用物理磁盘空间百分比。查看您可以在代理拓扑中为特定队列运行的检查列表。
$ <broker_instance_dir>/bin/artemis help check queue
您看到输出来描述可与
artemis 检查队列命令一起使用的选项列表
。NAME artemis check queue - Check a queue SYNOPSIS artemis check queue [--browse <browse>] [--clientID <clientID>] [--consume <consume>] [--fail-at-end] [--name <name>] [--password <password>] [--produce <produce>] [--protocol <protocol>] [--silent] [--timeout <timeout>] [--up] [--url <brokerURL>] [--user <user>] [--verbose] OPTIONS --browse <browse> Number of the messages to browse or -1 to check that the queue is browsable --clientID <clientID> ClientID to be associated with connection --consume <consume> Number of the messages to consume or -1 to check that the queue is consumable --fail-at-end If a particular module check fails, continue the rest of the checks --name <name> Name of the target to check --password <password> Password used to connect --produce <produce> Number of the messages to produce --protocol <protocol> Protocol used. Valid values are amqp or core. Default=core. --silent It will disable all the inputs, and it would make a best guess for any required input --timeout <timeout> Time to wait for the check execution, in milliseconds --up Check that the queue exists and is not paused, it is executed by default if there are no other checks --url <brokerURL> URL towards the broker. (default: tcp://localhost:61616) --user <user> User used to connect --verbose Adds more information on the execution
实用程序可以通过单个命令执行多个选项。例如,要在本地代理的默认
helloworld
队列上检查 production、浏览和消耗 1000 个消息,请使用以下命令:$ <broker_instance_dir>/bin/artemis check queue --name helloworld --produce 1000 --browse 1000 --consume 1000 Connection brokerURL = tcp://localhost:61616 Running QueueCheck Checking that a producer can send 1000 messages to the queue helloworld ... success Checking that a consumer can browse 1000 messages from the queue helloworld ... success Checking that a consumer can consume 1000 messages from the queue helloworld ... success Checks run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.882 sec - QueueCheck
在前面的示例中,观察您在运行队列检查时没有指定代理 URL。如果您没有明确指定 URL,实用程序将使用默认值
tcp://localhost:61616
。