mirror of
				https://github.com/bashclub/check-unifi-controller.git
				synced 2025-10-30 21:52:26 +01:00 
			
		
		
		
	Ensure upcoming checkmk 2.2.0 compatibility
Unfortunately the rquired changes make it incompatible with versions before 2.2.0.
This commit is contained in:
		| @@ -270,7 +270,6 @@ register.inventory_plugin( | ||||
| def discovery_unifi_device(section): | ||||
|     yield Service(item="Device Status") | ||||
|     yield Service(item="Unifi Device") | ||||
|     yield Service(item="Unifi Device Uptime") | ||||
|     yield Service(item="Active-User") | ||||
|     if  section.type != "uap":  # kein satisfaction bei ap .. radio/ssid haben schon | ||||
|         yield Service(item="Satisfaction") | ||||
| @@ -316,14 +315,7 @@ def check_unifi_device(item,section): | ||||
|             ) | ||||
|         yield Metric("user_sta",_active_user) | ||||
|         yield Metric("guest_sta",_safe_int(section.guest_num_sta)) | ||||
|     if item == "Unifi Device Uptime": | ||||
|         _uptime = int(section.uptime) if section.uptime else -1 | ||||
|         if _uptime > 0: | ||||
|             yield Result( | ||||
|                 state=State.OK, | ||||
|                 summary=render.timespan(_uptime) | ||||
|             ) | ||||
|             yield Metric("unifi_uptime",_uptime) | ||||
|  | ||||
|     if item == "Satisfaction": | ||||
|         yield Result( | ||||
|             state=State.OK, | ||||
| @@ -415,7 +407,7 @@ register.inventory_plugin( | ||||
|  | ||||
| ############ DEVICEPORT ########### | ||||
| @dataclass | ||||
| class unifi_interface(interfaces.Interface): | ||||
| class unifi_interface(interfaces.InterfaceWithCounters): | ||||
|     jumbo           : bool = False | ||||
|     satisfaction    : int = 0 | ||||
|     poe_enable      : bool = False | ||||
| @@ -430,8 +422,6 @@ class unifi_interface(interfaces.Interface): | ||||
|     ip_address      : Optional[str] = None | ||||
|     portconf        : Optional[str] = None | ||||
|  | ||||
|     def __post_init__(self) -> None: | ||||
|         self.finalize() | ||||
|  | ||||
| def _convert_unifi_counters_if(section: Section) -> interfaces.Section: | ||||
|     ##  10|port_idx|10 | ||||
| @@ -488,25 +478,29 @@ def _convert_unifi_counters_if(section: Section) -> interfaces.Section: | ||||
|  | ||||
|     return [  | ||||
|         unifi_interface( | ||||
|             index=str(netif.port_idx), | ||||
|             descr=netif.name, | ||||
|             alias=netif.name, | ||||
|             type='6', | ||||
|             speed=_safe_int(netif.speed)*1000000, | ||||
|             oper_status=netif.oper_status, | ||||
|             admin_status=netif.admin_status, | ||||
|             in_octets=_safe_int(netif.rx_bytes), | ||||
|             in_ucast=_safe_int(netif.rx_packets), | ||||
|             in_mcast=_safe_int(netif.rx_multicast), | ||||
|             in_bcast=_safe_int(netif.rx_broadcast), | ||||
|             in_discards=_safe_int(netif.rx_dropped), | ||||
|             in_errors=_safe_int(netif.rx_errors), | ||||
|             out_octets=_safe_int(netif.tx_bytes), | ||||
|             out_ucast=_safe_int(netif.tx_packets), | ||||
|             out_mcast=_safe_int(netif.tx_multicast), | ||||
|             out_bcast=_safe_int(netif.tx_broadcast), | ||||
|             out_discards=_safe_int(netif.tx_dropped), | ||||
|             out_errors=_safe_int(netif.tx_errors), | ||||
|             attributes=interfaces.Attributes( | ||||
|                 index=str(netif.port_idx), | ||||
|                 descr=netif.name, | ||||
|                 alias=netif.name, | ||||
|                 type='6', | ||||
|                 speed=_safe_int(netif.speed)*1000000, | ||||
|                 oper_status=netif.oper_status, | ||||
|                 admin_status=netif.admin_status, | ||||
|             ), | ||||
|             counters=interfaces.Counters( | ||||
|                 in_octets=_safe_int(netif.rx_bytes), | ||||
|                 in_ucast=_safe_int(netif.rx_packets), | ||||
|                 in_mcast=_safe_int(netif.rx_multicast), | ||||
|                 in_bcast=_safe_int(netif.rx_broadcast), | ||||
|                 in_disc=_safe_int(netif.rx_dropped), | ||||
|                 in_err=_safe_int(netif.rx_errors), | ||||
|                 out_octets=_safe_int(netif.tx_bytes), | ||||
|                 out_ucast=_safe_int(netif.tx_packets), | ||||
|                 out_mcast=_safe_int(netif.tx_multicast), | ||||
|                 out_bcast=_safe_int(netif.tx_broadcast), | ||||
|                 out_disc=_safe_int(netif.tx_dropped), | ||||
|                 out_err=_safe_int(netif.tx_errors), | ||||
|             ), | ||||
|             jumbo=True if netif.jumbo == "1" else False, | ||||
|             satisfaction=_safe_int(netif.satisfaction) if netif.satisfaction and netif.oper_status == "1" else 0, | ||||
|             poe_enable=True if netif.poe_enable == "1" else False, | ||||
| @@ -540,7 +534,7 @@ def check_unifi_network_port_if(  ##fixme parsed_section_name | ||||
|     section: Section, | ||||
| ) -> CheckResult: | ||||
|     _converted_ifs = _convert_unifi_counters_if(section) | ||||
|     iface = next(filter(lambda x: _safe_int(item,-1) == _safe_int(x.index) or item == x.alias,_converted_ifs),None) ## fix Service Discovery appearance alias/descr | ||||
|     iface = next(filter(lambda x: _safe_int(item,-1) == _safe_int(x.attributes.index) or item == x.attributes.alias,_converted_ifs),None) ## fix Service Discovery appearance alias/descr | ||||
|     yield from interfaces.check_multiple_interfaces( | ||||
|         item, | ||||
|         params, | ||||
|   | ||||
| @@ -23,7 +23,7 @@ | ||||
| ##  SOFTWARE. | ||||
|  | ||||
| ### | ||||
| __VERSION__ = 0.88 | ||||
| __VERSION__ = 2.2.0 | ||||
|  | ||||
| import sys | ||||
| import socket | ||||
|   | ||||
		Reference in New Issue
	
	Block a user