zabbix-agent-addons/zabbix_templates/Template_App_Unifi.xml

5012 lines
267 KiB
XML

<?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()}&gt;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()}&gt;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)}&gt;{$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()}&gt;{$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)}&gt;{$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)}&gt;6*{avg(30d)} and {avg(30d)} &gt; 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()}&lt;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)}&lt;{$UNIFI_SIGNAL_WARN} and {Template_App_Unifi:unifi.check.dev[{#UNIFI_DEV_MAC},uap,num_sta].avg(1h)}&gt;=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)}&gt;{$UNIFI_NOISE_WARN} and {Template_App_Unifi:unifi.check.dev[{#UNIFI_DEV_MAC},uap,num_sta].avg(1h)}&gt;=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)}&lt;{$UNIFI_SNR_WARN}) and {Template_App_Unifi:unifi.check.dev[{#UNIFI_DEV_MAC},uap,num_sta].avg(1h)}&gt;=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)}&gt;{$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()}&gt;{$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)}&gt;{$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()}&lt;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)}&gt;{$UNIFI_NOISE_WARN} and {Template_App_Unifi:unifi.check.wlan[{#UNIFI_WLAN_ID},num_sta].avg(1h)}&gt;=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)}&lt;{$UNIFI_SNR_WARN}) and {Template_App_Unifi:unifi.check.wlan[{#UNIFI_WLAN_ID},num_sta].avg(1h)}&gt;=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)}&lt;{$UNIFI_SATISFACTION_WARN} and {Template_App_Unifi:unifi.check.wlan[{#UNIFI_WLAN_ID},num_sta].avg(1h)}&gt;=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>