Installing the Nagios RabbitMQ plugin.
The RabbitMQ plugin here we are going to use is validated listed under monitoring section by https://www.rabbitmq.com/monitoring.html
https://github.com/nagios-plugins-rabbitmq/nagios-plugins-rabbitmq
The installation is done as follows:
The Perl library can be downloaded and installed as follows:
cd /tmp/
wget http://search.cpan.org/CPAN/authors/id/T/TO/TONVOON/Nagios-Plugin-0.36.tar.gz
tar xvf Nagios-Plugin-0.36.tar.gz
cd Nagios-Plugin-0.36
perl Makefile.PL
make
make test
make install
In case you do not have the make, Please install it using following command to complete the make install of Nagios Plugin:
ap install make
Ofcourse the primary requirement is to have the nrpe setup installed
This can be done as follows in a ubuntu system:
# apt install nagios-nrpe-server nagios-plugins
Now we can go ahead and start the setup of rabbitMQ plugin.
cd /usr/local/nagios/libexec/
clone the repository.
git clone https://github.com/nagios-plugins-rabbitmq/nagios-plugins-rabbitmq.git
The repository already contains the executables in script directory which we will use for monitoring after completion.
We now have to provide the required perl libraries to support the rabbitmq-nagios plugins and execute them.
Lets us now proceed and organize the directory structure and move directory nagios-plugins-rabbitmq to /usr/local/nagios/libexec/
# mv nagios-plugins-rabbitmq /usr/local/nagios/libexec/
Change the ownership to nagios user, This step is important and must to done as a prerequisite,
ensure that you have the desired nagios user already present by running the below command
# id nagios
Change the ownership to nagios user and group.
# sudo chown nagios:nagios nagios-plugins-rabbitmq -R
The files and directories now should be owned by the nagios user and group
Now we can go ahead and install the required modules from cpan.
Run the cpan command to fetch and install perl dependencies
On some systems you might face some problems while trying to install ” install Monitoring::Plugin ”
cpan[1]> install Monitoring::Plugin
You may try this
cpan[1]> install Nagios::Monitoring::Plugin
After installing it, Next install LWP
cpan[2]> install LWP
After installing it, Next install JSON
cpan[3]> install JSON
Type exit to exit out of the cpan prompt.
cpan[4]> exit
Terminal does not support GetHistory.
Lockfile removed.
Alternatively you may also run the cpanm and avoid entering into the cpan subshell and issue the perl install commands
# apt install cpanminus
You may also use this to install Nagios::Plugin
After the installation is completed without any errors you would have successfully installed the RabbitMQ nagios plugins.
Now check the installation by going to scripts directory
# /usr/local/nagios/libexec/nagios-plugins-rabbitmq/scripts
Lets look at what plugins are provided for rabbitmq
/usr/local/nagios/libexec/nagios-plugins-rabbitmq/scripts# ls
check_rabbitmq_aliveness check_rabbitmq_connections check_rabbitmq_objects check_rabbitmq_partition check_rabbitmq_server check_rabbitmq_watermark check_rabbitmq_cluster check_rabbitmq_exchange check_rabbitmq_overview check_rabbitmq_queue check_rabbitmq_shovels
As most of them are set with executable bit, run any check by giving absolute path or relative prefixing ./check_rabbitmq_aliveness
You can pass -h to print the help menu
The commands shall take the mandatory option of Hostname Port followed by the login credentials -u username and -p password
[email protected]:/usr/local/nagios/libexec/nagios-plugins-rabbitmq/scripts# sudo ./check_rabbitmq_server -H “RabbitMQ1.linuxcent.com” -u “guest” -p “guest”
Output
RABBITMQ_SERVER OK – Memory OK (2.63%) Process OK (0.08%) FD OK (0.27%) Sockets OK (0.10%) | Memory=2.63%;80;90 Process=0.08%;80;90 FD=0.27%;80;90 Sockets=0.10%;80;90
Similarly the other important plugin is to get the queue status.
This plugin provides various checks on the RabbitMQ
The most useful checks are monitoring and alerting the queue names on features such as the Messages in Queue, Messages in Ready State, Un-Acknowledged messages and the number of Consumers.
The order for the Warning and Critical are
messages ,messages_ready ,messages_unacknowledged ,consumers
Here we are monitoring the RabbitMQ queue download_queue, for the messages_ready if exceeding 0 then, warning notification will be sent.
[email protected]:/usr/local/nagios/libexec/nagios-plugins-rabbitmq/scripts# ./check_rabbitmq_queue -H “RabbitMQ1.linuxcent.com” -u “guest” -p “guest” –queue “download_queue” -w -1,0,-1,-1
Output
RABBITMQ_QUEUE CRITICAL – messages_ready CRITICAL (4219), messages OK (4269) messages_unacknowledged OK (50) consumers OK (2) | messages=4269;; messages_ready=4219;;0 messages_unacknowledged=50;; consumers=2;;