title: Monitor network interfaces via standard MIB using 64 Bit counters
agents: snmp
catalog: hw/network/generic
license: GPL
distribution: check_mk
description:
 This check does the same as {if} but uses 64 bit counters from
 the {IF-MIB} below {.1.3.6.1.2.1.31.1.1.1}. This allows to correctly
 monitor switch ports with a traffic of more then 2GB per check interval.

 Also this check can use {ifAlias} instead if {ifDescr} for retrieving
 the admin-configured interface description. This is e.g. useful for HP ProCurve
 switches which do not show that aliasses in {ifDescr}.

 {Note}: This check needs SNMP v2c and thus only works if your hosts are
 added to {bulkwalk_hosts}.

 Depending on the check paramters this check can go WARN or CRIT when the
 port status changes (i.e. is down), when the link speed changes (e.g. a
 port expected to be set to 1GBit/s operates only at 100MBit/s), when the
 absolute or procentual traffic of a port exceeds certain levels or if the
 rate of errors or discards exceeds configurable limits.

 As of Check_MK version 1.1.9i1 this check supports averaging the in- and
 outgoing traffic over a configurable range of time by using an exponentially
 weighted moving average - just as Linux does for the CPU load averages.
 The averaging can be configured on a per host and per port base. This is
 done by adding a key {"average"} to the parameter dictionary with the number
 of minutes that the average should cover as its key. Port with averaging
 turned on output two additional performance values: the averaged traffic
 in bytes. If you have configured traffic levels, then those levels are
 applied to the averaged values.

 This check also supports clustering. If you have a cluster of two or more hosts,
 and the check is configured as a clustered service for an interface, the interface
 with the highest output traffic is considered the active interface and only this
 interface is monitored and assigned to the cluster. The check denotes on which
 node the check is running.

item:
 There are three allowed ways to specify a port: {1}: the last component of
 the SNMP OID number (as string), the {ifDescr} of the port or the {ifAlias} of
 the port. If you are using the alias, you have to make sure that it is unique
 by configuring useful aliases in the switch. Check_MK does not check for uniqueness.

inventory:
 The inventory creates one service for each port that fulfills configurable conditions.
 Per default these are ports which are currently found {up} and are of types {6} (ethernetCsmacd),
 {32} (frameRelay), {117} (gigabitEthernet) or several others.

 {Grouping:} In some situations you do not want to monitor a single
 interface but a group of interfaces that together form a pool.
 The {if} check supports such pools by defining groups.
 You can specifiy the members of a group by their port type and the item name(s) of
 the single interfaces. The data of all members is accumulated and put together
 in a single grouped interface service.

 You can specify the groups with the ruleset {if_groups}.
 Groups are defined as list of dictionaries.

 The keys are:

  {"name"}:   String. Name of the group within the service description

  {"iftype"}: Integer. Interface port type as integer

  {"include_items"}: List of Strings. Interface item name. This name depends
  on further settings like if_inventory_uses_alias or if_inventory_uses_description

  {"single"}(optional): Bool. Interfaces in this group do not show up
  as single service if "single" is set to True (Default: False)

  For example: if_groups = ([{"name" : "Group WLAN", "iftype" : 6, "single" : True}], ["lan"], ALL_HOSTS )

