Source:
RabbitMQ cluster by Áú»¢¶Ä²© agent
Overview
This template is developed to monitor the messaging broker RabbitMQ by Áú»¢¶Ä²© that works without any external scripts. Most of the metrics are collected in one go, thanks to Áú»¢¶Ä²© bulk data collection.
The template RabbitMQ Cluster
¡ª collects metrics by polling with Áú»¢¶Ä²© agent.
Requirements
Áú»¢¶Ä²© version: 7.2 and higher.
Tested versions
This template has been tested on:
- RabbitMQ 3.5.7, 3.7.7, 3.7.17, 3.7.18, 3.8.5, 3.8.12
Configuration
Áú»¢¶Ä²© should be configured according to the instructions in the Templates out of the box section.
Setup
Enable the RabbitMQ management plugin. See for the instructions.
Create a user to monitor the service:
rabbitmqctl add_user zbx_monitor <PASSWORD>
rabbitmqctl set_permissions -p / zbx_monitor "" "" ".*"
rabbitmqctl set_user_tags zbx_monitor monitoring
A login name and password are also supported in macros functions:
- {$RABBITMQ.API.USER}
- {$RABBITMQ.API.PASSWORD}
If your cluster consists of several nodes, it is recommended to assign the cluster
template to a separate balancing host.
In the case of a single-node installation, you can assign the cluster
template to one host with a node
template.
If you use another API endpoint, then don't forget to change {$RABBITMQ.API.CLUSTER_HOST}
macro.
Install and setup Áú»¢¶Ä²© agent.
Macros used
Name | Description | Default |
---|---|---|
{$RABBITMQ.API.USER} | zbx_monitor |
|
{$RABBITMQ.API.PASSWORD} | zabbix |
|
{$RABBITMQ.API.CLUSTER_HOST} | The hostname or IP of the API endpoint for the RabbitMQ cluster. |
127.0.0.1 |
{$RABBITMQ.API.PORT} | The port of the RabbitMQ API endpoint. |
15672 |
{$RABBITMQ.API.SCHEME} | The request scheme, which may be HTTP or HTTPS. |
http |
{$RABBITMQ.LLD.FILTER.EXCHANGE.MATCHES} | This macro is used in the discovery of exchanges. It can be overridden at host level or its linked template level. |
.* |
{$RABBITMQ.LLD.FILTER.EXCHANGE.NOT_MATCHES} | This macro is used in the discovery of exchanges. It can be overridden at host level or its linked template level. |
CHANGE_IF_NEEDED |
Items
Name | Description | Type | Key and additional info |
---|---|---|---|
Get overview | The HTTP API endpoint that returns cluster-wide metrics. |
Áú»¢¶Ä²© agent | web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"] Preprocessing
|
Get exchanges | The HTTP API endpoint that returns exchanges metrics. |
Áú»¢¶Ä²© agent | web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges"] Preprocessing
|
Connections total | The total number of connections. |
Dependent item | rabbitmq.overview.object_totals.connections Preprocessing
|
Channels total | The total number of channels. |
Dependent item | rabbitmq.overview.object_totals.channels Preprocessing
|
Queues total | The total number of queues. |
Dependent item | rabbitmq.overview.object_totals.queues Preprocessing
|
Consumers total | The total number of consumers. |
Dependent item | rabbitmq.overview.object_totals.consumers Preprocessing
|
Exchanges total | The total number of exchanges. |
Dependent item | rabbitmq.overview.object_totals.exchanges Preprocessing
|
Messages total | The total number of messages (ready, plus unacknowledged). |
Dependent item | rabbitmq.overview.queue_totals.messages Preprocessing
|
Messages ready for delivery | The number of messages ready for delivery. |
Dependent item | rabbitmq.overview.queue_totals.messages.ready Preprocessing
|
Messages unacknowledged | The number of unacknowledged messages. |
Dependent item | rabbitmq.overview.queue_totals.messages.unacknowledged Preprocessing
|
Messages acknowledged | The number of messages delivered to clients and acknowledged. |
Dependent item | rabbitmq.overview.messages.ack Preprocessing
|
Messages acknowledged per second | The rate of messages (per second) delivered to clients and acknowledged. |
Dependent item | rabbitmq.overview.messages.ack.rate Preprocessing
|
Messages confirmed | The count of confirmed messages. |
Dependent item | rabbitmq.overview.messages.confirm Preprocessing
|
Messages confirmed per second | The rate of messages confirmed per second. |
Dependent item | rabbitmq.overview.messages.confirm.rate Preprocessing
|
Messages delivered | The sum of messages delivered to consumers: in acknowledgement mode and in no-acknowledgement mode; delivered to consumers in response to the |
Dependent item | rabbitmq.overview.messages.deliver_get Preprocessing
|
Messages delivered per second | The rate of the sum of messages (per second) delivered to consumers: in acknowledgement mode and in no-acknowledgement mode; delivered to consumers in response to the |
Dependent item | rabbitmq.overview.messages.deliver_get.rate Preprocessing
|
Messages published | The count of published messages. |
Dependent item | rabbitmq.overview.messages.publish Preprocessing
|
Messages published per second | The rate of messages published per second. |
Dependent item | rabbitmq.overview.messages.publish.rate Preprocessing
|
Messages publish_in | The count of messages published from the channels into this overview. |
Dependent item | rabbitmq.overview.messages.publish_in Preprocessing
|
Messages publish_in per second | The rate of messages (per second) published from the channels into this overview. |
Dependent item | rabbitmq.overview.messages.publish_in.rate Preprocessing
|
Messages publish_out | The count of messages published from this overview into queues. |
Dependent item | rabbitmq.overview.messages.publish_out Preprocessing
|
Messages publish_out per second | The rate of messages (per second) published from this overview into queues. |
Dependent item | rabbitmq.overview.messages.publish_out.rate Preprocessing
|
Messages returned unroutable | The count of messages returned to a publisher as unroutable. |
Dependent item | rabbitmq.overview.messages.return_unroutable Preprocessing
|
Messages returned unroutable per second | The rate of messages (per second) returned to a publisher as unroutable. |
Dependent item | rabbitmq.overview.messages.return_unroutable.rate Preprocessing
|
Messages returned redeliver | The count of subset of messages in the |
Dependent item | rabbitmq.overview.messages.redeliver Preprocessing
|
Messages returned redeliver per second | The rate of subset of messages (per second) in the |
Dependent item | rabbitmq.overview.messages.redeliver.rate Preprocessing
|
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
RabbitMQ cluster: Failed to fetch overview data | Áú»¢¶Ä²© has not received any data for items for the last 30 minutes. |
nodata(/RabbitMQ cluster by Áú»¢¶Ä²© agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview"],30m)=1 |
Warning | Manual close: Yes |
LLD rule Health Check 3.8.10+ discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Health Check 3.8.10+ discovery | Specific metrics for the versions: up to and including 3.8.10. |
Dependent item | rabbitmq.healthcheck.v3810.discovery Preprocessing
|
Item prototypes for Health Check 3.8.10+ discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Healthcheck: alarms in effect in the cluster{#SINGLETON} | It responds with a status code Otherwise, it responds with a status code |
Áú»¢¶Ä²© agent | web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/health/checks/alarms{#SINGLETON}"] Preprocessing
|
Trigger prototypes for Health Check 3.8.10+ discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
RabbitMQ cluster: There are active alarms in the cluster | This is the default API endpoint path: http://{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/index.html. |
last(/RabbitMQ cluster by Áú»¢¶Ä²© agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/health/checks/alarms{#SINGLETON}"])=0 |
Average |
LLD rule Exchanges discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Exchanges discovery | The metrics for an individual exchange. |
Dependent item | rabbitmq.exchanges.discovery Preprocessing
|
Item prototypes for Exchanges discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Get data | The HTTP API endpoint that returns [{#VHOST}][{#EXCHANGE}][{#TYPE}] exchanges metrics |
Dependent item | rabbitmq.get_exchanges["{#VHOST}/{#EXCHANGE}/{#TYPE}"] Preprocessing
|
Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages acknowledged | The number of messages delivered to clients and acknowledged. |
Dependent item | rabbitmq.exchange.messages.ack["{#VHOST}/{#EXCHANGE}/{#TYPE}"] Preprocessing
|
Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages acknowledged per second | The rate of messages (per second) delivered to clients and acknowledged. |
Dependent item | rabbitmq.exchange.messages.ack.rate["{#VHOST}/{#EXCHANGE}/{#TYPE}"] Preprocessing
|
Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages confirmed | The count of confirmed messages. |
Dependent item | rabbitmq.exchange.messages.confirm["{#VHOST}/{#EXCHANGE}/{#TYPE}"] Preprocessing
|
Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages confirmed per second | The rate of messages confirmed per second. |
Dependent item | rabbitmq.exchange.messages.confirm.rate["{#VHOST}/{#EXCHANGE}/{#TYPE}"] Preprocessing
|
Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages delivered | The sum of messages delivered to consumers: in acknowledgement mode and in no-acknowledgement mode; delivered to consumers in response to the |
Dependent item | rabbitmq.exchange.messages.deliver_get["{#VHOST}/{#EXCHANGE}/{#TYPE}"] Preprocessing
|
Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages delivered per second | The rate of the sum of messages (per second) delivered to consumers: in acknowledgement mode and in no-acknowledgement mode; delivered to consumers in response to the |
Dependent item | rabbitmq.exchange.messages.deliver_get.rate["{#VHOST}/{#EXCHANGE}/{#TYPE}"] Preprocessing
|
Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages published | The count of published messages. |
Dependent item | rabbitmq.exchange.messages.publish["{#VHOST}/{#EXCHANGE}/{#TYPE}"] Preprocessing
|
Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages published per second | The rate of messages published per second. |
Dependent item | rabbitmq.exchange.messages.publish.rate["{#VHOST}/{#EXCHANGE}/{#TYPE}"] Preprocessing
|
Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages publish_in | The count of messages published from the channels into this overview. |
Dependent item | rabbitmq.exchange.messages.publish_in["{#VHOST}/{#EXCHANGE}/{#TYPE}"] Preprocessing
|
Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages publish_in per second | The rate of messages (per second) published from the channels into this overview. |
Dependent item | rabbitmq.exchange.messages.publish_in.rate["{#VHOST}/{#EXCHANGE}/{#TYPE}"] Preprocessing
|
Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages publish_out | The count of messages published from this overview into queues. |
Dependent item | rabbitmq.exchange.messages.publish_out["{#VHOST}/{#EXCHANGE}/{#TYPE}"] Preprocessing
|
Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages publish_out per second | The rate of messages (per second) published from this overview into queues. |
Dependent item | rabbitmq.exchange.messages.publish_out.rate["{#VHOST}/{#EXCHANGE}/{#TYPE}"] Preprocessing
|
Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages returned unroutable | The count of messages returned to a publisher as unroutable. |
Dependent item | rabbitmq.exchange.messages.return_unroutable["{#VHOST}/{#EXCHANGE}/{#TYPE}"] Preprocessing
|
Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages returned unroutable per second | The rate of messages (per second) returned to a publisher as unroutable. |
Dependent item | rabbitmq.exchange.messages.return_unroutable.rate["{#VHOST}/{#EXCHANGE}/{#TYPE}"] Preprocessing
|
Exchange [{#VHOST}][{#EXCHANGE}][{#TYPE}]: Messages redelivered | The count of subset of messages in the |
Dependent item | rabbitmq.exchange.messages.redeliver["{#VHOST}/{#EXCHANGE}/{#TYPE}"] Preprocessing
|
Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages redelivered per second | The rate of subset of messages (per second) in the |
Dependent item | rabbitmq.exchange.messages.redeliver.rate["{#VHOST}/{#EXCHANGE}/{#TYPE}"] Preprocessing
|
RabbitMQ node by Áú»¢¶Ä²© agent
Overview
This template is developed to monitor RabbitMQ by Áú»¢¶Ä²© that works without any external scripts.
Most of the metrics are collected in one go, thanks to Áú»¢¶Ä²© bulk data collection.
The template RabbitMQ Node
¡ª (Áú»¢¶Ä²© version >= 4.2) collects metrics by polling with Áú»¢¶Ä²© agent.
It also uses Áú»¢¶Ä²© agent to collect RabbitMQ Linux process statistics, such as CPU usage, memory usage, and whether the process is running or not.
Requirements
Áú»¢¶Ä²© version: 7.2 and higher.
Tested versions
This template has been tested on:
- RabbitMQ 3.5.7, 3.7.7, 3.7.17, 3.7.18, 3.8.5, 3.8.12
Configuration
Áú»¢¶Ä²© should be configured according to the instructions in the Templates out of the box section.
Setup
Enable the RabbitMQ management plugin. See for the instructions.
Create a user to monitor the service:
rabbitmqctl add_user zbx_monitor <PASSWORD>
rabbitmqctl set_permissions -p / zbx_monitor "" "" ".*"
rabbitmqctl set_user_tags zbx_monitor monitoring
A login name and password are also supported in macros functions:
- {$RABBITMQ.API.USER}
- {$RABBITMQ.API.PASSWORD}
If you use another API endpoint, then don't forget to change {$RABBITMQ.API.HOST}
macro.
Install and setup Áú»¢¶Ä²© agent.
Macros used
Name | Description | Default |
---|---|---|
{$RABBITMQ.API.USER} | zbx_monitor |
|
{$RABBITMQ.API.PASSWORD} | zabbix |
|
{$RABBITMQ.CLUSTER.NAME} | The name of the RabbitMQ cluster. |
rabbit |
{$RABBITMQ.API.PORT} | The port of the RabbitMQ API endpoint. |
15672 |
{$RABBITMQ.API.SCHEME} | The request scheme, which may be HTTP or HTTPS. |
http |
{$RABBITMQ.API.HOST} | The hostname or IP of the API endpoint for the RabbitMQ. |
127.0.0.1 |
{$RABBITMQ.PROCESS_NAME} | The process name filter for the RabbitMQ process discovery. |
beam.smp |
{$RABBITMQ.PROCESS.NAME.PARAMETER} | The process name of the RabbitMQ server used in the item key |
|
{$RABBITMQ.LLD.FILTER.QUEUE.MATCHES} | This macro is used in the discovery of queues. It can be overridden at host level or its linked template level. |
.* |
{$RABBITMQ.LLD.FILTER.QUEUE.NOT_MATCHES} | This macro is used in the discovery of queues. It can be overridden at host level or its linked template level. |
CHANGE_IF_NEEDED |
{$RABBITMQ.RESPONSE_TIME.MAX.WARN} | The maximum response time by the RabbitMQ expressed in seconds for a trigger expression. |
10 |
{$RABBITMQ.MESSAGES.MAX.WARN} | The maximum number of messages in the queue for a trigger expression. |
1000 |
Items
Name | Description | Type | Key and additional info |
---|---|---|---|
Service ping | Áú»¢¶Ä²© agent | net.tcp.service["{$RABBITMQ.API.SCHEME}","{$RABBITMQ.API.HOST}","{$RABBITMQ.API.PORT}"] Preprocessing
|
|
Get node overview | The HTTP API endpoint that returns cluster-wide metrics. |
Áú»¢¶Ä²© agent | web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/overview"] Preprocessing
|
Get nodes | The HTTP API endpoint that returns metrics of the nodes. |
Áú»¢¶Ä²© agent | web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"] Preprocessing
|
Get queues | The HTTP API endpoint that returns metrics of the queues metrics. |
Áú»¢¶Ä²© agent | web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues"] Preprocessing
|
Management plugin version | The version of the management plugin in use. |
Dependent item | rabbitmq.node.overview.management_version Preprocessing
|
RabbitMQ version | The version of the RabbitMQ on the node, which processed this request. |
Dependent item | rabbitmq.node.overview.rabbitmq_version Preprocessing
|
Used file descriptors | The descriptors of the used file. |
Dependent item | rabbitmq.node.fd_used Preprocessing
|
Free disk space | The current free disk space. |
Dependent item | rabbitmq.node.disk_free Preprocessing
|
Memory used | The memory usage expressed in bytes. |
Dependent item | rabbitmq.node.mem_used Preprocessing
|
Memory limit | The memory usage with high watermark properties expressed in bytes. |
Dependent item | rabbitmq.node.mem_limit Preprocessing
|
Disk free limit | The free space limit of a disk expressed in bytes. |
Dependent item | rabbitmq.node.disk_free_limit Preprocessing
|
Runtime run queue | The average number of Erlang processes waiting to run. |
Dependent item | rabbitmq.node.run_queue Preprocessing
|
Sockets used | The number of file descriptors used as sockets. |
Dependent item | rabbitmq.node.sockets_used Preprocessing
|
Sockets available | The file descriptors available for use as sockets. |
Dependent item | rabbitmq.node.sockets_total Preprocessing
|
Number of network partitions | The number of network partitions, which this node "sees". |
Dependent item | rabbitmq.node.partitions Preprocessing
|
Is running | It "sees" whether the node is running or not. |
Dependent item | rabbitmq.node.running Preprocessing
|
Memory alarm | It checks whether the host has a memory alarm or not. |
Dependent item | rabbitmq.node.mem_alarm Preprocessing
|
Disk free alarm | It checks whether the node has a disk alarm or not. |
Dependent item | rabbitmq.node.disk_free_alarm Preprocessing
|
Uptime | Uptime expressed in milliseconds. |
Dependent item | rabbitmq.node.uptime Preprocessing
|
Get processes summary | The aggregated data of summary metrics for all processes. |
Áú»¢¶Ä²© agent | proc.get[{$RABBITMQ.PROCESS.NAME.PARAMETER},,,summary] |
Service response time | Áú»¢¶Ä²© agent | net.tcp.service.perf["{$RABBITMQ.API.SCHEME}","{$RABBITMQ.API.HOST}","{$RABBITMQ.API.PORT}"] |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
RabbitMQ node: Version has changed | RabbitMQ version has changed. Acknowledge to close the problem manually. |
last(/RabbitMQ node by Áú»¢¶Ä²© agent/rabbitmq.node.overview.rabbitmq_version,#1)<>last(/RabbitMQ node by Áú»¢¶Ä²© agent/rabbitmq.node.overview.rabbitmq_version,#2) and length(last(/RabbitMQ node by Áú»¢¶Ä²© agent/rabbitmq.node.overview.rabbitmq_version))>0 |
Info | Manual close: Yes |
RabbitMQ node: Number of network partitions is too high | For more details see . |
min(/RabbitMQ node by Áú»¢¶Ä²© agent/rabbitmq.node.partitions,5m)>0 |
Warning | |
RabbitMQ node: Memory alarm | For more details see . |
last(/RabbitMQ node by Áú»¢¶Ä²© agent/rabbitmq.node.mem_alarm)=1 |
Average | |
RabbitMQ node: Free disk space alarm | For more details see . |
last(/RabbitMQ node by Áú»¢¶Ä²© agent/rabbitmq.node.disk_free_alarm)=1 |
Average | |
RabbitMQ node: Host has been restarted | Uptime is less than 10 minutes. |
last(/RabbitMQ node by Áú»¢¶Ä²© agent/rabbitmq.node.uptime)<10m |
Info | Manual close: Yes |
LLD rule RabbitMQ process discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
RabbitMQ process discovery | The discovery of the RabbitMQ summary processes. |
Dependent item | rabbitmq.proc.discovery |
Item prototypes for RabbitMQ process discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Get process data | The summary metrics aggregated by a process {#RABBITMQ.NAME}. |
Dependent item | rabbitmq.proc.get[{#RABBITMQ.NAME}] Preprocessing
|
Number of running processes | The number of running processes {#RABBITMQ.NAME}. |
Dependent item | rabbitmq.proc.num[{#RABBITMQ.NAME}] Preprocessing
|
Memory usage (rss) | The summary of resident set size memory used by a process {#RABBITMQ.NAME} expressed in bytes. |
Dependent item | rabbitmq.proc.rss[{#RABBITMQ.NAME}] Preprocessing
|
Memory usage (vsize) | The summary of virtual memory used by a process {#RABBITMQ.NAME} expressed in bytes. |
Dependent item | rabbitmq.proc.vmem[{#RABBITMQ.NAME}] Preprocessing
|
Memory usage, % | The percentage of real memory used by a process {#RABBITMQ.NAME}. |
Dependent item | rabbitmq.proc.pmem[{#RABBITMQ.NAME}] Preprocessing
|
CPU utilization | The percentage of the CPU utilization by a process {#RABBITMQ.NAME}. |
Áú»¢¶Ä²© agent | proc.cpu.util[{#RABBITMQ.NAME}] |
Trigger prototypes for RabbitMQ process discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
RabbitMQ node: Process is not running | last(/RabbitMQ node by Áú»¢¶Ä²© agent/rabbitmq.proc.num[{#RABBITMQ.NAME}])=0 |
High | ||
RabbitMQ node: Failed to fetch nodes data | Áú»¢¶Ä²© has not received any data for items for the last 30 minutes. |
nodata(/RabbitMQ node by Áú»¢¶Ä²© agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true"],30m)=1 and last(/RabbitMQ node by Áú»¢¶Ä²© agent/rabbitmq.proc.num[{#RABBITMQ.NAME}])>0 |
Warning | Manual close: Yes Depends on:
|
RabbitMQ node: Service is down | last(/RabbitMQ node by Áú»¢¶Ä²© agent/net.tcp.service["{$RABBITMQ.API.SCHEME}","{$RABBITMQ.API.HOST}","{$RABBITMQ.API.PORT}"])=0 and last(/RabbitMQ node by Áú»¢¶Ä²© agent/rabbitmq.proc.num[{#RABBITMQ.NAME}])>0 |
Average | Manual close: Yes | |
RabbitMQ node: Node is not running | RabbitMQ node is not running. |
max(/RabbitMQ node by Áú»¢¶Ä²© agent/rabbitmq.node.running,5m)=0 and last(/RabbitMQ node by Áú»¢¶Ä²© agent/rabbitmq.proc.num[{#RABBITMQ.NAME}])>0 |
Average | Depends on:
|
RabbitMQ node: Service response time is too high | min(/RabbitMQ node by Áú»¢¶Ä²© agent/net.tcp.service.perf["{$RABBITMQ.API.SCHEME}","{$RABBITMQ.API.HOST}","{$RABBITMQ.API.PORT}"],5m)>{$RABBITMQ.RESPONSE_TIME.MAX.WARN} and last(/RabbitMQ node by Áú»¢¶Ä²© agent/rabbitmq.proc.num[{#RABBITMQ.NAME}])>0 |
Warning | Manual close: Yes Depends on:
|
LLD rule Health Check 3.8.10+ discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Health Check 3.8.10+ discovery | Specific metrics for the versions: up to and including 3.8.10. |
Dependent item | rabbitmq.healthcheck.v3810.discovery Preprocessing
|
Item prototypes for Health Check 3.8.10+ discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Healthcheck: local alarms in effect on this node{#SINGLETON} | It responds with a status code Otherwise, it responds with a status code |
Áú»¢¶Ä²© agent | web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/local-alarms{#SINGLETON}"] Preprocessing
|
Healthcheck: expiration date on the certificates{#SINGLETON} | It checks the expiration date on the certificates for every listener configured to use the Transport Layer Security (TLS). It responds with a status code Otherwise, it responds with a status code |
Áú»¢¶Ä²© agent | web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/certificate-expiration/1/months{#SINGLETON}"] Preprocessing
|
Healthcheck: virtual hosts on this node{#SINGLETON} | It responds with It responds with a status code Otherwise it responds with a status code |
Áú»¢¶Ä²© agent | web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/virtual-hosts{#SINGLETON}"] Preprocessing
|
Healthcheck: classic mirrored queues without synchronized mirrors online{#SINGLETON} | It checks if there are classic mirrored queues without synchronized mirrors online (queues that would potentially lose data if the target node is shut down). It responds with a status code Otherwise, it responds with a status code |
Áú»¢¶Ä²© agent | web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/node-is-mirror-sync-critical{#SINGLETON}"] Preprocessing
|
Healthcheck: queues with minimum online quorum{#SINGLETON} | It checks if there are quorum queues with minimum online quorum (queues that would lose their quorum and availability if the target node is shut down). It responds with a status code Otherwise, it responds with a status code |
Áú»¢¶Ä²© agent | web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/node-is-quorum-critical{#SINGLETON}"] Preprocessing
|
Trigger prototypes for Health Check 3.8.10+ discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
RabbitMQ node: There are active alarms in the node | It checks the active alarms in the nodes via API. This is the default API endpoint path: http://{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/index.html. |
last(/RabbitMQ node by Áú»¢¶Ä²© agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/local-alarms{#SINGLETON}"])=0 |
Average | |
RabbitMQ node: There are valid TLS certificates expiring in the next month | It checks if there are valid TLS certificates expiring in the next month. This is the default API endpoint path: http://{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/index.html. |
last(/RabbitMQ node by Áú»¢¶Ä²© agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/certificate-expiration/1/months{#SINGLETON}"])=0 |
Average | |
RabbitMQ node: There are not running virtual hosts | It checks if there are not running virtual hosts via API. This is the default API endpoint path: http://{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/index.html. |
last(/RabbitMQ node by Áú»¢¶Ä²© agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/virtual-hosts{#SINGLETON}"])=0 |
Average | |
RabbitMQ node: There are queues that could potentially lose data if this node goes offline. | It checks whether there are queues that could potentially lose data if this node goes offline via API. This is the default API endpoint path: http://{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/index.html. |
last(/RabbitMQ node by Áú»¢¶Ä²© agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/node-is-mirror-sync-critical{#SINGLETON}"])=0 |
Average | |
RabbitMQ node: There are queues that would lose their quorum and availability if this node is shut down. | It checks if there are queues that could potentially lose data if this node goes offline via API. This is the default API endpoint path: http://{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/index.html. |
last(/RabbitMQ node by Áú»¢¶Ä²© agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/health/checks/node-is-quorum-critical{#SINGLETON}"])=0 |
Average |
LLD rule Health Check 3.8.9- discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Health Check 3.8.9- discovery | Specific metrics for the versions: up to and including 3.8.4. |
Dependent item | rabbitmq.healthcheck.v389.discovery Preprocessing
|
Item prototypes for Health Check 3.8.9- discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Healthcheck{#SINGLETON} | It checks whether the RabbitMQ application is running; and whether the channels and queues can be listed successfully; and that no alarms are in effect. |
Áú»¢¶Ä²© agent | web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/healthchecks/node{#SINGLETON}"] Preprocessing
|
Trigger prototypes for Health Check 3.8.9- discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
RabbitMQ node: Node healthcheck failed | For more details see . |
last(/RabbitMQ node by Áú»¢¶Ä²© agent/web.page.get["{$RABBITMQ.API.SCHEME}://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/healthchecks/node{#SINGLETON}"])=0 |
Average |
LLD rule Queues discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Queues discovery | The metrics for an individual queue. |
Dependent item | rabbitmq.queues.discovery Preprocessing
|
Item prototypes for Queues discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Queue [{#VHOST}][{#QUEUE}]: Get data | The HTTP API endpoint that returns [{#VHOST}][{#QUEUE}] queue metrics |
Dependent item | rabbitmq.get_exchanges["{#VHOST}/{#QUEUE}"] Preprocessing
|
Queue [{#VHOST}][{#QUEUE}]: Messages total | The count of total messages in the queue. |
Dependent item | rabbitmq.queue.messages["{#VHOST}/{#QUEUE}"] Preprocessing
|
Queue [{#VHOST}][{#QUEUE}]: Messages per second | The count of total messages per second in the queue. |
Dependent item | rabbitmq.queue.messages.rate["{#VHOST}/{#QUEUE}"] Preprocessing
|
Queue [{#VHOST}][{#QUEUE}]: Consumers | The number of consumers. |
Dependent item | rabbitmq.queue.consumers["{#VHOST}/{#QUEUE}"] Preprocessing
|
Queue [{#VHOST}][{#QUEUE}]: Memory | The bytes of memory consumed by the Erlang process associated with the queue, including stack, heap and internal structures. |
Dependent item | rabbitmq.queue.memory["{#VHOST}/{#QUEUE}"] Preprocessing
|
Queue [{#VHOST}][{#QUEUE}]: Messages ready | The number of messages ready to be delivered to clients. |
Dependent item | rabbitmq.queue.messages_ready["{#VHOST}/{#QUEUE}"] Preprocessing
|
Queue [{#VHOST}][{#QUEUE}]: Messages ready per second | The number of messages per second ready to be delivered to clients. |
Dependent item | rabbitmq.queue.messages_ready.rate["{#VHOST}/{#QUEUE}"] Preprocessing
|
Queue [{#VHOST}][{#QUEUE}]: Messages unacknowledged | The number of messages delivered to clients but not yet acknowledged. |
Dependent item | rabbitmq.queue.messages_unacknowledged["{#VHOST}/{#QUEUE}"] Preprocessing
|
Queue [{#VHOST}][{#QUEUE}]: Messages unacknowledged per second | The number of messages per second delivered to clients but not yet acknowledged. |
Dependent item | rabbitmq.queue.messages_unacknowledged.rate["{#VHOST}/{#QUEUE}"] Preprocessing
|
Queue [{#VHOST}][{#QUEUE}]: Messages acknowledged | The number of messages delivered to clients and acknowledged. |
Dependent item | rabbitmq.queue.messages.ack["{#VHOST}/{#QUEUE}"] Preprocessing
|
Queue [{#VHOST}][{#QUEUE}]: Messages acknowledged per second | The number of messages (per second) delivered to clients and acknowledged. |
Dependent item | rabbitmq.queue.messages.ack.rate["{#VHOST}/{#QUEUE}"] Preprocessing
|
Queue [{#VHOST}][{#QUEUE}]: Messages delivered | The count of messages delivered to consumers in acknowledgement mode. |
Dependent item | rabbitmq.queue.messages.deliver["{#VHOST}/{#QUEUE}"] Preprocessing
|
Queue [{#VHOST}][{#QUEUE}]: Messages delivered per second | The count of messages (per second) delivered to consumers in acknowledgement mode. |
Dependent item | rabbitmq.queue.messages.deliver.rate["{#VHOST}/{#QUEUE}"] Preprocessing
|
Queue [{#VHOST}][{#QUEUE}]: Sum of messages delivered | The sum of messages delivered to consumers: in acknowledgement mode and in no-acknowledgement mode; delivered to consumers in response to the |
Dependent item | rabbitmq.queue.messages.deliver_get["{#VHOST}/{#QUEUE}"] Preprocessing
|
Queue [{#VHOST}][{#QUEUE}]: Sum of messages delivered per second | The rate of delivery per second. The sum of messages delivered (per second) to consumers: in acknowledgement mode and in no-acknowledgement mode; delivered to consumers in response to |
Dependent item | rabbitmq.queue.messages.deliver_get.rate["{#VHOST}/{#QUEUE}"] Preprocessing
|
Queue [{#VHOST}][{#QUEUE}]: Messages published | The count of published messages. |
Dependent item | rabbitmq.queue.messages.publish["{#VHOST}/{#QUEUE}"] Preprocessing
|
Queue [{#VHOST}][{#QUEUE}]: Messages published per second | The rate of published messages per second. |
Dependent item | rabbitmq.queue.messages.publish.rate["{#VHOST}/{#QUEUE}"] Preprocessing
|
Queue [{#VHOST}][{#QUEUE}]: Messages redelivered | The count of subset of messages in the |
Dependent item | rabbitmq.queue.messages.redeliver["{#VHOST}/{#QUEUE}"] Preprocessing
|
Queue [{#VHOST}][{#QUEUE}]: Messages redelivered per second | The rate of messages redelivered per second. |
Dependent item | rabbitmq.queue.messages.redeliver.rate["{#VHOST}/{#QUEUE}"] Preprocessing
|
Trigger prototypes for Queues discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
RabbitMQ node: Too many messages in queue [{#VHOST}][{#QUEUE}] | min(/RabbitMQ node by Áú»¢¶Ä²© agent/rabbitmq.queue.messages["{#VHOST}/{#QUEUE}"],5m)>{$RABBITMQ.MESSAGES.MAX.WARN:"{#QUEUE}"} |
Warning |
Feedback
Please report any issues with the template at
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums