Header RSS Feed
 
» Nagios Plugins

Monitoring Plugin: check_infoblox

Last Update: November 04, 2015

This is a plugin to monitor Infoblox appliances. It uses SNMP to retrieve the information from the appliance's management ip address. The plugin can also be used to measure and graph DNS resolving of domains.

Jump to...
Download
Version History
Requirements
Definition of parameters
Definition of check types
Command definition
Nagios and Icinga 1 service definition examples
Icinga 2 service definition examples
Screenshots

------------------------

Download
Download check_infoblox check_infoblox.sh
Download plugin and save it in your Nagios plugin folder (e.g. /usr/local/nagios/libexec)
Contribute on https://github.com/Napsty/check_infoblox
1493 downloads so far...

------------------------

Version History
20151016 Started Script programming. Check: cpu, mem
20151020 Added check: replication, grid, info, ip, dnsstat, temp
20151021 (Back to the Future Day!) Public release
20151030 Added check dhcpstat (by Chris Lewis)
20151104 Bugfix in perfdata of dnsstat check

------------------------

Requirements
- snmpwalk command (SUSE: net-snmp package, Debian/Ubuntu: snmp package)
- Other bash relevant commands as sed, awk, grep (plugin checks for its existance)
- Enable SNMPv1/SNMPv2 on the appliance(s) in the Grid Properties:

------------------------

Definition of parameters

Parameter Description
-H Hostname or ip address of the Infoblox system to monitor.
-V SNMP version to use. Currently only SNMPv2 is supported. Therefore use '-V 2c'.
-C SNMP community name
-t Which type of check should be executed. See list of check types below.
-a* Additional arguments in combination for certain check types.
-w* Warning threshold.
-c* Critical threshold.
-i* Ignore Unknown Status (for 'replication' and 'dnsstat' checks).
-h* Display help information.

*optional

------------------------

Definition of check types

Check Type Description
cpu Check CPU utilization (thresholds possible)
mem Check Memory utilization (thresholds possible)
replication Check if replication between Infoblox appliances is working
grid Check if appliance is Active or Passive in grid (additional argument possible to detect failover)
info Display general information about this appliance
ip Display configured ip addresses of this appliance (additional argument possible to check for a certain address)
dnsstat Display DNS statistics for domain (use in combination with -a domain)
dhcpstat Display DHCP statistics

------------------------

Command definition in Nagios and Icinga 1

# 'check_infoblox' command definition
define command{
command_name check_infoblox
command_line $USER1$/check_infoblox.sh -H $HOSTADDRESS$ -V 2c -C $ARG1$ -t $ARG2$ $ARG3$
}

Command definition in Icinga 2

object CheckCommand "check_infoblox" {
import "plugin-check-command"
command = [ PluginDir + "/check_infoblox.sh" ]

arguments = {
"-H" = "$infoblox_address$"
"-V" = "$infoblox_snmpversion$"
"-C" = "$infoblox_snmpcommunity$"
"-t" = "$infoblox_checktype$"
"-a" = "$infoblox_argument$"
"-w" = "$infoblox_warning$"
"-c" = "$infoblox_critical$"
"-i" = { set_if = "$infoblox_ignoreunknown$" }
}

vars.infoblox_address = "$address$"
vars.infoblox_snmpversion = "2c"
}

------------------------

Nagios and Icinga 1 service check examples

# Check Infoblox CPU Usage
define service{
  use generic-service
  host_name infoblox1
  service_description CPU Usage
  check_command check_infoblox!monitoring!cpu!-w 50 -c 80
}

If no thresholds are set, the plugin simply outputs the current usage

-------

# Check Infoblox Replication
define service{
  use generic-service
  host_name infoblox1
  service_description Replication Status
  check_command check_infoblox!monitoring!replication!-i
}

This type checks the current status of replication between Infoblox appliances (if Primary and Secondary are configured). Does not make sense on a standalone Infoblox appliance. If the checked appliance is a Passive grid member, the replication cannot be checked and the check returns an UNKNOWN state. When the parameter -i is added, the UNKNOWN state will be ignored and the check will return an OK state.

-------

# Check Infoblox Grid
define service{
  use generic-service
  host_name infoblox1
  service_description Grid Status
  check_command check_infoblox!monitoring!grid!-a Active
}

If you have several Infoblox appliances put together in a grid (= acting as one Infoblox but highly available), you can check the current member status of the selected appliance. The '-a' parameter can be used to expect a specific status (either Active or Passive). This allows to be alerted when a failover happens.

-------

# Check Infoblox DNS Stats example.com
define service{
  use generic-service
  host_name infoblox1
  service_description DNS Stats example.com
  check_command check_infoblox!monitoring!dnsstat!-a example.com
}

If you use your Infoblox as a public nameserver, you might want to measure how often your top domains are being resolved. The dnsstat check type allows to get the resolve statistics for a domain. Use the '-a' parameter to define the domain.

------------------------

Icinga 2 service check examples

# Check Infoblox CPU Usage
object Service "CPU Usage" {
  import "generic-service"
  host_name = "infoblox1"
  check_command = "check_infoblox"
  vars.infoblox_snmpcommunity = "monitoring"
  vars.infoblox_checktype = "cpu"
  vars.infoblox_warning = "50"
  vars.infoblox_critical = "80"
}

If no thresholds are set, the plugin simply outputs the current usage

-------

# Check Infoblox Replication
object Service "Replication Status" {
  import "generic-service"
  host_name = "infoblox1"
  check_command = "check_infoblox"
  vars.infoblox_snmpcommunity = "monitoring"
  vars.infoblox_checktype = "replication"
  vars.infoblox_ignoreunknown = true
}

This type checks the current status of replication between Infoblox appliances (if Primary and Secondary are configured). Does not make sense on a standalone Infoblox appliance. If the checked appliance is a Passive grid member, the replication cannot be checked and the check returns an UNKNOWN state. When vars.infoblox_ignoreunknown is set to true, the UNKNOWN state will be ignored and the check will return an OK state.

-------

# Check Infoblox Grid
object Service "Grid Status" {
  import "generic-service"
  host_name = "infoblox1"
  check_command = "check_infoblox"
  vars.infoblox_snmpcommunity = "monitoring"
  vars.infoblox_checktype = "grid"
  vars.infoblox_argument = "Active"
}

If you have several Infoblox appliances put together in a grid (= acting as one Infoblox but highly available), you can check the current member status of the selected appliance. The vars.infoblox_argument variable can be used to expect a specific status (either Active or Passive). This allows to be alerted when a failover happens.

-------

# Check Infoblox DNS Stats example.com
object Service "DNS Stats example.com" {
  import "generic-service"
  host_name = "infoblox1"
  check_command = "check_infoblox"
  vars.infoblox_snmpcommunity = "monitoring"
  vars.infoblox_checktype = "dnsstat"
  vars.infoblox_argument = "example.com"
}

If you use your Infoblox as a public nameserver, you might want to measure how often your top domains are being resolved. The dnsstat check type allows to get the resolve statistics for a domain. Use the '-a' parameter to define the domain.

------------------------

Screenshots


Go to Homepage home
Linux Howtos how to's
Monitoring Plugins monitoring plugins
Links links

Valid HTML 4.01 Transitional
Valid CSS!
[Valid RSS]

6979 Days
until Death of Computers
Why?