From ac8cdc1d499592e9021cd4f792b993e3c4c09b95 Mon Sep 17 00:00:00 2001 From: "th.l" <thl-cmk@outlook.com> Date: Thu, 12 May 2022 17:46:40 +0200 Subject: [PATCH] update project --- agent_based/cisco_bgp_peer.py | 68 +++++++++++++++++++++++++--------- cisco_bgp_peer.mkp | Bin 5659 -> 5822 bytes packages/cisco_bgp_peer | 2 +- 3 files changed, 51 insertions(+), 19 deletions(-) diff --git a/agent_based/cisco_bgp_peer.py b/agent_based/cisco_bgp_peer.py index 9f1a4ff..6ff15e1 100644 --- a/agent_based/cisco_bgp_peer.py +++ b/agent_based/cisco_bgp_peer.py @@ -52,6 +52,8 @@ # 2022-04-29: added info if device is admin prefix limit capable (device_admin_limit) # 2022-04-30: code cleanup/streamlining # 2022-05-09: added item to BgpPeer class, this is used in the discovery function +# 2022-05-11: changed bgp_get_peer_entry to get proper parameters instead of Nontransparent list +# added remote_as to BgpPeerItem # import copy @@ -83,6 +85,8 @@ from cmk.base.plugins.agent_based.utils.bgp_peer import ( # cisco_bgp_peer (CISCO-BGP4-MIB:cbgpPeer2Entry) # ########################################################################### + + @dataclass class CiscoPrefixes: address_family: str @@ -133,16 +137,30 @@ def parse_cisco_bgp_peer(string_table: List[StringTable]) -> Dict[str, BgpPeer]: # create dictionary from cbgpPeer2Entry (peer ip address as index) peer_table: Dict[str, BgpPeer] = {} for entry in cbgpPeer2Entry: - remote_address = bgp_get_ip_address_from_oid(entry[0]) - entry[0] = remote_address # replace OID_END with remote address - bgp_peer = bgp_get_peer_entry(entry) + remote_addr, peer_state, admin_state, remote_as, in_updates, out_updates, in_messages, out_messages, \ + fsm_established_transitions, fsm_established_time, in_update_elapsed_time = entry + + remote_addr = bgp_get_ip_address_from_oid(remote_addr) + bgp_peer = bgp_get_peer_entry( + remote_addr=remote_addr, + peer_state=peer_state, + admin_state=admin_state, + remote_as=remote_as, + in_updates=in_updates, + out_updates=out_updates, + in_messages=in_messages, + out_messages=out_messages, + fsm_established_transitions=fsm_established_transitions, + fsm_established_time=fsm_established_time, + in_update_elapsed_time=in_update_elapsed_time + ) if bgp_peer: - prefixes = peer_prefixes.get(remote_address, []) + prefixes = peer_prefixes.get(remote_addr, []) if prefixes: for address_family in prefixes: - item = f'{remote_address} {address_family.address_family}' + item = f'{remote_addr} {address_family.address_family}' temp_bgp_peer = copy.deepcopy(bgp_peer) - peer_table[item] = temp_bgp_peer[remote_address] + peer_table[item] = temp_bgp_peer[remote_addr] peer_table[item].accepted_prefixes = address_family.accepted_prefixes peer_table[item].prefix_admin_limit = address_family.prefix_admin_limit peer_table[item].prefix_clear_threshold = address_family.prefix_clear_threshold @@ -169,6 +187,7 @@ register.snmp_section( OIDEnd(), '3', # cbgpPeer2State '4', # cbgpPeer2AdminStatus + '11', # cbgpPeer2RemoteAs '13', # cbgpPeer2InUpdates '14', # cbgpPeer2OutUpdates '15', # cbgpPeer2InTotalMessages @@ -213,21 +232,33 @@ register.snmp_section( def parse_cisco_bgp_peer_3(string_table: StringByteTable) -> Optional[Dict[str, BgpPeer]]: peer_table = {} for entry in string_table: - if entry[0] == '1': # IPv4 address - remote_address = '.'.join(f'{m}' for m in entry[1]) - entry[1] = remote_address + remote_addr_type, remote_addr, routing_instance, peer_state, admin_state, remote_as, in_updates, out_updates, \ + in_messages, out_messages, fsm_established_transitions, fsm_established_time, in_update_elapsed_time = entry + + if remote_addr_type == '1': # IPv4 address + remote_addr = '.'.join(f'{m}' for m in remote_addr) routing_instance = None - if entry[2] != 'default': - routing_instance = f'vrf {entry[2]}' - # entry[1] += f' {routing_instance}' - entry.pop(2) # remove vrf name - entry.pop(0) # remove remote address type - bgp_peer = bgp_get_peer_entry(entry) + if routing_instance != 'default': + routing_instance = f'vrf {routing_instance}' + + bgp_peer = bgp_get_peer_entry( + remote_addr=remote_addr, + peer_state=peer_state, + admin_state=admin_state, + remote_as=remote_as, + in_updates=in_updates, + out_updates=out_updates, + in_messages=in_messages, + out_messages=out_messages, + fsm_established_transitions=fsm_established_transitions, + fsm_established_time=fsm_established_time, + in_update_elapsed_time=in_update_elapsed_time + ) if bgp_peer: - bgp_peer[remote_address].item['routing_instance'] = routing_instance + bgp_peer[remote_addr].item['routing_instance'] = routing_instance if routing_instance: - item = f'{remote_address} {routing_instance}' - bgp_peer = {item: bgp_peer[remote_address]} + item = f'{remote_addr} {routing_instance}' + bgp_peer = {item: bgp_peer[remote_addr]} peer_table.update(bgp_peer) return peer_table @@ -245,6 +276,7 @@ register.snmp_section( '4', # cbgpPeer3VrfName '5', # cbgpPeer3State '6', # cbgpPeer3AdminStatus + '13', # cbgpPeer3RemoteAs '15', # cbgpPeer3InUpdates '16', # cbgpPeer3OutUpdates '17', # cbgpPeer3InTotalMessages diff --git a/cisco_bgp_peer.mkp b/cisco_bgp_peer.mkp index 8916e2b43f32609f8e5bac57a4c781b9931752ac..cecc66bd5be6fd8c5cd76de7f85ea26e95a20924 100644 GIT binary patch literal 5822 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 Cm|L;{ literal 5659 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 diff --git a/packages/cisco_bgp_peer b/packages/cisco_bgp_peer index a7901ec..233e8a7 100644 --- a/packages/cisco_bgp_peer +++ b/packages/cisco_bgp_peer @@ -26,7 +26,7 @@ 'name': 'cisco_bgp_peer', 'num_files': 3, 'title': 'Cisco BGP Peer', - 'version': '20220509.v.0.7', + 'version': '20220511.v.0.8', 'version.min_required': '2.0.0', 'version.packaged': '2021.09.20', 'version.usable_until': None} \ No newline at end of file -- GitLab