<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export >
<version > 5.0</version>
<date > 2021-09-22T16:05:01Z</date>
<groups >
<group >
<name > Templates</name>
</group>
</groups>
<templates >
<template >
<template > Template_App_Unifi</template>
<name > Template_App_Unifi</name>
<groups >
<group >
<name > Templates</name>
</group>
</groups>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<items >
<item >
<name > Unifi: Controler : Number of alerts</name>
<type > DEPENDENT</type>
<key > unifi.alarm</key>
<delay > 0</delay>
<history > 60d</history>
<trends > 1095d</trends>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.alarm</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},unifi]</key>
</master_item>
<request_method > POST</request_method>
<triggers >
<trigger >
<expression > {last()}> 0</expression>
<name > Unifi: Controler: {ITEM.LASTVALUE1} unacknowledged alert(s)</name>
<priority > WARNING</priority>
</trigger>
</triggers>
</item>
<item >
<name > Unifi: Controler Build</name>
<type > DEPENDENT</type>
<key > unifi.build</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > TEXT</value_type>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.build</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},unifi]</key>
</master_item>
<request_method > POST</request_method>
</item>
<item >
<name > Unifi: Controler info</name>
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},unifi]</key>
<delay > 10m</delay>
<history > 0</history>
<trends > 0</trends>
<value_type > TEXT</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<request_method > POST</request_method>
</item>
<item >
<name > Unifi: Controler: Number of adopted devices</name>
<type > DEPENDENT</type>
<key > unifi.dev_adopted</key>
<delay > 0</delay>
<history > 60d</history>
<trends > 1095d</trends>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.dev_adopted</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},unifi]</key>
</master_item>
<request_method > POST</request_method>
<triggers >
<trigger >
<expression > {diff()}=1</expression>
<name > Unifi: Controler: Number of adopted devices changed</name>
<priority > INFO</priority>
</trigger>
</triggers>
</item>
<item >
<name > Unifi: Controler: Number of waiting devices</name>
<type > DEPENDENT</type>
<key > unifi.dev_pending</key>
<delay > 0</delay>
<history > 60d</history>
<trends > 1095d</trends>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.dev_pending</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},unifi]</key>
</master_item>
<request_method > POST</request_method>
<triggers >
<trigger >
<expression > {last()}> 0</expression>
<name > Unifi: Controler: {ITEM.LASTVALUE1} device(s) waiting adoption</name>
<priority > WARNING</priority>
</trigger>
</triggers>
</item>
<item >
<name > Unifi: Controler: Version</name>
<type > DEPENDENT</type>
<key > unifi.version</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > TEXT</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.version</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},unifi]</key>
</master_item>
<request_method > POST</request_method>
<triggers >
<trigger >
<expression > {diff()}=1</expression>
<name > Unifi: Controler: New controler version ({ITEM.LASTVALUE1})</name>
<priority > INFO</priority>
</trigger>
</triggers>
</item>
<item >
<name > Unifi: Controler: Number of wired clients</name>
<type > DEPENDENT</type>
<key > unifi.wired_clients</key>
<delay > 0</delay>
<history > 60d</history>
<trends > 1095d</trends>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.wired_clients</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},unifi]</key>
</master_item>
<request_method > POST</request_method>
</item>
<item >
<name > Unifi: Controler: Number of wired guests</name>
<type > DEPENDENT</type>
<key > unifi.wired_guests</key>
<delay > 0</delay>
<history > 60d</history>
<trends > 1095d</trends>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.wired_guests</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},unifi]</key>
</master_item>
<request_method > POST</request_method>
</item>
<item >
<name > Unifi: Controler: Number of wireless clients</name>
<type > DEPENDENT</type>
<key > unifi.wireless_clients</key>
<delay > 0</delay>
<history > 60d</history>
<trends > 1095d</trends>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.wireless_clients</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},unifi]</key>
</master_item>
<request_method > POST</request_method>
</item>
<item >
<name > Unifi: Controler: Number of wireless guests</name>
<type > DEPENDENT</type>
<key > unifi.wireless_guests</key>
<delay > 0</delay>
<history > 60d</history>
<trends > 1095d</trends>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.wireless_guests</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},unifi]</key>
</master_item>
<request_method > POST</request_method>
</item>
</items>
<discovery_rules >
<discovery_rule >
<name > Access point discovery</name>
<key > unifi.discovery[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},devices,uap]</key>
<delay > 1h</delay>
<item_prototypes >
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Info</name>
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
<delay > 8m</delay>
<history > 0</history>
<trends > 0</trends>
<value_type > TEXT</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Adoption</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,adopted]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.adopted</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {str(true)}=0</expression>
<name > AP {#UNIFI_DEV_NAME} is waiting adoption</name>
<priority > WARNING</priority>
<manual_close > YES</manual_close>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Average noise level</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_noise]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<value_type > FLOAT</value_type>
<units > dB</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_noise</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Average negociated speed (rx ac)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_rx_rate_ac]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_rx_rate_ac</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Average negociated speed (rx a)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_rx_rate_a]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_rx_rate_a</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Average negociated speed (rx b)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_rx_rate_b]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_rx_rate_b</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Average negociated speed (rx g)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_rx_rate_g]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_rx_rate_g</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Average negociated speed (rx na)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_rx_rate_na]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_rx_rate_na</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Average negociated speed (rx ng)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_rx_rate_ng]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_rx_rate_ng</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Average satisfaction score</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_satisfaction]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<value_type > FLOAT</value_type>
<units > %</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_satisfaction</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Average signal level</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_signal]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<value_type > FLOAT</value_type>
<units > dB</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_signal</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Average transmit power</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_tx_power]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<value_type > FLOAT</value_type>
<units > mW</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_tx_power</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Average negociated speed (tx ac)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_tx_rate_ac]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_tx_rate_ac</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Average negociated speed (tx a)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_tx_rate_a]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_tx_rate_a</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Average negociated speed (tx b)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_tx_rate_b]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_tx_rate_b</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Average negociated speed (tx g)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_tx_rate_g]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_tx_rate_g</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Average negociated speed (tx na)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_tx_rate_na]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_tx_rate_na</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Average negociated speed (tx ng)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_tx_rate_ng]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_tx_rate_ng</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Config version</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,cfgversion]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.cfgversion</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1h</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {diff()}=1</expression>
<name > AP {#UNIFI_DEV_NAME} received a new config</name>
<priority > INFO</priority>
<manual_close > YES</manual_close>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: CPU (%)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,cpu]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<value_type > FLOAT</value_type>
<units > %</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.sys_stats.cpu</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {avg(30m)}> {$UNIFI_CPU_WARN}</expression>
<name > High CPU usage on AP {#UNIFI_DEV_NAME}</name>
<priority > WARNING</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Number of stations (guests)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,guest-num_sta]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > stations</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $['guest-num_sta']</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Inbound trafic (guests)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,guest-rx_bytes]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.net_stats['guest-rx_bytes']</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
<step >
<type > MULTIPLIER</type>
<params > 8</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Received packets (guests)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,guest-rx_packets]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > pps</units>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.net_stats['guest-rx_packets']</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Outbound trafic (guests)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,guest-tx_bytes]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.net_stats['guest-tx_bytes']</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
<step >
<type > MULTIPLIER</type>
<params > 8</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Sent packets (guests)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,guest-tx_packets]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > pps</units>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.net_stats['guest-tx_packets']</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Inform URL</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,inform_url]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > TEXT</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.inform_url</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {diff()}=1</expression>
<name > AP {#UNIFI_AP_NAME} changed its inform URL ({ITEM.LASTVALUE1})</name>
<priority > AVERAGE</priority>
<manual_close > YES</manual_close>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Last seen</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,last_seen]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > s</units>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.last_seen</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {last()}> {$UNIFI_LAST_SEEN_WARN}</expression>
<name > No contact with AP {#UNIFI_DEV_NAME} since {ITEM.LASTVALUE1}</name>
<priority > AVERAGE</priority>
<manual_close > YES</manual_close>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Load avg 1</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,loadavg_1]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<value_type > FLOAT</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.sys_stats.loadavg_1</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Load avg 5</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,loadavg_5]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<value_type > FLOAT</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.sys_stats.loadavg_5</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Load avg 15</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,loadavg_15]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<value_type > FLOAT</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.sys_stats.loadavg_15</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Location enabled</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,locating]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.locating</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {str(false)}=0</expression>
<name > AP {#UNIFI_DEV_NAME} location is enabled</name>
<priority > WARNING</priority>
<manual_close > YES</manual_close>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Memory: %</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,mem]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<value_type > FLOAT</value_type>
<units > %</units>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.sys_stats.mem</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {avg(30m)}> {$UNIFI_MEM_WARN}</expression>
<name > High memory usage on AP {#UNIFI_DEV_NAME}</name>
<priority > WARNING</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Memory: buffer</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,mem_buffer]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > B</units>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.sys_stats.mem_buffer</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Memory: total</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,mem_total]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > B</units>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.sys_stats.mem_total</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Memory (used)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,mem_used]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > B</units>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.sys_stats.mem_used</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Model</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,model]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.model</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Number of stations</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,num_sta]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > stations</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.num_sta</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {avg(15m)}> 6*{avg(30d)} and {avg(30d)} > 4</expression>
<name > AP {#UNIFI_DEV_NAME} has more associated stations than usual ({ITEM.LASTVALUE1})</name>
<priority > WARNING</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Number of stations (ac)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,num_sta_ac]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > stations</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.num_sta_ac</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Number of stations (a)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,num_sta_a]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > stations</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.num_sta_a</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Number of stations (b)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,num_sta_b]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > stations</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.num_sta_b</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Number of stations (g)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,num_sta_g]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > stations</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.num_sta_g</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Number of stations (na)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,num_sta_na]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > stations</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.num_sta_na</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Number of stations (ng)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,num_sta_ng]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > stations</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.num_sta_ng</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Number of wlan</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,num_wlan]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > ssid</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.num_wlan</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {diff()}=1</expression>
<name > AP {#UNIFI_DEV_NAME} handle {ITEM.LASTVALUE1} SSID</name>
<priority > INFO</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Inbound trafic</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,rx_bytes]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.net_stats.rx_bytes</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
<step >
<type > MULTIPLIER</type>
<params > 8</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Received packets</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,rx_packets]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > pps</units>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.net_stats.rx_packets</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Serial number</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,serial]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.serial</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Status</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,state]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.state</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Outbound trafic</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,tx_bytes]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.net_stats.tx_bytes</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
<step >
<type > MULTIPLIER</type>
<params > 8</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Sent packets</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,tx_packets]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > pps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.net_stats.tx_packets</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Uptime</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,uptime]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > uptime</units>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.sys_stats.uptime</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {last()}< 2h</expression>
<name > AP {#UNIFI_DEV_NAME} rebooted</name>
<priority > INFO</priority>
<manual_close > YES</manual_close>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Number of stations (users)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,user-num_sta]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > stations</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $['user-num_sta']</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Inbound trafic (users)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,user-rx_bytes]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.net_stats['user-rx_bytes']</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
<step >
<type > MULTIPLIER</type>
<params > 8</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Received packets (users)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,user-rx_packets]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > pps</units>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.net_stats['user-rx_packets']</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Outbound trafic (users)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,user-tx_bytes]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.net_stats['user-tx_bytes']</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
<step >
<type > MULTIPLIER</type>
<params > 8</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Sent packets (users)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,user-tx_packets]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > pps</units>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.net_stats['user-tx_packets']</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: AP: {#UNIFI_DEV_NAME}: Firmware versions</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,version]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.version</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1h</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},uap]</key>
</master_item>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {diff()}=1</expression>
<name > AP {#UNIFI_DEV_NAME} changed firmware version ({ITEM.LASTVALUE1})</name>
<priority > WARNING</priority>
<manual_close > YES</manual_close>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
</item_prototypes>
<trigger_prototypes >
<trigger_prototype >
<expression > {Template_App_Unifi:unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_signal].avg(24h)}< {$UNIFI_SIGNAL_WARN} and {Template_App_Unifi:unifi.check.dev[{#UNIFI_DEV_MAC},uap,num_sta].avg(1h)}> =3</expression>
<name > AP {#UNIFI_DEV_NAME} has a low average signal level ({ITEM.LASTVALUE1})</name>
<priority > WARNING</priority>
</trigger_prototype>
<trigger_prototype >
<expression > {Template_App_Unifi:unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_noise].avg(1h)}> {$UNIFI_NOISE_WARN} and {Template_App_Unifi:unifi.check.dev[{#UNIFI_DEV_MAC},uap,num_sta].avg(1h)}> =3</expression>
<name > AP {#UNIFI_DEV_NAME} High noise level ({ITEM.VALUE1})</name>
<priority > WARNING</priority>
</trigger_prototype>
<trigger_prototype >
<expression > ({Template_App_Unifi:unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_signal].avg(1h)}-{Template_App_Unifi:unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_noise].avg(1h)}< {$UNIFI_SNR_WARN}) and {Template_App_Unifi:unifi.check.dev[{#UNIFI_DEV_MAC},uap,num_sta].avg(1h)}> =3</expression>
<name > AP {#UNIFI_DEV_NAME} Low SNR</name>
<priority > WARNING</priority>
</trigger_prototype>
</trigger_prototypes>
<graph_prototypes >
<graph_prototype >
<name > Unifi: AP {#UNIFI_DEV_NAME}: Average negociated speeds</name>
<graph_items >
<graph_item >
<color > 1A7C11</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_rx_rate_a]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<color > F63100</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_rx_rate_ac]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 2</sortorder>
<color > 2774A4</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_rx_rate_b]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 3</sortorder>
<color > A54F10</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_rx_rate_g]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 4</sortorder>
<color > FC6EA3</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_rx_rate_na]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 5</sortorder>
<color > 6C59DC</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_rx_rate_ng]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 6</sortorder>
<color > AC8C14</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_tx_rate_a]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 7</sortorder>
<color > 611F27</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_tx_rate_ac]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 8</sortorder>
<color > F230E0</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_tx_rate_b]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 9</sortorder>
<color > 5CCD18</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_tx_rate_g]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 10</sortorder>
<color > BB2A02</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_tx_rate_na]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 11</sortorder>
<color > 5A2B57</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_tx_rate_ng]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
<graph_prototype >
<name > Unifi: AP {#UNIFI_DEV_NAME}: Average signal levels</name>
<graph_items >
<graph_item >
<drawtype > GRADIENT_LINE</drawtype>
<color > 1A7C11</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_signal]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<color > F63100</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_noise]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 2</sortorder>
<color > 2774A4</color>
<yaxisside > RIGHT</yaxisside>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,avg_satisfaction]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
<graph_prototype >
<name > Unifi: AP {#UNIFI_DEV_NAME}: CPU usage</name>
<graph_items >
<graph_item >
<drawtype > GRADIENT_LINE</drawtype>
<color > 0000EE</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,cpu]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<color > 00CC00</color>
<yaxisside > RIGHT</yaxisside>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,loadavg_1]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 2</sortorder>
<color > FFFF33</color>
<yaxisside > RIGHT</yaxisside>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,loadavg_5]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 3</sortorder>
<color > EE0000</color>
<yaxisside > RIGHT</yaxisside>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,loadavg_15]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
<graph_prototype >
<name > Unifi: AP {#UNIFI_DEV_NAME}: Memory usage</name>
<type > STACKED</type>
<ymax_type_1 > ITEM</ymax_type_1>
<ymax_item_1 >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,mem_total]</key>
</ymax_item_1>
<graph_items >
<graph_item >
<color > 1A7C11</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,mem_used]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<color > F63100</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,mem_buffer]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
<graph_prototype >
<name > Unifi: AP {#UNIFI_DEV_NAME}: Network trafic</name>
<type > STACKED</type>
<graph_items >
<graph_item >
<color > 00CC00</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,user-rx_bytes]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<color > FF6666</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,guest-rx_bytes]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 2</sortorder>
<color > 3333FF</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,user-tx_bytes]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 3</sortorder>
<color > FFFF33</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,guest-tx_bytes]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
<graph_prototype >
<name > Unifi: AP {#UNIFI_DEV_NAME}: Stations</name>
<type > STACKED</type>
<graph_items >
<graph_item >
<color > 1A7C11</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,user-num_sta]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<color > F63100</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},uap,guest-num_sta]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
</graph_prototypes>
<request_method > POST</request_method>
</discovery_rule>
<discovery_rule >
<name > Switch discovery</name>
<key > unifi.discovery[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},devices,usw]</key>
<delay > 2h</delay>
<item_prototypes >
<item_prototype >
<name > Unifi: Switch: {#UNIFI_DEV_NAME}: Info</name>
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},usw]</key>
<delay > 8m</delay>
<history > 0</history>
<trends > 0</trends>
<value_type > TEXT</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Switch: {#UNIFI_DEV_NAME}: Adoption</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,adopted]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.adopted</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},usw]</key>
</master_item>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {str(true)}=0</expression>
<name > Switch {#UNIFI_DEV_NAME} is waiting adoption</name>
<priority > WARNING</priority>
<manual_close > YES</manual_close>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > Unifi: Switch: {#UNIFI_DEV_NAME}: Config version</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,cfgversion]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.cfgversion</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1h</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},usw]</key>
</master_item>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {diff()}=1</expression>
<name > Switch {#UNIFI_DEV_NAME} received a new configuration</name>
<priority > INFO</priority>
<manual_close > YES</manual_close>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > Unifi: Switch: {#UNIFI_DEV_NAME}: CPU (%)</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,cpu]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<value_type > FLOAT</value_type>
<units > %</units>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.sys_stats.cpu</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},usw]</key>
</master_item>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {avg(30m)}> {$UNIFI_CPU_WARN}</expression>
<name > High CPU usage on switch {#UNIFI_DEV_NAME}</name>
<priority > WARNING</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > Unifi: Switch: {#UNIFI_DEV_NAME}: Inform URL</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,inform_url]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > TEXT</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.inform_url</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},usw]</key>
</master_item>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {diff()}=1</expression>
<name > Switch {#UNIFI_AP_NAME} changed its inform URL ({ITEM.LASTVALUE1})</name>
<priority > WARNING</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > Unifi: Switch: {#UNIFI_DEV_NAME}: Last seen</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,last_seen]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > s</units>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.last_seen</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},usw]</key>
</master_item>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {last()}> {$UNIFI_LAST_SEEN_WARN}</expression>
<name > No contact with switch {#UNIFI_DEV_NAME} since {ITEM.LASTVALUE1}</name>
<priority > WARNING</priority>
<manual_close > YES</manual_close>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > Unifi: Switch: {#UNIFI_DEV_NAME}: Load avg 1</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,loadavg_1]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<value_type > FLOAT</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.sys_stats.loadavg_1</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},usw]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Switch: {#UNIFI_DEV_NAME}: Load avg 5</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,loadavg_5]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<value_type > FLOAT</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.sys_stats.loadavg_1</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},usw]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Switch: {#UNIFI_DEV_NAME}: Load avg 15</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,loadavg_15]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<value_type > FLOAT</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.sys_stats.loadavg_15</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},usw]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Switch: {#UNIFI_DEV_NAME}: Location</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,locating]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.locating</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},usw]</key>
</master_item>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {str(false)}=0</expression>
<name > Switch {#UNIFI_DEV_NAME} has location enabed</name>
<priority > WARNING</priority>
<manual_close > YES</manual_close>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > Unifi: Switch: {#UNIFI_DEV_NAME}: Memory %</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,mem]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<value_type > FLOAT</value_type>
<units > %</units>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.sys_stats.mem</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},usw]</key>
</master_item>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {avg(30m)}> {$UNIFI_MEM_WARN}</expression>
<name > High memory usage on switch {#UNIFI_DEV_NAME}</name>
<priority > WARNING</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > Unifi: Switch: {#UNIFI_DEV_NAME}: Memory buffer</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,mem_buffer]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > B</units>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.sys_stats.mem_buffer</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},usw]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Switch: {#UNIFI_DEV_NAME}: Memory total</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,mem_total]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > B</units>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.sys_stats.mem_total</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},usw]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Switch: {#UNIFI_DEV_NAME}: Memory used</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,mem_used]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > B</units>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.sys_stats.mem_used</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},usw]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Switch: {#UNIFI_DEV_NAME}: Model</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,model]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.model</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},usw]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Switch: {#UNIFI_DEV_NAME}: Inbound trafic</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,rx_bytes]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.net_stats.rx_bytes</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
<step >
<type > MULTIPLIER</type>
<params > 8</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},usw]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Switch: {#UNIFI_DEV_NAME}: Received packets</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,rx_packets]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > pps</units>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.net_stats.rx_packets</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},usw]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Switch: {#UNIFI_DEV_NAME}: Serial number</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,serial]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.serial</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},usw]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Switch: {#UNIFI_DEV_NAME}: Status</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,state]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.state</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},usw]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Switch: {#UNIFI_DEV_NAME}: Outbound trafic</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,tx_bytes]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.net_stats.tx_bytes</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
<step >
<type > MULTIPLIER</type>
<params > 8</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},usw]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Switch: {#UNIFI_DEV_NAME}: Sent packets</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,tx_packets]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > pps</units>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.net_stats.tx_packets</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},usw]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Switch: {#UNIFI_DEV_NAME}: Uptime</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,uptime]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > uptime</units>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.sys_stats.uptime</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},usw]</key>
</master_item>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {last()}< 2h</expression>
<name > Switch {#UNIFI_DEV_NAME} rebooted</name>
<priority > INFO</priority>
<manual_close > YES</manual_close>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > Unifi: Switch: {#UNIFI_DEV_NAME}: Firmware version</name>
<type > DEPENDENT</type>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,version]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.version</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1h</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},dev,{#UNIFI_DEV_MAC},usw]</key>
</master_item>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {diff()}=1</expression>
<name > Firmware version of switch {#UNIFI_DEV_NAME} changed ({ITEM.LASTVALUE1})</name>
<priority > WARNING</priority>
<manual_close > YES</manual_close>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
</item_prototypes>
<graph_prototypes >
<graph_prototype >
<name > Unifi: Switch {#UNIFI_DEV_NAME}: CPU usage</name>
<graph_items >
<graph_item >
<drawtype > GRADIENT_LINE</drawtype>
<color > 0000EE</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,cpu]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<color > 00CC00</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,loadavg_1]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 2</sortorder>
<color > FFFF33</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,loadavg_5]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 3</sortorder>
<color > EE0000</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,loadavg_15]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
<graph_prototype >
<name > Unifi: Switch {#UNIFI_DEV_NAME}: Memory usage</name>
<type > STACKED</type>
<ymax_type_1 > ITEM</ymax_type_1>
<ymax_item_1 >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,mem_total]</key>
</ymax_item_1>
<graph_items >
<graph_item >
<color > F63100</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,mem_buffer]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<color > 1A7C11</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,mem_used]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
<graph_prototype >
<name > Unifi: Switch {#UNIFI_DEV_NAME}: Network trafic</name>
<graph_items >
<graph_item >
<drawtype > GRADIENT_LINE</drawtype>
<color > 00CC00</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,rx_bytes]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<drawtype > BOLD_LINE</drawtype>
<color > FF9999</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.dev[{#UNIFI_DEV_MAC},usw,tx_bytes]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
</graph_prototypes>
<request_method > POST</request_method>
</discovery_rule>
<discovery_rule >
<name > Wireless station discovery</name>
<key > unifi.discovery[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},stations,wireless]</key>
<delay > 5m</delay>
<lifetime > 10d</lifetime>
<item_prototypes >
<item_prototype >
<name > Unifi: Station {#UNIFI_STA_NAME}: Info</name>
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},station,{#UNIFI_STA_MAC},wireless]</key>
<delay > 8m</delay>
<history > 0</history>
<trends > 0</trends>
<value_type > TEXT</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Station {#UNIFI_STA_NAME}: AP</name>
<type > DEPENDENT</type>
<key > unifi.check.station[{#UNIFI_STA_MAC},wireless,ap]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.ap</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},station,{#UNIFI_STA_MAC},wireless]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Station {#UNIFI_STA_NAME}: Authorized</name>
<type > DEPENDENT</type>
<key > unifi.check.station[{#UNIFI_STA_MAC},wireless,authorized]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.authorized</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},station,{#UNIFI_STA_MAC},wireless]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Station {#UNIFI_STA_NAME}: ESSID</name>
<type > DEPENDENT</type>
<key > unifi.check.station[{#UNIFI_STA_MAC},wireless,essid]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.essid</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},station,{#UNIFI_STA_MAC},wireless]</key>
</master_item>
<request_method > POST</request_method>
<trigger_prototypes >
<trigger_prototype >
<expression > {diff()}=1 and {$UNIFI_WARN_STA_CHANGE_SSID}=1</expression>
<name > Station {#UNIFI_STA_NAME} changed SSID ({ITEM.LASTVALUE1})</name>
<priority > WARNING</priority>
<manual_close > YES</manual_close>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > Unifi: Station {#UNIFI_STA_NAME}: Hostname</name>
<type > DEPENDENT</type>
<key > unifi.check.station[{#UNIFI_STA_MAC},wireless,hostname]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.hostname</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},station,{#UNIFI_STA_MAC},wireless]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Station {#UNIFI_STA_NAME}: IP address</name>
<type > DEPENDENT</type>
<key > unifi.check.station[{#UNIFI_STA_MAC},wireless,ip]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.ip</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},station,{#UNIFI_STA_MAC},wireless]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Station {#UNIFI_STA_NAME}: Is guest</name>
<type > DEPENDENT</type>
<key > unifi.check.station[{#UNIFI_STA_MAC},wireless,is_guest]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.is_guest</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},station,{#UNIFI_STA_MAC},wireless]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Station {#UNIFI_STA_NAME}: Last seen</name>
<type > DEPENDENT</type>
<key > unifi.check.station[{#UNIFI_STA_MAC},wireless,last_seen]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > s</units>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.last_seen</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},station,{#UNIFI_STA_MAC},wireless]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Station {#UNIFI_STA_NAME}: Noise level</name>
<type > DEPENDENT</type>
<key > unifi.check.station[{#UNIFI_STA_MAC},wireless,noise]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<value_type > FLOAT</value_type>
<units > dB</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.noise</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},station,{#UNIFI_STA_MAC},wireless]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Station {#UNIFI_STA_NAME}: Vendor</name>
<type > DEPENDENT</type>
<key > unifi.check.station[{#UNIFI_STA_MAC},wireless,oui]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.oui</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},station,{#UNIFI_STA_MAC},wireless]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Station {#UNIFI_STA_NAME}: Radio protocol</name>
<type > DEPENDENT</type>
<key > unifi.check.station[{#UNIFI_STA_MAC},wireless,radio_proto]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.radio_proto</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1d</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},station,{#UNIFI_STA_MAC},wireless]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Station {#UNIFI_STA_NAME}: Inbound trafic</name>
<type > DEPENDENT</type>
<key > unifi.check.station[{#UNIFI_STA_MAC},wireless,rx_bytes]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.rx_bytes</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
<step >
<type > MULTIPLIER</type>
<params > 8</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},station,{#UNIFI_STA_MAC},wireless]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Station {#UNIFI_STA_NAME}: Received packets</name>
<type > DEPENDENT</type>
<key > unifi.check.station[{#UNIFI_STA_MAC},wireless,rx_packets]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > pps</units>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.rx_packets</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},station,{#UNIFI_STA_MAC},wireless]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Station {#UNIFI_STA_NAME}: Negociated speed (rx)</name>
<type > DEPENDENT</type>
<key > unifi.check.station[{#UNIFI_STA_MAC},wireless,rx_rate]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.rx_rate</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},station,{#UNIFI_STA_MAC},wireless]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Station {#UNIFI_STA_NAME}: Satisfaction score</name>
<type > DEPENDENT</type>
<key > unifi.check.station[{#UNIFI_STA_MAC},wireless,satisfaction]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<value_type > FLOAT</value_type>
<units > %</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.satisfaction</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},station,{#UNIFI_STA_MAC},wireless]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Station {#UNIFI_STA_NAME}: Signal level</name>
<type > DEPENDENT</type>
<key > unifi.check.station[{#UNIFI_STA_MAC},wireless,signal]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<value_type > FLOAT</value_type>
<units > dB</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.signal</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},station,{#UNIFI_STA_MAC},wireless]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Station {#UNIFI_STA_NAME}: Outbound trafic</name>
<type > DEPENDENT</type>
<key > unifi.check.station[{#UNIFI_STA_MAC},wireless,tx_bytes]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.tx_bytes</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
<step >
<type > MULTIPLIER</type>
<params > 8</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},station,{#UNIFI_STA_MAC},wireless]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Station {#UNIFI_STA_NAME}: Sent packets</name>
<type > DEPENDENT</type>
<key > unifi.check.station[{#UNIFI_STA_MAC},wireless,tx_packets]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > pps</units>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.tx_packets</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},station,{#UNIFI_STA_MAC},wireless]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Station {#UNIFI_STA_NAME}: tx power</name>
<type > DEPENDENT</type>
<key > unifi.check.station[{#UNIFI_STA_MAC},wireless,tx_power]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<value_type > FLOAT</value_type>
<units > mW</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.tx_power</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},station,{#UNIFI_STA_MAC},wireless]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: Station {#UNIFI_STA_NAME}: Negociated speed (tx)</name>
<type > DEPENDENT</type>
<key > unifi.check.station[{#UNIFI_STA_MAC},wireless,tx_rate]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.tx_rate</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},station,{#UNIFI_STA_MAC},wireless]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
</item_prototypes>
<graph_prototypes >
<graph_prototype >
<name > Unifi: Station {#UNIFI_STA_NAME}: Signal level</name>
<graph_items >
<graph_item >
<drawtype > GRADIENT_LINE</drawtype>
<color > 1A7C11</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.station[{#UNIFI_STA_MAC},wireless,signal]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<color > F63100</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.station[{#UNIFI_STA_MAC},wireless,noise]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 2</sortorder>
<color > 2774A4</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.station[{#UNIFI_STA_MAC},wireless,satisfaction]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
<graph_prototype >
<name > Unifi: Station {#UNIFI_STA_NAME}: Trafic</name>
<graph_items >
<graph_item >
<drawtype > GRADIENT_LINE</drawtype>
<color > 00BB00</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.station[{#UNIFI_STA_MAC},wireless,rx_bytes]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<drawtype > BOLD_LINE</drawtype>
<color > FF9999</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.station[{#UNIFI_STA_MAC},wireless,tx_bytes]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
</graph_prototypes>
<request_method > POST</request_method>
</discovery_rule>
<discovery_rule >
<name > WiFi networks discovery</name>
<key > unifi.discovery[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,]</key>
<delay > 1h</delay>
<lifetime > 10d</lifetime>
<item_prototypes >
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Info</name>
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
<delay > 8m</delay>
<history > 0</history>
<trends > 0</trends>
<value_type > TEXT</value_type>
<applications >
<application >
<name > Unifi</name>
</application>
</applications>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Average noise level</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_noise]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<value_type > FLOAT</value_type>
<units > dBm</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_noise</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Average negociated speed (rx ac)</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_rx_rate_ac]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_rx_rate_ac</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Average negociated speed (rx a)</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_rx_rate_a]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_rx_rate_a</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Average negociated speed (rx b)</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_rx_rate_b]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_rx_rate_b</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Average negociated speed (rx g)</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_rx_rate_g]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_rx_rate_g</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Average negociated speed (rx na)</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_rx_rate_na]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_rx_rate_na</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Average negociated speed (rx ng)</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_rx_rate_ng]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_rx_rate_ng</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Average satisfaction score</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_satisfaction]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<value_type > FLOAT</value_type>
<units > %</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_satisfaction</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Average signal level</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_signal]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<value_type > FLOAT</value_type>
<units > dBm</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_signal</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Average tx power</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_tx_power]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<value_type > FLOAT</value_type>
<units > mW</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_tx_power</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Average negociated speed (tx ac)</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_tx_rate_ac]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_tx_rate_ac</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Average negociated speed (tx a)</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_tx_rate_a]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_tx_rate_a</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Average negociated speed (tx b)</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_tx_rate_b]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_tx_rate_b</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Average negociated speed (tx g)</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_tx_rate_g]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_tx_rate_g</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Average negociated speed (tx na)</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_tx_rate_na]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_tx_rate_na</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Average negociated speed (tx ng)</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_tx_rate_ng]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.avg_tx_rate_ng</params>
</step>
<step >
<type > MATCHES_REGEX</type>
<params > \d+(\.\d+)?</params>
<error_handler > DISCARD_VALUE</error_handler>
</step>
<step >
<type > MULTIPLIER</type>
<params > 1000</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Number of stations</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},num_sta]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > stations</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.num_sta</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Number of stations (ac)</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},num_sta_ac]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > stations</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.num_sta_ac</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Number of stations (a)</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},num_sta_a]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > stations</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.num_sta_a</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Number of stations (b)</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},num_sta_b]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > stations</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.num_sta_b</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Number of stations (g)</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},num_sta_g]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > stations</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.num_sta_g</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Number of stations (na)</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},num_sta_na]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > stations</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.num_sta_na</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Number of stations (ng)</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},num_sta_ng]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > stations</units>
<applications >
<application >
<name > Unifi</name>
</application>
<application >
<name > Wifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.num_sta_ng</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Inbound trafic</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},rx_bytes]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.rx_bytes</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
<step >
<type > MULTIPLIER</type>
<params > 8</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Received packets</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},rx_packets]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.rx_packets</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Outbound trafic</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},tx_bytes]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.tx_bytes</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
<step >
<type > MULTIPLIER</type>
<params > 8</params>
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
<item_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Sent packets</name>
<type > DEPENDENT</type>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},tx_packets]</key>
<delay > 0</delay>
<history > 30d</history>
<trends > 730d</trends>
<units > bps</units>
<applications >
<application >
<name > Network</name>
</application>
<application >
<name > Unifi</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.tx_packets</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > unifi.check.all[{$UNIFI_URL},{$UNIFI_USER},{$UNIFI_PASS},{$UNIFI_SITE},wlan,{#UNIFI_WLAN_ID},]</key>
</master_item>
<request_method > POST</request_method>
</item_prototype>
</item_prototypes>
<trigger_prototypes >
<trigger_prototype >
<expression > {Template_App_Unifi:unifi.check.wlan[{#UNIFI_WLAN_ID},avg_noise].avg(1h)}> {$UNIFI_NOISE_WARN} and {Template_App_Unifi:unifi.check.wlan[{#UNIFI_WLAN_ID},num_sta].avg(1h)}> =3</expression>
<name > High noise level ({ITEM.LASTVALUE1}) on WLAN {#UNIFI_WLAN_NAME}</name>
<priority > WARNING</priority>
</trigger_prototype>
<trigger_prototype >
<expression > ({Template_App_Unifi:unifi.check.wlan[{#UNIFI_WLAN_ID},avg_signal].avg(1h)}-{Template_App_Unifi:unifi.check.wlan[{#UNIFI_WLAN_ID},avg_noise].avg(1h)}< {$UNIFI_SNR_WARN}) and {Template_App_Unifi:unifi.check.wlan[{#UNIFI_WLAN_ID},num_sta].avg(1h)}> =3</expression>
<name > Low average SNR on WLAN {#UNIFI_WLAN_NAME}</name>
<priority > WARNING</priority>
</trigger_prototype>
<trigger_prototype >
<expression > {Template_App_Unifi:unifi.check.wlan[{#UNIFI_WLAN_ID},avg_satisfaction].avg(1h)}< {$UNIFI_SATISFACTION_WARN} and {Template_App_Unifi:unifi.check.wlan[{#UNIFI_WLAN_ID},num_sta].avg(1h)}> =3</expression>
<name > Low satisfaction score on WLAN {#UNIFI_WLAN_NAME}</name>
<priority > WARNING</priority>
</trigger_prototype>
</trigger_prototypes>
<graph_prototypes >
<graph_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Negociated speeds</name>
<graph_items >
<graph_item >
<color > FC6EA3</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_rx_rate_a]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<color > 6C59DC</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_rx_rate_ac]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 2</sortorder>
<color > AC8C14</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_rx_rate_b]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 3</sortorder>
<color > 611F27</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_rx_rate_g]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 4</sortorder>
<color > F230E0</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_rx_rate_na]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 5</sortorder>
<color > 5CCD18</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_rx_rate_ng]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 6</sortorder>
<color > BB2A02</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_tx_rate_a]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 7</sortorder>
<color > 5A2B57</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_tx_rate_ac]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 8</sortorder>
<color > 89ABF8</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_tx_rate_b]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 9</sortorder>
<color > 7EC25C</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_tx_rate_g]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 10</sortorder>
<color > 274482</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_tx_rate_na]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 11</sortorder>
<color > 2B5429</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_tx_rate_ng]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
<graph_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Signal level</name>
<graph_items >
<graph_item >
<color > EE0000</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_noise]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<drawtype > GRADIENT_LINE</drawtype>
<color > 008800</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_signal]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 2</sortorder>
<color > 2774A4</color>
<yaxisside > RIGHT</yaxisside>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},avg_satisfaction]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
<graph_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Stations</name>
<type > STACKED</type>
<graph_items >
<graph_item >
<color > 2774A4</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},num_sta_a]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<color > A54F10</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},num_sta_b]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 2</sortorder>
<color > 6C59DC</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},num_sta_g]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 3</sortorder>
<color > F63100</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},num_sta_ng]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 4</sortorder>
<color > FC6EA3</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},num_sta_na]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 5</sortorder>
<color > 1A7C11</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},num_sta_ac]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
<graph_prototype >
<name > Unifi: WLAN {#UNIFI_WLAN_NAME}: Trafic</name>
<graph_items >
<graph_item >
<drawtype > GRADIENT_LINE</drawtype>
<color > 1A7C11</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},tx_bytes]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<drawtype > BOLD_LINE</drawtype>
<color > F63100</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.check.wlan[{#UNIFI_WLAN_ID},rx_bytes]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
</graph_prototypes>
<request_method > POST</request_method>
</discovery_rule>
</discovery_rules>
<macros >
<macro >
<macro > {$UNIFI_CPU_WARN}</macro>
<value > 80</value>
</macro>
<macro >
<macro > {$UNIFI_LAST_SEEN_WARN}</macro>
<value > 600</value>
</macro>
<macro >
<macro > {$UNIFI_MEM_WARN}</macro>
<value > 80</value>
</macro>
<macro >
<macro > {$UNIFI_NOISE_WARN}</macro>
<value > -82</value>
</macro>
<macro >
<macro > {$UNIFI_PASS}</macro>
<value > secret</value>
</macro>
<macro >
<macro > {$UNIFI_SATISFACTION_WARN}</macro>
<value > 60</value>
</macro>
<macro >
<macro > {$UNIFI_SIGNAL_WARN}</macro>
<value > -70</value>
</macro>
<macro >
<macro > {$UNIFI_SITE}</macro>
<value > default</value>
</macro>
<macro >
<macro > {$UNIFI_SNR_WARN}</macro>
<value > -16</value>
</macro>
<macro >
<macro > {$UNIFI_URL}</macro>
<value > https://localhost:8443</value>
</macro>
<macro >
<macro > {$UNIFI_USER}</macro>
<value > zabbix</value>
</macro>
<macro >
<macro > {$UNIFI_WARN_STA_CHANGE_SSID}</macro>
<value > 1</value>
</macro>
</macros>
</template>
</templates>
<graphs >
<graph >
<name > Unifi: Contrôleur: Stations</name>
<type > STACKED</type>
<graph_items >
<graph_item >
<color > 0000CC</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.wired_clients</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<color > FFFF33</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.wired_guests</key>
</item>
</graph_item>
<graph_item >
<sortorder > 2</sortorder>
<color > F63100</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.wireless_guests</key>
</item>
</graph_item>
<graph_item >
<sortorder > 3</sortorder>
<color > 00EE00</color>
<item >
<host > Template_App_Unifi</host>
<key > unifi.wireless_clients</key>
</item>
</graph_item>
</graph_items>
</graph>
</graphs>
</zabbix_export>