Skip to content

Latest commit

 

History

History
57 lines (42 loc) · 3.77 KB

README.md

File metadata and controls

57 lines (42 loc) · 3.77 KB

TGIR S01E07: How to monitor RabbitMQ?

You have a few RabbitMQ deployments. How do you monitor them?

You have heard of the Grafana dashboards that team RabbitMQ maintains, maybe from this RabbitMQ Summit 2019 talk or from the official Monitoring with Prometheus & Grafana guide. But how do you actually set them up?

And what about the default metrics configuration? Can this be improved?

For speed and convenience, we set up K3S on a Linux host (we had some Equinix Metal credits that we put to good use) and then:

  • We integrate Prometheus & Grafana with K3S, all running inside K3S.
  • We set up RabbitMQ Grafana dashboards & deploy the RabbitMQ Cluster Operator, which makes deploying RabbitMQ on K8S as easy as it gets.
  • We deploy a few RabbitMQ workloads and look at their behaviour via Grafana, paying special attention to memory pressure coming from the metrics system.

If your RabbitMQ nodes run many queues, channels & connections and you are using the default metrics configuration, this will help you understand how to optimise that.

LINKS

MAKE TARGETS

env                           Configure shell env - eval "$(make env)" OR source .env
equinix-metal-server          Create a Equinix Metal host - optional step
equinix-metal-server-rm       Delete the Equinix Metal server - this deletes everything
equinix-metal-servers         List all Equinix Metal servers
equinix-metal-ssh-key         Add SSH key that will be added to all new servers
k3s                           Create a K3S instance on a Linux host - works on any Ubuntu VM
k3s-grafana                   Access Grafana running in K3S
k3s-monitoring                Integrate Prometheus & Grafana with K3S, including system metrics
k3s-rabbitmq                  Deploy all things RabbitMQ in K3S
k3s-rabbitmq-grafana          Add RabbitMQ Grafana dashboards to Kube Prometheus Stack
k3s-rabbitmq-operator         Install RabbitMQ Cluster Operator into K3S
k9s                           Interact with our K3S instance via a terminal UI
rabbitmq-default-metrics      Deploy a RabbitMQ with many Classic Queues, Publishers & Consumers and default Management metrics
rabbitmq-minimal-metrics      Deploy a RabbitMQ with many Classic Queues, Publishers & Consumers and minimal Management metrics
rabbitmq-prometheus-metrics   Deploy a RabbitMQ with many Classic Queues, Publishers & Consumers and no Management metrics
rabbitmq-quorum               Deploy a RabbitMQ with a Quorum Queue workload
rabbitmq-rm-%                 Delete one of the deployed RabbitMQ clusters & associated workloads
rabbitmq-stream               Deploy a RabbitMQ with a Stream Queue workload
ssh-k3s                       SSH into the K3S host``