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
Import Template.Juniper.MX.xml file into Zabbix.
Go to: Template Juniper MX - > Discovery rules -> JunOS BGP4
Set type: SNMPv2 agent
Set key: discovery-JunOS-BGP
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]
Associate Template Juniper MX to the host.
Add to your host the {$SNMP_COMMUNITY} macro with your SNMP community as value.
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.
Go to: Template Juniper MX -> Discovery rules -> JunOS Interfaces -> Filters
Check filter, edit or delete.
Import Template.Juniper.MX.xml file into Zabbix.(For Zabbix 2.X.X import valuemaps.xml first)
Copy script LLD.py to /usr/lib/zabbix/externalscripts
chmod +x LLD.py
Go to: Template Juniper MX - > Discovery rules -> JunOS BGP4
Set type: external check
Set key:
LLD.py["-h", {HOST.CONN}, "-c", "{$SNMP_COMMUNITY}", "-mi", "{#PEERADDR}", "-m", "{#PREFXTBL}", "{#ADDRTYPE}", "{#ASNUM}"]
Associate Template Juniper MX to the host.
Add to your host the {$SNMP_COMMUNITY} macro with your SNMP community as value.
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.
Go to filter rules for interfaces: Template Juniper MX -> Discovery rules -> JunOS Interfaces -> Filters
Check filter, edit or delete.
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
For script LLD.py: python 3, snmpwalk, snmpbulkwalk.
Template exported from Zabbix 3.X.X. For Zabbix 2.X.X correct discovery rules.