Wondering how to enable Memcached support in Nagios? We can help you
With Memcached, we can cache SQL query results in memory on one or more Memcached servers. This can dramatically improve performance in heavily utilized Nagios XI deployments.
As part of our Server Management Services, we assist our customers with several Nagios queries.
Today, let us see how to increase the performance of Nagios XI by enabling Memcached.
Enable Memcached Support In Nagios
It is possible for us to set up one or more Memcached servers (hosts).
To do so, we establish a terminal server to Nagios XI server as a root user. Then we proceed with the following steps.
Initially, we need to install the packages we require:
# yum -y install memcached php-pecl-memcached
Debian 9|Ubuntu 16/18
# apt-get install -y memcached php-memcached
Each of them should configure its firewall to allow traffic on TCP port 11211. Only then will it allow Nagios XI to contact the Memcached server.
To create the firewall rules we execute:
RHEL 7+|CentOS 7+
# firewall-cmd –zone=public –add-port=11211/tcp # firewall-cmd –zone=public –add-port=11211/tcp –permanent
# ufw allow proto tcp from any to any port 11211 # ufw reload
# iptables -I INPUT -p tcp –dport 11211 -j ACCEPT
This ensures the Memcached server will start when the server boots. We can start it by issuing the following commands:
RHEL 7+|CentOS 7+|Debian|Ubuntu 16/18
# systemctl enable memcached # systemctl start memcached
Enable Memcached Support In PHP
We need to add an extension line to the php.ini file. The location of this file differs depending on the OS/version.
To determine the location, we run:
# find /etc -name php.ini
In case we get multiple results, we need to change the one in the apache directory.
We add the extension line with the following command:
# echo “extension=memcached.so” >> /etc/php.ini
Then we restart the Apache service:
RHEL 7+|CentOS 7+
# systemctl restart httpd.service
# systemctl restart apache2.service
Enable Memcached Support In Nagios XI
Moving ahead, we edit the Nagios XI configuration file to enable Memcached:
We find the following line:
$cfg[‘memcached_enable’] = false;
Then we change it to:
$cfg[‘memcached_enable’] = true;
Eventually, we save the changes and close the file.
On the other hand, the below commands will make the change for us:
# cd /usr/local/nagiosxi/html/ # sed -i “s/memcached_enable’] = false/memcached_enable’] = true/g” config.inc.php
Now, Nagios XI will start using Memcached to cache SQL query results.
View Memcached Statistics
To view the cache statistics, we can download and install the useful memcached-tool:
# cd /tmp # wget https://raw.githubusercontent.com/memcached/memcached/master/scripts/memcached-tool # chmod +x memcached-tool # ./memcached-tool 127.0.0.1 display # ./memcached-tool 127.0.0.1 stats
Multiple Memcache Servers
Nagios XI supports using multiple Memcache servers. In the config file /usr/local/nagiosxi/html/config.inc.php, the following line dictates this:
This is an array of addresses of the Memcached servers we want Nagios XI to use. The address surrounds by ‘single quotes’. The comma is to separate each entry.
[Need help with the procedures? We are here for you]
In short, we saw how our Support Techs enable Memcached for our customers.