It's a dropin replacement of nagios with some good extensions/enhancements.
One of the pains to monitor services via SNMP is, that you usually have different SNMP communities per server. The simplest way is to define one service per service+host and there define the snmp community.
But after a your IT environment expands you will get many many service definition, all identical with the exception of the snmp community.
There is a simple way out of this: Use custom object variables
The original documentation can be found here.
The documentation is somewhat short, so here a complete example:
- On the host configuration, define a variable named _SNMP_COMMUNITY and assign it the value for the specified host.
- In the check command, specify the $_HOSTSNMP_COMMUNITY$ as the parameter for your command.
The second trick is used when referring to the defined variable: Icinga/Nagios do prefix the variable name you defined with _HOST / _SERVICE or _CONTACT, depending on the place where the variable was specified.
The last trick is, that the leading _ of your variable definition is removed before the final name is built in the evaluation.
Example of such a command definition
define command {
command_name check_snmp_disk_group
command_line $USER1$/check_snmp_storage.pl -H $HOSTADDRESS$ -C $_HOSTSNMP_COMMUNITY$ -w $ARG1$ -c $ARG2$ -m $ARG3$ -r -T pl -f
register 1
}
The corresponding host definition has then to be similar to this:
define host {
host_name servername
alias serveralias
address ipaddress
_SNMP_COMMUNITY mysnmppassword
register 1
}
host_name servername
alias serveralias
address ipaddress
_SNMP_COMMUNITY mysnmppassword
register 1
}
A great tool to manage your icinga/nagios configuration is NagiosQL.
No comments:
Post a Comment