From 44a45a85ae7f5de66db7e627cba3cf071e9b64d7 Mon Sep 17 00:00:00 2001 From: "th.l" <thl-cmk@outlook.com> Date: Thu, 12 May 2022 17:46:31 +0200 Subject: [PATCH] update project --- agent_based/bgp_peer.py | 28 ++++++++++++++++++++++++---- agent_based/utils/bgp_peer.py | 25 ++++++++++++++++++------- bgp_peer.mkp | Bin 15331 -> 15539 bytes packages/bgp_peer | 2 +- web/plugins/wato/bgp_peer.py | 5 +++-- 5 files changed, 46 insertions(+), 14 deletions(-) diff --git a/agent_based/bgp_peer.py b/agent_based/bgp_peer.py index 0f10cc6..fa8a2c9 100644 --- a/agent_based/bgp_peer.py +++ b/agent_based/bgp_peer.py @@ -31,6 +31,8 @@ # 2022-04-29: added upper/lower prefix limits from wato # added info if device is admin prefix limit capable (device_admin_limit) # 2022-05-09: made item name configurable (don't use address-family/routing-instance/VRF) +# 2022-05-11: changed bgp_get_peer_entry to get proper parameters instead of Nontransparent list +# added remote_as to BgpPeerItem # # Example Agent Output: @@ -81,7 +83,22 @@ from cmk.base.plugins.agent_based.utils.bgp_peer import ( def parse_bgp_peer(string_table: StringTable) -> Optional[Dict[str, BgpPeer]]: peer_table = {} for entry in string_table: - 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 + + 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: peer_table.update(bgp_peer) return peer_table @@ -90,6 +107,7 @@ def parse_bgp_peer(string_table: StringTable) -> Optional[Dict[str, BgpPeer]]: def discovery_bgp_peer(params, section: Dict[str, BgpPeer]) -> DiscoveryResult: _item_parts = [ 'remote_address', + 'remote_as', 'address_family', 'routing_instance', ] @@ -200,6 +218,7 @@ register.snmp_section( '7', # bgpPeerRemoteAddr '2', # bgpPeerState '3', # bgpPeerAdminStatus + '9', # bgpPeerRemoteAs '10', # bgpPeerInUpdates '11', # bgpPeerOutUpdates '12', # bgpPeerInTotalMessages @@ -218,9 +237,10 @@ register.check_plugin( discovery_function=discovery_bgp_peer, discovery_default_parameters={ 'build_item': [ - # 'remote_address', - # 'address_family', - # 'routing_instance', + # 'remote_address', + 'remote_as', + # 'address_family', + # 'routing_instance', ] }, discovery_ruleset_name='discovery_bgp_peer', diff --git a/agent_based/utils/bgp_peer.py b/agent_based/utils/bgp_peer.py index 0284eb0..5044f8c 100644 --- a/agent_based/utils/bgp_peer.py +++ b/agent_based/utils/bgp_peer.py @@ -13,7 +13,8 @@ # 2022-04-29: added 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 requests import json @@ -25,9 +26,11 @@ from dataclasses import dataclass class BgpPeerItem(TypedDict): remote_address: str + remote_as: str address_family: str routing_instance: str + @dataclass class BgpPeer: peer_state: int @@ -210,12 +213,19 @@ def bgp_get_ip_address_from_oid(oid_end): return ip_address -def bgp_get_peer_entry(peer: List) -> Optional[Dict[str, BgpPeer]]: - try: - remote_addr, peer_state, admin_state, in_updates, out_updates, in_messages, out_messages, \ - fsm_established_transitions, fsm_established_time, in_update_elapsed_time = peer - except ValueError: - return +def bgp_get_peer_entry( + remote_addr: str, + remote_as: str, + peer_state: str, + admin_state: str, + fsm_established_transitions: str, + fsm_established_time: str, + in_updates: Optional[str], + out_updates: Optional[str], + in_messages: Optional[str], + out_messages: Optional[str], + in_update_elapsed_time: Optional[str], +) -> Optional[Dict[str, BgpPeer]]: bgp_peer = BgpPeer( peer_state=int(peer_state), @@ -227,6 +237,7 @@ def bgp_get_peer_entry(peer: List) -> Optional[Dict[str, BgpPeer]]: metric_rate=[], item={ 'remote_address': remote_addr, + 'remote_as': f'AS{remote_as}', 'address_family': '', 'routing_instance': '', }, diff --git a/bgp_peer.mkp b/bgp_peer.mkp index d710de6e528646e7a828bb7a8182917ab739b04a..58bc433251708009dd4eca1bf321978f840f5dfe 100644 GIT binary patch literal 15539 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 Y+LI&%bN^3~Ap4E-NegHJn1KQQ5AMTXdH?_b literal 15331 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 Nz(SNhKvuv&{{zkPC_4ZE diff --git a/packages/bgp_peer b/packages/bgp_peer index fd6a914..dfcc8b9 100644 --- a/packages/bgp_peer +++ b/packages/bgp_peer @@ -20,7 +20,7 @@ 'name': 'bgp_peer', 'num_files': 8, 'title': 'BGP Peer State Check', - 'version': '20220509.v1.8', + 'version': '20220511.v1.8', 'version.min_required': '2.0.0', 'version.packaged': '2021.09.20', 'version.usable_until': None} \ No newline at end of file diff --git a/web/plugins/wato/bgp_peer.py b/web/plugins/wato/bgp_peer.py index 5e37eb5..9f80635 100644 --- a/web/plugins/wato/bgp_peer.py +++ b/web/plugins/wato/bgp_peer.py @@ -15,7 +15,7 @@ # 2022-04-02: added bgp neighbour states # 2022-04-29: added upper/lower prefix limit # 2022-05-09: added discovery rule set -# +# 2022-05-11: added remote_as to build_item from cmk.gui.i18n import _ from cmk.gui.valuespec import ( @@ -206,6 +206,7 @@ rulespec_registry.register( def _valuespec_discovery_bgp_peer(): item_parts = [ # ('remote_address', 'Peer remote address'), + ('remote_as', 'Remote AS'), ('address_family', 'Address family'), ('routing_instance', 'Routing instance/VRF'), @@ -224,7 +225,7 @@ def _valuespec_discovery_bgp_peer(): 'instances/VRFs configured.' ), choices=item_parts, - default_value=[], + default_value=['remote_as'], )), ], ) -- GitLab