title: Cisco Routers: Usage of QoS classes
agents: snmp
catalog: hw/network/cisco
license: GPL
distribution: check_mk
description:
 This check monitors the usage of QoS classes on Cisco routers using the information
 provided by the {CISCO-CLASS-BASED-QOS-MIB} SNMP MIB.

 The check creates one service for each interface+class combination.

 The check results in critical/warning states when the there are any packets dropped
 for this class by default. It is possible to set thresholds on the traffic rate in
 this QoS class to raise warnings/criticals when the traffic exceeds a given level.
 The drop thresholds can be customized too.

item:
 A string: A combination of the interface name as set in IF-MIB::ifDescr and the
 name of the QoS class as given in CISCO-CLASS-BASED-QOS-MIB::cbQosCMName.

inventory:
 For each combination of IF-MIB::ifDescr and CISCO-CLASS-BASED-QOS-MIB::cbQosCMName one
 check is created.

perfdata:
 {post}: The number of outbound bytes after executing the QoS.
 {drop}: The number of dropped bytes.
 {post_avg_?}: The average number of outbound bytes after executing the QoS over a longer range of time
 {drop_avg_?}: The averagebe number of dropped bytes over a longer range of time

[configuration]
cisco_qos_default_values (dict): Dictionary with the values specified in parameters

[parameters]
parameters (dict): This check requires a dictionary with the following keys.

 {"post"} - A pair of two values to be used as WARN/CRIT levels
            Integer numbers are interpreted as absolute levels
            Float numbers are interpreted as percentage of used qos policy bandwidth

 {"drop"} - A pair of two values to be used as WARN/CRIT levels
            Integer/Float numbers are interpreted as dropped bytes per second

 {"average"} - if you set this key to a number, then it is interpreted as
 a time in minutes. The check will then compute the averaged used post and drop bytes
 over approximately that range of time. Note: The algorithm used here is
 the same as Linux uses for the CPU load. This means that more recent values
 are weighted higher than older values and that even values out of the configured
 time range are - to a low degree - represented in the average. If you configure
 an average, then the levels are applied to the averaged values.

 {"unit"} - the measurement unit which can be set to "bit" or "byte".
 Depending on this choice the limits set in the {"post"} parameter are regarded
 as bits or bytes, too. When this parameter is set to "bit" any traffic related plugin output
 is reported in bits instead of bytes(default).



