Traffic and Status of Network Interfaces Using 32 Bit Counters
|Distribution:||official part of Check_MK|
This check monitors the operational status, link speed, traffic, packet
counts, discards and errors of network interfaces by using the information
provided by the standard SNMP MIB .18.104.22.168.22.214.171.124 (IF-MIB::ifTable).
This MIB is usually supported by all SNMP devices, such as routers, switches,
firewalls and even operating systems such as Windows and Linux.
Depending on the check parameters 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 Checkmk 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.
Please note: if your devices supports SNMP v2c you rather should add
them to bulkwalk_hosts and use the check if64. That is almost identical
to if, but support 64-Bit counters and ifAlias.
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. Checkmk does not check for uniqueness.
One service is created 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) or 117 (gigabitEthernet).
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 )