RabbitMQ default checks and policies

  • Release version: Washingtondc
  • Updated February 1, 2024
  • 2 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of RabbitMQ Default Checks and Policies

    The Agent Client Collector offers default checks and policies for monitoring RabbitMQ health. Before executing these checks, ensure RabbitMQ discovery is performed. Note that these checks are only available in a Windows environment.

    Show full answer Show less

    Key Features

    • Event Checks: These checks verify various aspects of the RabbitMQ server's health, including server status, cluster node status, consumer count, message queue status, network partitions, and overall node health and usage.
    • Metrics Checks: These checks provide overview statistics and metrics for individual queues in RabbitMQ.

    Key Outcomes

    By implementing these checks, customers can:

    • Ensure the RabbitMQ server is operational and responsive.
    • Receive alerts for critical issues, such as down servers, unhealthy nodes, or exceeded consumer/message thresholds.
    • Monitor performance metrics to optimize RabbitMQ usage and ensure efficient operations.

    Overall, these checks enable proactive management of RabbitMQ environments, helping to maintain system reliability and performance.

    Agent Client Collector provides the following default checks and policies for RabbitMQ health monitoring. You must perform RabbitMQ discovery before executing the checks. RabbitMQ checks are available only in a Windows environment.

    Table 1. RabbitMQ Events policy
    Type Check Description Command
    Event check-rabbitmq-alive Verifies whether the RabbitMQ server is alive, using the REST API. If the server is down, an alert triggers. check-rabbitmq-alive.rb --host {{.labels.params_host}} --port {{.labels.params_port}} -v {{.labels.params_vhost}}
    Event check-rabbitmq-cluster-health Verifies whether the RabbitMQ server's cluster nodes are running. If the nodes are down, an alert triggers. check-rabbitmq-cluster-health.rb --host {{.labels.params_host}} --port {{.labels.params_port}}
    Event check-rabbitmq-consumers Verifies the number of consumers on the RabbitMQ server and triggers an alert based on the configured threshold. check-rabbitmq-consumers.rb {{if .labels.params_warn}} --warn {{.labels.params_warn}} {{end}} {{if .labels.params_critical}} --critical {{.labels.params_critical}} {{end}} --host {{.labels.params_host}} --port {{.labels.params_port}}
    Event check-rabbitmq-messages Verifies the total number of messages queued on the RabbitMQ server and triggers an alert based on the threshold. check-rabbitmq-messages.rb --critical {{.labels.params_critical}} --port {{.labels.params_port}} --warn {{.labels.params_warn}} --host {{.labels.params_host}}
    Event check-rabbitmq-network-partitions Verifies whether the RabbitMQ network partition has occurred and triggers an alert based on the threshold. check-rabbitmq-network-partitions.rb --host {{.labels.params_host}} --port {{.labels.params_port}}
    Event check-rabbitmq-node-health Verifies whether the RabbitMQ server node is in a running state.
    check-rabbitmq-node-health.rb --host {{.labels.params_host}} {{if .labels.params_watchalarms}} --alarms {{.labels.params_watchalarms}} {{end}} {{if .labels.params_socketwarn}} --swarn {{.labels.params_socketwarn}} {{end}} {{if .labels.params_memcrit}} --mcrit {{.labels.params_memcrit}} {{end}} {{if .labels.params_fdcrit}} --fcrit {{.labels.params_fdcrit}} {{end}} {{if .labels.params_socketcrit}} --scrit {{.labels.params_socketcrit}} {{end}} --port {{.labels.params_port}} {{if .labels.params_memwarn}} --mwarn {{.labels.params_memwarn}} {{end}} {{if .labels.params_fdwarn}} --fwarn {{.labels.params_fdwarn}} {{end}}
    Event check-rabbitmq-node-usage Checks and displays usage of the RabbitMQ server node.
    check-rabbitmq-node-usage.rb {{if .labels.params_procwarn}} --pwarn {{.labels.params_procwarn}} {{end}} --port {{.labels.params_port}} {{if .labels.params_socketwarn}} --swarn {{.labels.params_socketwarn}} {{end}} --type {{.labels.params_type}} {{if .labels.params_diskcrit}} --dcrit {{.labels.params_diskcrit}} {{end}} {{if .labels.params_fdcrit}} --fcrit {{.labels.params_fdcrit}} {{end}} {{if .labels.params_proccrit}} --pcrit {{.labels.params_proccrit}} {{end}} {{if .labels.params_diskwarn}} --dwarn {{.labels.params_diskwarn}} {{end}} {{if .labels.params_socketcrit}} --scrit {{.labels.params_socketcrit}} {{end}} --host {{.labels.params_host}} {{if .labels.params_memcrit}} --mcrit {{.labels.params_memcrit}} {{end}} {{if .labels.params_fdwarn}} --fwarn {{.labels.params_fdwarn}} {{end}} {{if .labels.params_memwarn}} mwarn {{.labels.params_memwarn}} {{end}}
    Event check-rabbitmq-queue-drain-time Verifies the time it will take for each queue on the RabbitMQ server to drain, based on the current message exit rate.

    For example, if a queue has 1,000 messages in it but only 1 message exits per second, an alert generates because the default critical level of 360 seconds has been exceeded.

    check-rabbitmq-queue-drain-time.rb --host {{.labels.params_host}} --port {{.labels.params_port}} --warn {{.labels.params_warn}} --critical {{.labels.params_critical}}
    Event check-rabbitmq-queues-synchronised Verifies that all mirrored queues with secondary queues are synchronised. check-rabbitmq-queues-synchronised.rb --host {{.labels.params_host}} --port {{.labels.params_port}}
    Event check-rabbitmq-stomp-alive Verifies whether the RabbitMQ server is alive and responding to STOMP. check-rabbitmq-stomp-alive.rb --host {{.labels.params_host}} --queue {{.labels.params_queue}} --port {{.labels.params_port}}
    Table 2. RabbitMQ Metrics policy
    Type Check Description Command
    Metric metrics-rabbitmq-overview Provides RabbitMQ overview statistics. metrics-rabbitmq-overview.rb --port {{.labels.params_port}} --host {{.labels.params_host}}
    Metric metrics-rabbitmq-queue Provides RabbitMQ metrics per queue. metrics-rabbitmq-queue.rb --port {{.labels.params_port}} --host {{.labels.params_host}} {{if .labels.params_vhost}} --vhost {{.labels.params_vhost}} {{end}}