RX packets overrun-f5-all

RX packets overrun-f5-all
0

RX packets overrun-f5-all

Vendor: f5

OS: all

Description:
Indeni tracks the number of packets that had issues and alerts if the ratio is too high.

Remediation Steps:
Packet overruns usually occur when there are too many packets being inserted into the port’s memory buffer, faster than the rate at which the kernel is able to process them.

How does this work?
The amount of receive overruns for the interface is retrieved by running “ifconfig -a”.

Why is this important?
If the capacity of the interface is exceeded, the frame that is currently being received is dropped and the overrun counter is incremented. It is important to track this in order to know if the capacity of an interface is sufficient.

Without Indeni how would you find this?
An administrator could log into the device through SSH and execute the command “ifconfig -a” to see the statistics of each VLAN interface.

f5-ifconfig

name: f5-ifconfig
description: Get vlan interface statistics and connected networks table
type: monitoring
monitoring_interval: 1 minute
requires:
    vendor: f5
    product: load-balancer
    linux-based: 'true'
    shell: bash
comments:
    network-interface-rx-packets:
        why: |
            Tracking the number of packets flowing through each network interface is important to identify potential issues, spikes in traffic, etc.
        how: |
            This alert logs into the F5 unit through the F5 iControl REST API and retrieves the metrics from all network interfaces. In that output, it looks for the number of packets received through the interface.
        without-indeni: |
            An administrator could log into the device through SSH and execute the command "ifconfig -a" to see the statistics of each VLAN interface.
        can-with-snmp: true
        can-with-syslog: false
    network-interface-rx-dropped:
        why: |
            If incoming packets are being dropped on a network interface, it is important to be aware of it. This may be due to a high load on the unit, or another capacity issue.
        how: |
            This alert logs into the F5 unit through the F5 iControl REST API and retrieves the metrics from all network interfaces. In that output, it looks for the number of packets dropped on an interface.
        without-indeni: |
            An administrator could log into the device through SSH and execute the command "ifconfig -a" to see the statistics of each VLAN interface.
    network-interface-tx-dropped:
        why: |
            If outgoing packets are being dropped on a VLAN interface, it is important to be aware of it. This may be due to a high load on the unit, or another capacity issue. It is also common on an F5 to get a large amount of drops if the VLAN tag configuration on a trunk does not match the peer device.
        how: |
            This script logs into the F5 unit through SSH and retrieves the status of all VLAN interfaces. In that output, it looks for the number of packets dropped on an interface.
        without-indeni: |
            An administrator could log into the device through SSH and execute the command "ifconfig -a" to see the statistics of each VLAN interface.
        can-with-snmp: true
        can-with-syslog: false
    network-interface-rx-bytes:
        why: |
            Tracking the amount of data flowing through each VLAN interface is important to identify potential issues, spikes in traffic, etc.
        how: |
            An administrator could log into the device through SSH, entering TMSH and executing the command "show net vlan interfaces all-properties" to see the statistics of each VLAN interface.
        without-indeni: |
            An administrator could log into the device through SSH and execute the command "ifconfig -a" to see the statistics of each VLAN interface.
        can-with-snmp: true
        can-with-syslog: false
    network-interface-tx-bytes:
        why: |
            Tracking the amount of data flowing through each VLAN interface is important to identify potential issues, spikes in traffic, etc.
        how: |
            This alert logs into the F5 unit through SSH and retrieves the status of all VLAN interfaces. In that output, it looks for the number of bytes transmitted through the interface.
        without-indeni: |
            An administrator could log into the device through SSH and execute the command "ifconfig -a" to see the statistics of each VLAN interface.
        can-with-snmp: true
        can-with-syslog: false
    network-interface-mac:
        why: |
            To be able to search for MAC addresses in indeni, this data needs to be stored.
        how: |
            The state of the interface is retrieved by logging into the device through SSH and running "ifconfig -a".
        without-indeni: |
            An administrator could log into the device through SSH and execute the command "ifconfig -a" to see the mac address of each VLAN interface.
        can-with-snmp: true
        can-with-syslog: false
    network-interface-state:
        why: |
            Interfaces in the "down" state could result in downtime or reduced redundancy.
        how: |
            The state of the interface is retrieved by logging into the device through SSH and running "ifconfig -a".
        without-indeni: |
            An administrator could log into the device through SSH and execute the command "ifconfig -a" to see the state of each VLAN interface.
        can-with-snmp: true
        can-with-syslog: false
    network-interface-mtu:
        why: |
            The MTU sometimes needs to be adjusted. Storing this gives an administrator an easy way to view the MTU from a large number of devices, as well as identifying incorrectly set MTU.
        how: |
            The state of the interface is retrieved by logging into the device through SSH and running "ifconfig -a".
        without-indeni: |
            An administrator could log into the device through SSH and execute the command "ifconfig -a" to see the MTU of each VLAN interface.
        can-with-snmp: true
        can-with-syslog: false
    network-interface-ipv4-address:
        why: |
            To be able to search for IP addresses in indeni, this data needs to be stored.
        how: |
            The state of the interface is retrieved by logging into the device through SSH and running "ifconfig -a".
        without-indeni: |
            An administrator could log into the device through SSH and execute the command "ifconfig -a" to see the IP address of each VLAN interface.
        can-with-snmp: true
        can-with-syslog: false
    network-interface-ipv4-subnet:
        why: |
            To be able to search for IP addresses in indeni, this data needs to be stored.
        how: |
            The subnet of the interface is retrieved by running "ifconfig -a".
        without-indeni: |
            An administrator could log into the device through SSH and execute the command "ifconfig -a" to see the subnet of each VLAN interface.
        can-with-snmp: true
        can-with-syslog: false
    network-interface-rx-overruns:
        why: |
            If the capacity of the interface is exceeded, the frame that is currently being  received is dropped and the overrun counter is incremented. It is important to track this in order to know if the capacity of an interface is sufficient.
        how: |
            The amount of receive overruns for the interface is retrieved by running "ifconfig -a".
        without-indeni: |
            An administrator could log into the device through SSH and execute the command "ifconfig -a" to see the statistics of each VLAN interface.
        can-with-snmp: true
        can-with-syslog: false
    network-interface-rx-frame:
        why: |
            A high frame number means a lot of packages did not end on a 32bit/4 byte boundary.
        how: |
            The frame counter for the interface is retrieved by running "ifconfig -a".
        without-indeni: |
            An administrator could log into the device through SSH and execute the command "ifconfig -a" to see the statistics of each VLAN interface.
        can-with-snmp: true
        can-with-syslog: false
    network-interface-tx-packets:
        why: |
            Tracking the number of packets flowing through each VLAN interface is important to identify potential issues, spikes in traffic, etc.
        how: |
            This alert logs into the F5 unit through SSH and retrieves the status of all VLAN interfaces. In that output, it looks for the number of packets transmitted through the interface.
        without-indeni: |
            An administrator could log into the device through SSH and execute the command "ifconfig -a" to see the statistics of each VLAN interface.
        can-with-snmp: true
        can-with-syslog: false
    network-interface-tx-errors:
        why: |
            Transmit errors on an interface could indicate a problem with a cable or one of the involved interfaces.
        how: |
            The amount of transmit errors for the interface is retrieved by running "ifconfig -a".
        without-indeni: |
            An administrator could log into the device through SSH and execute the command "ifconfig -a" to see the statistics of each VLAN interface.
        can-with-snmp: true
        can-with-syslog: false
    network-interface-tx-overruns:
        why: |
            If the capacity of the interface is exceeded, the frame that is currently being  received is dropped and the overrun counter is incremented. It is important to track this in order to know if the capacity of an interface is sufficient.
        how: |
            The amount of transmit overruns for the interface is retrieved by running "ifconfig -a".
        without-indeni: |
            An administrator could log into the device through SSH and execute the command "ifconfig -a" to see the statistics of each VLAN interface.
        can-with-snmp: true
        can-with-syslog: false
    network-interface-tx-carrier:
        why: |
            A high carrier number could mean that the link is flapping.
        how: |
            The carrier counter for the interface is retrieved by running "ifconfig -a".
        without-indeni: |
            An administrator could log into the device through SSH and execute the command "ifconfig -a" to see the statistics of each VLAN interface.
        can-with-snmp: true
        can-with-syslog: false
    network-interface-rx-errors:
        why: |
            Receive errors on an interface could indicate a problem with a cable, or one of the involved interfaces.
        how: |
            The amount of receive errors for the interface is retrieved by running "ifconfig -a".
        without-indeni: |
            An administrator could log into the device through SSH and execute the command "ifconfig -a" to see the statistics of each VLAN interface.
        can-with-snmp: true
        can-with-syslog: false
    network-interface-admin-state:
        why: |
            If a network interface is set to be up (what's known as "admin up") but is actually down (a cable is not connected, the device on the other side is down, etc.) it is important to know.
        how: |
            This alert logs into the F5 device through SSH and retrieves the status of all network interfaces. In that output, it looks for interfaces that are set to be up, but are actually down.
        without-indeni: |
            An administrator could verify that interface admin state by logging into the device through SSH, and issuing the command "ifconfig -a".
        can-with-snmp: true
        can-with-syslog: true
steps:
-   run:
        type: SSH
        command: ifconfig -a
    parse:
        type: AWK
        file: ifconfig.parser.1.awk

f5-rest-net-interface-stats

name: f5-rest-net-interface-stats
description: Determine network interface metrics
type: monitoring
monitoring_interval: 1 minute
requires:
    vendor: f5
    product: load-balancer
    rest-api: 'true'
comments:
    network-interface-state:
        why: |
            Interfaces in the "down" state could result in downtime or reduced redundancy.
        how: |
            The state of the interface is retrieved via the F5 iControl REST API.
        without-indeni: |
            An administrator could login to the web interface of the device and go to Network -> Interfaces to see the status of each interface. This information is also available by logging into the device through SSH, entering TMSH and executing the command "show net interface all-properties".
        can-with-snmp: true
        can-with-syslog: false
    network-interface-admin-state:
        why: |
            An administrator might set a network interface to be disabled for troubleshooting, but. Should he he forget about doing this network trunks might be running at reduced capacity.
        how: |
            This alert uses the F5 iControl REST API to retrieve the status of all physical network interfaces. In that output, it looks for interfaces that are set to be up, but are actually down.
        without-indeni: |
            An administrator could login to the web interface of the device and go to Network -> Interfaces to see the admin status of each interface. This information is also available by logging into the device through SSH, entering TMSH and executing the command "show net interface all-properties".
        can-with-snmp: true
        can-with-syslog: false
    network-interface-mac:
        why: |
            To be able to search for MAC addresses in indeni, this data needs to be stored.
        how: |
            This alert uses the F5 iControl REST API to retrieve the MAC addresses of all physical network interfaces.
        without-indeni: |
            An administrator could login to the web interface of the device and go to Network -> Interfaces to see the mac address of each interface. This information is also available by logging into the device through SSH, entering TMSH and executing the command "show net interface all-properties".
        can-with-snmp: true
        can-with-syslog: false
    network-interface-mtu:
        why: |
            The MTU sometimes needs to be adjusted. Storing this gives an administrator an easy way to view the MTU from a large number of devices, as well as identifying incorrectly set MTU.
        how: |
            This alert uses the F5 iControl REST API to retrieve the MTU from all physical interfaces.
        without-indeni: |
            An administrator could log into the device through SSH, entering TMSH and executing the command "show net interface all-properties" to see the MTU for each interface.
        can-with-snmp: true
        can-with-syslog: false
    network-interface-rx-packets:
        why: |
            Tracking the number of packets flowing through each network interface is important to identify potential issues, spikes in traffic, etc.
        how: |
            This alert logs into the F5 unit through the F5 iControl REST API and retrieves the metrics from all network interfaces. In that output, it looks for the number of packets received through the interface.
        without-indeni: |
            An administrator could login to the web interface of the device and go to Network -> Interfaces -> Statistics to see the statistics of each interface. This information is also available by logging into the device through SSH, entering TMSH and executing the command "show net interface all-properties".
        can-with-snmp: true
        can-with-syslog: false
    network-interface-tx-packets:
        why: |
            Tracking the number of packets flowing through each VLAN interface is important to identify potential issues, spikes in traffic, etc.
        how: |
            This alert logs into the F5 unit through the F5 iControl REST API and retrieves the metrics from all network interfaces. In that output, it looks for the number of packets transmitted through the interface.
        without-indeni: |
            An administrator could login to the web interface of the device and go to Network -> Interfaces -> Statistics to see the statistics of each interface. This information is also available by logging into the device through SSH, entering TMSH and executing the command "show net interface all-properties".
        can-with-snmp: true
        can-with-syslog: false
    network-interface-rx-dropped:
        why: |
            If incoming packets are being dropped on a network interface, it is important to be aware of it. This may be due to a high load on the unit, or another capacity issue.
        how: |
            This alert logs into the F5 unit through the F5 iControl REST API and retrieves the metrics from all network interfaces. In that output, it looks for the number of packets dropped on an interface.
        without-indeni: |
            An administrator could login to the web interface of the device and go to Network -> Interfaces -> Statistics to see the statistics of each interface. This information is also available by logging into the device through SSH, entering TMSH and executing the command "show net interface all-properties".
        can-with-snmp: true
        can-with-syslog: true
    network-interface-tx-dropped:
        why: |
            If outgoing packets are being dropped on a network interface, it is important to be aware of it. This may be due to a high load on the unit, or another capacity issue.
        how: |
            This alert logs into the F5 unit through the F5 iControl REST API and retrieves the metrics from all network interfaces. In that output, it looks for the number of packets dropped on an interface.
        without-indeni: |
            An administrator could login to the web interface of the device and go to Network -> Interfaces -> Statistics to see the statistics of each interface. This information is also available by logging into the device through SSH, entering TMSH and executing the command "show net interface all-properties".
        can-with-snmp: true
        can-with-syslog: false
    network-interface-rx-bytes:
        why: |
            Tracking the amount of data flowing through each network interface is important to identify potential issues, spikes in traffic, etc.
        how: |
            This alert logs into the F5 unit through the F5 iControl REST API and retrieves the metrics from all network interfaces. In that output, it looks for the number of bytes received through the interface.
        without-indeni: |
            An administrator could login to the web interface of the device and go to Network -> Interfaces -> Statistics to see the statistics of each interface. This information is also available by logging into the device through SSH, entering TMSH and executing the command "show net interface all-properties".
        can-with-snmp: true
        can-with-syslog: false
    network-interface-tx-bytes:
        why: |
            Tracking the amount of data flowing through each network interface is important to identify potential issues, spikes in traffic, etc.
        how: |
            This alert logs into the F5 unit through the F5 iControl REST API and retrieves the metrics from all network interfaces. In that output, it looks for the number of bytes transmitted through the interface.
        without-indeni: |
            An administrator could login to the web interface of the device and go to Network -> Interfaces -> Statistics to see the statistics of each interface. This information is also available by logging into the device through SSH, entering TMSH and executing the command "show net interface all-properties".
        can-with-snmp: true
        can-with-syslog: false
    network-interface-tx-errors:
        why: |
            Transmit errors on an interface could indicate a problem.
        how: |
            This alert logs into the F5 unit through the F5 iControl REST API and retrieves the metrics from all network interfaces. In that output, it looks for the number of transmit errors on each interface.
        without-indeni: |
            An administrator could login to the web interface of the device and go to Network -> Interfaces -> Statistics to see the statistics of each interface. This information is also available by logging into the device through SSH, entering TMSH and executing the command "show net interface all-properties".
        can-with-snmp: true
        can-with-syslog: false
    network-interface-rx-errors:
        why: |
            Receive errors on an interface could indicate a problem.
        how: |
            This alert logs into the F5 unit through the F5 iControl REST API and retrieves the metrics from all network interfaces. In that output, it looks for the number of receive errors on each interface.
        without-indeni: |
            An administrator could login to the web interface of the device and go to Network -> Interfaces -> Statistics to see the statistics of each interface. This information is also available by logging into the device through SSH, entering TMSH and executing the command "show net interface all-properties".
        can-with-snmp: true
        can-with-syslog: false
    network-interface-speed:
        why: |
            Generally, these days network interfaces are set at 1Gbps or more. Sometimes, due to a configuration or device issue, an interface can be set below that (to 100mbps or even 10mbps). As that is usually _not_ the intended behavior, it is important to track the speed of all network interfaces.
        how: |
            This alert logs into the F5 unit through the iControl REST API and retrieves the status of all network interfaces. In that output, it looks for the actual runtime speed of each interface.
        without-indeni: |
            An administrator could login to the web interface of the device and go to Network -> Interfaces to see the speed of each interface by looking at the column "Media Speed". This information is also available by logging into the device through SSH, entering TMSH and executing the command "show net interface all-properties" and looking at the column "Media". The numbers are the value of the speed in "MegaBits". Example: 1000T-FD means "1000 Mbit".
        can-with-snmp: true
        can-with-syslog: false
    network-interface-duplex:
        why: |
            Generally, these days network interfaces are set at full duplex. Sometimes, due to a configuration or device issue, an interface can be set to half duplex. As that is usually _not_ the intended behavior, it is important to track the duplex setting of all network interfaces.
        how: |
            This alert logs into the F5 unit through the iControl REST API and retrieves the status of all network interfaces. In that output, it looks for the actual runtime duplex of each interface.
        without-indeni: |
            An administrator could login to the web interface of the device and go to Network -> Interfaces and click on each interface in the list to see the duplex of each interface. This information is also available by logging into the device through SSH, entering TMSH and executing the command "show net interface all-properties" and looking at the column "Media". A value of "FD" means "Full Duplex", while a value of "HD" means "Half Duplex". Example: 1000T-FD means "Speed: 1000 Mbit, Duplex: Full, Media Type: Copper Twister Pair".
        can-with-snmp: true
        can-with-syslog: false
    network-interface-type:
        why: |
            The type of interface can be useful for administrators.
        how: |
            This alert logs into the F5 unit through the iControl REST API and retrieves the status of all network interfaces. In that output, it looks for the actual runtime duplex of each interface.
        without-indeni: |
            An administrator could login to the web interface of the device and go to Network -> Interfaces and click on each interface in the list to see the media type of each interface. This information is also available by logging into the device through SSH, entering TMSH and executing the command "show net interface all-properties" and looking at the column "Media". Example: "1000T-FD" means "Speed: 1000 Mbit, Duplex: Full, Media Type: Copper Twister Pair".
        can-with-snmp: true
        can-with-syslog: false
steps:
-   run:
        type: HTTP
        command: /mgmt/tm/net/interface/stats?options=all-properties&$select=tmName,status,macAddress,mtu,counters.bitsIn,counters.bitsOut,counters.pktsIn,counters.pktsOut,counters.dropsIn,counters.dropsOut,counters.errorsIn,counters.errorsOut,mediaActive
    parse:
        type: JSON
        file: rest-mgmt-tm-net-interface.parser.1.json.yaml

cross_vendor_rx_overrun

// Deprecation warning : Scala template-based rules are deprecated. Please use YAML format rules instead.

package com.indeni.server.rules.library.templatebased.crossvendor

import com.indeni.server.rules.RuleContext
import com.indeni.server.rules.library.templates.NearingCapacityWithItemsTemplateRule
import com.indeni.server.rules.RemediationStepCondition

/**
  *
  */
case class CrossVendorRxOverrun() extends NearingCapacityWithItemsTemplateRule(
  ruleName = "cross_vendor_rx_overrun",
  ruleFriendlyName = "All Devices: RX packets overrun",
  ruleDescription = "Indeni tracks the number of packets that had issues and alerts if the ratio is too high.",
  usageMetricName = "network-interface-rx-overruns",
  limitMetricName = "network-interface-rx-packets",
  applicableMetricTag = "name",
  threshold = 0.5,
  minimumValueToAlert = 100.0, // We don't want to alert if the number of error packets is really low
  alertDescription = "Some network interfaces and ports are experiencing a high overrun rate. Review the ports below.",
  alertItemDescriptionFormat = "%.0f packets overrun out of a total of %.0f received.",
  baseRemediationText = "Packet overruns usually occur when there are too many packets being inserted into the port's memory buffer, faster than the rate at which the kernel is able to process them.",
  alertItemsHeader = "Affected Ports")(
  RemediationStepCondition.VENDOR_CISCO ->
    """|
       |In a small number of cases, the overrun counter may be incremented because of a software defect. However, in the majority of cases, it indicates that the receiving capability of the interface was exceeded. Nothing can be done on the device that reports overruns. If possible, the rate that frames are coming should be controlled at the remote end of the connection.
       |1. Run the "show interface" command to review the interface overrun & underun counters and the bitrate. Consider to configure the "load-interval 30" interface sub command to improve the accuracy of the interface measurements.
       |2. If the number of overruns is high, the hardware should be upgraded.
       |
       |In case of high bandwidth utilization:
       |1. Run the "show interface" command to review the interface counters and the bitrate. Consider to configure the "load-interval 30" interface sub command to improve the accuracy of the interface measurements.
       |2. If the interface bitrate is too high and close to the upper bandwidth limit consider to use multiple links with the port-channel technology or upgrade the bandwidth of the link.
       |3. Consider to implement QoS in case of high bandwidth utilization.""".stripMargin,
  RemediationStepCondition.VENDOR_JUNIPER ->
    """|The issue can not be resolved on the device that reports overruns. The rate that frames are coming should be controlled at the remote end of the connection.
       |1. Run the “show interface extensive” command to review the interface overrun counters. 

       |2. If the number of overruns is high, consider upgrading the hardware.
       |3. Review the following article on Juniper tech support site: <a target="_blank" href="https://www.juniper.net/documentation/en_US/junos/topics/reference/command-summary/show-interfaces-security.html#jd0e1772">Operational Commands</a>""".stripMargin,
  RemediationStepCondition.VENDOR_FORTINET ->
    """
       |1. Run "diag hardware deviceinfo nic <interface>" command to display a list of hardware related error names and values. Review  the next link for more details: http://help.fortinet.com/fos50hlp/54/Content/FortiOS/fortigate-toubleshooting-54/troubleshooting_tools.htm
       |2. Run command "fnsysctl cat /proc/net/dev" to get a summary of the interface statistics.
       |3. Check for speed and duplex mismatch in the interface settings on both sides of a cable, and check for a damaged cable. Review the next link for more info: http://kb.fortinet.com/kb/documentLink.do?externalID=10653""".stripMargin
)