Using another object's directives in a host or service check
In some cases where checks of hosts or services depend on each other, we may need to use information in a definition for check_command
that's dependent on a property of another host or service. In these cases, you may end up with an unnecessary duplication of this information, so if it changes in one place, the check may break if it's not changed in another. These situations can be hard to remember and can cause confusing errors when forgotten; so, ideally, we would want our configuration to be more dynamic so that we only have to change such pieces of information in one place.
For example, to check whether two BGP routing peers are correctly established and that they exchange routes via SNMP, we would need the value of address
of the other one so that for each of them, we know which peer to check. Suppose we have these two hosts configured based on a bgp-router
template; in this case, we would execute the following code:
define...