Home » Categories » Products » NRPE » Documentation » Architecture

NRPE - Architecture


The NRPE addon is designed to allow you to execute Nagios plugins on remote Linux/Unix machines.  The main reason for doing this is to allow Nagios to monitor "local" resources (like CPU load, memory usage, etc.) on remote machines.  Since these public resources are not usually exposed to external machines, an agent like NRPE must be installed on the remote Linux/Unix machines.

Note: It is possible to execute Nagios plugins on remote Linux/Unix machines through SSH.  There is a check_by_ssh plugin that allows you to do this.  Using SSH is more secure than the NRPE agent, but it also imposes a larger (CPU) overhead on both the monitoring and remote machines.  This can become an issue when you start monitoring hundreds or thousands of machines.  Many Nagios admins opt for using using the NRPE addon because of the lower load it imposes.


Design Overview


The NRPE addon consists of two pieces:

  • The check_nrpe plugin, which resides on the local monitoring machine
  • The NRPE daemon, which runs on the remote Linux/Unix machine

When Nagios needs to monitor a resource of service from a remote Linux/Unix machine:

  • Nagios will execute the check_nrpe plugin and tell it what service needs to be checked
  • The check_nrpe plugin contacts the NRPE daemon on the remote host over an (optionally) SSL-protected connection
  • The NRPE daemon runs the appropriate Nagios plugin to check the service or resource
  • The results from the service check are passed from the NRPE daemon back to the check_nrpe plugin, which then returns the check results to the Nagios process

Note: The NRPE daemon requires that Nagios plugins be installed on the remote Linux/Unix host.  Without these, the daemon wouldn't be able to monitor anything.


Direct Checks

The most straight forward use of the NRPE addon is to monitor "local" or "private" resources on a remote Linux/Unix Machine.  This includes things like CPU load, memory usage, swap usage, current users, disk usage, process states, etc.




Indirect Checks

You can also use the NRPE addon to indirectly check "public" services and resources of remote servers that might not be reachable directly from the monitoring host.  For instance, if the remote host that the NRPE daemon and plugins are installed on can talk to the a remote web server (but the monitoring host cannot), you can configure the NRPE daemon to allow you to monitor the remote web server indirectly.  The NRPE daemon is essentially acting as proxy in this case.




Final Thoughts

For any support related questions please visit the Nagios Support Forums at:


4.67 (3)
Article Rating (3 Votes)
Rate this article
  • Icon PDFExport to PDF
  • Icon MS-WordExport to MS Word
Attachments Attachments
There are no attachments for this article.
Related Articles RSS Feed
NRPE - Agent and Plugin Explained
Viewed 52852 times since Fri, Jul 14, 2017
NRPE - v3 Enhanced Security
Viewed 90658 times since Thu, Jun 30, 2016
NRPE - Packet Size Explained
Viewed 25426 times since Thu, Jun 30, 2016