Prototype-X / Zabbix-Template-Juniper-MX-BGP4-ipv4-ipv6

Zabbix Template for Juniper MX discovery BGP4 peers ipv4 and ipv6, RE, interfaces
GNU General Public License v3.0
36 stars 23 forks source link
bgp-peer discovery-bgp4-peers juniper junos mx template template-juniper-mx zabbix zabbix-templates

Zabbix-Template-Juniper-MX-BGP4-ipv4-ipv6

For BGP peers use the BGP4-V2-MIB-JUNIPER(mib-jnx-bgpmib2.txt), unfortunately ipv4 and ipv6 adresses return as hex numbers. Example ipv4 like: C0 A8 01 01, ipv6 like: 20 01 0D B8 11 A3 09 D7 1F 34 8A 2E 07 A0 76 5D. To fix this use script LLD.py for discovery BGP4 peers.

Used template for BGP: ZBX-CISCO-BGP4

Items BGP

Items RE

Items interfaces

Items

Triggers for BGP, interfaces, RE

Graphs

Screen

Installation

Without script, IP shown as hex numbers, only Zabbix 3.X.X

  1. Import Template.Juniper.MX.xml file into Zabbix.

  2. Go to: Template Juniper MX - > Discovery rules -> JunOS BGP4

  3. Set type: SNMPv2 agent

  4. Set key: discovery-JunOS-BGP

  5. Set SNMP OID:

    discovery[{#PEERADDR}, .1.3.6.1.4.1.2636.5.1.1.2.1.1.1.11, {#PREFXTBL}, .1.3.6.1.4.1.2636.5.1.1.2.1.1.1.14, {#ADDRTYPE}, .1.3.6.1.4.1.2636.5.1.1.2.1.1.1.10, {#ASNUM}, .1.3.6.1.4.1.2636.5.1.1.2.1.1.1.13]
  6. Associate Template Juniper MX to the host.

  7. Add to your host the {$SNMP_COMMUNITY} macro with your SNMP community as value.

  8. Add to your host the {$BGP_PEER_AS} macro with your list BGP peer remote AS as value (ex: ASN1|ASN2|ASN3). These ASs have a high severity triggers.

  9. Go to: Template Juniper MX -> Discovery rules -> JunOS Interfaces -> Filters

  10. Check filter, edit or delete.

With script, IP shown as normal, Zabbix 2.X.X and above

  1. Import Template.Juniper.MX.xml file into Zabbix.(For Zabbix 2.X.X import valuemaps.xml first)

  2. Copy script LLD.py to /usr/lib/zabbix/externalscripts

  3. chmod +x LLD.py

  4. Go to: Template Juniper MX - > Discovery rules -> JunOS BGP4

  5. Set type: external check

  6. Set key:

    LLD.py["-h", {HOST.CONN}, "-c", "{$SNMP_COMMUNITY}", "-mi", "{#PEERADDR}", "-m", "{#PREFXTBL}", "{#ADDRTYPE}", "{#ASNUM}"]
  7. Associate Template Juniper MX to the host.

  8. Add to your host the {$SNMP_COMMUNITY} macro with your SNMP community as value.

  9. Add to your host the {$BGP_PEER_AS} macro with your list BGP peer remote AS as value (ex: ASN1|ASN2|ASN3). These ASs have a high severity triggers.

  10. Go to filter rules for interfaces: Template Juniper MX -> Discovery rules -> JunOS Interfaces -> Filters

  11. Check filter, edit or delete.

Script snmp v3 example:

    LLD.py["-h", {HOST.CONN}, "-v3", "-u{$SNMP_USER}", "-l{$SNMP_LEVEL}", "-aSHA", "-A{$SNMP_AUTH}", "-xAES", "-X{$SNMP_PRIV}", "-mi", "{#PEERADDR}", "-m", "{#PREFXTBL}", "{#ADDRTYPE}", "{#ASNUM}"]

SNMP Version 3 options:

-a PROTOCOL     set authentication protocol (MD5|SHA)
-A PASSPHRASE       set authentication protocol pass phrase
-l LEVEL        set security level (noAuthNoPriv|authNoPriv|authPriv)
-n CONTEXT      set context name (e.g. bridge1)
-u USER-NAME        set security name (e.g. bert)
-x PROTOCOL     set privacy protocol (DES|AES)
-X PASSPHRASE       set privacy protocol pass phrase

Requirements

For script LLD.py: python 3, snmpwalk, snmpbulkwalk.

Info

Template exported from Zabbix 3.X.X. For Zabbix 2.X.X correct discovery rules.

Gitter