sometimes an SSID gets removed.

This commit is contained in:
Robert Sander 2023-03-09 22:55:40 +01:00
parent f3646613fd
commit 47d2713f87

View File

@ -115,6 +115,7 @@ def check_unifi_controller(item,section):
state=State.WARN, state=State.WARN,
notice=_("Update available") notice=_("Update available")
) )
yield Metric("uptime",int(section.uptime))
if item == "Cloudkey": if item == "Cloudkey":
yield Result( yield Result(
state=State.OK, state=State.OK,
@ -270,7 +271,7 @@ register.inventory_plugin(
def discovery_unifi_device(section): def discovery_unifi_device(section):
yield Service(item="Device Status") yield Service(item="Device Status")
yield Service(item="Unifi Device") yield Service(item="Unifi Device")
yield Service(item="Unifi Device Uptime") yield Service(item="Uptime")
yield Service(item="Active-User") yield Service(item="Active-User")
if section.type != "uap": # kein satisfaction bei ap .. radio/ssid haben schon if section.type != "uap": # kein satisfaction bei ap .. radio/ssid haben schon
yield Service(item="Satisfaction") yield Service(item="Satisfaction")
@ -316,7 +317,7 @@ def check_unifi_device(item,section):
) )
yield Metric("user_sta",_active_user) yield Metric("user_sta",_active_user)
yield Metric("guest_sta",_safe_int(section.guest_num_sta)) yield Metric("guest_sta",_safe_int(section.guest_num_sta))
if item == "Unifi Device Uptime": if item == "Uptime":
_uptime = int(section.uptime) if section.uptime else -1 _uptime = int(section.uptime) if section.uptime else -1
if _uptime > 0: if _uptime > 0:
yield Result( yield Result(
@ -673,41 +674,42 @@ def discovery_unifi_ssids(section):
def check_unifi_ssids(item,section): def check_unifi_ssids(item,section):
ssid = section.get(item) ssid = section.get(item)
_channels = ",".join(list(filter(lambda x: _safe_int(x) > 0,[ssid.ng_channel,ssid.na_channel]))) if ssid:
yield Result( _channels = ",".join(list(filter(lambda x: _safe_int(x) > 0,[ssid.ng_channel,ssid.na_channel])))
state=State.OK,
summary=f"Channels: {_channels}"
)
if (_safe_int(ssid.ng_is_guest) + _safe_int(ssid.na_is_guest)) > 0:
yield Result( yield Result(
state=State.OK, state=State.OK,
summary="Guest" summary=f"Channels: {_channels}"
) )
_satisfaction = max(0,min(_safe_int(ssid.ng_satisfaction),_safe_int(ssid.na_satisfaction))) if (_safe_int(ssid.ng_is_guest) + _safe_int(ssid.na_is_guest)) > 0:
yield Result( yield Result(
state=State.OK, state=State.OK,
summary=f"Satisfaction: {_satisfaction}" summary="Guest"
) )
_num_sta = _safe_int(ssid.na_num_sta) + _safe_int(ssid.ng_num_sta) _satisfaction = max(0,min(_safe_int(ssid.ng_satisfaction),_safe_int(ssid.na_satisfaction)))
if _num_sta > 0:
yield Result( yield Result(
state=State.OK, state=State.OK,
summary=f"User: {_num_sta}" summary=f"Satisfaction: {_satisfaction}"
) )
yield Metric("satisfaction",max(0,_satisfaction)) _num_sta = _safe_int(ssid.na_num_sta) + _safe_int(ssid.ng_num_sta)
yield Metric("wlan_24Ghz_num_user",_safe_int(ssid.ng_num_sta) ) if _num_sta > 0:
yield Metric("wlan_5Ghz_num_user",_safe_int(ssid.na_num_sta) ) yield Result(
state=State.OK,
summary=f"User: {_num_sta}"
)
yield Metric("satisfaction",max(0,_satisfaction))
yield Metric("wlan_24Ghz_num_user",_safe_int(ssid.ng_num_sta) )
yield Metric("wlan_5Ghz_num_user",_safe_int(ssid.na_num_sta) )
yield Metric("na_avg_client_signal",_safe_int(ssid.na_avg_client_signal)) yield Metric("na_avg_client_signal",_safe_int(ssid.na_avg_client_signal))
yield Metric("ng_avg_client_signal",_safe_int(ssid.ng_avg_client_signal)) yield Metric("ng_avg_client_signal",_safe_int(ssid.ng_avg_client_signal))
yield Metric("na_tcp_packet_loss",_safe_int(ssid.na_tcp_packet_loss)) yield Metric("na_tcp_packet_loss",_safe_int(ssid.na_tcp_packet_loss))
yield Metric("ng_tcp_packet_loss",_safe_int(ssid.ng_tcp_packet_loss)) yield Metric("ng_tcp_packet_loss",_safe_int(ssid.ng_tcp_packet_loss))
yield Metric("na_wifi_retries",_safe_int(ssid.na_wifi_retries)) yield Metric("na_wifi_retries",_safe_int(ssid.na_wifi_retries))
yield Metric("ng_wifi_retries",_safe_int(ssid.ng_wifi_retries)) yield Metric("ng_wifi_retries",_safe_int(ssid.ng_wifi_retries))
yield Metric("na_wifi_latency",_safe_int(ssid.na_wifi_latency)) yield Metric("na_wifi_latency",_safe_int(ssid.na_wifi_latency))
yield Metric("ng_wifi_latency",_safe_int(ssid.ng_wifi_latency)) yield Metric("ng_wifi_latency",_safe_int(ssid.ng_wifi_latency))
@ -732,26 +734,27 @@ def discovery_unifi_ssidlist(section):
def check_unifi_ssidlist(item,section): def check_unifi_ssidlist(item,section):
ssid = section.get(item) ssid = section.get(item)
yield Result( if ssid:
state=State.OK, yield Result(
summary=f"Channels: {ssid.channels}" state=State.OK,
) summary=f"Channels: {ssid.channels}"
yield Result( )
state=State.OK, yield Result(
summary=f"User: {ssid.num_sta}" state=State.OK,
) summary=f"User: {ssid.num_sta}"
yield Metric("wlan_24Ghz_num_user",_safe_int(ssid.ng_num_sta) ) )
yield Metric("wlan_5Ghz_num_user",_safe_int(ssid.na_num_sta) ) yield Metric("wlan_24Ghz_num_user",_safe_int(ssid.ng_num_sta) )
yield Metric("na_avg_client_signal",_safe_int(ssid.na_avg_client_signal)) yield Metric("wlan_5Ghz_num_user",_safe_int(ssid.na_num_sta) )
yield Metric("ng_avg_client_signal",_safe_int(ssid.ng_avg_client_signal)) yield Metric("na_avg_client_signal",_safe_int(ssid.na_avg_client_signal))
yield Metric("ng_avg_client_signal",_safe_int(ssid.ng_avg_client_signal))
yield Metric("na_tcp_packet_loss",_safe_int(ssid.na_tcp_packet_loss)) yield Metric("na_tcp_packet_loss",_safe_int(ssid.na_tcp_packet_loss))
yield Metric("ng_tcp_packet_loss",_safe_int(ssid.ng_tcp_packet_loss)) yield Metric("ng_tcp_packet_loss",_safe_int(ssid.ng_tcp_packet_loss))
yield Metric("na_wifi_retries",_safe_int(ssid.na_wifi_retries)) yield Metric("na_wifi_retries",_safe_int(ssid.na_wifi_retries))
yield Metric("ng_wifi_retries",_safe_int(ssid.ng_wifi_retries)) yield Metric("ng_wifi_retries",_safe_int(ssid.ng_wifi_retries))
yield Metric("na_wifi_latency",_safe_int(ssid.na_wifi_latency)) yield Metric("na_wifi_latency",_safe_int(ssid.na_wifi_latency))
yield Metric("ng_wifi_latency",_safe_int(ssid.ng_wifi_latency)) yield Metric("ng_wifi_latency",_safe_int(ssid.ng_wifi_latency))
register.agent_section( register.agent_section(
name = 'unifi_ssid_list', name = 'unifi_ssid_list',