{"id":2634,"date":"2018-10-09T12:04:39","date_gmt":"2018-10-09T06:34:39","guid":{"rendered":"https:\/\/pheonixsolutions.com\/blog\/?p=2634"},"modified":"2026-09-28T09:06:30","modified_gmt":"2026-09-28T03:36:30","slug":"nagios-remote-host-monitoring","status":"publish","type":"post","link":"https:\/\/pheonixsolutions.com\/blog\/nagios-remote-host-monitoring\/","title":{"rendered":"Nagios Remote Host Monitoring"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Post Date:<\/strong> October 09, 2018<br><strong>Last Updated:<\/strong> September 28, 2026<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nagios can monitor remote Linux servers and provide alerts when important services or system resources require attention.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Using <strong>NRPE (Nagios Remote Plugin Executor)<\/strong>, the Nagios monitoring server can execute monitoring plugins on a remote Linux host and collect information such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>CPU load<\/li>\n\n\n\n<li>Disk usage<\/li>\n\n\n\n<li>Memory usage<\/li>\n\n\n\n<li>Running processes<\/li>\n\n\n\n<li>Server uptime<\/li>\n\n\n\n<li>SSH availability<\/li>\n\n\n\n<li>Web server availability<\/li>\n\n\n\n<li>Application services<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This guide explains how to configure NRPE on a remote Linux server and add that server to Nagios monitoring.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Note:<\/strong> The original guide uses older RHEL\/CentOS packages and NRPE versions. The commands may need adjustment for newer Linux distributions and current Nagios\/NRPE installations.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Prerequisites<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You need:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A Linux server to monitor.<\/li>\n\n\n\n<li>A Nagios monitoring server.<\/li>\n\n\n\n<li>Root or <code>sudo<\/code> access on both servers.<\/li>\n\n\n\n<li>Network connectivity between the Nagios server and remote host.<\/li>\n\n\n\n<li>TCP port <code>5666<\/code> allowed between the two servers.<\/li>\n\n\n\n<li>Nagios and Nagios Plugins installed on the monitoring server.<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">Part 1: Configure the Remote Linux Host<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Install Required Packages<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">On a RHEL\/CentOS-based remote server:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">yum install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Install <code>xinetd<\/code> if your NRPE setup uses it:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">yum install -y xinetd<\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Modern NRPE installations may use systemd instead of xinetd.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: Create the Nagios User<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Create the <code>nagios<\/code> user:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">useradd nagios<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If the user already exists, you can skip this step.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3: Download Nagios Plugins<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Create a working directory:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">mkdir -p \/root\/nagios\ncd \/root\/nagios<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Download the Nagios Plugins package:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">wget https:\/\/www.nagios-plugins.org\/download\/nagios-plugins-2.2.1.tar.gz<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Extract the package:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">tar -xzf nagios-plugins-2.2.1.tar.gz<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Move into the extracted directory:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cd nagios-plugins-2.2.1<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Configure and compile the plugins:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">.\/configure\nmake\nmake install<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Set the required permissions:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">chown -R nagios:nagios \/usr\/local\/nagios\/libexec<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4: Install NRPE<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Download the NRPE source package:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cd \/root\/nagios\nwget https:\/\/github.com\/NagiosEnterprises\/nrpe\/releases\/download\/nrpe-3.1.1\/nrpe-3.1.1.tar.gz<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Extract it:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">tar -xzf nrpe-3.1.1.tar.gz<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Move into the directory:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cd nrpe-3.1.1<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Configure and compile:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">.\/configure\nmake all<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Install the NRPE plugin and daemon:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">make install-plugin\nmake install-daemon\nmake install-daemon-config<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Step 5: Configure NRPE<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Edit the NRPE configuration:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">vi \/usr\/local\/nagios\/etc\/nrpe.cfg<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Configure the Nagios monitoring server IP in the allowed hosts configuration.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">allowed_hosts=127.0.0.1,&lt;NAGIOS_SERVER_IP><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Replace <code>&lt;NAGIOS_SERVER_IP&gt;<\/code> with the actual IP address of your Nagios server.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 6: Configure NRPE Port<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">NRPE normally listens on TCP port <code>5666<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Verify that the service is configured to use this port.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If your installation uses <code>\/etc\/services<\/code>, the entry is:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">nrpe 5666\/tcp NRPE<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Step 7: Start NRPE<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If NRPE is configured as a systemd service:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">systemctl enable nrpe\nsystemctl start nrpe<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Check its status:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">systemctl status nrpe<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If the installation uses xinetd instead:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">systemctl restart xinetd<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Step 8: Verify NRPE<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Check whether port <code>5666<\/code> is listening:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ss -lntp | grep 5666<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You can also test NRPE locally:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/usr\/local\/nagios\/libexec\/check_nrpe -H 127.0.0.1<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A successful response should return the installed NRPE version.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Part 2: Configure the Firewall<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Allow TCP port <code>5666<\/code> from the Nagios monitoring server.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For firewalld:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">firewall-cmd --permanent --add-port=5666\/tcp\nfirewall-cmd --reload<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">For better security, restrict access to the Nagios server rather than opening the port to all sources.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example, using firewalld rich rules:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">firewall-cmd --permanent --add-rich-rule='rule family=\"ipv4\" source address=\"&lt;NAGIOS_SERVER_IP>\" port protocol=\"tcp\" port=\"5666\" accept'\nfirewall-cmd --reload<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Replace <code>&lt;NAGIOS_SERVER_IP&gt;<\/code> with the monitoring server&#8217;s IP address.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Part 3: Configure the Nagios Monitoring Server<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Install NRPE Plugin<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">On the Nagios monitoring server, download and install the NRPE plugin if it is not already available.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The important component for remote checks is:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">check_nrpe<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Verify that it exists:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ls -l \/usr\/local\/nagios\/libexec\/check_nrpe<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: Test the Remote Host<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">From the Nagios server, test communication with the remote server:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/usr\/local\/nagios\/libexec\/check_nrpe -H &lt;REMOTE_SERVER_IP><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A successful response should display the NRPE version.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can also test individual checks:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/usr\/local\/nagios\/libexec\/check_nrpe -H &lt;REMOTE_SERVER_IP> -c check_load<\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">Step 3: Add the Remote Host to Nagios<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Create a configuration file for the remote server:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">vi \/usr\/local\/nagios\/etc\/servers\/example_01.cfg<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Add the host configuration:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">define host {\n    use                     linux-server\n    host_name               example_01\n    alias                   example_01\n    address                 XXX.XXX.XXX.XXX\n    max_check_attempts      5\n    check_period            24x7\n    notification_interval   30\n    notification_period     24x7\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Replace the IP address with the actual remote server IP.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Step 4: Configure Services<\/h1>\n\n\n\n<h3 class=\"wp-block-heading\">Ping<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">define service {\n    use                     generic-service\n    host_name               example_01\n    service_description     PING\n    check_command           check_ping!100.0,20%!500.0,60%\n}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">SSH<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">define service {\n    use                     generic-service\n    host_name               example_01\n    service_description     SSH\n    check_command           check_ssh\n}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">HTTP<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">define service {\n    use                     generic-service\n    host_name               example_01\n    service_description     HTTP\n    check_command           check_tcp!80\n}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Load<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">define service {\n    use                     generic-service\n    host_name               example_01\n    service_description     Load\n    check_command           check_nrpe!check_load\n}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Disk Usage<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">define service {\n    use                     generic-service\n    host_name               example_01\n    service_description     Disk\n    check_command           check_nrpe!check_disk\n}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Processes<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">define service {\n    use                     generic-service\n    host_name               example_01\n    service_description     Processes\n    check_command           check_nrpe!check_procs\n}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Uptime<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">define service {\n    use                     generic-service\n    host_name               example_01\n    service_description     Uptime\n    check_command           check_nrpe!check_uptime\n}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Memory<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">define service {\n    use                     generic-service\n    host_name               example_01\n    service_description     Memory\n    check_command           check_nrpe!check_mem\n}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">uWSGI<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If <code>check_uwsgi<\/code> is configured on the remote server:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">define service {\n    use                     generic-service\n    host_name               example_01\n    service_description     uWSGI\n    check_command           check_nrpe!check_uwsgi\n}<\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">Step 5: Validate Nagios Configuration<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Before restarting Nagios, validate the configuration:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/usr\/local\/nagios\/bin\/nagios -v \/usr\/local\/nagios\/etc\/nagios.cfg<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Make sure the output reports:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Total Errors:   0\nTotal Warnings: 0<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Correct any configuration errors before restarting Nagios.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 6: Restart Nagios<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Restart the Nagios service:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">systemctl restart nagios<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Check the service:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">systemctl status nagios<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The newly configured remote server should now appear in the Nagios monitoring interface.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Monitoring Flow<\/h2>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Remote Linux Server\n        |\n        | NRPE : 5666\n        |\n        v\nNagios Monitoring Server\n        |\n        v\nNagios Plugins\n        |\n        v\nMonitoring Dashboard\n        |\n        v\nAlerts \/ Notifications<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nagios with NRPE allows administrators to monitor important resources and services on remote Linux servers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once NRPE is configured, the Nagios server can monitor:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Server availability<\/li>\n\n\n\n<li>CPU load<\/li>\n\n\n\n<li>Disk usage<\/li>\n\n\n\n<li>Memory<\/li>\n\n\n\n<li>Processes<\/li>\n\n\n\n<li>Uptime<\/li>\n\n\n\n<li>SSH<\/li>\n\n\n\n<li>Web services<\/li>\n\n\n\n<li>Application services<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Restricting NRPE access to the Nagios monitoring server and validating the configuration before restarting services are important steps for a secure and reliable monitoring setup.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">FAQs<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">1. What is NRPE?<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">NRPE stands for <strong>Nagios Remote Plugin Executor<\/strong>. It allows Nagios to execute monitoring plugins on remote Linux servers.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">2. Which port does NRPE use?<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">NRPE commonly uses TCP port:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">5666<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">3. How can I test NRPE connectivity?<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">From the Nagios server:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/usr\/local\/nagios\/libexec\/check_nrpe -H &lt;REMOTE_SERVER_IP><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Related Articles<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Install &amp; Configure Nagios Server<\/strong> \u2014 <a href=\"https:\/\/pheonixsolutions.com\/blog\/install-configure-nagios-server\/?utm_source=chatgpt.com\" target=\"_blank\" rel=\"noreferrer noopener\">Read the article<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Talk to Our Experts<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Need help with server monitoring, Nagios, cloud, or DevOps? Our experts can help you build and manage reliable infrastructure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Get in touch with us:<\/strong> <a href=\"https:\/\/pheonixsolutions.com\/contact\">Contact our team<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Post Date: October 09, 2018Last Updated: September 28, 2026 Introduction Nagios can monitor remote Linux servers and provide alerts when [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1024,1019],"tags":[433,432],"class_list":["post-2634","post","type-post","status-publish","format-standard","hentry","category-security","category-cloud-aws","tag-nagios-monitoring","tag-server-monitoring","psol-cat-security"],"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/phn2x7-Gu","jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/2634","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/comments?post=2634"}],"version-history":[{"count":2,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/2634\/revisions"}],"predecessor-version":[{"id":11953,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/2634\/revisions\/11953"}],"wp:attachment":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/media?parent=2634"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/categories?post=2634"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/tags?post=2634"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}