The examples of commands we've seen so far have included all the information needed to execute the checks as command-line options, for example, specifying the host address for check_ping
or the HTTP port for check_http
. An alternative way to get the information required to execute checks is via environment variables. While this isn't enabled by default, it's a method of providing a large amount of context information to a plugin that may save some configuration effort. However, it's only suitable for specialized applications of Nagios Core and, because it's resource intensive, it may not scale very well, meaning it could be unsuitable for very busy Nagios Core servers.
In this example, we'll enable environment macros and then write a short wrapper script for check_ping
that reads the address to PING from its executing environment, rather than from a command-line option.