BGP peer(s) down-radware-alteon-os

error
health-checks
alteon-os
radware
BGP peer(s) down-radware-alteon-os
0

#1

BGP peer(s) down-radware-alteon-os

Vendor: radware

OS: alteon-os

Description:
Indeni will alert one or more BGP peers isn’t communicating well.

Remediation Steps:
Review the cause for the peers being down.

How does this work?
This script runs the cli command: “/info/l3/bgp/summary” and tracks the peer state.

Why is this important?
Tracking connectivity to BGP peers can be critical if the Alteon has been configured for BGP routing

Without Indeni how would you find this?
An administrator would need to log in to the device and run a CLI command. Otherwise, they would have to go through the logs themselves

radware-mgmt-info-l3-bgp-summary

#! META
name: radware-mgmt-info-l3-bgp-summary
description: Query for the BGP peer state.
type: monitoring
monitoring_interval: 1 minute 
requires:
    os.name: "alteon-os"
    vendor: "radware"
    or:
        -
            vsx: "true"
        -
            standalone: "true"

#! COMMENTS
bgp-state:
    why: |
        Tracking connectivity to BGP peers can be critical if the Alteon has been configured for BGP routing
    how: |
        This script runs the cli command: "/info/l3/bgp/summary" and tracks the peer state.
    without-indeni: |
        An administrator would need to log in to the device and run a CLI command. Otherwise, they would have to go through the logs themselves 
    can-with-snmp: false
    can-with-syslog: true
    vendor-provided-management: |
        Can be done only through CLI.

#! REMOTE::SSH
/info/l3/bgp/summary / /

#! PARSER::AWK

#  1: 10.1.1.10       0       32        0        0 never     connect  
#  2: 10.1.1.10       0       32        0        0 up     connect

/[0-9]+\:/ {
    tags["name"] = $2
    if ($7 !~ /[U|u]p/) {
        state = 0.0
    } else {
        state = 1.0
    }
    writeDoubleMetric("bgp-state", tags, "gauge", 60, state)
}

cross_vendor_bgp_peer_down

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

import com.indeni.server.rules.RuleContext
import com.indeni.server.rules.library.{ConditionalRemediationSteps, StateDownTemplateRule}

/**
  *
  */
case class cross_vendor_bgp_peer_down(context: RuleContext) extends StateDownTemplateRule(context,
  ruleName = "cross_vendor_bgp_peer_down",
  ruleFriendlyName = "All Devices: BGP peer(s) down",
  ruleDescription = "Indeni will alert one or more BGP peers isn't communicating well.",
  metricName = "bgp-state",
  applicableMetricTag = "name",
  alertItemsHeader = "Peers Affected",
  alertDescription = "One or more BGP peers are down.",
  baseRemediationText = "Review the cause for the peers being down.")(
  ConditionalRemediationSteps.VENDOR_CP -> "Consider reading Tobias Lachmann's blog on BGP: https://blog.lachmann.org/?p=1771",
  ConditionalRemediationSteps.VENDOR_PANOS -> "Consider starting at https://live.paloaltonetworks.com/t5/Configuration-Articles/BGP-Routes-are-not-Injected-into-the-Routing-Table/ta-p/54938 . You can also log into the device over SSH and run \"less mp-log routed.log\".",
  ConditionalRemediationSteps.OS_NXOS ->
    """|
      |1. Get information for all BGP neighbors by running the "show bgp vrf all sessions" NX-OS command
      |2. Get a summary list of BGP neighbors and statistics by executing the "show ip bgp vrf all summary" NX-OS command
      |3. Get detailed information from a BGP neighbor by running the "show ip bgp neighbors X.X.X.X" NX-OS command
      |4. Check global BGP process information with the "show bgp process" NX-OS command
      |5. Review the logs for relevant findings
      |6. For more information please review  following CISCO BGP troubleshooting flow chart:
      |https://www.cisco.com/c/en/us/support/docs/ip/border-gateway-protocol-bgp/22166-bgp-trouble-main.html#anc6""".stripMargin
)
{
  override val deviceCondition = generateDevicePassiveAndPassiveLinkStateCondition(context.tsDao)
}