Setting up RabbitMQ cluster with master and slave instances can invoke some node destabilization like the error Node statistics not available
. Here I’m going to show you few steps how can you resolve it.
Prerequisites
- RabbitMQ
Solution
Step 1. The most common symptom is the 100% disk usage. So, SSH into the instance and check the status of the rabbitmq
service.
systemctl status rabbitmq-server
If the status is Exited
like below follow the Step 2.
● rabbitmq-server.service
Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code)
Process: 15630 ExecStart=/usr/sbin/rabbitmq-server (code=exited, status=1/FAILURE)
Main PID: 15630 (code=exited, status=1/FAILURE)
Status: "Exited."
Step 2. Check if /opt/rabbitmq
directory has reached 100% usage.
df -h
If the output
is similar like the following:
Filesystem Size Used Avail Use% Mounted on
udev 7,7G 0 7,7G 0% /dev
tmpfs 1,6G 2,2M 1,6G 1% /run
/dev/mapper/datavg-lv_rabbitmq 3.0G 3.0G 34M 100% /opt/rabbitmq
Then you should find out which directory from /opt/rabbitmq
is using the majority of the disk space.
du -sch /opt/rabbitmq/*
So if you figure out that the directory is old or contains messages that are not useful you can clean them up. Afterwards restart the RabbitMQ service, so it can be in a running status and fix the error.
systemctl status rabbitmq-server
...
● rabbitmq-server.service - RabbitMQ broker
Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: disabled)
Active: active (running)
Step 3. Even if the service status is running, it may still show the same message Node statistics not available
. There is one more possibility. Check the /var/log/rabbitmq/*.log
log files and see if the net tick timeout
issue is popping up.
=INFO REPORT==== 1-Nov-2021::17:50:33 ===
node rabbit@server down: net_tick_timeout
To resolve this, open RabbitMQ default conf file, and update net_ticktime
value, if not defined.
net_ticktime = 60
Restart the RabbitMQ service, so the changes can take effect and that’s it. The error should be gone.
systemctl restart rabbitmq-server
Conclusion
If there is something that you want to raise please do it in the comment section below. Feel free to leave a comment below and if you find this tutorial useful, follow our official channel on Telegram.