Tasos Katsoulas 9f1403de7d Covert our documentation links to GH absolute links (#14344) 2 years ago
..
Makefile.inc d802f83e4a Fix make dist (#4401) 6 years ago
README.md 9f1403de7d Covert our documentation links to GH absolute links (#14344) 2 years ago
rabbitmq.chart.py 52db45930b Add per queue charts in rabbitmq.chart.py (#10064) 4 years ago
rabbitmq.conf 52db45930b Add per queue charts in rabbitmq.chart.py (#10064) 4 years ago

README.md

RabbitMQ monitoring with Netdata

Collects message broker global and per virtual host metrics.

Following charts are drawn:

  1. Queued Messages

    • ready
    • unacknowledged
  2. Message Rates

    • ack
    • redelivered
    • deliver
    • publish
  3. Global Counts

    • channels
    • consumers
    • connections
    • queues
    • exchanges
  4. File Descriptors

    • used descriptors
  5. Socket Descriptors

    • used descriptors
  6. Erlang processes

    • used processes
  7. Erlang run queue

    • Erlang run queue
  8. Memory

    • free memory in megabytes
  9. Disk Space

    • free disk space in gigabytes

Per Vhost charts:

  1. Vhost Messages

    • ack
    • confirm
    • deliver
    • get
    • get_no_ack
    • publish
    • redeliver
    • return_unroutable
  2. Per Queue charts:

    1. Queued Messages

      • messages
      • paged_out
      • persistent
      • ready
      • unacknowledged
    2. Queue Messages stats

      • ack
      • confirm
      • deliver
      • get
      • get_no_ack
      • publish
      • redeliver
      • return_unroutable

Configuration

Edit the python.d/rabbitmq.conf configuration file using edit-config from the Netdata config directory, which is typically at /etc/netdata.

cd /etc/netdata   # Replace this path with your Netdata config directory, if different
sudo ./edit-config python.d/rabbitmq.conf

When no configuration file is found, module tries to connect to: localhost:15672.

socket:
  name     : 'local'
  host     : '127.0.0.1'
  port     :  15672
  user     : 'guest'
  pass     : 'guest'

Per-Queue Chart configuration

RabbitMQ users with the "monitoring" tag cannot see all queue data. You'll need a user with read permissions. To create a dedicated user for netdata:

rabbitmqctl add_user netdata ChangeThisSuperSecretPassword
rabbitmqctl set_permissions netdata "^$" "^$" ".*"

See set_permissions for details.

Once the user is set up, add collect_queues_metrics: yes to your rabbitmq.conf:

local:
  name                   : 'local'
  host                   : '127.0.0.1'
  port                   :  15672
  user                   : 'netdata'
  pass                   : 'ChangeThisSuperSecretPassword'
  collect_queues_metrics : 'yes'