├── .github └── ISSUE_TEMPLATE │ ├── bug-report.md │ ├── new-item-trigger-for-existing-unifi-device.md │ └── new-unifi-device.md ├── .gitignore ├── 6.0 ├── README.md └── zbx_template_unifi_network.yaml ├── 6.2 ├── README.md └── zbx_template_unifi_network.yaml ├── 6.4 ├── README.md └── zbx_template_unifi_network.yaml ├── 7.0 ├── README.md └── zbx_template_unifi_network.yaml ├── LICENSE.md ├── README.md └── docs └── image └── logo.webp /.github/ISSUE_TEMPLATE/bug-report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug Report 3 | about: Report Bug 4 | title: "[BUG] Title" 5 | labels: bug 6 | assignees: MassimilianoPasquini97 7 | 8 | --- 9 | 10 | ## Checklist 11 | 12 | - [ ] I'm using the latest Zabbix Server Release. 13 | - [ ] I'm using a local UniFi Account with at least RO permission on Zabbix. 14 | - [ ] I have configured the template following README.md instruction. 15 | 16 | ## Describe the Bug 17 | 18 | A clear and concise description of what the bug is. If applicable, add screenshots to help explain your problem. 19 | 20 | ## MACROS 21 | 22 | Screenshot of configured MACROS. 23 | 24 | ## Context 25 | 26 | - Zabbix Template Release: `ex. main` 27 | - Zabbix Server Release: `ex. 6.4.7` 28 | - UniFi Network Release: `ex. 8.0.7` 29 | - UniFi Network Type: `VM or Dream Machine` 30 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/new-item-trigger-for-existing-unifi-device.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: New Item/Trigger for Existing UniFi Device 3 | about: Request Support for a new Items or Trigger for an existing UniFi Device 4 | title: "[New Item/Trigger] UniFi Device Name" 5 | labels: enhancement 6 | assignees: MassimilianoPasquini97 7 | 8 | --- 9 | 10 | ## Context 11 | 12 | - UniFi Device Type: `UAP, UDM, USW, ...` 13 | - UniFi Device Name: `Provide UniFi Device name with store url` 14 | 15 | ## New Features 16 | 17 | A clear and concise description of what items or trigger you want to implement. 18 | 19 | ## JSON 20 | 21 | Follow this steps for retrive JSON data . 22 | 23 | 1. Create a file named `auth.json` containing Unifi credential. Replace {$UNIFI.USERNAME} and {$UNIFI.PASSWORD} with your credential. User must be a local user and is preferred to not use the same used by Zabbix. 24 | 25 | ```json 26 | { 27 | "username": "{$UNIFI.USERNAME}", 28 | "password": "{$UNIFI.PASSWORD}" 29 | } 30 | ``` 31 | 32 | 2. Get authentication cookie with the following command. Replace {$UNIFI.IP} and '/api/auth/login' with 'api/login' if you are using Unifi vm instead of Dream Machine. 33 | 34 | ```shell 35 | curl -k -X POST -d @auth.json -c cookie --header 'Content-Type: application/json' https://{$UNIFI.IP}/api/auth/login 36 | ``` 37 | 38 | 3. Get data of UniFi Device with the following command. Replace {$UNIFI.IP}, {$UNIFI.UAP.MAC} with macaddress of UniFi Device with following format "AA:AA:AA:AA:AA:AA" and remove '/proxy/network' if you are using Unifi vm instead of Dream Machine. 39 | 40 | ```shell 41 | curl -k -X GET -b cookie --header 'Content-Type: application/json' https://{$UNIFI.IP}/proxy/network/api/s/default/stat/device/{$UNIFI.UAP.MAC} 42 | ``` 43 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/new-unifi-device.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: New UniFi Device 3 | about: Request Support for a New UniFi Device 4 | title: "[New Device] UniFi Device Name" 5 | labels: enhancement 6 | assignees: MassimilianoPasquini97 7 | 8 | --- 9 | 10 | ## Context 11 | 12 | - UniFi Device Type: `UAP, UDM, USW, ...` 13 | - UniFi Device Name: `Provide UniFi Device name with store url` 14 | 15 | ## New Features 16 | 17 | A clear and concise description of what items or trigger you want to implement for this new UniFi Device. 18 | 19 | ## JSON 20 | 21 | Follow this steps for retrive JSON data for the new device. 22 | 23 | 1. Create a file named `auth.json` containing Unifi credential. Replace {$UNIFI.USERNAME} and {$UNIFI.PASSWORD} with your credential. User must be a local user and is preferred to not use the same used by Zabbix. 24 | 25 | ```json 26 | { 27 | "username": "{$UNIFI.USERNAME}", 28 | "password": "{$UNIFI.PASSWORD}" 29 | } 30 | ``` 31 | 32 | 2. Get authentication cookie with the following command. Replace {$UNIFI.IP} and '/api/auth/login' with 'api/login' if you are using Unifi vm instead of Dream Machine. 33 | 34 | ```shell 35 | curl -k -X POST -d @auth.json -c cookie --header 'Content-Type: application/json' https://{$UNIFI.IP}/api/auth/login 36 | ``` 37 | 38 | 3. Get data for the new UniFi Device with the following command. Replace {$UNIFI.IP}, {$UNIFI.UAP.MAC} with macaddress of the New Device with following format "AA:AA:AA:AA:AA:AA" and remove '/proxy/network' if you are using Unifi vm instead of Dream Machine. 39 | 40 | ```shell 41 | curl -k -X GET -b cookie --header 'Content-Type: application/json' https://{$UNIFI.IP}/proxy/network/api/s/default/stat/device/{$UNIFI.UAP.MAC} 42 | ``` 43 | 44 | 45 | ```json 46 | ``` 47 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # macos 2 | .DS_Store 3 | 4 | # docker 5 | docker-compose-*.yml -------------------------------------------------------------------------------- /6.0/README.md: -------------------------------------------------------------------------------- 1 | # Unifi Network 2 | 3 | ## Description 4 | 5 | This template is meant for monitoring Unifi network devices using Unifi Network API. Special thanks who wrote and maintain this [wiki page](https://ubntwiki.com/products/software/unifi-controller/api), this guide helped me for realizing this template. Upstream repository at [MassimilianoPasquini97/zbx_unifi_network](https://github.com/MassimilianoPasquini97/zbx_unifi_network). 6 | 7 | ## How to use 8 | 9 | First of all you need to import the template file ***zbx_template_unifi_network.yaml*** in Zabbix. 😅 10 | 11 | Said that, this template use Unifi Network API so it need a view only local user on Unifi Network Web Interface. 12 | 13 | Once you create view only user, on Zabbix create a new host and link ***Unifi Network*** template, those macros need to be configured: 14 | 15 | - ***{$UNIFI.IP}***: IP or FQDN of Unifi Network Web Interface. 16 | - ***{$UNIFI.USERNAME}***: Username of View Only user. 17 | - ***{$UNIFI.PASSWORD}***: Password of View Only user. 18 | 19 | If you prefer you can modify other macros for further personalize trigger parameters. 20 | 21 | If you done all right now it auto discover all Unifi Dream Machine, Unifi Switch and Unifi Access Point and create an host object for all of them. 22 | 23 | ## Templates 24 | 25 | | Name | Description | 26 | | ------------- | ---------------------------- | 27 | | Unifi Network | Unifi Network Template | 28 | | Unifi UDM | Unifi Dream Machine Template | 29 | | Unifi USW | Unifi Switch Template | 30 | | Unifi UAP | Unifi Access Point Template | 31 | 32 | ## Unifi Network: Macros 33 | 34 | | Name | Description | Default | Required | Type | 35 | | --------------------------------------- | ----------------------------------------------------- | ------- | -------- | --------- | 36 | | {$UNIFI.AP.DISCONNECTED.SEC} | AP Disconnected Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 37 | | {$UNIFI.AP.PENDING.SEC} | AP Pending Trigger Avg threshold in seconds | `1800` | `true` | `numeric` | 38 | | {$UNIFI.CPU.USAGE.HIGH} | Cpu % High Trigger threshold | `90` | `true` | `numeric` | 39 | | {$UNIFI.CPU.USAGE.HIGH.SEC} | Cpu High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 40 | | {$UNIFI.CPU.USAGE.WARNING} | Cpu % Warning Trigger threshold | `80` | `true` | `numeric` | 41 | | {$UNIFI.CPU.USAGE.WARNING.SEC} | Cpu Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 42 | | {$UNIFI.IP} | Unifi Ip | `-` | `true` | `text` | 43 | | {$UNIFI.ISP.LATENCY.HIGH} | ISP ms High Trigger threshold | `30` | `true` | `numeric` | 44 | | {$UNIFI.ISP.LATENCY.HIGH.SEC} | ISP High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 45 | | {$UNIFI.ISP.LATENCY.WARNING} | ISP ms Warning Trigger threshold | `15` | `true` | `numeric` | 46 | | {$UNIFI.ISP.LATENCY.WARNING.SEC} | ISP Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 47 | | {$UNIFI.ISP.SPEED.DOWNLOAD} | ISP Max Download Speed in Mbps | `1000` | `true` | `numeric` | 48 | | {$UNIFI.ISP.SPEED.DOWNLOAD.HIGH} | ISP Download % High Trigger threshold | `95` | `true` | `numeric` | 49 | | {$UNIFI.ISP.SPEED.DOWNLOAD.HIGH.SEC} | ISP Download Avg High Trigger threshold in seconds | `900` | `true` | `numeric` | 50 | | {$UNIFI.ISP.SPEED.DOWNLOAD.WARNING} | ISP Download % Warning Trigger threshold | `85` | `true` | `numeric` | 51 | | {$UNIFI.ISP.SPEED.DOWNLOAD.WARNING.SEC} | ISP Download Avg Warning Trigger threshold in seconds | `900` | `true` | `numeric` | 52 | | {$UNIFI.ISP.SPEED.UPLOAD} | ISP Max Upload Speed in Mbps | `250` | `true` | `numeric` | 53 | | {$UNIFI.ISP.SPEED.UPLOAD.HIGH} | ISP Upload % High Trigger threshold | `85` | `true` | `numeric` | 54 | | {$UNIFI.ISP.SPEED.UPLOAD.HIGH.SEC} | ISP Upload Avg High Trigger threshold in seconds | `900` | `true` | `numeric` | 55 | | {$UNIFI.ISP.SPEED.UPLOAD.WARNING} | ISP Upload % Warning Trigger threshold | `95` | `true` | `numeric` | 56 | | {$UNIFI.ISP.SPEED.UPLOAD.WARNING.SEC} | ISP Upload Avg Warning Trigger threshold in seconds | `900` | `true` | `numeric` | 57 | | {$UNIFI.MEMORY.USAGE.HIGH} | Memory % High Trigger threshold | `90` | `true` | `numeric` | 58 | | {$UNIFI.MEMORY.USAGE.HIGH.SEC} | Memory High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 59 | | {$UNIFI.MEMORY.USAGE.WARNING} | Memory % Warning Trigger threshold | `80` | `true` | `numeric` | 60 | | {$UNIFI.MEMORY.USAGE.WARNING.SEC} | Memory Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 61 | | {$UNIFI.PASSWORD} | Unifi View Only Password | `-` | `true` | `numeric` | 62 | | {$UNIFI.SW.DISCONNECTED.SEC} | SW Disconnected Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 63 | | {$UNIFI.SW.PENDING.SEC} | SW Pending Trigger Avg threshold in seconds | `1800` | `true` | `numeric` | 64 | | {$UNIFI.USERNAME} | Unifi View Only Username | `-` | `true` | `numeric` | 65 | 66 | ## Unifi Network: Discovery rules 67 | 68 | | Name | Description | Type | Key and additional info | 69 | | ----------------------------------- | ---------------------------------------- | ---------------- | ------------------------------- | 70 | | *API stat/sta*: Client Wired | Discover all wired client devices | `Dependent item` | unifi.client.wired.discovery | 71 | | *API stat/sta*: Client Wireless | Discover all wireless client devices | `Dependent item` | unifi.client.wireless.discovery | 72 | | *API stat/device-basic*: Device UAP | Discover all Unifi Access Point devices | `Dependent item` | unifi.device.uap.discovery | 73 | | *API stat/device-basic*: Device UDM | Discover all Unifi Dream Machine devices | `Dependent item` | unifi.device.udm.discovery | 74 | | *API stat/device-basic*: Device USW | Discover all Unifi Switch devices | `Dependent item` | unifi.device.usw.discovery | 75 | 76 | ## Unifi Network: Items prototype 77 | 78 | | Name | Description | Type | Key and additional info | 79 | | ---------------------------------------------------------- | ----------------------------- | ---------------- | ------------------------------------------------ | 80 | | *API stat/sta*: {#NAME} DNS Record | Client dns record | `Dependent item` | unifi.client.wired.dns.record[{#MAC}] | 81 | | *API stat/sta*: {#NAME} DNS Record Enabled | Client dns record enabled | `Dependent item` | unifi.client.wired.dns.record.enabled[{#MAC}] | 82 | | *API stat/sta*: {#NAME} First Seen | Client first seen date | `Dependent item` | unifi.client.wired.seen.first[{#MAC}] | 83 | | *API stat/sta*: {#NAME} Guest | Client is guest | `Dependent item` | unifi.client.wired.guest[{#MAC}] | 84 | | *API stat/sta*: {#NAME} Hostname | Client hostname | `Dependent item` | unifi.client.wired.hostname[{#MAC}] | 85 | | *API stat/sta*: {#NAME} IP | Client IP | `Dependent item` | unifi.client.wired.ip[{#MAC}] | 86 | | *API stat/sta*: {#NAME} IP Fixed | Client IP is fixed | `Dependent item` | unifi.client.wired.ip.fixed[{#MAC}] | 87 | | *API stat/sta*: {#NAME} Last Seen | Client last seen date | `Dependent item` | unifi.client.wired.seen.last[{#MAC}] | 88 | | *API stat/sta*: {#NAME} Macaddress | Client Macaddress | `Dependent item` | unifi.client.wired.mac[{#MAC}] | 89 | | *API stat/sta*: {#NAME} Network | Client Network | `Dependent item` | unifi.client.wired.network[{#MAC}] | 90 | | *API stat/sta*: {#NAME} Uptime | Client uptime | `Dependent item` | unifi.client.wired.uptime[{#MAC}] | 91 | | *API stat/sta*: {#NAME} Vlan | Client vlan id | `Dependent item` | unifi.client.wired.vlan[{#MAC}] | 92 | | *API stat/sta*: {#NAME} Wired Switch Depth | Client switch depth | `Dependent item` | unifi.client.wired.sw.depth[{#MAC}] | 93 | | *API stat/sta*: {#NAME} Wired Switch Port | Client switch port | `Dependent item` | unifi.client.wired.sw.port[{#MAC}] | 94 | | *API stat/sta*: {#NAME} Wired Switch Port Macaddress | Client switch macaddress port | `Dependent item` | unifi.client.wired.sw.port.mac[{#MAC}] | 95 | | *API stat/sta*: {#NAME} Wired Switch Port Speed | Client switch port speed | `Dependent item` | unifi.client.wired.sw.port.speed[{#MAC}] | 96 | | *API stat/sta*: {#NAME} Wired Switch Port Total rx | Client total rx byte | `Dependent item` | unifi.client.wired.sw.port.rx.bytes[{#MAC}] | 97 | | *API stat/sta*: {#NAME} Wired Switch Port Total rx Packets | Client total rx packets | `Dependent item` | unifi.client.wired.sw.port.rx.packets[{#MAC}] | 98 | | *API stat/sta*: {#NAME} Wired Switch Port rx Rate | Client rx rate byte/seconds | `Dependent item` | unifi.client.wired.sw.port.rx.bytes.r[{#MAC}] | 99 | | *API stat/sta*: {#NAME} Wired Switch Port Total tx | Client total tx byte | `Dependent item` | unifi.client.wired.sw.port.tx.bytes[{#MAC}] | 100 | | *API stat/sta*: {#NAME} Wired Switch Port Total tx Packets | Client total tx packets | `Dependent item` | unifi.client.wired.sw.port.tx.packets[{#MAC}] | 101 | | *API stat/sta*: {#NAME} Wired Switch Port tx Rate | Client tx rate byte/seconds | `Dependent item` | unifi.client.wired.sw.port.tx.bytes.r[{#MAC}] | 102 | | *API stat/sta*: {#NAME} DNS Record | Client dns record | `Dependent item` | unifi.client.wireless.dns.record[{#MAC}] | 103 | | *API stat/sta*: {#NAME} DNS Record Enabled | Client dns record enabled | `Dependent item` | unifi.client.wireless.dns.record.enabled[{#MAC}] | 104 | | *API stat/sta*: {#NAME} First Seen | Client first seen date | `Dependent item` | unifi.client.wireless.seen.first[{#MAC}] | 105 | | *API stat/sta*: {#NAME} Guest | Client is guest | `Dependent item` | unifi.client.wireless.guest[{#MAC}] | 106 | | *API stat/sta*: {#NAME} Hostname | Client hostname | `Dependent item` | unifi.client.wireless.hostname[{#MAC}] | 107 | | *API stat/sta*: {#NAME} IP | Client IP | `Dependent item` | unifi.client.wireless.ip[{#MAC}] | 108 | | *API stat/sta*: {#NAME} IP Fixed | Client IP is fixed | `Dependent item` | unifi.client.wireless.ip.fixed[{#MAC}] | 109 | | *API stat/sta*: {#NAME} Last Seen | Client last seen date | `Dependent item` | unifi.client.wireless.seen.last[{#MAC}] | 110 | | *API stat/sta*: {#NAME} Macaddress | Client Macaddress | `Dependent item` | unifi.client.wireless.mac[{#MAC}] | 111 | | *API stat/sta*: {#NAME} Network | Client Network | `Dependent item` | unifi.client.wireless.network[{#MAC}] | 112 | | *API stat/sta*: {#NAME} Uptime | Client uptime | `Dependent item` | unifi.client.wireless.uptime[{#MAC}] | 113 | | *API stat/sta*: {#NAME} Vlan | Client vlan id | `Dependent item` | unifi.client.wireless.vlan[{#MAC}] | 114 | | *API stat/sta*: {#NAME} Wireless AP bssid | Access Point bssid | `Dependent item` | unifi.client.wireless.ap.bssid[{#MAC}] | 115 | | *API stat/sta*: {#NAME} Wireless AP Channel | Access Point channel | `Dependent item` | unifi.client.wireless.ap.channel[{#MAC}] | 116 | | *API stat/sta*: {#NAME} Wireless AP essid | Access Point essid | `Dependent item` | unifi.client.wireless.ap.essid[{#MAC}] | 117 | | *API stat/sta*: {#NAME} Wireless AP Macaddress | Access Point macaddress | `Dependent item` | unifi.client.wireless.ap.mac[{#MAC}] | 118 | | *API stat/sta*: {#NAME} Wireless AP Radio | Client radio | `Dependent item` | unifi.client.wireless.ap.radio[{#MAC}] | 119 | | *API stat/sta*: {#NAME} Wireless Noise | Client noise | `Dependent item` | unifi.client.wireless.ap.noise[{#MAC}] | 120 | | *API stat/sta*: {#NAME} Wireless powersave | Client is in powersave | `Dependent item` | unifi.client.wireless.ap.powersave[{#MAC}] | 121 | | *API stat/sta*: {#NAME} Wireless Total rx | Client total rx byte | `Dependent item` | unifi.client.wireless.rx.bytes[{#MAC}] | 122 | | *API stat/sta*: {#NAME} Wireless Total rx Packets | Client total rx packets | `Dependent item` | unifi.client.wireless.rx.packets[{#MAC}] | 123 | | *API stat/sta*: {#NAME} Wireless rx Rate | Client rx rate byte/seconds | `Dependent item` | unifi.client.wireless.rx.bytes.r[{#MAC}] | 124 | | *API stat/sta*: {#NAME} Wireless Total tx | Client total tx byte | `Dependent item` | unifi.client.wireless.tx.bytes[{#MAC}] | 125 | | *API stat/sta*: {#NAME} Wireless Total tx Packets | Client total tx packets | `Dependent item` | unifi.client.wireless.tx.packets[{#MAC}] | 126 | | *API stat/sta*: {#NAME} Wireless tx Rate | Client tx rate byte/seconds | `Dependent item` | unifi.client.wireless.tx.bytes.r[{#MAC}] | 127 | 128 | ## Unifi Network: Host prototypes 129 | 130 | | Name | Description | Templates | Host Group | 131 | | ----------------- | ------------------------------------------------------ | --------- | ---------- | 132 | | Unifi UAP {#NAME} | Create an host for each Unifi Access Point discovered | Unifi UAP | Network | 133 | | Unifi UDM {#NAME} | Create an host for each Unifi Dream Machine discovered | Unifi UDM | Network | 134 | | Unifi USW {#NAME} | Create an host for each Unifi Switch discovered | Unifi UAP | Network | 135 | 136 | ## Unifi Network: Items 137 | 138 | | Name | Description | Type | Key and additional info | 139 | | ----------------------------------------------------- | ------------------------------------------ | ---------------- | ----------------------------- | 140 | | API stat/device-basic | Get all Unifi devices | `HTTP agent` | unifi.device

Update: 1d

| 141 | | API stat/health | Get Unifi Network health metrics | `HTTP agent` | unifi.health

Update: 5m

| 142 | | API stat/sta | Get metrics for all client on network | `HTTP agent` | unifi.client

Update: 5m

| 143 | | *API stat/health*: Unifi Gateway CPU Usage % | CPU usage percentage | `Dependent item` | unifi.cpu | 144 | | *API stat/health*: Unifi Gateway LAN Client | Number of clients on lan | `Dependent item` | unifi.lan.client | 145 | | *API stat/health*: Unifi Gateway LAN Guest Client | Number of clients on guest lan | `Dependent item` | unifi.lan.guest.client | 146 | | *API stat/health*: Unifi Gateway LAN Status | Lan status | `Dependent item` | unifi.lan.status | 147 | | *API stat/health*: Unifi Gateway LAN SW | Number of Unifi Switch | `Dependent item` | unifi.lan.sw | 148 | | *API stat/health*: Unifi Gateway LAN SW Adopted | Number of adopted Unifi Switch | `Dependent item` | unifi.lan.sw.adopted | 149 | | *API stat/health*: Unifi Gateway LAN SW Disconnected | Number of disconnected Unifi Switch | `Dependent item` | unifi.lan.sw.disconnected | 150 | | *API stat/health*: Unifi Gateway LAN SW Pending | Number of pending Unifi Switch | `Dependent item` | unifi.lan.sw.pending | 151 | | *API stat/health*: Unifi Gateway Memory Usage % | Memory usage percentage | `Dependent item` | unifi.mem | 152 | | *API stat/health*: Unifi Gateway Name | Unifi gateway hostname | `Dependent item` | unifi.gw_name | 153 | | *API stat/health*: Unifi Gateway Uptime | Unifi gateway uptime | `Dependent item` | unifi.uptime | 154 | | *API stat/health*: Unifi Gateway VPN Active Users | Number of users using vpn | `Dependent item` | unifi.vpn.users | 155 | | *API stat/health*: Unifi Gateway VPN Status | Vpn status | `Dependent item` | unifi.vpn.status | 156 | | *API stat/health*: Unifi Gateway WAN Download | Current WAN download usage | `Dependent item` | unifi.wan.isp.download | 157 | | *API stat/health*: Unifi Gateway WAN ISP Availability | WAN availability | `Dependent item` | unifi.wan.isp.availability | 158 | | *API stat/health*: Unifi Gateway WAN ISP Latency Avg | Avarage ISP latency | `Dependent item` | unifi.wan.isp.latency | 159 | | *API stat/health*: Unifi Gateway WAN ISP Name | ISP name | `Dependent item` | unifi.wan.isp.name | 160 | | *API stat/health*: Unifi Gateway WAN ISP Organization | ISP organization | `Dependent item` | unifi.wan.isp.organization | 161 | | *API stat/health*: Unifi Gateway WAN ISP Uptime | ISP uptime | `Dependent item` | unifi.wan.isp.uptime | 162 | | *API stat/health*: Unifi Gateway WAN Status | WAN status | `Dependent item` | unifi.wan.status | 163 | | *API stat/health*: Unifi Gateway WAN Upload | Current WAN upload usage | `Dependent item` | unifi.wan.isp.upload | 164 | | *API stat/health*: Unifi Gateway WLAN AP | Number of Unifi Access Point | `Dependent item` | unifi.wlan.ap | 165 | | *API stat/health*: Unifi Gateway WLAN AP Adopted | Number of adopted Unifi Access Point | `Dependent item` | unifi.wlan.ap.adopted | 166 | | *API stat/health*: Unifi Gateway WLAN AP Disabled | Number of disabled Unifi Access Point | `Dependent item` | unifi.wlan.ap.disabled | 167 | | *API stat/health*: Unifi Gateway WLAN AP Disconnected | Number of disconnected Unifi Access Point | `Dependent item` | unifi.wlan.ap.disconnected | 168 | | *API stat/health*: Unifi Gateway WLAN AP Pending | Number of pending Unifi Access Point | `Dependent item` | unifi.wlan.ap.pending | 169 | | *API stat/health*: Unifi Gateway WLAN Client | Number of clients on wlan | `Dependent item` | unifi.wlan.client | 170 | | *API stat/health*: Unifi Gateway WLAN Guest Client | Number of clients on guest wlan | `Dependent item` | unifi.wlan.guest.client | 171 | | *API stat/health*: Unifi Gateway WLAN Status | Lan status | `Dependent item` | unifi.wlan.status | 172 | 173 | ## Unifi Network: Triggers 174 | 175 | | Name | Description | Expression | Priority | 176 | | --- | ----------- | ---------- | -------- | 177 | | CPU Usage > {$UNIFI.CPU.USAGE.HIGH}% | Alert when CPU usage is above {$UNIFI.CPU.USAGE.HIGH} |

***Expression***: avg(/Unifi Network/unifi.cpu,{$UNIFI.CPU.USAGE.HIGH.SEC})>{$UNIFI.CPU.USAGE.HIGH}

***Recovery expression***:

| High | 178 | | CPU Usage > {$UNIFI.CPU.USAGE.WARNING}% | Alert when CPU usage is above {$UNIFI.CPU.USAGE.WARNING} |

***Expression***: avg(/Unifi Network/unifi.cpu,{$UNIFI.CPU.USAGE.WARNING.SEC})>{$UNIFI.CPU.USAGE.WARNING}

***Recovery expression***:

| Warning | 179 | | Device rebooted | Alert on device reboot |

***Expression***: last(/Unifi Network/unifi.uptime)<86400

***Recovery expression***:

| Warning | 180 | | Hostname Changed | Alert on hostname change |

***Expression***: last(/Unifi Network/unifi.gw_name,#1:now-24h)<>last(/Unifi Network/unifi.gw_name,#1)=1

***Recovery expression***:

| Warning | 181 | | ISP Download Usage > {$UNIFI.ISP.SPEED.DOWNLOAD.HIGH}% | Alert when ISP Download usage is above {$UNIFI.ISP.SPEED.DOWNLOAD.HIGH} |

***Expression***: avg(/Unifi Network/unifi.wan.isp.download,{$UNIFI.ISP.SPEED.DOWNLOAD.HIGH.SEC})/10000/{$UNIFI.ISP.SPEED.DOWNLOAD}>{$UNIFI.ISP.SPEED.DOWNLOAD.HIGH}

***Recovery expression***:

| High | 182 | | ISP Download Usage > {$UNIFI.ISP.SPEED.DOWNLOAD.WARNING}% | Alert when ISP Download usage is above {$UNIFI.ISP.SPEED.DOWNLOAD.WARNING} |

***Expression***: avg(/Unifi Network/unifi.wan.isp.download,{$UNIFI.ISP.SPEED.DOWNLOAD.WARNING.SEC})/10000/{$UNIFI.ISP.SPEED.DOWNLOAD}>{$UNIFI.ISP.SPEED.DOWNLOAD.WARNING}

***Recovery expression***:

| Warning | 183 | | ISP Latency Usage > {$UNIFI.ISP.LATENCY.HIGH}ms | Alert when ISP Latency usage is above {$UNIFI.ISP.LATENCY.HIGH} |

***Expression***: avg(/Unifi Network/unifi.wan.isp.latency,{$UNIFI.ISP.LATENCY.HIGH.SEC})>{$UNIFI.ISP.LATENCY.HIGH}

***Recovery expression***:

| High | 184 | | ISP Latency Usage > {$UNIFI.ISP.LATENCY.WARNING}ms | Alert when ISP Latency usage is above {$UNIFI.ISP.LATENCY.WARNING} |

***Expression***: avg(/Unifi Network/unifi.wan.isp.latency,{$UNIFI.ISP.LATENCY.WARNING.SEC})>{$UNIFI.ISP.LATENCY.WARNING}

***Recovery expression***:

| Warning | 185 | | ISP Upload Usage > {$UNIFI.ISP.SPEED.UPLOAD.HIGH}% | Alert when ISP Upload usage is above {$UNIFI.ISP.SPEED.UPLOAD.HIGH} |

***Expression***: avg(/Unifi Network/unifi.wan.isp.upload,{$UNIFI.ISP.SPEED.UPLOAD.HIGH.SEC})/10000/{$UNIFI.ISP.SPEED.UPLOAD}>{$UNIFI.ISP.SPEED.UPLOAD.HIGH}

***Recovery expression***:

| High | 186 | | ISP Upload Usage > {$UNIFI.ISP.SPEED.UPLOAD.WARNING}% | Alert when ISP Upload usage is above {$UNIFI.ISP.SPEED.UPLOAD.WARNING} |

***Expression***: avg(/Unifi Network/unifi.wan.isp.upload,{$UNIFI.ISP.SPEED.UPLOAD.WARNING.SEC})/10000/{$UNIFI.ISP.SPEED.UPLOAD}>{$UNIFI.ISP.SPEED.UPLOAD.WARNING}

***Recovery expression***:

| Warning | 187 | | ISP Uptime changed | Alert on ISP uptime change |

***Expression***: last(/Unifi Network/unifi.wan.isp.uptime)<3600

***Recovery expression***:

| Warning | 188 | | Memory Usage > {$UNIFI.MEMORY.USAGE.HIGH}% | Alert when Memory usage is above {$UNIFI.MEMORY.USAGE.HIGH} |

***Expression***: avg(/Unifi Network/unifi.mem,{$UNIFI.MEMORY.USAGE.HIGH.SEC})>{$UNIFI.MEMORY.USAGE.HIGH}

***Recovery expression***:

| High | 189 | | Memory Usage > {$UNIFI.MEMORY.USAGE.WARNING}% | Alert when Memory usage is above {$UNIFI.MEMORY.USAGE.WARNING} |

***Expression***: avg(/Unifi Network/unifi.mem,{$UNIFI.MEMORY.USAGE.WARNING.SEC})>{$UNIFI.MEMORY.USAGE.WARNING}

***Recovery expression***:

| Warning | 190 | | One or more Acces Point is disconnected | Alert if one or more access point is disconnected |

***Expression***: avg(/Unifi Network/unifi.wlan.ap.disconnected,{$UNIFI.AP.DISCONNECTED.SEC})>0

***Recovery expression***:

| High | 191 | | One or more Access Point need to be adopted | Alert if one or more access point need to be adopted |

***Expression***: avg(/Unifi Network/unifi.wlan.ap.pending,{$UNIFI.AP.PENDING.SEC})>0

***Recovery expression***:

| Information | 192 | | One or more Switch is disconnected | Alert if one or more switch is disconnected |

***Expression***: avg(/Unifi Network/unifi.lan.sw.disconnected,{$UNIFI.SW.DISCONNECTED.SEC})>0

***Recovery expression***:

| High | 193 | | One or more Switch need to be adopted | Alert if one or more switch need to be adopted |

***Expression***: avg(/Unifi Network/unifi.lan.sw.pending,{$UNIFI.SW.PENDING.SEC})>0

***Recovery expression***:

| Information | 194 | | Problem on LAN | Alert on lan problem |

***Expression***: last(/Unifi Network/unifi.lan.status,#3)<>"ok"

***Recovery expression***:

| High | 195 | | Problem on VPN | Alert on vpn problem |

***Expression***: last(/Unifi Network/unifi.vpn.status,#3)<>"ok"

***Recovery expression***:

| High | 196 | | Problem on WAN | Alert on wan problem |

***Expression***: last(/Unifi Network/unifi.wan.status,#3)<>"ok"

***Recovery expression***:

| High | 197 | | Problem on WLAN | Alert on wlan problem |

***Expression***: last(/Unifi Network/unifi.wlan.status,#3)<>"ok"

***Recovery expression***:

| High | 198 | | Unifi API not responding | Alert when Unifi Network API are not reachable |

***Expression***: last(/Unifi Network/unifi.health,#3)=""

***Recovery expression***:

| High | 199 | 200 | ## Unifi UDM: Macros 201 | 202 | | Name | Description | Default | Required | Type | 203 | | --------------------------------------- | ----------------------------------------------------- | ---------------------------------- | -------- | --------- | 204 | | {$UNIFI.CPU.USAGE.HIGH} | Cpu % High Trigger threshold | `90` | `true` | `numeric` | 205 | | {$UNIFI.CPU.USAGE.HIGH.SEC} | Cpu High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 206 | | {$UNIFI.CPU.USAGE.WARNING} | Cpu % Warning Trigger threshold | `80` | `true` | `numeric` | 207 | | {$UNIFI.CPU.USAGE.WARNING.SEC} | Cpu Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 208 | | {$UNIFI.IP} | Unifi Ip | `-` | `true` | `text` | 209 | | {$UNIFI.MEMORY.USAGE.HIGH} | Memory % High Trigger threshold | `90` | `true` | `numeric` | 210 | | {$UNIFI.MEMORY.USAGE.HIGH.SEC} | Memory High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 211 | | {$UNIFI.MEMORY.USAGE.WARNING} | Memory % Warning Trigger threshold | `80` | `true` | `numeric` | 212 | | {$UNIFI.MEMORY.USAGE.WARNING.SEC} | Memory Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 213 | | {$UNIFI.PASSWORD} | Unifi View Only Password | `-` | `true` | `numeric` | 214 | | {$UNIFI.TEMP.HIGH} | Temperatire High Trigger threshold | `80` | `true` | `numeric` | 215 | | {$UNIFI.TEMP.HIGH.SEC} | Temperatire High Trigger threshold in sec | `900` | `true` | `numeric` | 216 | | {$UNIFI.TEMP.WARNING} | Temperatire Warning Trigger threshold | `80` | `true` | `numeric` | 217 | | {$UNIFI.TEMP.WARNING.SEC} | Temperatire Warning Trigger threshold in sec | `900` | `true` | `numeric` | 218 | | {$UNIFI.UDM.MAC} | UNIFI GW Macaddress | `-` | `true` | `text` | 219 | | {$UNIFI.USERNAME} | Unifi View Only Username | `-` | `true` | `numeric` | 220 | | {$UNIFI.API.AUTH.URI} | Unifi API Authentication route | `api/auth/login` | `true` | `text` | 221 | | {$UNIFI.API.AUTH.TOKEN} | Unifi API Authentication cookie name | `TOKEN` | `true` | `text` | 222 | | {$UNIFI.API.URI} | Unifi API route | `proxy/network/api/s/default/stat` | `true` | `text` | 223 | 224 | ## Unifi UDM: Discovery rules 225 | 226 | | Name | Description | Type | Key and additional info | 227 | | ------------------------------------------------ | -------------------------------- | ---------------- | ------------------------------- | 228 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port | Discover UDM ports | `Dependent item` | unifi.udm.port.discovery | 229 | | *API stat/device/{$UNIFI.UDM.MAC}*: Temperatures | Discover UDM temperature sensors | `Dependent item` | unifi.udm.temperature.discovery | 230 | 231 | ## Unifi UDM: Items prototype 232 | 233 | | Name | Description | Type | Key and additional info | 234 | | ----------------------------------------------------------------- | ----------------------------- | ---------------- | ---------------------------------- | 235 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Enabled | Port enabled | `Dependent item` | unifi.udm.port.enabled[{#ID}] | 236 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Media | Port type | `Dependent item` | unifi.udm.port.media[{#ID}] | 237 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Mode | Port mode | `Dependent item` | unifi.udm.port.mode[{#ID}] | 238 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Name | Port name | `Dependent item` | unifi.udm.port.name[{#ID}] | 239 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} POE Capable | Port POE capable | `Dependent item` | unifi.udm.port.poe.capable[{#ID}] | 240 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} POE Good | Port POE state | `Dependent item` | unifi.udm.port.poe.good[{#ID}] | 241 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} POE Mode | Port POE mode | `Dependent item` | unifi.udm.port.poe.mode[{#ID}] | 242 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} POE Power | Port POE Watt | `Dependent item` | unifi.udm.port.poe.power[{#ID}] | 243 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Speed | Port speed | `Dependent item` | unifi.udm.port.speed[{#ID}] | 244 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total RX | Port total rx bytes | `Dependent item` | unifi.udm.port.rx[{#ID}] | 245 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total RX Broadcast | Port total rx broadcast bytes | `Dependent item` | unifi.udm.port.rx.broadcast[{#ID}] | 246 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total RX Dropped | Port total rx dropped bytes | `Dependent item` | unifi.udm.port.rx.dropped[{#ID}] | 247 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total RX Errors | Port total rx error bytes | `Dependent item` | unifi.udm.port.rx.errors[{#ID}] | 248 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total RX Multicast | Port total rx multicast bytes | `Dependent item` | unifi.udm.port.rx.multicast[{#ID}] | 249 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total RX Packets | Port total rx packets | `Dependent item` | unifi.udm.port.rx.packets[{#ID}] | 250 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total TX | Port total tx bytes | `Dependent item` | unifi.udm.port.tx[{#ID}] | 251 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total TX Broadcast | Port total tx broadcast bytes | `Dependent item` | unifi.udm.port.tx.broadcast[{#ID}] | 252 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total TX Dropped | Port total tx dropped bytes | `Dependent item` | unifi.udm.port.tx.dropped[{#ID}] | 253 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total TX Errors | Port total tx errors bytes | `Dependent item` | unifi.udm.port.tx.errors[{#ID}] | 254 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total TX Multicast | Port total tx multicast bytes | `Dependent item` | unifi.udm.port.tx.multicast[{#ID}] | 255 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total TX Packets | Port total tx packets | `Dependent item` | unifi.udm.port.tx.packets[{#ID}] | 256 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Up | Port up state | `Dependent item` | unifi.udm.port.up[{#ID}] | 257 | | *API stat/device/{$UNIFI.UDM.MAC}*: Temperature {#NAME} | Temperature | `Dependent item` | udm.temperature[{#NAME}] | 258 | 259 | ## Unifi UDM: Triggers prototype 260 | 261 | | Name | Description | Expression | Priority | 262 | | ---------------------------------- | ----------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | 263 | | Temperature > {$UNIFI.TEMP.HIGH} | Alert when temperature is above {$UNIFI.TEMP.HIGH} |

***Expression***: last(/Unifi UDM/udm.temperature[{#NAME}],{$UNIFI.TEMP.HIGH.SEC})>{$UNIFI.TEMP.HIGH}

***Recovery expression***:

| High | 264 | | Temperature > {$UNIFI.TEMP.WARNING} | Alert when temperature is above {$UNIFI.TEMP.WARNING} |

***Expression***: last(/Unifi UDM/udm.temperature[{#NAME}],{$UNIFI.TEMP.WARNING.SEC})>{$UNIFI.TEMP.WARNING}

***Recovery expression***:

| Warning | 265 | 266 | ## Unifi UDM: Items 267 | 268 | | Name | Description | Type | Key and additional info | 269 | | ---------------------------------------------------------- | ------------------------------- | ---------------- | --------------------------------- | 270 | | API stat/device/{$UNIFI.UDM.MAC} | Get device metrics | `HTTP agent` | unifi.udm.device

Update: 5m

| 271 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Adopted | Is adopted | `Dependent item` | unifi.udm.adopted | 272 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Cpu Usage % | Current CPU usage in percentage | `Dependent item` | unifi.udm.cpu.usage | 273 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Inform Ip | Inform IP | `Dependent item` | unifi.udm.inform.ip | 274 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Inform Url | Inform Url | `Dependent item` | unifi.udm.inform.url | 275 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM IP | IP | `Dependent item` | unifi.udm.ip | 276 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Kernel Version | Kernel version | `Dependent item` | unifi.udm.kernel.version | 277 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Last Seen | Last seen date | `Dependent item` | unifi.udm.lastseen | 278 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Macaddress | Macaddress | `Dependent item` | unifi.udm.mac | 279 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Management Network | Management network | `Dependent item` | unifi.udm.network | 280 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Memory Usage % | Current Memory Usage | `Dependent item` | unifi.udm.memory.usage | 281 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Model | Model | `Dependent item` | unifi.udm.model | 282 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Serial | Serial | `Dependent item` | unifi.udm.serial | 283 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM SOC Arch | SOC Arch | `Dependent item` | unifi.udm.soc.arch | 284 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM State | State | `Dependent item` | unifi.udm.cpu.state | 285 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Total RX Byte | Total rx in bytes | `Dependent item` | unifi.udm.rx | 286 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Total TX Byte | Total tx in bytes | `Dependent item` | unifi.udm.tx | 287 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Upgradable | Is an upgrade available | `Dependent item` | unifi.udm.upgradable | 288 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Uptime | Uptime | `Dependent item` | unifi.udm.uptime | 289 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Version | Software version | `Dependent item` | unifi.udm.version | 290 | 291 | ## Unifi UDM: Triggers 292 | 293 | | Name | Description | Expression | Priority | 294 | | --------------------------------------------- | -------------------------------------------------------------- | ---------------------------------------------------------------------- | -------- | 295 | | CPU Usage > {$UNIFI.CPU.USAGE.HIGH}% | Alert when CPU usage is above {$UNIFI.CPU.USAGE.HIGH} |

***Expression***: avg(/Unifi UDM/unifi.udm.cpu.usage,{$UNIFI.CPU.USAGE.HIGH.SEC})>{$UNIFI.CPU.USAGE.HIGH}

***Recovery expression***:

| High | 296 | | CPU Usage > {$UNIFI.CPU.USAGE.WARNING}% | Alert when CPU usage is above {$UNIFI.CPU.USAGE.WARNING} |

***Expression***: avg(/Unifi UDM/unifi.udm.cpu.usage,{$UNIFI.CPU.USAGE.WARNING.SEC})>{$UNIFI.CPU.USAGE.WARNING}

***Recovery expression***:

| Warning | 297 | | GW Not Adopted | Alert if UDM need to be adopted |

***Expression***: last(/Unifi UDM/unifi.udm.adopted)<>"true"

***Recovery expression***:

| Information | 298 | | GW Offline | Alert when UDM go offline |

***Expression***: last(/Unifi UDM/unifi.udm.cpu.state,#3)<>1

***Recovery expression***:

| High | 299 | | GW Rebooted | Alert if UDM was rebooted |

***Expression***: last(/Unifi UDM/unifi.udm.uptime)<1800

***Recovery expression***:

| Warning | 300 | | Inform Url Changed | Alert on inform url change |

***Expression***: last(/Unifi UDM/unifi.udm.inform.url,#1:now-24h)<>last(/Unifi UDM/unifi.udm.inform.url,#1)=1

***Recovery expression***:

| Warning | 301 | | Management Network Changed | Alert on management network change |

***Expression***: last(/Unifi UDM/unifi.udm.network,#1:now-24h)<>last(/Unifi UDM/unifi.udm.network,#1)=1

***Recovery expression***:

| Warning | 302 | | Memory Usage > {$UNIFI.MEMORY.USAGE.HIGH}% | Alert when Memory usage is above {$UNIFI.MEMORY.USAGE.HIGH} |

***Expression***: avg(/Unifi UDM/unifi.udm.memory.usage,{$UNIFI.MEMORY.USAGE.HIGH.SEC})>{$UNIFI.MEMORY.USAGE.HIGH}

***Recovery expression***:

| High | 303 | | Memory Usage > {$UNIFI.MEMORY.USAGE.WARNING}% | Alert when Memory usage is above {$UNIFI.MEMORY.USAGE.WARNING} |

***Expression***: avg(/Unifi UDM/unifi.udm.memory.usage,{$UNIFI.MEMORY.USAGE.WARNING.SEC})>{$UNIFI.MEMORY.USAGE.WARNING}

***Recovery expression***:

| Warning | 304 | | Software Upgrade Available | Alert on software upgrade available |

***Expression***: last(/Unifi UDM/unifi.udm.upgradable)="true"

***Recovery expression***:

| Warning | 305 | | Software Version Changed | Alert on software version change |

***Expression***: last(/Unifi UDM/unifi.udm.version,#1:now-24h)<>last(/Unifi UDM/unifi.udm.version,#1)=1

***Recovery expression***:

| Information | 306 | 307 | ## Unifi USW: Macros 308 | 309 | | Name | Description | Default | Required | Type | 310 | | --------------------------------------- | ----------------------------------------------------- | ------- | -------- | --------- | 311 | | {$UNIFI.CPU.USAGE.HIGH} | Cpu % High Trigger threshold | `90` | `true` | `numeric` | 312 | | {$UNIFI.CPU.USAGE.HIGH.SEC} | Cpu High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 313 | | {$UNIFI.CPU.USAGE.WARNING} | Cpu % Warning Trigger threshold | `80` | `true` | `numeric` | 314 | | {$UNIFI.CPU.USAGE.WARNING.SEC} | Cpu Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 315 | | {$UNIFI.IP} | Unifi Ip | `-` | `true` | `text` | 316 | | {$UNIFI.MEMORY.USAGE.HIGH} | Memory % High Trigger threshold | `90` | `true` | `numeric` | 317 | | {$UNIFI.MEMORY.USAGE.HIGH.SEC} | Memory High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 318 | | {$UNIFI.MEMORY.USAGE.WARNING} | Memory % Warning Trigger threshold | `80` | `true` | `numeric` | 319 | | {$UNIFI.MEMORY.USAGE.WARNING.SEC} | Memory Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 320 | | {$UNIFI.PASSWORD} | Unifi View Only Password | `-` | `true` | `numeric` | 321 | | {$UNIFI.USW.MAC} | UNIFI USW Macaddress | `-` | `true` | `text` | 322 | | {$UNIFI.USERNAME} | Unifi View Only Username | `-` | `true` | `numeric` | 323 | 324 | ## Unifi USW: Discovery rules 325 | 326 | | Name | Description | Type | Key and additional info | 327 | | ------------------------------------------------ | -------------------------------- | ---------------- | ------------------------------- | 328 | | *API stat/device/{$UNIFI.USW.MAC}*: Port | Discover USW ports | `Dependent item` | unifi.usw.port.discovery | 329 | 330 | ## Unifi USW: Items prototypes 331 | 332 | | Name | Description | Type | Key and additional info | 333 | | ----------------------------------------------------------------- | ----------------------------- | ---------------- | ---------------------------------- | 334 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Enabled | Port enabled | `Dependent item` | unifi.usw.port.enabled[{#ID}] | 335 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Media | Port type | `Dependent item` | unifi.usw.port.media[{#ID}] | 336 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Mode | Port mode | `Dependent item` | unifi.usw.port.mode[{#ID}] | 337 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Name | Port name | `Dependent item` | unifi.usw.port.name[{#ID}] | 338 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} POE Capable | Port POE capable | `Dependent item` | unifi.usw.port.poe.capable[{#ID}] | 339 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} POE Good | Port POE state | `Dependent item` | unifi.usw.port.poe.good[{#ID}] | 340 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} POE Mode | Port POE mode | `Dependent item` | unifi.usw.port.poe.mode[{#ID}] | 341 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} POE Power | Port POE Watt | `Dependent item` | unifi.usw.port.poe.power[{#ID}] | 342 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Speed | Port speed | `Dependent item` | unifi.usw.port.speed[{#ID}] | 343 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total RX | Port total rx bytes | `Dependent item` | unifi.usw.port.rx[{#ID}] | 344 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total RX Broadcast | Port total rx broadcast bytes | `Dependent item` | unifi.usw.port.rx.broadcast[{#ID}] | 345 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total RX Dropped | Port total rx dropped bytes | `Dependent item` | unifi.usw.port.rx.dropped[{#ID}] | 346 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total RX Errors | Port total rx error bytes | `Dependent item` | unifi.usw.port.rx.errors[{#ID}] | 347 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total RX Multicast | Port total rx multicast bytes | `Dependent item` | unifi.usw.port.rx.multicast[{#ID}] | 348 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total RX Packets | Port total rx packets | `Dependent item` | unifi.usw.port.rx.packets[{#ID}] | 349 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total TX | Port total tx bytes | `Dependent item` | unifi.usw.port.tx[{#ID}] | 350 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total TX Broadcast | Port total tx broadcast bytes | `Dependent item` | unifi.usw.port.tx.broadcast[{#ID}] | 351 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total TX Dropped | Port total tx dropped bytes | `Dependent item` | unifi.usw.port.tx.dropped[{#ID}] | 352 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total TX Errors | Port total tx errors bytes | `Dependent item` | unifi.usw.port.tx.errors[{#ID}] | 353 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total TX Multicast | Port total tx multicast bytes | `Dependent item` | unifi.usw.port.tx.multicast[{#ID}] | 354 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total TX Packets | Port total tx packets | `Dependent item` | unifi.usw.port.tx.packets[{#ID}] | 355 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Up | Port up state | `Dependent item` | unifi.usw.port.up[{#ID}] | 356 | 357 | ## Unifi USW: Items 358 | 359 | | Name | Description | Type | Key and additional info | 360 | | ---------------------------------------------------------- | ------------------------------- | ---------------- | --------------------------------- | 361 | | API stat/device/{$UNIFI.USW.MAC} | Get device metrics | `HTTP agent` | unifi.usw.device

Update: 5m

| 362 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Adopted | Is adopted | `Dependent item` | unifi.usw.adopted | 363 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Cpu Usage % | Current CPU usage in percentage | `Dependent item` | unifi.usw.cpu.usage | 364 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Inform Ip | Inform IP | `Dependent item` | unifi.usw.inform.ip | 365 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Inform Url | Inform Url | `Dependent item` | unifi.usw.inform.url | 366 | | *API stat/device/{$UNIFI.USW.MAC}*: USW IP | IP | `Dependent item` | unifi.usw.ip | 367 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Kernel Version | Kernel version | `Dependent item` | unifi.usw.kernel.version | 368 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Last Seen | Last seen date | `Dependent item` | unifi.usw.lastseen | 369 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Macaddress | Macaddress | `Dependent item` | unifi.usw.mac | 370 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Management Network | Management network | `Dependent item` | unifi.usw.network | 371 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Memory Usage % | Current Memory Usage | `Dependent item` | unifi.usw.memory.usage | 372 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Model | Model | `Dependent item` | unifi.usw.model | 373 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Serial | Serial | `Dependent item` | unifi.usw.serial | 374 | | *API stat/device/{$UNIFI.USW.MAC}*: USW SOC Arch | SOC Arch | `Dependent item` | unifi.usw.soc.arch | 375 | | *API stat/device/{$UNIFI.USW.MAC}*: USW State | State | `Dependent item` | unifi.usw.cpu.state | 376 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Total RX Byte | Total rx in bytes | `Dependent item` | unifi.usw.rx | 377 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Total TX Byte | Total tx in bytes | `Dependent item` | unifi.usw.tx | 378 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Upgradable | Is an upgrade available | `Dependent item` | unifi.usw.upgradable | 379 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Uplink Device | Uplink device name | `Dependent item` | unifi.usw.uplink.device | 380 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Uplink Port | Uplink device port | `Dependent item` | unifi.usw.uplink.port | 381 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Uplink Type | Uplink device type | `Dependent item` | unifi.usw.uplink.type | 382 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Uptime | Uptime | `Dependent item` | unifi.usw.uptime | 383 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Version | Software version | `Dependent item` | unifi.usw.version | 384 | 385 | ## Unifi USW: Triggers 386 | 387 | | Name | Description | Expression | Priority | 388 | | --------------------------------------------- | -------------------------------------------------------------- | ---------------------------------------------------------------------- | -------- | 389 | | CPU Usage > {$UNIFI.CPU.USAGE.HIGH}% | Alert when CPU usage is above {$UNIFI.CPU.USAGE.HIGH} |

***Expression***: avg(/Unifi USW/unifi.usw.cpu.usage,{$UNIFI.CPU.USAGE.HIGH.SEC})>{$UNIFI.CPU.USAGE.HIGH}

***Recovery expression***:

| High | 390 | | CPU Usage > {$UNIFI.CPU.USAGE.WARNING}% | Alert when CPU usage is above {$UNIFI.CPU.USAGE.WARNING} |

***Expression***: avg(/Unifi USW/unifi.usw.cpu.usage,{$UNIFI.CPU.USAGE.WARNING.SEC})>{$UNIFI.CPU.USAGE.WARNING}

***Recovery expression***:

| Warning | 391 | | Inform Url Changed | Alert on inform url change |

***Expression***: last(/Unifi USW/unifi.usw.inform.url,#1:now-24h)<>last(/Unifi USW/unifi.usw.inform.url,#1)=1

***Recovery expression***:

| Warning | 392 | | Management Network Changed | Alert on management network change |

***Expression***: last(/Unifi USW/unifi.usw.network,#1:now-24h)<>last(/Unifi USW/unifi.usw.network,#1)=1

***Recovery expression***:

| Warning | 393 | | Memory Usage > {$UNIFI.MEMORY.USAGE.HIGH}% | Alert when Memory usage is above {$UNIFI.MEMORY.USAGE.HIGH} |

***Expression***: avg(/Unifi USW/unifi.usw.memory.usage,{$UNIFI.MEMORY.USAGE.HIGH.SEC})>{$UNIFI.MEMORY.USAGE.HIGH}

***Recovery expression***:

| High | 394 | | Memory Usage > {$UNIFI.MEMORY.USAGE.WARNING}% | Alert when Memory usage is above {$UNIFI.MEMORY.USAGE.WARNING} |

***Expression***: avg(/Unifi USW/unifi.usw.memory.usage,{$UNIFI.MEMORY.USAGE.WARNING.SEC})>{$UNIFI.MEMORY.USAGE.WARNING}

***Recovery expression***:

| Warning | 395 | | Software Upgrade Available | Alert on software upgrade available |

***Expression***: last(/Unifi USW/unifi.usw.upgradable)="true"

***Recovery expression***:

| Warning | 396 | | Software Version Changed | Alert on software version change |

***Expression***: last(/Unifi USW/unifi.usw.version,#1:now-24h)<>last(/Unifi USW/unifi.usw.version,#1)=1

***Recovery expression***:

| Information | 397 | | SW Not Adopted | Alert if USW need to be adopted |

***Expression***: last(/Unifi USW/unifi.usw.adopted)<>"true"

***Recovery expression***:

| Information | 398 | | SW Offline | Alert when USW go offline |

***Expression***: last(/Unifi USW/unifi.usw.cpu.state,#3)<>1

***Recovery expression***:

| High | 399 | | SW Rebooted | Alert if USW was rebooted |

***Expression***: last(/Unifi USW/unifi.usw.uptime)<1800

***Recovery expression***:

| Warning | 400 | 401 | ## Unifi UAP: Macros 402 | 403 | | Name | Description | Default | Required | Type | 404 | | --------------------------------------- | ----------------------------------------------------- | ------- | -------- | --------- | 405 | | {$UNIFI.CPU.USAGE.HIGH} | Cpu % High Trigger threshold | `90` | `true` | `numeric` | 406 | | {$UNIFI.CPU.USAGE.HIGH.SEC} | Cpu High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 407 | | {$UNIFI.CPU.USAGE.WARNING} | Cpu % Warning Trigger threshold | `80` | `true` | `numeric` | 408 | | {$UNIFI.CPU.USAGE.WARNING.SEC} | Cpu Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 409 | | {$UNIFI.IP} | Unifi Ip | `-` | `true` | `text` | 410 | | {$UNIFI.MEMORY.USAGE.HIGH} | Memory % High Trigger threshold | `90` | `true` | `numeric` | 411 | | {$UNIFI.MEMORY.USAGE.HIGH.SEC} | Memory High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 412 | | {$UNIFI.MEMORY.USAGE.WARNING} | Memory % Warning Trigger threshold | `80` | `true` | `numeric` | 413 | | {$UNIFI.MEMORY.USAGE.WARNING.SEC} | Memory Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 414 | | {$UNIFI.PASSWORD} | Unifi View Only Password | `-` | `true` | `numeric` | 415 | | {$UNIFI.UAP.MAC} | UNIFI UAP Macaddress | `-` | `true` | `text` | 416 | | {$UNIFI.USERNAME} | Unifi View Only Username | `-` | `true` | `numeric` | 417 | 418 | ## Unifi UAP: Discovery rules 419 | 420 | | Name | Description | Type | Key and additional info | 421 | | ------------------------------------------------ | -------------------------------- | ---------------- | ------------------------------- | 422 | | *API stat/device/{$UNIFI.UAP.MAC}*: Radio | Discover UAP radio antennas | `Dependent item` | unifi.uap.radio.discovery | 423 | 424 | ## Unifi UAP: Items prototypes 425 | 426 | | Name | Description | Type | Key and additional info | 427 | | ----------------------------------------------------------------- | ------------------------ | ---------------- | ------------------------------------- | 428 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} Channel | channel | `Dependent item` | unifi.uap.radio.channel[{#NAME}] | 429 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} Gain | gain | `Dependent item` | unifi.uap.radio.gain[{#NAME}] | 430 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} HT | ht | `Dependent item` | unifi.uap.radio.ht[{#NAME}] | 431 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} Radio | radio | `Dependent item` | unifi.uap.radio.radio[{#NAME}] | 432 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} State | state | `Dependent item` | unifi.uap.radio.state[{#NAME}] | 433 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} TX Packets | total tx packets | `Dependent item` | unifi.uap.radio.tx.packets[{#NAME}] | 434 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} TX Power | total tx errors bytes | `Dependent item` | unifi.uap.radio.tx.errors[{#NAME}] | 435 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} TX Power Mode | total tx multicast bytes | `Dependent item` | unifi.uap.radio.tx.multicast[{#NAME}] | 436 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} TX Retries | total tx dropped bytes | `Dependent item` | unifi.uap.radio.tx.dropped[{#NAME}] | 437 | 438 | ## Unifi UAP: Triggers prototype 439 | 440 | | Name | Description | Expression | Priority | 441 | | ----------------------- | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | -------- | 442 | | {#NAME} State is not RUN | Alert when antennas is not in running state |

***Expression***: last(/Unifi UAP/unifi.uap.radio.state[{#NAME}],#3)<>"RUN"

***Recovery expression***:

| High | 443 | 444 | ## Unifi UAP: Items 445 | 446 | | Name | Description | Type | Key and additional info | 447 | | ---------------------------------------------------------- | ------------------------------- | ---------------- | --------------------------------- | 448 | | API stat/device/{$UNIFI.UAP.MAC} | Get device metrics | `HTTP agent` | unifi.uap.device

Update: 5m

| 449 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Adopted | Is adopted | `Dependent item` | unifi.uap.adopted | 450 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Cpu Usage % | Current CPU usage in percentage | `Dependent item` | unifi.uap.cpu.usage | 451 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Inform Ip | Inform IP | `Dependent item` | unifi.uap.inform.ip | 452 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Inform Url | Inform Url | `Dependent item` | unifi.uap.inform.url | 453 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP IP | IP | `Dependent item` | unifi.uap.ip | 454 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Kernel Version | Kernel version | `Dependent item` | unifi.uap.kernel.version | 455 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Last Seen | Last seen date | `Dependent item` | unifi.uap.lastseen | 456 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Macaddress | Macaddress | `Dependent item` | unifi.uap.mac | 457 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Management Network | Management network | `Dependent item` | unifi.uap.network | 458 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Memory Usage % | Current Memory Usage | `Dependent item` | unifi.uap.memory.usage | 459 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Model | Model | `Dependent item` | unifi.uap.model | 460 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Serial | Serial | `Dependent item` | unifi.uap.serial | 461 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP SOC Arch | SOC Arch | `Dependent item` | unifi.uap.soc.arch | 462 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP State | State | `Dependent item` | unifi.uap.cpu.state | 463 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Total RX Byte | Total rx in bytes | `Dependent item` | unifi.uap.rx | 464 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Total TX Byte | Total tx in bytes | `Dependent item` | unifi.uap.tx | 465 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Upgradable | Is an upgrade available | `Dependent item` | unifi.uap.upgradable | 466 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Uplink Device | Uplink device name | `Dependent item` | unifi.uap.uplink.device | 467 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Uplink Port | Uplink device port | `Dependent item` | unifi.uap.uplink.port | 468 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Uplink Type | Uplink device type | `Dependent item` | unifi.uap.uplink.type | 469 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Uptime | Uptime | `Dependent item` | unifi.uap.uptime | 470 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Version | Software version | `Dependent item` | unifi.uap.version | 471 | 472 | ## Unifi UAP: Triggers 473 | 474 | | Name | Description | Expression | Priority | 475 | | --------------------------------------------- | -------------------------------------------------------------- | ---------------------------------------------------------------------- | -------- | 476 | | CPU Usage > {$UNIFI.CPU.USAGE.HIGH}% | Alert when CPU usage is above {$UNIFI.CPU.USAGE.HIGH} |

***Expression***: avg(/Unifi UAP/unifi.uap.cpu.usage,{$UNIFI.CPU.USAGE.HIGH.SEC})>{$UNIFI.CPU.USAGE.HIGH}

***Recovery expression***:

| High | 477 | | CPU Usage > {$UNIFI.CPU.USAGE.WARNING}% | Alert when CPU usage is above {$UNIFI.CPU.USAGE.WARNING} |

***Expression***: avg(/Unifi UAP/unifi.uap.cpu.usage,{$UNIFI.CPU.USAGE.WARNING.SEC})>{$UNIFI.CPU.USAGE.WARNING}

***Recovery expression***:

| Warning | 478 | | Inform Url Changed | Alert on inform url change |

***Expression***: last(/Unifi UAP/unifi.uap.inform.url,#1:now-24h)<>last(/Unifi UAP/unifi.uap.inform.url,#1)=1

***Recovery expression***:

| Warning | 479 | | Management Network Changed | Alert on management network change |

***Expression***: last(/Unifi UAP/unifi.uap.network,#1:now-24h)<>last(/Unifi UAP/unifi.uap.network,#1)=1

***Recovery expression***:

| Warning | 480 | | Memory Usage > {$UNIFI.MEMORY.USAGE.HIGH}% | Alert when Memory usage is above {$UNIFI.MEMORY.USAGE.HIGH} |

***Expression***: avg(/Unifi UAP/unifi.uap.memory.usage,{$UNIFI.MEMORY.USAGE.HIGH.SEC})>{$UNIFI.MEMORY.USAGE.HIGH}

***Recovery expression***:

| High | 481 | | Memory Usage > {$UNIFI.MEMORY.USAGE.WARNING}% | Alert when Memory usage is above {$UNIFI.MEMORY.USAGE.WARNING} |

***Expression***: avg(/Unifi UAP/unifi.uap.memory.usage,{$UNIFI.MEMORY.USAGE.WARNING.SEC})>{$UNIFI.MEMORY.USAGE.WARNING}

***Recovery expression***:

| Warning | 482 | | Software Upgrade Available | Alert on software upgrade available |

***Expression***: last(/Unifi UAP/unifi.uap.upgradable)="true"

***Recovery expression***:

| Warning | 483 | | Software Version Changed | Alert on software version change |

***Expression***: last(/Unifi UAP/unifi.uap.version,#1:now-24h)<>last(/Unifi UAP/unifi.uap.version,#1)=1

***Recovery expression***:

| Information | 484 | | SW Not Adopted | Alert if UAP need to be adopted |

***Expression***: last(/Unifi UAP/unifi.uap.adopted)<>"true"

***Recovery expression***:

| Information | 485 | | SW Offline | Alert when UAP go offline |

***Expression***: last(/Unifi UAP/unifi.uap.cpu.state,#3)<>1

***Recovery expression***:

| High | 486 | | SW Rebooted | Alert if UAP was rebooted |

***Expression***: last(/Unifi UAP/unifi.uap.uptime)<1800

***Recovery expression***:

| Warning | 487 | 488 | ## Contribute 489 | 490 | This template is on early stage and can bee improved supporting other Unifi devices. Feel free to fork and submit pull request at [MassimilianoPasquini97/zbx_unifi_network](https://github.com/MassimilianoPasquini97/zbx_unifi_network) repository. 🙏🏻 491 | 492 | ## License 493 | 494 | Licensed under the [MIT license](https://github.com/MassimilianoPasquini97/zbx_unifi_network/blob/main/LICENSE.md). 495 | -------------------------------------------------------------------------------- /6.4/README.md: -------------------------------------------------------------------------------- 1 | # Unifi Network 2 | 3 | ## Description 4 | 5 | This template is meant for monitoring Unifi network devices using Unifi Network API. Special thanks who wrote and maintain this [wiki page](https://ubntwiki.com/products/software/unifi-controller/api), this guide helped me for realizing this template. Upstream repository at [MassimilianoPasquini97/zbx_unifi_network](https://github.com/MassimilianoPasquini97/zbx_unifi_network). 6 | 7 | ## How to use 8 | 9 | First of all you need to import the template file ***zbx_template_unifi_network.yaml*** in Zabbix. 😅 10 | 11 | Said that, this template use Unifi Network API so it need a view only local user on Unifi Network Web Interface. 12 | 13 | Once you create view only user, on Zabbix create a new host and link ***Unifi Network*** template, those macros need to be configured: 14 | 15 | - ***{$UNIFI.IP}***: IP or FQDN of Unifi Network Web Interface. 16 | - ***{$UNIFI.USERNAME}***: Username of View Only user. 17 | - ***{$UNIFI.PASSWORD}***: Password of View Only user. 18 | 19 | If you prefer you can modify other macros for further personalize trigger parameters. 20 | 21 | If you done all right now it auto discover all Unifi Dream Machine, Unifi Switch and Unifi Access Point and create an host object for all of them. 22 | 23 | ## Templates 24 | 25 | | Name | Description | 26 | | ------------- | ---------------------------- | 27 | | Unifi Network | Unifi Network Template | 28 | | Unifi UDM | Unifi Dream Machine Template | 29 | | Unifi USW | Unifi Switch Template | 30 | | Unifi UAP | Unifi Access Point Template | 31 | 32 | ## Unifi Network: Macros 33 | 34 | | Name | Description | Default | Required | Type | 35 | | --------------------------------------- | ----------------------------------------------------- | ------- | -------- | --------- | 36 | | {$UNIFI.AP.DISCONNECTED.SEC} | AP Disconnected Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 37 | | {$UNIFI.AP.PENDING.SEC} | AP Pending Trigger Avg threshold in seconds | `1800` | `true` | `numeric` | 38 | | {$UNIFI.CPU.USAGE.HIGH} | Cpu % High Trigger threshold | `90` | `true` | `numeric` | 39 | | {$UNIFI.CPU.USAGE.HIGH.SEC} | Cpu High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 40 | | {$UNIFI.CPU.USAGE.WARNING} | Cpu % Warning Trigger threshold | `80` | `true` | `numeric` | 41 | | {$UNIFI.CPU.USAGE.WARNING.SEC} | Cpu Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 42 | | {$UNIFI.IP} | Unifi Ip | `-` | `true` | `text` | 43 | | {$UNIFI.ISP.LATENCY.HIGH} | ISP ms High Trigger threshold | `30` | `true` | `numeric` | 44 | | {$UNIFI.ISP.LATENCY.HIGH.SEC} | ISP High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 45 | | {$UNIFI.ISP.LATENCY.WARNING} | ISP ms Warning Trigger threshold | `15` | `true` | `numeric` | 46 | | {$UNIFI.ISP.LATENCY.WARNING.SEC} | ISP Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 47 | | {$UNIFI.ISP.SPEED.DOWNLOAD} | ISP Max Download Speed in Mbps | `1000` | `true` | `numeric` | 48 | | {$UNIFI.ISP.SPEED.DOWNLOAD.HIGH} | ISP Download % High Trigger threshold | `95` | `true` | `numeric` | 49 | | {$UNIFI.ISP.SPEED.DOWNLOAD.HIGH.SEC} | ISP Download Avg High Trigger threshold in seconds | `900` | `true` | `numeric` | 50 | | {$UNIFI.ISP.SPEED.DOWNLOAD.WARNING} | ISP Download % Warning Trigger threshold | `85` | `true` | `numeric` | 51 | | {$UNIFI.ISP.SPEED.DOWNLOAD.WARNING.SEC} | ISP Download Avg Warning Trigger threshold in seconds | `900` | `true` | `numeric` | 52 | | {$UNIFI.ISP.SPEED.UPLOAD} | ISP Max Upload Speed in Mbps | `250` | `true` | `numeric` | 53 | | {$UNIFI.ISP.SPEED.UPLOAD.HIGH} | ISP Upload % High Trigger threshold | `85` | `true` | `numeric` | 54 | | {$UNIFI.ISP.SPEED.UPLOAD.HIGH.SEC} | ISP Upload Avg High Trigger threshold in seconds | `900` | `true` | `numeric` | 55 | | {$UNIFI.ISP.SPEED.UPLOAD.WARNING} | ISP Upload % Warning Trigger threshold | `95` | `true` | `numeric` | 56 | | {$UNIFI.ISP.SPEED.UPLOAD.WARNING.SEC} | ISP Upload Avg Warning Trigger threshold in seconds | `900` | `true` | `numeric` | 57 | | {$UNIFI.MEMORY.USAGE.HIGH} | Memory % High Trigger threshold | `90` | `true` | `numeric` | 58 | | {$UNIFI.MEMORY.USAGE.HIGH.SEC} | Memory High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 59 | | {$UNIFI.MEMORY.USAGE.WARNING} | Memory % Warning Trigger threshold | `80` | `true` | `numeric` | 60 | | {$UNIFI.MEMORY.USAGE.WARNING.SEC} | Memory Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 61 | | {$UNIFI.PASSWORD} | Unifi View Only Password | `-` | `true` | `numeric` | 62 | | {$UNIFI.SW.DISCONNECTED.SEC} | SW Disconnected Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 63 | | {$UNIFI.SW.PENDING.SEC} | SW Pending Trigger Avg threshold in seconds | `1800` | `true` | `numeric` | 64 | | {$UNIFI.USERNAME} | Unifi View Only Username | `-` | `true` | `numeric` | 65 | 66 | ## Unifi Network: Discovery rules 67 | 68 | | Name | Description | Type | Key and additional info | 69 | | ----------------------------------- | ---------------------------------------- | ---------------- | ------------------------------- | 70 | | *API stat/sta*: Client Wired | Discover all wired client devices | `Dependent item` | unifi.client.wired.discovery | 71 | | *API stat/sta*: Client Wireless | Discover all wireless client devices | `Dependent item` | unifi.client.wireless.discovery | 72 | | *API stat/device-basic*: Device UAP | Discover all Unifi Access Point devices | `Dependent item` | unifi.device.uap.discovery | 73 | | *API stat/device-basic*: Device UDM | Discover all Unifi Dream Machine devices | `Dependent item` | unifi.device.udm.discovery | 74 | | *API stat/device-basic*: Device USW | Discover all Unifi Switch devices | `Dependent item` | unifi.device.usw.discovery | 75 | 76 | ## Unifi Network: Items prototype 77 | 78 | | Name | Description | Type | Key and additional info | 79 | | ---------------------------------------------------------- | ----------------------------- | ---------------- | ------------------------------------------------ | 80 | | *API stat/sta*: {#NAME} DNS Record | Client dns record | `Dependent item` | unifi.client.wired.dns.record[{#MAC}] | 81 | | *API stat/sta*: {#NAME} DNS Record Enabled | Client dns record enabled | `Dependent item` | unifi.client.wired.dns.record.enabled[{#MAC}] | 82 | | *API stat/sta*: {#NAME} First Seen | Client first seen date | `Dependent item` | unifi.client.wired.seen.first[{#MAC}] | 83 | | *API stat/sta*: {#NAME} Guest | Client is guest | `Dependent item` | unifi.client.wired.guest[{#MAC}] | 84 | | *API stat/sta*: {#NAME} Hostname | Client hostname | `Dependent item` | unifi.client.wired.hostname[{#MAC}] | 85 | | *API stat/sta*: {#NAME} IP | Client IP | `Dependent item` | unifi.client.wired.ip[{#MAC}] | 86 | | *API stat/sta*: {#NAME} IP Fixed | Client IP is fixed | `Dependent item` | unifi.client.wired.ip.fixed[{#MAC}] | 87 | | *API stat/sta*: {#NAME} Last Seen | Client last seen date | `Dependent item` | unifi.client.wired.seen.last[{#MAC}] | 88 | | *API stat/sta*: {#NAME} Macaddress | Client Macaddress | `Dependent item` | unifi.client.wired.mac[{#MAC}] | 89 | | *API stat/sta*: {#NAME} Network | Client Network | `Dependent item` | unifi.client.wired.network[{#MAC}] | 90 | | *API stat/sta*: {#NAME} Uptime | Client uptime | `Dependent item` | unifi.client.wired.uptime[{#MAC}] | 91 | | *API stat/sta*: {#NAME} Vlan | Client vlan id | `Dependent item` | unifi.client.wired.vlan[{#MAC}] | 92 | | *API stat/sta*: {#NAME} Wired Switch Depth | Client switch depth | `Dependent item` | unifi.client.wired.sw.depth[{#MAC}] | 93 | | *API stat/sta*: {#NAME} Wired Switch Port | Client switch port | `Dependent item` | unifi.client.wired.sw.port[{#MAC}] | 94 | | *API stat/sta*: {#NAME} Wired Switch Port Macaddress | Client switch macaddress port | `Dependent item` | unifi.client.wired.sw.port.mac[{#MAC}] | 95 | | *API stat/sta*: {#NAME} Wired Switch Port Speed | Client switch port speed | `Dependent item` | unifi.client.wired.sw.port.speed[{#MAC}] | 96 | | *API stat/sta*: {#NAME} Wired Switch Port Total rx | Client total rx byte | `Dependent item` | unifi.client.wired.sw.port.rx.bytes[{#MAC}] | 97 | | *API stat/sta*: {#NAME} Wired Switch Port Total rx | Client total rx packets | `Dependent item` | unifi.client.wired.sw.port.rx.packets[{#MAC}] | 98 | | *API stat/sta*: {#NAME} Wired Switch Port Total rx Retries | Client total rx retries byte | `Dependent item` | unifi.client.wired.sw.port.rx.bytes.r[{#MAC}] | 99 | | *API stat/sta*: {#NAME} Wired Switch Port Total tx | Client total tx byte | `Dependent item` | unifi.client.wired.sw.port.tx.bytes[{#MAC}] | 100 | | *API stat/sta*: {#NAME} Wired Switch Port Total tx | Client total tx packets | `Dependent item` | unifi.client.wired.sw.port.tx.packets[{#MAC}] | 101 | | *API stat/sta*: {#NAME} Wired Switch Port Total tx Retries | Client total tx retries byte | `Dependent item` | unifi.client.wired.sw.port.tx.bytes.r[{#MAC}] | 102 | | *API stat/sta*: {#NAME} DNS Record | Client dns record | `Dependent item` | unifi.client.wireless.dns.record[{#MAC}] | 103 | | *API stat/sta*: {#NAME} DNS Record Enabled | Client dns record enabled | `Dependent item` | unifi.client.wireless.dns.record.enabled[{#MAC}] | 104 | | *API stat/sta*: {#NAME} First Seen | Client first seen date | `Dependent item` | unifi.client.wireless.seen.first[{#MAC}] | 105 | | *API stat/sta*: {#NAME} Guest | Client is guest | `Dependent item` | unifi.client.wireless.guest[{#MAC}] | 106 | | *API stat/sta*: {#NAME} Hostname | Client hostname | `Dependent item` | unifi.client.wireless.hostname[{#MAC}] | 107 | | *API stat/sta*: {#NAME} IP | Client IP | `Dependent item` | unifi.client.wireless.ip[{#MAC}] | 108 | | *API stat/sta*: {#NAME} IP Fixed | Client IP is fixed | `Dependent item` | unifi.client.wireless.ip.fixed[{#MAC}] | 109 | | *API stat/sta*: {#NAME} Last Seen | Client last seen date | `Dependent item` | unifi.client.wireless.seen.last[{#MAC}] | 110 | | *API stat/sta*: {#NAME} Macaddress | Client Macaddress | `Dependent item` | unifi.client.wireless.mac[{#MAC}] | 111 | | *API stat/sta*: {#NAME} Network | Client Network | `Dependent item` | unifi.client.wireless.network[{#MAC}] | 112 | | *API stat/sta*: {#NAME} Uptime | Client uptime | `Dependent item` | unifi.client.wireless.uptime[{#MAC}] | 113 | | *API stat/sta*: {#NAME} Vlan | Client vlan id | `Dependent item` | unifi.client.wireless.vlan[{#MAC}] | 114 | | *API stat/sta*: {#NAME} Wireless AP bssid | Access Point bssid | `Dependent item` | unifi.client.wireless.ap.bssid[{#MAC}] | 115 | | *API stat/sta*: {#NAME} Wireless AP Channel | Access Point channel | `Dependent item` | unifi.client.wireless.ap.channel[{#MAC}] | 116 | | *API stat/sta*: {#NAME} Wireless AP essid | Access Point essid | `Dependent item` | unifi.client.wireless.ap.essid[{#MAC}] | 117 | | *API stat/sta*: {#NAME} Wireless AP Macaddress | Access Point macaddress | `Dependent item` | unifi.client.wireless.ap.mac[{#MAC}] | 118 | | *API stat/sta*: {#NAME} Wireless AP Radio | Client radio | `Dependent item` | unifi.client.wireless.ap.radio[{#MAC}] | 119 | | *API stat/sta*: {#NAME} Wireless Noise | Client noise | `Dependent item` | unifi.client.wireless.ap.noise[{#MAC}] | 120 | | *API stat/sta*: {#NAME} Wireless powersave | Client is in powersave | `Dependent item` | unifi.client.wireless.ap.powersave[{#MAC}] | 121 | | *API stat/sta*: {#NAME} Wireless Total rx | Client total rx byte | `Dependent item` | unifi.client.wireless.rx.bytes[{#MAC}] | 122 | | *API stat/sta*: {#NAME} Wireless Total rx | Client total rx packets | `Dependent item` | unifi.client.wireless.rx.packets[{#MAC}] | 123 | | *API stat/sta*: {#NAME} Wireless Total rx Retries | Client total rx retries byte | `Dependent item` | unifi.client.wireless.rx.bytes.r[{#MAC}] | 124 | | *API stat/sta*: {#NAME} Wireless Total tx | Client total tx byte | `Dependent item` | unifi.client.wireless.tx.bytes[{#MAC}] | 125 | | *API stat/sta*: {#NAME} Wireless Total tx | Client total tx packets | `Dependent item` | unifi.client.wireless.tx.packets[{#MAC}] | 126 | | *API stat/sta*: {#NAME} Wireless Total tx Retries | Client total tx retries byte | `Dependent item` | unifi.client.wireless.tx.bytes.r[{#MAC}] | 127 | | *API stat/sta*: {#NAME} Wireless tx rate | Client tx rate | `Dependent item` | unifi.client.wireless.tx.bytes.r[{#MAC}] | 128 | 129 | ## Unifi Network: Host prototypes 130 | 131 | | Name | Description | Templates | Host Group | 132 | | ----------------- | ------------------------------------------------------ | --------- | ---------- | 133 | | Unifi UAP {#NAME} | Create an host for each Unifi Access Point discovered | Unifi UAP | Network | 134 | | Unifi UDM {#NAME} | Create an host for each Unifi Dream Machine discovered | Unifi UDM | Network | 135 | | Unifi USW {#NAME} | Create an host for each Unifi Switch discovered | Unifi UAP | Network | 136 | 137 | ## Unifi Network: Items 138 | 139 | | Name | Description | Type | Key and additional info | 140 | | ----------------------------------------------------- | ------------------------------------------ | ---------------- | ----------------------------- | 141 | | API stat/device-basic | Get all Unifi devices | `HTTP agent` | unifi.device

Update: 1d

| 142 | | API stat/health | Get Unifi Network health metrics | `HTTP agent` | unifi.health

Update: 5m

| 143 | | API stat/sta | Get metrics for all client on network | `HTTP agent` | unifi.client

Update: 5m

| 144 | | *API stat/health*: Unifi Gateway CPU Usage % | CPU usage percentage | `Dependent item` | unifi.cpu | 145 | | *API stat/health*: Unifi Gateway LAN Client | Number of clients on lan | `Dependent item` | unifi.lan.client | 146 | | *API stat/health*: Unifi Gateway LAN Guest Client | Number of clients on guest lan | `Dependent item` | unifi.lan.guest.client | 147 | | *API stat/health*: Unifi Gateway LAN Status | Lan status | `Dependent item` | unifi.lan.status | 148 | | *API stat/health*: Unifi Gateway LAN SW | Number of Unifi Switch | `Dependent item` | unifi.lan.sw | 149 | | *API stat/health*: Unifi Gateway LAN SW Adopted | Number of adopted Unifi Switch | `Dependent item` | unifi.lan.sw.adopted | 150 | | *API stat/health*: Unifi Gateway LAN SW Disconnected | Number of disconnected Unifi Switch | `Dependent item` | unifi.lan.sw.disconnected | 151 | | *API stat/health*: Unifi Gateway LAN SW Pending | Number of pending Unifi Switch | `Dependent item` | unifi.lan.sw.pending | 152 | | *API stat/health*: Unifi Gateway Memory Usage % | Memory usage percentage | `Dependent item` | unifi.mem | 153 | | *API stat/health*: Unifi Gateway Name | Unifi gateway hostname | `Dependent item` | unifi.gw_name | 154 | | *API stat/health*: Unifi Gateway Uptime | Unifi gateway uptime | `Dependent item` | unifi.uptime | 155 | | *API stat/health*: Unifi Gateway VPN Active Users | Number of users using vpn | `Dependent item` | unifi.vpn.users | 156 | | *API stat/health*: Unifi Gateway VPN Status | Vpn status | `Dependent item` | unifi.vpn.status | 157 | | *API stat/health*: Unifi Gateway WAN Download | Current WAN download usage | `Dependent item` | unifi.wan.isp.download | 158 | | *API stat/health*: Unifi Gateway WAN ISP Availability | WAN availability | `Dependent item` | unifi.wan.isp.availability | 159 | | *API stat/health*: Unifi Gateway WAN ISP Latency Avg | Avarage ISP latency | `Dependent item` | unifi.wan.isp.latency | 160 | | *API stat/health*: Unifi Gateway WAN ISP Name | ISP name | `Dependent item` | unifi.wan.isp.name | 161 | | *API stat/health*: Unifi Gateway WAN ISP Organization | ISP organization | `Dependent item` | unifi.wan.isp.organization | 162 | | *API stat/health*: Unifi Gateway WAN ISP Uptime | ISP uptime | `Dependent item` | unifi.wan.isp.uptime | 163 | | *API stat/health*: Unifi Gateway WAN Status | WAN status | `Dependent item` | unifi.wan.status | 164 | | *API stat/health*: Unifi Gateway WAN Upload | Current WAN upload usage | `Dependent item` | unifi.wan.isp.upload | 165 | | *API stat/health*: Unifi Gateway WLAN AP | Number of Unifi Access Point | `Dependent item` | unifi.wlan.ap | 166 | | *API stat/health*: Unifi Gateway WLAN AP Adopted | Number of adopted Unifi Access Point | `Dependent item` | unifi.wlan.ap.adopted | 167 | | *API stat/health*: Unifi Gateway WLAN AP Disabled | Number of disabled Unifi Access Point | `Dependent item` | unifi.wlan.ap.disabled | 168 | | *API stat/health*: Unifi Gateway WLAN AP Disconnected | Number of disconnected Unifi Access Point | `Dependent item` | unifi.wlan.ap.disconnected | 169 | | *API stat/health*: Unifi Gateway WLAN AP Pending | Number of pending Unifi Access Point | `Dependent item` | unifi.wlan.ap.pending | 170 | | *API stat/health*: Unifi Gateway WLAN Client | Number of clients on wlan | `Dependent item` | unifi.wlan.client | 171 | | *API stat/health*: Unifi Gateway WLAN Guest Client | Number of clients on guest wlan | `Dependent item` | unifi.wlan.guest.client | 172 | | *API stat/health*: Unifi Gateway WLAN Status | Lan status | `Dependent item` | unifi.wlan.status | 173 | 174 | ## Unifi Network: Triggers 175 | 176 | | Name | Description | Expression | Priority | 177 | | --- | ----------- | ---------- | -------- | 178 | | CPU Usage > {$UNIFI.CPU.USAGE.HIGH}% | Alert when CPU usage is above {$UNIFI.CPU.USAGE.HIGH} |

***Expression***: avg(/Unifi Network/unifi.cpu,{$UNIFI.CPU.USAGE.HIGH.SEC})>{$UNIFI.CPU.USAGE.HIGH}

***Recovery expression***:

| High | 179 | | CPU Usage > {$UNIFI.CPU.USAGE.WARNING}% | Alert when CPU usage is above {$UNIFI.CPU.USAGE.WARNING} |

***Expression***: avg(/Unifi Network/unifi.cpu,{$UNIFI.CPU.USAGE.WARNING.SEC})>{$UNIFI.CPU.USAGE.WARNING}

***Recovery expression***:

| Warning | 180 | | Device rebooted | Alert on device reboot |

***Expression***: last(/Unifi Network/unifi.uptime)<86400

***Recovery expression***:

| Warning | 181 | | Hostname Changed | Alert on hostname change |

***Expression***: last(/Unifi Network/unifi.gw_name,#1:now-24h)<>last(/Unifi Network/unifi.gw_name,#1)=1

***Recovery expression***:

| Warning | 182 | | ISP Download Usage > {$UNIFI.ISP.SPEED.DOWNLOAD.HIGH}% | Alert when ISP Download usage is above {$UNIFI.ISP.SPEED.DOWNLOAD.HIGH} |

***Expression***: avg(/Unifi Network/unifi.wan.isp.download,{$UNIFI.ISP.SPEED.DOWNLOAD.HIGH.SEC})/10000/{$UNIFI.ISP.SPEED.DOWNLOAD}>{$UNIFI.ISP.SPEED.DOWNLOAD.HIGH}

***Recovery expression***:

| High | 183 | | ISP Download Usage > {$UNIFI.ISP.SPEED.DOWNLOAD.WARNING}% | Alert when ISP Download usage is above {$UNIFI.ISP.SPEED.DOWNLOAD.WARNING} |

***Expression***: avg(/Unifi Network/unifi.wan.isp.download,{$UNIFI.ISP.SPEED.DOWNLOAD.WARNING.SEC})/10000/{$UNIFI.ISP.SPEED.DOWNLOAD}>{$UNIFI.ISP.SPEED.DOWNLOAD.WARNING}

***Recovery expression***:

| Warning | 184 | | ISP Latency Usage > {$UNIFI.ISP.LATENCY.HIGH}ms | Alert when ISP Latency usage is above {$UNIFI.ISP.LATENCY.HIGH} |

***Expression***: avg(/Unifi Network/unifi.wan.isp.latency,{$UNIFI.ISP.LATENCY.HIGH.SEC})>{$UNIFI.ISP.LATENCY.HIGH}

***Recovery expression***:

| High | 185 | | ISP Latency Usage > {$UNIFI.ISP.LATENCY.WARNING}ms | Alert when ISP Latency usage is above {$UNIFI.ISP.LATENCY.WARNING} |

***Expression***: avg(/Unifi Network/unifi.wan.isp.latency,{$UNIFI.ISP.LATENCY.WARNING.SEC})>{$UNIFI.ISP.LATENCY.WARNING}

***Recovery expression***:

| Warning | 186 | | ISP Upload Usage > {$UNIFI.ISP.SPEED.UPLOAD.HIGH}% | Alert when ISP Upload usage is above {$UNIFI.ISP.SPEED.UPLOAD.HIGH} |

***Expression***: avg(/Unifi Network/unifi.wan.isp.upload,{$UNIFI.ISP.SPEED.UPLOAD.HIGH.SEC})/10000/{$UNIFI.ISP.SPEED.UPLOAD}>{$UNIFI.ISP.SPEED.UPLOAD.HIGH}

***Recovery expression***:

| High | 187 | | ISP Upload Usage > {$UNIFI.ISP.SPEED.UPLOAD.WARNING}% | Alert when ISP Upload usage is above {$UNIFI.ISP.SPEED.UPLOAD.WARNING} |

***Expression***: avg(/Unifi Network/unifi.wan.isp.upload,{$UNIFI.ISP.SPEED.UPLOAD.WARNING.SEC})/10000/{$UNIFI.ISP.SPEED.UPLOAD}>{$UNIFI.ISP.SPEED.UPLOAD.WARNING}

***Recovery expression***:

| Warning | 188 | | ISP Uptime changed | Alert on ISP uptime change |

***Expression***: last(/Unifi Network/unifi.wan.isp.uptime)<3600

***Recovery expression***:

| Warning | 189 | | Memory Usage > {$UNIFI.MEMORY.USAGE.HIGH}% | Alert when Memory usage is above {$UNIFI.MEMORY.USAGE.HIGH} |

***Expression***: avg(/Unifi Network/unifi.mem,{$UNIFI.MEMORY.USAGE.HIGH.SEC})>{$UNIFI.MEMORY.USAGE.HIGH}

***Recovery expression***:

| High | 190 | | Memory Usage > {$UNIFI.MEMORY.USAGE.WARNING}% | Alert when Memory usage is above {$UNIFI.MEMORY.USAGE.WARNING} |

***Expression***: avg(/Unifi Network/unifi.mem,{$UNIFI.MEMORY.USAGE.WARNING.SEC})>{$UNIFI.MEMORY.USAGE.WARNING}

***Recovery expression***:

| Warning | 191 | | One or more Acces Point is disconnected | Alert if one or more access point is disconnected |

***Expression***: avg(/Unifi Network/unifi.wlan.ap.disconnected,{$UNIFI.AP.DISCONNECTED.SEC})>0

***Recovery expression***:

| High | 192 | | One or more Access Point need to be adopted | Alert if one or more access point need to be adopted |

***Expression***: avg(/Unifi Network/unifi.wlan.ap.pending,{$UNIFI.AP.PENDING.SEC})>0

***Recovery expression***:

| Information | 193 | | One or more Switch is disconnected | Alert if one or more switch is disconnected |

***Expression***: avg(/Unifi Network/unifi.lan.sw.disconnected,{$UNIFI.SW.DISCONNECTED.SEC})>0

***Recovery expression***:

| High | 194 | | One or more Switch need to be adopted | Alert if one or more switch need to be adopted |

***Expression***: avg(/Unifi Network/unifi.lan.sw.pending,{$UNIFI.SW.PENDING.SEC})>0

***Recovery expression***:

| Information | 195 | | Problem on LAN | Alert on lan problem |

***Expression***: last(/Unifi Network/unifi.lan.status,#3)<>"ok"

***Recovery expression***:

| High | 196 | | Problem on VPN | Alert on vpn problem |

***Expression***: last(/Unifi Network/unifi.vpn.status,#3)<>"ok"

***Recovery expression***:

| High | 197 | | Problem on WAN | Alert on wan problem |

***Expression***: last(/Unifi Network/unifi.wan.status,#3)<>"ok"

***Recovery expression***:

| High | 198 | | Problem on WLAN | Alert on wlan problem |

***Expression***: last(/Unifi Network/unifi.wlan.status,#3)<>"ok"

***Recovery expression***:

| High | 199 | | Unifi API not responding | Alert when Unifi Network API are not reachable |

***Expression***: last(/Unifi Network/unifi.health,#3)=""

***Recovery expression***:

| High | 200 | 201 | ## Unifi UDM: Macros 202 | 203 | | Name | Description | Default | Required | Type | 204 | | --------------------------------------- | ----------------------------------------------------- | ------- | -------- | --------- | 205 | | {$UNIFI.CPU.USAGE.HIGH} | Cpu % High Trigger threshold | `90` | `true` | `numeric` | 206 | | {$UNIFI.CPU.USAGE.HIGH.SEC} | Cpu High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 207 | | {$UNIFI.CPU.USAGE.WARNING} | Cpu % Warning Trigger threshold | `80` | `true` | `numeric` | 208 | | {$UNIFI.CPU.USAGE.WARNING.SEC} | Cpu Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 209 | | {$UNIFI.IP} | Unifi Ip | `-` | `true` | `text` | 210 | | {$UNIFI.MEMORY.USAGE.HIGH} | Memory % High Trigger threshold | `90` | `true` | `numeric` | 211 | | {$UNIFI.MEMORY.USAGE.HIGH.SEC} | Memory High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 212 | | {$UNIFI.MEMORY.USAGE.WARNING} | Memory % Warning Trigger threshold | `80` | `true` | `numeric` | 213 | | {$UNIFI.MEMORY.USAGE.WARNING.SEC} | Memory Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 214 | | {$UNIFI.PASSWORD} | Unifi View Only Password | `-` | `true` | `numeric` | 215 | | {$UNIFI.TEMP.HIGH} | Temperatire High Trigger threshold | `80` | `true` | `numeric` | 216 | | {$UNIFI.TEMP.HIGH.SEC} | Temperatire High Trigger threshold in sec | `900` | `true` | `numeric` | 217 | | {$UNIFI.TEMP.WARNING} | Temperatire Warning Trigger threshold | `80` | `true` | `numeric` | 218 | | {$UNIFI.TEMP.WARNING.SEC} | Temperatire Warning Trigger threshold in sec | `900` | `true` | `numeric` | 219 | | {$UNIFI.UDM.MAC} | UNIFI GW Macaddress | `-` | `true` | `text` | 220 | | {$UNIFI.USERNAME} | Unifi View Only Username | `-` | `true` | `numeric` | 221 | 222 | ## Unifi UDM: Discovery rules 223 | 224 | | Name | Description | Type | Key and additional info | 225 | | ------------------------------------------------ | -------------------------------- | ---------------- | ------------------------------- | 226 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port | Discover UDM ports | `Dependent item` | unifi.udm.port.discovery | 227 | | *API stat/device/{$UNIFI.UDM.MAC}*: Temperatures | Discover UDM temperature sensors | `Dependent item` | unifi.udm.temperature.discovery | 228 | 229 | ## Unifi UDM: Items prototype 230 | 231 | | Name | Description | Type | Key and additional info | 232 | | ----------------------------------------------------------------- | ----------------------------- | ---------------- | ---------------------------------- | 233 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Enabled | Port enabled | `Dependent item` | unifi.udm.port.enabled[{#ID}] | 234 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Media | Port type | `Dependent item` | unifi.udm.port.media[{#ID}] | 235 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Mode | Port mode | `Dependent item` | unifi.udm.port.mode[{#ID}] | 236 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Name | Port name | `Dependent item` | unifi.udm.port.name[{#ID}] | 237 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} POE Capable | Port POE capable | `Dependent item` | unifi.udm.port.poe.capable[{#ID}] | 238 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} POE Good | Port POE state | `Dependent item` | unifi.udm.port.poe.good[{#ID}] | 239 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} POE Mode | Port POE mode | `Dependent item` | unifi.udm.port.poe.mode[{#ID}] | 240 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} POE Power | Port POE Watt | `Dependent item` | unifi.udm.port.poe.power[{#ID}] | 241 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Speed | Port speed | `Dependent item` | unifi.udm.port.speed[{#ID}] | 242 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total RX | Port total rx bytes | `Dependent item` | unifi.udm.port.rx[{#ID}] | 243 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total RX Broadcast | Port total rx broadcast bytes | `Dependent item` | unifi.udm.port.rx.broadcast[{#ID}] | 244 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total RX Dropped | Port total rx dropped bytes | `Dependent item` | unifi.udm.port.rx.dropped[{#ID}] | 245 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total RX Errors | Port total rx error bytes | `Dependent item` | unifi.udm.port.rx.errors[{#ID}] | 246 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total RX Multicast | Port total rx multicast bytes | `Dependent item` | unifi.udm.port.rx.multicast[{#ID}] | 247 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total RX Packets | Port total rx packets | `Dependent item` | unifi.udm.port.rx.packets[{#ID}] | 248 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total TX | Port total tx bytes | `Dependent item` | unifi.udm.port.tx[{#ID}] | 249 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total TX Broadcast | Port total tx broadcast bytes | `Dependent item` | unifi.udm.port.tx.broadcast[{#ID}] | 250 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total TX Dropped | Port total tx dropped bytes | `Dependent item` | unifi.udm.port.tx.dropped[{#ID}] | 251 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total TX Errors | Port total tx errors bytes | `Dependent item` | unifi.udm.port.tx.errors[{#ID}] | 252 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total TX Multicast | Port total tx multicast bytes | `Dependent item` | unifi.udm.port.tx.multicast[{#ID}] | 253 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total TX Packets | Port total tx packets | `Dependent item` | unifi.udm.port.tx.packets[{#ID}] | 254 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Up | Port up state | `Dependent item` | unifi.udm.port.up[{#ID}] | 255 | | *API stat/device/{$UNIFI.UDM.MAC}*: Temperature {#NAME} | Temperature | `Dependent item` | udm.temperature[{#NAME}] | 256 | 257 | ## Unifi UDM: Triggers prototype 258 | 259 | | Name | Description | Expression | Priority | 260 | | ---------------------------------- | ----------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | 261 | | Temperature > {$UNIFI.TEMP.HIGH} | Alert when temperature is above {$UNIFI.TEMP.HIGH} |

***Expression***: last(/Unifi UDM/udm.temperature[{#NAME}],{$UNIFI.TEMP.HIGH.SEC})>{$UNIFI.TEMP.HIGH}

***Recovery expression***:

| High | 262 | | Temperature > {$UNIFI.TEMP.WARNING} | Alert when temperature is above {$UNIFI.TEMP.WARNING} |

***Expression***: last(/Unifi UDM/udm.temperature[{#NAME}],{$UNIFI.TEMP.WARNING.SEC})>{$UNIFI.TEMP.WARNING}

***Recovery expression***:

| Warning | 263 | 264 | ## Unifi UDM: Items 265 | 266 | | Name | Description | Type | Key and additional info | 267 | | ---------------------------------------------------------- | ------------------------------- | ---------------- | --------------------------------- | 268 | | API stat/device/{$UNIFI.UDM.MAC} | Get device metrics | `HTTP agent` | unifi.udm.device

Update: 5m

| 269 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Adopted | Is adopted | `Dependent item` | unifi.udm.adopted | 270 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Cpu Usage % | Current CPU usage in percentage | `Dependent item` | unifi.udm.cpu.usage | 271 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Inform Ip | Inform IP | `Dependent item` | unifi.udm.inform.ip | 272 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Inform Url | Inform Url | `Dependent item` | unifi.udm.inform.url | 273 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM IP | IP | `Dependent item` | unifi.udm.ip | 274 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Kernel Version | Kernel version | `Dependent item` | unifi.udm.kernel.version | 275 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Last Seen | Last seen date | `Dependent item` | unifi.udm.lastseen | 276 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Macaddress | Macaddress | `Dependent item` | unifi.udm.mac | 277 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Management Network | Management network | `Dependent item` | unifi.udm.network | 278 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Memory Usage % | Current Memory Usage | `Dependent item` | unifi.udm.memory.usage | 279 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Model | Model | `Dependent item` | unifi.udm.model | 280 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Serial | Serial | `Dependent item` | unifi.udm.serial | 281 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM SOC Arch | SOC Arch | `Dependent item` | unifi.udm.soc.arch | 282 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM State | State | `Dependent item` | unifi.udm.cpu.state | 283 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Total RX Byte | Total rx in bytes | `Dependent item` | unifi.udm.rx | 284 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Total TX Byte | Total tx in bytes | `Dependent item` | unifi.udm.tx | 285 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Upgradable | Is an upgrade available | `Dependent item` | unifi.udm.upgradable | 286 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Uptime | Uptime | `Dependent item` | unifi.udm.uptime | 287 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Version | Software version | `Dependent item` | unifi.udm.version | 288 | 289 | ## Unifi UDM: Triggers 290 | 291 | | Name | Description | Expression | Priority | 292 | | --------------------------------------------- | -------------------------------------------------------------- | ---------------------------------------------------------------------- | -------- | 293 | | CPU Usage > {$UNIFI.CPU.USAGE.HIGH}% | Alert when CPU usage is above {$UNIFI.CPU.USAGE.HIGH} |

***Expression***: avg(/Unifi UDM/unifi.udm.cpu.usage,{$UNIFI.CPU.USAGE.HIGH.SEC})>{$UNIFI.CPU.USAGE.HIGH}

***Recovery expression***:

| High | 294 | | CPU Usage > {$UNIFI.CPU.USAGE.WARNING}% | Alert when CPU usage is above {$UNIFI.CPU.USAGE.WARNING} |

***Expression***: avg(/Unifi UDM/unifi.udm.cpu.usage,{$UNIFI.CPU.USAGE.WARNING.SEC})>{$UNIFI.CPU.USAGE.WARNING}

***Recovery expression***:

| Warning | 295 | | GW Not Adopted | Alert if UDM need to be adopted |

***Expression***: last(/Unifi UDM/unifi.udm.adopted)<>"true"

***Recovery expression***:

| Information | 296 | | GW Offline | Alert when UDM go offline |

***Expression***: last(/Unifi UDM/unifi.udm.cpu.state,#3)<>1

***Recovery expression***:

| High | 297 | | GW Rebooted | Alert if UDM was rebooted |

***Expression***: last(/Unifi UDM/unifi.udm.uptime)<1800

***Recovery expression***:

| Warning | 298 | | Inform Url Changed | Alert on inform url change |

***Expression***: last(/Unifi UDM/unifi.udm.inform.url,#1:now-24h)<>last(/Unifi UDM/unifi.udm.inform.url,#1)=1

***Recovery expression***:

| Warning | 299 | | Management Network Changed | Alert on management network change |

***Expression***: last(/Unifi UDM/unifi.udm.network,#1:now-24h)<>last(/Unifi UDM/unifi.udm.network,#1)=1

***Recovery expression***:

| Warning | 300 | | Memory Usage > {$UNIFI.MEMORY.USAGE.HIGH}% | Alert when Memory usage is above {$UNIFI.MEMORY.USAGE.HIGH} |

***Expression***: avg(/Unifi UDM/unifi.udm.memory.usage,{$UNIFI.MEMORY.USAGE.HIGH.SEC})>{$UNIFI.MEMORY.USAGE.HIGH}

***Recovery expression***:

| High | 301 | | Memory Usage > {$UNIFI.MEMORY.USAGE.WARNING}% | Alert when Memory usage is above {$UNIFI.MEMORY.USAGE.WARNING} |

***Expression***: avg(/Unifi UDM/unifi.udm.memory.usage,{$UNIFI.MEMORY.USAGE.WARNING.SEC})>{$UNIFI.MEMORY.USAGE.WARNING}

***Recovery expression***:

| Warning | 302 | | Software Upgrade Available | Alert on software upgrade available |

***Expression***: last(/Unifi UDM/unifi.udm.upgradable)="true"

***Recovery expression***:

| Warning | 303 | | Software Version Changed | Alert on software version change |

***Expression***: last(/Unifi UDM/unifi.udm.version,#1:now-24h)<>last(/Unifi UDM/unifi.udm.version,#1)=1

***Recovery expression***:

| Information | 304 | 305 | ## Unifi USW: Macros 306 | 307 | | Name | Description | Default | Required | Type | 308 | | --------------------------------------- | ----------------------------------------------------- | ---------------------------------- | -------- | --------- | 309 | | {$UNIFI.CPU.USAGE.HIGH} | Cpu % High Trigger threshold | `90` | `true` | `numeric` | 310 | | {$UNIFI.CPU.USAGE.HIGH.SEC} | Cpu High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 311 | | {$UNIFI.CPU.USAGE.WARNING} | Cpu % Warning Trigger threshold | `80` | `true` | `numeric` | 312 | | {$UNIFI.CPU.USAGE.WARNING.SEC} | Cpu Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 313 | | {$UNIFI.IP} | Unifi Ip | `-` | `true` | `text` | 314 | | {$UNIFI.MEMORY.USAGE.HIGH} | Memory % High Trigger threshold | `90` | `true` | `numeric` | 315 | | {$UNIFI.MEMORY.USAGE.HIGH.SEC} | Memory High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 316 | | {$UNIFI.MEMORY.USAGE.WARNING} | Memory % Warning Trigger threshold | `80` | `true` | `numeric` | 317 | | {$UNIFI.MEMORY.USAGE.WARNING.SEC} | Memory Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 318 | | {$UNIFI.PASSWORD} | Unifi View Only Password | `-` | `true` | `numeric` | 319 | | {$UNIFI.USW.MAC} | UNIFI USW Macaddress | `-` | `true` | `text` | 320 | | {$UNIFI.USERNAME} | Unifi View Only Username | `-` | `true` | `numeric` | 321 | | {$UNIFI.API.AUTH.URI} | Unifi API Authentication route | `api/auth/login` | `true` | `text` | 322 | | {$UNIFI.API.AUTH.TOKEN} | Unifi API Authentication cookie name | `TOKEN` | `true` | `text` | 323 | | {$UNIFI.API.URI} | Unifi API route | `proxy/network/api/s/default/stat` | `true` | `text` | 324 | 325 | ## Unifi USW: Discovery rules 326 | 327 | | Name | Description | Type | Key and additional info | 328 | | ------------------------------------------------ | -------------------------------- | ---------------- | ------------------------------- | 329 | | *API stat/device/{$UNIFI.USW.MAC}*: Port | Discover USW ports | `Dependent item` | unifi.usw.port.discovery | 330 | 331 | ## Unifi USW: Items prototypes 332 | 333 | | Name | Description | Type | Key and additional info | 334 | | ----------------------------------------------------------------- | ----------------------------- | ---------------- | ---------------------------------- | 335 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Enabled | Port enabled | `Dependent item` | unifi.usw.port.enabled[{#ID}] | 336 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Media | Port type | `Dependent item` | unifi.usw.port.media[{#ID}] | 337 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Mode | Port mode | `Dependent item` | unifi.usw.port.mode[{#ID}] | 338 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Name | Port name | `Dependent item` | unifi.usw.port.name[{#ID}] | 339 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} POE Capable | Port POE capable | `Dependent item` | unifi.usw.port.poe.capable[{#ID}] | 340 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} POE Good | Port POE state | `Dependent item` | unifi.usw.port.poe.good[{#ID}] | 341 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} POE Mode | Port POE mode | `Dependent item` | unifi.usw.port.poe.mode[{#ID}] | 342 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} POE Power | Port POE Watt | `Dependent item` | unifi.usw.port.poe.power[{#ID}] | 343 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Speed | Port speed | `Dependent item` | unifi.usw.port.speed[{#ID}] | 344 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total RX | Port total rx bytes | `Dependent item` | unifi.usw.port.rx[{#ID}] | 345 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total RX Broadcast | Port total rx broadcast bytes | `Dependent item` | unifi.usw.port.rx.broadcast[{#ID}] | 346 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total RX Dropped | Port total rx dropped bytes | `Dependent item` | unifi.usw.port.rx.dropped[{#ID}] | 347 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total RX Errors | Port total rx error bytes | `Dependent item` | unifi.usw.port.rx.errors[{#ID}] | 348 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total RX Multicast | Port total rx multicast bytes | `Dependent item` | unifi.usw.port.rx.multicast[{#ID}] | 349 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total RX Packets | Port total rx packets | `Dependent item` | unifi.usw.port.rx.packets[{#ID}] | 350 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total TX | Port total tx bytes | `Dependent item` | unifi.usw.port.tx[{#ID}] | 351 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total TX Broadcast | Port total tx broadcast bytes | `Dependent item` | unifi.usw.port.tx.broadcast[{#ID}] | 352 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total TX Dropped | Port total tx dropped bytes | `Dependent item` | unifi.usw.port.tx.dropped[{#ID}] | 353 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total TX Errors | Port total tx errors bytes | `Dependent item` | unifi.usw.port.tx.errors[{#ID}] | 354 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total TX Multicast | Port total tx multicast bytes | `Dependent item` | unifi.usw.port.tx.multicast[{#ID}] | 355 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total TX Packets | Port total tx packets | `Dependent item` | unifi.usw.port.tx.packets[{#ID}] | 356 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Up | Port up state | `Dependent item` | unifi.usw.port.up[{#ID}] | 357 | 358 | ## Unifi USW: Items 359 | 360 | | Name | Description | Type | Key and additional info | 361 | | ---------------------------------------------------------- | ------------------------------- | ---------------- | --------------------------------- | 362 | | API stat/device/{$UNIFI.USW.MAC} | Get device metrics | `HTTP agent` | unifi.usw.device

Update: 5m

| 363 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Adopted | Is adopted | `Dependent item` | unifi.usw.adopted | 364 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Cpu Usage % | Current CPU usage in percentage | `Dependent item` | unifi.usw.cpu.usage | 365 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Inform Ip | Inform IP | `Dependent item` | unifi.usw.inform.ip | 366 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Inform Url | Inform Url | `Dependent item` | unifi.usw.inform.url | 367 | | *API stat/device/{$UNIFI.USW.MAC}*: USW IP | IP | `Dependent item` | unifi.usw.ip | 368 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Kernel Version | Kernel version | `Dependent item` | unifi.usw.kernel.version | 369 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Last Seen | Last seen date | `Dependent item` | unifi.usw.lastseen | 370 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Macaddress | Macaddress | `Dependent item` | unifi.usw.mac | 371 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Management Network | Management network | `Dependent item` | unifi.usw.network | 372 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Memory Usage % | Current Memory Usage | `Dependent item` | unifi.usw.memory.usage | 373 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Model | Model | `Dependent item` | unifi.usw.model | 374 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Serial | Serial | `Dependent item` | unifi.usw.serial | 375 | | *API stat/device/{$UNIFI.USW.MAC}*: USW SOC Arch | SOC Arch | `Dependent item` | unifi.usw.soc.arch | 376 | | *API stat/device/{$UNIFI.USW.MAC}*: USW State | State | `Dependent item` | unifi.usw.cpu.state | 377 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Total RX Byte | Total rx in bytes | `Dependent item` | unifi.usw.rx | 378 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Total TX Byte | Total tx in bytes | `Dependent item` | unifi.usw.tx | 379 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Upgradable | Is an upgrade available | `Dependent item` | unifi.usw.upgradable | 380 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Uplink Device | Uplink device name | `Dependent item` | unifi.usw.uplink.device | 381 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Uplink Port | Uplink device port | `Dependent item` | unifi.usw.uplink.port | 382 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Uplink Type | Uplink device type | `Dependent item` | unifi.usw.uplink.type | 383 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Uptime | Uptime | `Dependent item` | unifi.usw.uptime | 384 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Version | Software version | `Dependent item` | unifi.usw.version | 385 | 386 | ## Unifi USW: Triggers 387 | 388 | | Name | Description | Expression | Priority | 389 | | --------------------------------------------- | -------------------------------------------------------------- | ---------------------------------------------------------------------- | -------- | 390 | | CPU Usage > {$UNIFI.CPU.USAGE.HIGH}% | Alert when CPU usage is above {$UNIFI.CPU.USAGE.HIGH} |

***Expression***: avg(/Unifi USW/unifi.usw.cpu.usage,{$UNIFI.CPU.USAGE.HIGH.SEC})>{$UNIFI.CPU.USAGE.HIGH}

***Recovery expression***:

| High | 391 | | CPU Usage > {$UNIFI.CPU.USAGE.WARNING}% | Alert when CPU usage is above {$UNIFI.CPU.USAGE.WARNING} |

***Expression***: avg(/Unifi USW/unifi.usw.cpu.usage,{$UNIFI.CPU.USAGE.WARNING.SEC})>{$UNIFI.CPU.USAGE.WARNING}

***Recovery expression***:

| Warning | 392 | | Inform Url Changed | Alert on inform url change |

***Expression***: last(/Unifi USW/unifi.usw.inform.url,#1:now-24h)<>last(/Unifi USW/unifi.usw.inform.url,#1)=1

***Recovery expression***:

| Warning | 393 | | Management Network Changed | Alert on management network change |

***Expression***: last(/Unifi USW/unifi.usw.network,#1:now-24h)<>last(/Unifi USW/unifi.usw.network,#1)=1

***Recovery expression***:

| Warning | 394 | | Memory Usage > {$UNIFI.MEMORY.USAGE.HIGH}% | Alert when Memory usage is above {$UNIFI.MEMORY.USAGE.HIGH} |

***Expression***: avg(/Unifi USW/unifi.usw.memory.usage,{$UNIFI.MEMORY.USAGE.HIGH.SEC})>{$UNIFI.MEMORY.USAGE.HIGH}

***Recovery expression***:

| High | 395 | | Memory Usage > {$UNIFI.MEMORY.USAGE.WARNING}% | Alert when Memory usage is above {$UNIFI.MEMORY.USAGE.WARNING} |

***Expression***: avg(/Unifi USW/unifi.usw.memory.usage,{$UNIFI.MEMORY.USAGE.WARNING.SEC})>{$UNIFI.MEMORY.USAGE.WARNING}

***Recovery expression***:

| Warning | 396 | | Software Upgrade Available | Alert on software upgrade available |

***Expression***: last(/Unifi USW/unifi.usw.upgradable)="true"

***Recovery expression***:

| Warning | 397 | | Software Version Changed | Alert on software version change |

***Expression***: last(/Unifi USW/unifi.usw.version,#1:now-24h)<>last(/Unifi USW/unifi.usw.version,#1)=1

***Recovery expression***:

| Information | 398 | | SW Not Adopted | Alert if USW need to be adopted |

***Expression***: last(/Unifi USW/unifi.usw.adopted)<>"true"

***Recovery expression***:

| Information | 399 | | SW Offline | Alert when USW go offline |

***Expression***: last(/Unifi USW/unifi.usw.cpu.state,#3)<>1

***Recovery expression***:

| High | 400 | | SW Rebooted | Alert if USW was rebooted |

***Expression***: last(/Unifi USW/unifi.usw.uptime)<1800

***Recovery expression***:

| Warning | 401 | 402 | ## Unifi UAP: Macros 403 | 404 | | Name | Description | Default | Required | Type | 405 | | --------------------------------------- | ----------------------------------------------------- | ------- | -------- | --------- | 406 | | {$UNIFI.CPU.USAGE.HIGH} | Cpu % High Trigger threshold | `90` | `true` | `numeric` | 407 | | {$UNIFI.CPU.USAGE.HIGH.SEC} | Cpu High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 408 | | {$UNIFI.CPU.USAGE.WARNING} | Cpu % Warning Trigger threshold | `80` | `true` | `numeric` | 409 | | {$UNIFI.CPU.USAGE.WARNING.SEC} | Cpu Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 410 | | {$UNIFI.IP} | Unifi Ip | `-` | `true` | `text` | 411 | | {$UNIFI.MEMORY.USAGE.HIGH} | Memory % High Trigger threshold | `90` | `true` | `numeric` | 412 | | {$UNIFI.MEMORY.USAGE.HIGH.SEC} | Memory High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 413 | | {$UNIFI.MEMORY.USAGE.WARNING} | Memory % Warning Trigger threshold | `80` | `true` | `numeric` | 414 | | {$UNIFI.MEMORY.USAGE.WARNING.SEC} | Memory Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 415 | | {$UNIFI.PASSWORD} | Unifi View Only Password | `-` | `true` | `numeric` | 416 | | {$UNIFI.UAP.MAC} | UNIFI UAP Macaddress | `-` | `true` | `text` | 417 | | {$UNIFI.USERNAME} | Unifi View Only Username | `-` | `true` | `numeric` | 418 | 419 | ## Unifi UAP: Discovery rules 420 | 421 | | Name | Description | Type | Key and additional info | 422 | | ------------------------------------------------ | -------------------------------- | ---------------- | ------------------------------- | 423 | | *API stat/device/{$UNIFI.UAP.MAC}*: Radio | Discover UAP radio antennas | `Dependent item` | unifi.uap.radio.discovery | 424 | 425 | ## Unifi UAP: Items prototypes 426 | 427 | | Name | Description | Type | Key and additional info | 428 | | ----------------------------------------------------------------- | ------------------------ | ---------------- | ------------------------------------- | 429 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} Channel | channel | `Dependent item` | unifi.uap.radio.channel[{#NAME}] | 430 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} Gain | gain | `Dependent item` | unifi.uap.radio.gain[{#NAME}] | 431 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} HT | ht | `Dependent item` | unifi.uap.radio.ht[{#NAME}] | 432 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} Radio | radio | `Dependent item` | unifi.uap.radio.radio[{#NAME}] | 433 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} State | state | `Dependent item` | unifi.uap.radio.state[{#NAME}] | 434 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} TX Packets | total tx packets | `Dependent item` | unifi.uap.radio.tx.packets[{#NAME}] | 435 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} TX Power | total tx errors bytes | `Dependent item` | unifi.uap.radio.tx.errors[{#NAME}] | 436 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} TX Power Mode | total tx multicast bytes | `Dependent item` | unifi.uap.radio.tx.multicast[{#NAME}] | 437 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} TX Retries | total tx dropped bytes | `Dependent item` | unifi.uap.radio.tx.dropped[{#NAME}] | 438 | 439 | ## Unifi UAP: Triggers prototype 440 | 441 | | Name | Description | Expression | Priority | 442 | | ----------------------- | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | -------- | 443 | | {#NAME} State is not RUN | Alert when antennas is not in running state |

***Expression***: last(/Unifi UAP/unifi.uap.radio.state[{#NAME}],#3)<>"RUN"

***Recovery expression***:

| High | 444 | 445 | ## Unifi UAP: Items 446 | 447 | | Name | Description | Type | Key and additional info | 448 | | ---------------------------------------------------------- | ------------------------------- | ---------------- | --------------------------------- | 449 | | API stat/device/{$UNIFI.UAP.MAC} | Get device metrics | `HTTP agent` | unifi.uap.device

Update: 5m

| 450 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Adopted | Is adopted | `Dependent item` | unifi.uap.adopted | 451 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Cpu Usage % | Current CPU usage in percentage | `Dependent item` | unifi.uap.cpu.usage | 452 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Inform Ip | Inform IP | `Dependent item` | unifi.uap.inform.ip | 453 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Inform Url | Inform Url | `Dependent item` | unifi.uap.inform.url | 454 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP IP | IP | `Dependent item` | unifi.uap.ip | 455 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Kernel Version | Kernel version | `Dependent item` | unifi.uap.kernel.version | 456 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Last Seen | Last seen date | `Dependent item` | unifi.uap.lastseen | 457 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Macaddress | Macaddress | `Dependent item` | unifi.uap.mac | 458 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Management Network | Management network | `Dependent item` | unifi.uap.network | 459 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Memory Usage % | Current Memory Usage | `Dependent item` | unifi.uap.memory.usage | 460 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Model | Model | `Dependent item` | unifi.uap.model | 461 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Serial | Serial | `Dependent item` | unifi.uap.serial | 462 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP SOC Arch | SOC Arch | `Dependent item` | unifi.uap.soc.arch | 463 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP State | State | `Dependent item` | unifi.uap.cpu.state | 464 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Total RX Byte | Total rx in bytes | `Dependent item` | unifi.uap.rx | 465 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Total TX Byte | Total tx in bytes | `Dependent item` | unifi.uap.tx | 466 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Upgradable | Is an upgrade available | `Dependent item` | unifi.uap.upgradable | 467 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Uplink Device | Uplink device name | `Dependent item` | unifi.uap.uplink.device | 468 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Uplink Port | Uplink device port | `Dependent item` | unifi.uap.uplink.port | 469 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Uplink Type | Uplink device type | `Dependent item` | unifi.uap.uplink.type | 470 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Uptime | Uptime | `Dependent item` | unifi.uap.uptime | 471 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Version | Software version | `Dependent item` | unifi.uap.version | 472 | 473 | ## Unifi UAP: Triggers 474 | 475 | | Name | Description | Expression | Priority | 476 | | --------------------------------------------- | -------------------------------------------------------------- | ---------------------------------------------------------------------- | -------- | 477 | | CPU Usage > {$UNIFI.CPU.USAGE.HIGH}% | Alert when CPU usage is above {$UNIFI.CPU.USAGE.HIGH} |

***Expression***: avg(/Unifi UAP/unifi.uap.cpu.usage,{$UNIFI.CPU.USAGE.HIGH.SEC})>{$UNIFI.CPU.USAGE.HIGH}

***Recovery expression***:

| High | 478 | | CPU Usage > {$UNIFI.CPU.USAGE.WARNING}% | Alert when CPU usage is above {$UNIFI.CPU.USAGE.WARNING} |

***Expression***: avg(/Unifi UAP/unifi.uap.cpu.usage,{$UNIFI.CPU.USAGE.WARNING.SEC})>{$UNIFI.CPU.USAGE.WARNING}

***Recovery expression***:

| Warning | 479 | | Inform Url Changed | Alert on inform url change |

***Expression***: last(/Unifi UAP/unifi.uap.inform.url,#1:now-24h)<>last(/Unifi UAP/unifi.uap.inform.url,#1)=1

***Recovery expression***:

| Warning | 480 | | Management Network Changed | Alert on management network change |

***Expression***: last(/Unifi UAP/unifi.uap.network,#1:now-24h)<>last(/Unifi UAP/unifi.uap.network,#1)=1

***Recovery expression***:

| Warning | 481 | | Memory Usage > {$UNIFI.MEMORY.USAGE.HIGH}% | Alert when Memory usage is above {$UNIFI.MEMORY.USAGE.HIGH} |

***Expression***: avg(/Unifi UAP/unifi.uap.memory.usage,{$UNIFI.MEMORY.USAGE.HIGH.SEC})>{$UNIFI.MEMORY.USAGE.HIGH}

***Recovery expression***:

| High | 482 | | Memory Usage > {$UNIFI.MEMORY.USAGE.WARNING}% | Alert when Memory usage is above {$UNIFI.MEMORY.USAGE.WARNING} |

***Expression***: avg(/Unifi UAP/unifi.uap.memory.usage,{$UNIFI.MEMORY.USAGE.WARNING.SEC})>{$UNIFI.MEMORY.USAGE.WARNING}

***Recovery expression***:

| Warning | 483 | | Software Upgrade Available | Alert on software upgrade available |

***Expression***: last(/Unifi UAP/unifi.uap.upgradable)="true"

***Recovery expression***:

| Warning | 484 | | Software Version Changed | Alert on software version change |

***Expression***: last(/Unifi UAP/unifi.uap.version,#1:now-24h)<>last(/Unifi UAP/unifi.uap.version,#1)=1

***Recovery expression***:

| Information | 485 | | SW Not Adopted | Alert if UAP need to be adopted |

***Expression***: last(/Unifi UAP/unifi.uap.adopted)<>"true"

***Recovery expression***:

| Information | 486 | | SW Offline | Alert when UAP go offline |

***Expression***: last(/Unifi UAP/unifi.uap.cpu.state,#3)<>1

***Recovery expression***:

| High | 487 | | SW Rebooted | Alert if UAP was rebooted |

***Expression***: last(/Unifi UAP/unifi.uap.uptime)<1800

***Recovery expression***:

| Warning | 488 | 489 | ## Contribute 490 | 491 | This template is on early stage and can bee improved supporting other Unifi devices. Feel free to fork and submit pull request at [MassimilianoPasquini97/zbx_unifi_network](https://github.com/MassimilianoPasquini97/zbx_unifi_network) repository. 🙏🏻 492 | 493 | ## License 494 | 495 | Licensed under the [MIT license](https://github.com/MassimilianoPasquini97/zbx_unifi_network/blob/main/LICENSE.md). 496 | -------------------------------------------------------------------------------- /7.0/README.md: -------------------------------------------------------------------------------- 1 | # Unifi Network 2 | 3 | ## Description 4 | 5 | This template is meant for monitoring Unifi network devices using Unifi Network API. Special thanks who wrote and maintain this [wiki page](https://ubntwiki.com/products/software/unifi-controller/api), this guide helped me for realizing this template. Upstream repository at [MassimilianoPasquini97/zbx_unifi_network](https://github.com/MassimilianoPasquini97/zbx_unifi_network). 6 | 7 | ## How to use 8 | 9 | First of all you need to import the template file ***zbx_template_unifi_network.yaml*** in Zabbix. 😅 10 | 11 | Said that, this template use Unifi Network API so it need a view only local user on Unifi Network Web Interface. 12 | 13 | Once you create view only user, on Zabbix create a new host and link ***Unifi Network*** template, those macros need to be configured: 14 | 15 | - ***{$UNIFI.IP}***: IP or FQDN of Unifi Network Web Interface. 16 | - ***{$UNIFI.USERNAME}***: Username of View Only user. 17 | - ***{$UNIFI.PASSWORD}***: Password of View Only user. 18 | 19 | If you prefer you can modify other macros for further personalize trigger parameters. 20 | 21 | If you done all right now it auto discover all Unifi Dream Machine, Unifi Switch and Unifi Access Point and create an host object for all of them. 22 | 23 | ## Templates 24 | 25 | | Name | Description | 26 | | ------------- | ---------------------------- | 27 | | Unifi Network | Unifi Network Template | 28 | | Unifi UDM | Unifi Dream Machine Template | 29 | | Unifi USW | Unifi Switch Template | 30 | | Unifi UAP | Unifi Access Point Template | 31 | 32 | ## Unifi Network: Macros 33 | 34 | | Name | Description | Default | Required | Type | 35 | | --------------------------------------- | ----------------------------------------------------- | ------- | -------- | --------- | 36 | | {$UNIFI.AP.DISCONNECTED.SEC} | AP Disconnected Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 37 | | {$UNIFI.AP.PENDING.SEC} | AP Pending Trigger Avg threshold in seconds | `1800` | `true` | `numeric` | 38 | | {$UNIFI.CPU.USAGE.HIGH} | Cpu % High Trigger threshold | `90` | `true` | `numeric` | 39 | | {$UNIFI.CPU.USAGE.HIGH.SEC} | Cpu High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 40 | | {$UNIFI.CPU.USAGE.WARNING} | Cpu % Warning Trigger threshold | `80` | `true` | `numeric` | 41 | | {$UNIFI.CPU.USAGE.WARNING.SEC} | Cpu Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 42 | | {$UNIFI.IP} | Unifi Ip | `-` | `true` | `text` | 43 | | {$UNIFI.ISP.LATENCY.HIGH} | ISP ms High Trigger threshold | `30` | `true` | `numeric` | 44 | | {$UNIFI.ISP.LATENCY.HIGH.SEC} | ISP High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 45 | | {$UNIFI.ISP.LATENCY.WARNING} | ISP ms Warning Trigger threshold | `15` | `true` | `numeric` | 46 | | {$UNIFI.ISP.LATENCY.WARNING.SEC} | ISP Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 47 | | {$UNIFI.ISP.SPEED.DOWNLOAD} | ISP Max Download Speed in Mbps | `1000` | `true` | `numeric` | 48 | | {$UNIFI.ISP.SPEED.DOWNLOAD.HIGH} | ISP Download % High Trigger threshold | `95` | `true` | `numeric` | 49 | | {$UNIFI.ISP.SPEED.DOWNLOAD.HIGH.SEC} | ISP Download Avg High Trigger threshold in seconds | `900` | `true` | `numeric` | 50 | | {$UNIFI.ISP.SPEED.DOWNLOAD.WARNING} | ISP Download % Warning Trigger threshold | `85` | `true` | `numeric` | 51 | | {$UNIFI.ISP.SPEED.DOWNLOAD.WARNING.SEC} | ISP Download Avg Warning Trigger threshold in seconds | `900` | `true` | `numeric` | 52 | | {$UNIFI.ISP.SPEED.UPLOAD} | ISP Max Upload Speed in Mbps | `250` | `true` | `numeric` | 53 | | {$UNIFI.ISP.SPEED.UPLOAD.HIGH} | ISP Upload % High Trigger threshold | `85` | `true` | `numeric` | 54 | | {$UNIFI.ISP.SPEED.UPLOAD.HIGH.SEC} | ISP Upload Avg High Trigger threshold in seconds | `900` | `true` | `numeric` | 55 | | {$UNIFI.ISP.SPEED.UPLOAD.WARNING} | ISP Upload % Warning Trigger threshold | `95` | `true` | `numeric` | 56 | | {$UNIFI.ISP.SPEED.UPLOAD.WARNING.SEC} | ISP Upload Avg Warning Trigger threshold in seconds | `900` | `true` | `numeric` | 57 | | {$UNIFI.MEMORY.USAGE.HIGH} | Memory % High Trigger threshold | `90` | `true` | `numeric` | 58 | | {$UNIFI.MEMORY.USAGE.HIGH.SEC} | Memory High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 59 | | {$UNIFI.MEMORY.USAGE.WARNING} | Memory % Warning Trigger threshold | `80` | `true` | `numeric` | 60 | | {$UNIFI.MEMORY.USAGE.WARNING.SEC} | Memory Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 61 | | {$UNIFI.PASSWORD} | Unifi View Only Password | `-` | `true` | `numeric` | 62 | | {$UNIFI.SW.DISCONNECTED.SEC} | SW Disconnected Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 63 | | {$UNIFI.SW.PENDING.SEC} | SW Pending Trigger Avg threshold in seconds | `1800` | `true` | `numeric` | 64 | | {$UNIFI.USERNAME} | Unifi View Only Username | `-` | `true` | `numeric` | 65 | 66 | ## Unifi Network: Discovery rules 67 | 68 | | Name | Description | Type | Key and additional info | 69 | | ----------------------------------- | ---------------------------------------- | ---------------- | ------------------------------- | 70 | | *API stat/sta*: Client Wired | Discover all wired client devices | `Dependent item` | unifi.client.wired.discovery | 71 | | *API stat/sta*: Client Wireless | Discover all wireless client devices | `Dependent item` | unifi.client.wireless.discovery | 72 | | *API stat/device-basic*: Device UAP | Discover all Unifi Access Point devices | `Dependent item` | unifi.device.uap.discovery | 73 | | *API stat/device-basic*: Device UDM | Discover all Unifi Dream Machine devices | `Dependent item` | unifi.device.udm.discovery | 74 | | *API stat/device-basic*: Device USW | Discover all Unifi Switch devices | `Dependent item` | unifi.device.usw.discovery | 75 | 76 | ## Unifi Network: Items prototype 77 | 78 | | Name | Description | Type | Key and additional info | 79 | | ---------------------------------------------------------- | ----------------------------- | ---------------- | ------------------------------------------------ | 80 | | *API stat/sta*: {#NAME} DNS Record | Client dns record | `Dependent item` | unifi.client.wired.dns.record[{#MAC}] | 81 | | *API stat/sta*: {#NAME} DNS Record Enabled | Client dns record enabled | `Dependent item` | unifi.client.wired.dns.record.enabled[{#MAC}] | 82 | | *API stat/sta*: {#NAME} First Seen | Client first seen date | `Dependent item` | unifi.client.wired.seen.first[{#MAC}] | 83 | | *API stat/sta*: {#NAME} Guest | Client is guest | `Dependent item` | unifi.client.wired.guest[{#MAC}] | 84 | | *API stat/sta*: {#NAME} Hostname | Client hostname | `Dependent item` | unifi.client.wired.hostname[{#MAC}] | 85 | | *API stat/sta*: {#NAME} IP | Client IP | `Dependent item` | unifi.client.wired.ip[{#MAC}] | 86 | | *API stat/sta*: {#NAME} IP Fixed | Client IP is fixed | `Dependent item` | unifi.client.wired.ip.fixed[{#MAC}] | 87 | | *API stat/sta*: {#NAME} Last Seen | Client last seen date | `Dependent item` | unifi.client.wired.seen.last[{#MAC}] | 88 | | *API stat/sta*: {#NAME} Macaddress | Client Macaddress | `Dependent item` | unifi.client.wired.mac[{#MAC}] | 89 | | *API stat/sta*: {#NAME} Network | Client Network | `Dependent item` | unifi.client.wired.network[{#MAC}] | 90 | | *API stat/sta*: {#NAME} Uptime | Client uptime | `Dependent item` | unifi.client.wired.uptime[{#MAC}] | 91 | | *API stat/sta*: {#NAME} Vlan | Client vlan id | `Dependent item` | unifi.client.wired.vlan[{#MAC}] | 92 | | *API stat/sta*: {#NAME} Wired Switch Depth | Client switch depth | `Dependent item` | unifi.client.wired.sw.depth[{#MAC}] | 93 | | *API stat/sta*: {#NAME} Wired Switch Port | Client switch port | `Dependent item` | unifi.client.wired.sw.port[{#MAC}] | 94 | | *API stat/sta*: {#NAME} Wired Switch Port Macaddress | Client switch macaddress port | `Dependent item` | unifi.client.wired.sw.port.mac[{#MAC}] | 95 | | *API stat/sta*: {#NAME} Wired Switch Port Speed | Client switch port speed | `Dependent item` | unifi.client.wired.sw.port.speed[{#MAC}] | 96 | | *API stat/sta*: {#NAME} Wired Switch Port Total rx | Client total rx byte | `Dependent item` | unifi.client.wired.sw.port.rx.bytes[{#MAC}] | 97 | | *API stat/sta*: {#NAME} Wired Switch Port Total rx Packets | Client total rx packets | `Dependent item` | unifi.client.wired.sw.port.rx.packets[{#MAC}] | 98 | | *API stat/sta*: {#NAME} Wired Switch Port rx Rate | Client rx rate byte/seconds | `Dependent item` | unifi.client.wired.sw.port.rx.bytes.r[{#MAC}] | 99 | | *API stat/sta*: {#NAME} Wired Switch Port Total tx | Client total tx byte | `Dependent item` | unifi.client.wired.sw.port.tx.bytes[{#MAC}] | 100 | | *API stat/sta*: {#NAME} Wired Switch Port Total tx Packets | Client total tx packets | `Dependent item` | unifi.client.wired.sw.port.tx.packets[{#MAC}] | 101 | | *API stat/sta*: {#NAME} Wired Switch Port tx Rate | Client tx rate byte/seconds | `Dependent item` | unifi.client.wired.sw.port.tx.bytes.r[{#MAC}] | 102 | | *API stat/sta*: {#NAME} DNS Record | Client dns record | `Dependent item` | unifi.client.wireless.dns.record[{#MAC}] | 103 | | *API stat/sta*: {#NAME} DNS Record Enabled | Client dns record enabled | `Dependent item` | unifi.client.wireless.dns.record.enabled[{#MAC}] | 104 | | *API stat/sta*: {#NAME} First Seen | Client first seen date | `Dependent item` | unifi.client.wireless.seen.first[{#MAC}] | 105 | | *API stat/sta*: {#NAME} Guest | Client is guest | `Dependent item` | unifi.client.wireless.guest[{#MAC}] | 106 | | *API stat/sta*: {#NAME} Hostname | Client hostname | `Dependent item` | unifi.client.wireless.hostname[{#MAC}] | 107 | | *API stat/sta*: {#NAME} IP | Client IP | `Dependent item` | unifi.client.wireless.ip[{#MAC}] | 108 | | *API stat/sta*: {#NAME} IP Fixed | Client IP is fixed | `Dependent item` | unifi.client.wireless.ip.fixed[{#MAC}] | 109 | | *API stat/sta*: {#NAME} Last Seen | Client last seen date | `Dependent item` | unifi.client.wireless.seen.last[{#MAC}] | 110 | | *API stat/sta*: {#NAME} Macaddress | Client Macaddress | `Dependent item` | unifi.client.wireless.mac[{#MAC}] | 111 | | *API stat/sta*: {#NAME} Network | Client Network | `Dependent item` | unifi.client.wireless.network[{#MAC}] | 112 | | *API stat/sta*: {#NAME} Uptime | Client uptime | `Dependent item` | unifi.client.wireless.uptime[{#MAC}] | 113 | | *API stat/sta*: {#NAME} Vlan | Client vlan id | `Dependent item` | unifi.client.wireless.vlan[{#MAC}] | 114 | | *API stat/sta*: {#NAME} Wireless AP bssid | Access Point bssid | `Dependent item` | unifi.client.wireless.ap.bssid[{#MAC}] | 115 | | *API stat/sta*: {#NAME} Wireless AP Channel | Access Point channel | `Dependent item` | unifi.client.wireless.ap.channel[{#MAC}] | 116 | | *API stat/sta*: {#NAME} Wireless AP essid | Access Point essid | `Dependent item` | unifi.client.wireless.ap.essid[{#MAC}] | 117 | | *API stat/sta*: {#NAME} Wireless AP Macaddress | Access Point macaddress | `Dependent item` | unifi.client.wireless.ap.mac[{#MAC}] | 118 | | *API stat/sta*: {#NAME} Wireless AP Radio | Client radio | `Dependent item` | unifi.client.wireless.ap.radio[{#MAC}] | 119 | | *API stat/sta*: {#NAME} Wireless Noise | Client noise | `Dependent item` | unifi.client.wireless.ap.noise[{#MAC}] | 120 | | *API stat/sta*: {#NAME} Wireless powersave | Client is in powersave | `Dependent item` | unifi.client.wireless.ap.powersave[{#MAC}] | 121 | | *API stat/sta*: {#NAME} Wireless Total rx | Client total rx byte | `Dependent item` | unifi.client.wireless.rx.bytes[{#MAC}] | 122 | | *API stat/sta*: {#NAME} Wireless Total rx Packets | Client total rx packets | `Dependent item` | unifi.client.wireless.rx.packets[{#MAC}] | 123 | | *API stat/sta*: {#NAME} Wireless rx Rate | Client rx rate byte/seconds | `Dependent item` | unifi.client.wireless.rx.bytes.r[{#MAC}] | 124 | | *API stat/sta*: {#NAME} Wireless Total tx | Client total tx byte | `Dependent item` | unifi.client.wireless.tx.bytes[{#MAC}] | 125 | | *API stat/sta*: {#NAME} Wireless Total tx Packets | Client total tx packets | `Dependent item` | unifi.client.wireless.tx.packets[{#MAC}] | 126 | | *API stat/sta*: {#NAME} Wireless tx Rate | Client tx rate byte/seconds | `Dependent item` | unifi.client.wireless.tx.bytes.r[{#MAC}] | 127 | 128 | ## Unifi Network: Host prototypes 129 | 130 | | Name | Description | Templates | Host Group | 131 | | ----------------- | ------------------------------------------------------ | --------- | ---------- | 132 | | Unifi UAP {#NAME} | Create an host for each Unifi Access Point discovered | Unifi UAP | Network | 133 | | Unifi UDM {#NAME} | Create an host for each Unifi Dream Machine discovered | Unifi UDM | Network | 134 | | Unifi USW {#NAME} | Create an host for each Unifi Switch discovered | Unifi UAP | Network | 135 | 136 | ## Unifi Network: Items 137 | 138 | | Name | Description | Type | Key and additional info | 139 | | ----------------------------------------------------- | ------------------------------------------ | ---------------- | ----------------------------- | 140 | | API stat/device-basic | Get all Unifi devices | `HTTP agent` | unifi.device

Update: 1d

| 141 | | API stat/health | Get Unifi Network health metrics | `HTTP agent` | unifi.health

Update: 5m

| 142 | | API stat/sta | Get metrics for all client on network | `HTTP agent` | unifi.client

Update: 5m

| 143 | | *API stat/health*: Unifi Gateway CPU Usage % | CPU usage percentage | `Dependent item` | unifi.cpu | 144 | | *API stat/health*: Unifi Gateway LAN Client | Number of clients on lan | `Dependent item` | unifi.lan.client | 145 | | *API stat/health*: Unifi Gateway LAN Guest Client | Number of clients on guest lan | `Dependent item` | unifi.lan.guest.client | 146 | | *API stat/health*: Unifi Gateway LAN Status | Lan status | `Dependent item` | unifi.lan.status | 147 | | *API stat/health*: Unifi Gateway LAN SW | Number of Unifi Switch | `Dependent item` | unifi.lan.sw | 148 | | *API stat/health*: Unifi Gateway LAN SW Adopted | Number of adopted Unifi Switch | `Dependent item` | unifi.lan.sw.adopted | 149 | | *API stat/health*: Unifi Gateway LAN SW Disconnected | Number of disconnected Unifi Switch | `Dependent item` | unifi.lan.sw.disconnected | 150 | | *API stat/health*: Unifi Gateway LAN SW Pending | Number of pending Unifi Switch | `Dependent item` | unifi.lan.sw.pending | 151 | | *API stat/health*: Unifi Gateway Memory Usage % | Memory usage percentage | `Dependent item` | unifi.mem | 152 | | *API stat/health*: Unifi Gateway Name | Unifi gateway hostname | `Dependent item` | unifi.gw_name | 153 | | *API stat/health*: Unifi Gateway Uptime | Unifi gateway uptime | `Dependent item` | unifi.uptime | 154 | | *API stat/health*: Unifi Gateway VPN Active Users | Number of users using vpn | `Dependent item` | unifi.vpn.users | 155 | | *API stat/health*: Unifi Gateway VPN Status | Vpn status | `Dependent item` | unifi.vpn.status | 156 | | *API stat/health*: Unifi Gateway WAN Download | Current WAN download usage | `Dependent item` | unifi.wan.isp.download | 157 | | *API stat/health*: Unifi Gateway WAN ISP Availability | WAN availability | `Dependent item` | unifi.wan.isp.availability | 158 | | *API stat/health*: Unifi Gateway WAN ISP Latency Avg | Avarage ISP latency | `Dependent item` | unifi.wan.isp.latency | 159 | | *API stat/health*: Unifi Gateway WAN ISP Name | ISP name | `Dependent item` | unifi.wan.isp.name | 160 | | *API stat/health*: Unifi Gateway WAN ISP Organization | ISP organization | `Dependent item` | unifi.wan.isp.organization | 161 | | *API stat/health*: Unifi Gateway WAN ISP Uptime | ISP uptime | `Dependent item` | unifi.wan.isp.uptime | 162 | | *API stat/health*: Unifi Gateway WAN Status | WAN status | `Dependent item` | unifi.wan.status | 163 | | *API stat/health*: Unifi Gateway WAN Upload | Current WAN upload usage | `Dependent item` | unifi.wan.isp.upload | 164 | | *API stat/health*: Unifi Gateway WLAN AP | Number of Unifi Access Point | `Dependent item` | unifi.wlan.ap | 165 | | *API stat/health*: Unifi Gateway WLAN AP Adopted | Number of adopted Unifi Access Point | `Dependent item` | unifi.wlan.ap.adopted | 166 | | *API stat/health*: Unifi Gateway WLAN AP Disabled | Number of disabled Unifi Access Point | `Dependent item` | unifi.wlan.ap.disabled | 167 | | *API stat/health*: Unifi Gateway WLAN AP Disconnected | Number of disconnected Unifi Access Point | `Dependent item` | unifi.wlan.ap.disconnected | 168 | | *API stat/health*: Unifi Gateway WLAN AP Pending | Number of pending Unifi Access Point | `Dependent item` | unifi.wlan.ap.pending | 169 | | *API stat/health*: Unifi Gateway WLAN Client | Number of clients on wlan | `Dependent item` | unifi.wlan.client | 170 | | *API stat/health*: Unifi Gateway WLAN Guest Client | Number of clients on guest wlan | `Dependent item` | unifi.wlan.guest.client | 171 | | *API stat/health*: Unifi Gateway WLAN Status | Lan status | `Dependent item` | unifi.wlan.status | 172 | 173 | ## Unifi Network: Triggers 174 | 175 | | Name | Description | Expression | Priority | 176 | | --- | ----------- | ---------- | -------- | 177 | | CPU Usage > {$UNIFI.CPU.USAGE.HIGH}% | Alert when CPU usage is above {$UNIFI.CPU.USAGE.HIGH} |

***Expression***: avg(/Unifi Network/unifi.cpu,{$UNIFI.CPU.USAGE.HIGH.SEC})>{$UNIFI.CPU.USAGE.HIGH}

***Recovery expression***:

| High | 178 | | CPU Usage > {$UNIFI.CPU.USAGE.WARNING}% | Alert when CPU usage is above {$UNIFI.CPU.USAGE.WARNING} |

***Expression***: avg(/Unifi Network/unifi.cpu,{$UNIFI.CPU.USAGE.WARNING.SEC})>{$UNIFI.CPU.USAGE.WARNING}

***Recovery expression***:

| Warning | 179 | | Device rebooted | Alert on device reboot |

***Expression***: last(/Unifi Network/unifi.uptime)<86400

***Recovery expression***:

| Warning | 180 | | Hostname Changed | Alert on hostname change |

***Expression***: last(/Unifi Network/unifi.gw_name,#1:now-24h)<>last(/Unifi Network/unifi.gw_name,#1)=1

***Recovery expression***:

| Warning | 181 | | ISP Download Usage > {$UNIFI.ISP.SPEED.DOWNLOAD.HIGH}% | Alert when ISP Download usage is above {$UNIFI.ISP.SPEED.DOWNLOAD.HIGH} |

***Expression***: avg(/Unifi Network/unifi.wan.isp.download,{$UNIFI.ISP.SPEED.DOWNLOAD.HIGH.SEC})/10000/{$UNIFI.ISP.SPEED.DOWNLOAD}>{$UNIFI.ISP.SPEED.DOWNLOAD.HIGH}

***Recovery expression***:

| High | 182 | | ISP Download Usage > {$UNIFI.ISP.SPEED.DOWNLOAD.WARNING}% | Alert when ISP Download usage is above {$UNIFI.ISP.SPEED.DOWNLOAD.WARNING} |

***Expression***: avg(/Unifi Network/unifi.wan.isp.download,{$UNIFI.ISP.SPEED.DOWNLOAD.WARNING.SEC})/10000/{$UNIFI.ISP.SPEED.DOWNLOAD}>{$UNIFI.ISP.SPEED.DOWNLOAD.WARNING}

***Recovery expression***:

| Warning | 183 | | ISP Latency Usage > {$UNIFI.ISP.LATENCY.HIGH}ms | Alert when ISP Latency usage is above {$UNIFI.ISP.LATENCY.HIGH} |

***Expression***: avg(/Unifi Network/unifi.wan.isp.latency,{$UNIFI.ISP.LATENCY.HIGH.SEC})>{$UNIFI.ISP.LATENCY.HIGH}

***Recovery expression***:

| High | 184 | | ISP Latency Usage > {$UNIFI.ISP.LATENCY.WARNING}ms | Alert when ISP Latency usage is above {$UNIFI.ISP.LATENCY.WARNING} |

***Expression***: avg(/Unifi Network/unifi.wan.isp.latency,{$UNIFI.ISP.LATENCY.WARNING.SEC})>{$UNIFI.ISP.LATENCY.WARNING}

***Recovery expression***:

| Warning | 185 | | ISP Upload Usage > {$UNIFI.ISP.SPEED.UPLOAD.HIGH}% | Alert when ISP Upload usage is above {$UNIFI.ISP.SPEED.UPLOAD.HIGH} |

***Expression***: avg(/Unifi Network/unifi.wan.isp.upload,{$UNIFI.ISP.SPEED.UPLOAD.HIGH.SEC})/10000/{$UNIFI.ISP.SPEED.UPLOAD}>{$UNIFI.ISP.SPEED.UPLOAD.HIGH}

***Recovery expression***:

| High | 186 | | ISP Upload Usage > {$UNIFI.ISP.SPEED.UPLOAD.WARNING}% | Alert when ISP Upload usage is above {$UNIFI.ISP.SPEED.UPLOAD.WARNING} |

***Expression***: avg(/Unifi Network/unifi.wan.isp.upload,{$UNIFI.ISP.SPEED.UPLOAD.WARNING.SEC})/10000/{$UNIFI.ISP.SPEED.UPLOAD}>{$UNIFI.ISP.SPEED.UPLOAD.WARNING}

***Recovery expression***:

| Warning | 187 | | ISP Uptime changed | Alert on ISP uptime change |

***Expression***: last(/Unifi Network/unifi.wan.isp.uptime)<3600

***Recovery expression***:

| Warning | 188 | | Memory Usage > {$UNIFI.MEMORY.USAGE.HIGH}% | Alert when Memory usage is above {$UNIFI.MEMORY.USAGE.HIGH} |

***Expression***: avg(/Unifi Network/unifi.mem,{$UNIFI.MEMORY.USAGE.HIGH.SEC})>{$UNIFI.MEMORY.USAGE.HIGH}

***Recovery expression***:

| High | 189 | | Memory Usage > {$UNIFI.MEMORY.USAGE.WARNING}% | Alert when Memory usage is above {$UNIFI.MEMORY.USAGE.WARNING} |

***Expression***: avg(/Unifi Network/unifi.mem,{$UNIFI.MEMORY.USAGE.WARNING.SEC})>{$UNIFI.MEMORY.USAGE.WARNING}

***Recovery expression***:

| Warning | 190 | | One or more Acces Point is disconnected | Alert if one or more access point is disconnected |

***Expression***: avg(/Unifi Network/unifi.wlan.ap.disconnected,{$UNIFI.AP.DISCONNECTED.SEC})>0

***Recovery expression***:

| High | 191 | | One or more Access Point need to be adopted | Alert if one or more access point need to be adopted |

***Expression***: avg(/Unifi Network/unifi.wlan.ap.pending,{$UNIFI.AP.PENDING.SEC})>0

***Recovery expression***:

| Information | 192 | | One or more Switch is disconnected | Alert if one or more switch is disconnected |

***Expression***: avg(/Unifi Network/unifi.lan.sw.disconnected,{$UNIFI.SW.DISCONNECTED.SEC})>0

***Recovery expression***:

| High | 193 | | One or more Switch need to be adopted | Alert if one or more switch need to be adopted |

***Expression***: avg(/Unifi Network/unifi.lan.sw.pending,{$UNIFI.SW.PENDING.SEC})>0

***Recovery expression***:

| Information | 194 | | Problem on LAN | Alert on lan problem |

***Expression***: last(/Unifi Network/unifi.lan.status,#3)<>"ok"

***Recovery expression***:

| High | 195 | | Problem on VPN | Alert on vpn problem |

***Expression***: last(/Unifi Network/unifi.vpn.status,#3)<>"ok"

***Recovery expression***:

| High | 196 | | Problem on WAN | Alert on wan problem |

***Expression***: last(/Unifi Network/unifi.wan.status,#3)<>"ok"

***Recovery expression***:

| High | 197 | | Problem on WLAN | Alert on wlan problem |

***Expression***: last(/Unifi Network/unifi.wlan.status,#3)<>"ok"

***Recovery expression***:

| High | 198 | | Unifi API not responding | Alert when Unifi Network API are not reachable |

***Expression***: last(/Unifi Network/unifi.health,#3)=""

***Recovery expression***:

| High | 199 | 200 | ## Unifi UDM: Macros 201 | 202 | | Name | Description | Default | Required | Type | 203 | | --------------------------------------- | ----------------------------------------------------- | ---------------------------------- | -------- | --------- | 204 | | {$UNIFI.CPU.USAGE.HIGH} | Cpu % High Trigger threshold | `90` | `true` | `numeric` | 205 | | {$UNIFI.CPU.USAGE.HIGH.SEC} | Cpu High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 206 | | {$UNIFI.CPU.USAGE.WARNING} | Cpu % Warning Trigger threshold | `80` | `true` | `numeric` | 207 | | {$UNIFI.CPU.USAGE.WARNING.SEC} | Cpu Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 208 | | {$UNIFI.IP} | Unifi Ip | `-` | `true` | `text` | 209 | | {$UNIFI.MEMORY.USAGE.HIGH} | Memory % High Trigger threshold | `90` | `true` | `numeric` | 210 | | {$UNIFI.MEMORY.USAGE.HIGH.SEC} | Memory High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 211 | | {$UNIFI.MEMORY.USAGE.WARNING} | Memory % Warning Trigger threshold | `80` | `true` | `numeric` | 212 | | {$UNIFI.MEMORY.USAGE.WARNING.SEC} | Memory Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 213 | | {$UNIFI.PASSWORD} | Unifi View Only Password | `-` | `true` | `numeric` | 214 | | {$UNIFI.TEMP.HIGH} | Temperatire High Trigger threshold | `80` | `true` | `numeric` | 215 | | {$UNIFI.TEMP.HIGH.SEC} | Temperatire High Trigger threshold in sec | `900` | `true` | `numeric` | 216 | | {$UNIFI.TEMP.WARNING} | Temperatire Warning Trigger threshold | `80` | `true` | `numeric` | 217 | | {$UNIFI.TEMP.WARNING.SEC} | Temperatire Warning Trigger threshold in sec | `900` | `true` | `numeric` | 218 | | {$UNIFI.UDM.MAC} | UNIFI GW Macaddress | `-` | `true` | `text` | 219 | | {$UNIFI.USERNAME} | Unifi View Only Username | `-` | `true` | `numeric` | 220 | | {$UNIFI.API.AUTH.URI} | Unifi API Authentication route | `api/auth/login` | `true` | `text` | 221 | | {$UNIFI.API.AUTH.TOKEN} | Unifi API Authentication cookie name | `TOKEN` | `true` | `text` | 222 | | {$UNIFI.API.URI} | Unifi API route | `proxy/network/api/s/default/stat` | `true` | `text` | 223 | 224 | ## Unifi UDM: Discovery rules 225 | 226 | | Name | Description | Type | Key and additional info | 227 | | ------------------------------------------------ | -------------------------------- | ---------------- | ------------------------------- | 228 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port | Discover UDM ports | `Dependent item` | unifi.udm.port.discovery | 229 | | *API stat/device/{$UNIFI.UDM.MAC}*: Temperatures | Discover UDM temperature sensors | `Dependent item` | unifi.udm.temperature.discovery | 230 | 231 | ## Unifi UDM: Items prototype 232 | 233 | | Name | Description | Type | Key and additional info | 234 | | ----------------------------------------------------------------- | ----------------------------- | ---------------- | ---------------------------------- | 235 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Enabled | Port enabled | `Dependent item` | unifi.udm.port.enabled[{#ID}] | 236 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Media | Port type | `Dependent item` | unifi.udm.port.media[{#ID}] | 237 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Mode | Port mode | `Dependent item` | unifi.udm.port.mode[{#ID}] | 238 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Name | Port name | `Dependent item` | unifi.udm.port.name[{#ID}] | 239 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} POE Capable | Port POE capable | `Dependent item` | unifi.udm.port.poe.capable[{#ID}] | 240 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} POE Good | Port POE state | `Dependent item` | unifi.udm.port.poe.good[{#ID}] | 241 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} POE Mode | Port POE mode | `Dependent item` | unifi.udm.port.poe.mode[{#ID}] | 242 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} POE Power | Port POE Watt | `Dependent item` | unifi.udm.port.poe.power[{#ID}] | 243 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Speed | Port speed | `Dependent item` | unifi.udm.port.speed[{#ID}] | 244 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total RX | Port total rx bytes | `Dependent item` | unifi.udm.port.rx[{#ID}] | 245 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total RX Broadcast | Port total rx broadcast bytes | `Dependent item` | unifi.udm.port.rx.broadcast[{#ID}] | 246 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total RX Dropped | Port total rx dropped bytes | `Dependent item` | unifi.udm.port.rx.dropped[{#ID}] | 247 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total RX Errors | Port total rx error bytes | `Dependent item` | unifi.udm.port.rx.errors[{#ID}] | 248 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total RX Multicast | Port total rx multicast bytes | `Dependent item` | unifi.udm.port.rx.multicast[{#ID}] | 249 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total RX Packets | Port total rx packets | `Dependent item` | unifi.udm.port.rx.packets[{#ID}] | 250 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total TX | Port total tx bytes | `Dependent item` | unifi.udm.port.tx[{#ID}] | 251 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total TX Broadcast | Port total tx broadcast bytes | `Dependent item` | unifi.udm.port.tx.broadcast[{#ID}] | 252 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total TX Dropped | Port total tx dropped bytes | `Dependent item` | unifi.udm.port.tx.dropped[{#ID}] | 253 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total TX Errors | Port total tx errors bytes | `Dependent item` | unifi.udm.port.tx.errors[{#ID}] | 254 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total TX Multicast | Port total tx multicast bytes | `Dependent item` | unifi.udm.port.tx.multicast[{#ID}] | 255 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Total TX Packets | Port total tx packets | `Dependent item` | unifi.udm.port.tx.packets[{#ID}] | 256 | | *API stat/device/{$UNIFI.UDM.MAC}*: Port {#ID} Up | Port up state | `Dependent item` | unifi.udm.port.up[{#ID}] | 257 | | *API stat/device/{$UNIFI.UDM.MAC}*: Temperature {#NAME} | Temperature | `Dependent item` | udm.temperature[{#NAME}] | 258 | 259 | ## Unifi UDM: Triggers prototype 260 | 261 | | Name | Description | Expression | Priority | 262 | | ---------------------------------- | ----------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | 263 | | Temperature > {$UNIFI.TEMP.HIGH} | Alert when temperature is above {$UNIFI.TEMP.HIGH} |

***Expression***: last(/Unifi UDM/udm.temperature[{#NAME}],{$UNIFI.TEMP.HIGH.SEC})>{$UNIFI.TEMP.HIGH}

***Recovery expression***:

| High | 264 | | Temperature > {$UNIFI.TEMP.WARNING} | Alert when temperature is above {$UNIFI.TEMP.WARNING} |

***Expression***: last(/Unifi UDM/udm.temperature[{#NAME}],{$UNIFI.TEMP.WARNING.SEC})>{$UNIFI.TEMP.WARNING}

***Recovery expression***:

| Warning | 265 | 266 | ## Unifi UDM: Items 267 | 268 | | Name | Description | Type | Key and additional info | 269 | | ---------------------------------------------------------- | ------------------------------- | ---------------- | --------------------------------- | 270 | | API stat/device/{$UNIFI.UDM.MAC} | Get device metrics | `HTTP agent` | unifi.udm.device

Update: 5m

| 271 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Adopted | Is adopted | `Dependent item` | unifi.udm.adopted | 272 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Cpu Usage % | Current CPU usage in percentage | `Dependent item` | unifi.udm.cpu.usage | 273 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Inform Ip | Inform IP | `Dependent item` | unifi.udm.inform.ip | 274 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Inform Url | Inform Url | `Dependent item` | unifi.udm.inform.url | 275 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM IP | IP | `Dependent item` | unifi.udm.ip | 276 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Kernel Version | Kernel version | `Dependent item` | unifi.udm.kernel.version | 277 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Last Seen | Last seen date | `Dependent item` | unifi.udm.lastseen | 278 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Macaddress | Macaddress | `Dependent item` | unifi.udm.mac | 279 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Management Network | Management network | `Dependent item` | unifi.udm.network | 280 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Memory Usage % | Current Memory Usage | `Dependent item` | unifi.udm.memory.usage | 281 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Model | Model | `Dependent item` | unifi.udm.model | 282 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Serial | Serial | `Dependent item` | unifi.udm.serial | 283 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM SOC Arch | SOC Arch | `Dependent item` | unifi.udm.soc.arch | 284 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM State | State | `Dependent item` | unifi.udm.cpu.state | 285 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Total RX Byte | Total rx in bytes | `Dependent item` | unifi.udm.rx | 286 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Total TX Byte | Total tx in bytes | `Dependent item` | unifi.udm.tx | 287 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Upgradable | Is an upgrade available | `Dependent item` | unifi.udm.upgradable | 288 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Uptime | Uptime | `Dependent item` | unifi.udm.uptime | 289 | | *API stat/device/{$UNIFI.UDM.MAC}*: UDM Version | Software version | `Dependent item` | unifi.udm.version | 290 | 291 | ## Unifi UDM: Triggers 292 | 293 | | Name | Description | Expression | Priority | 294 | | --------------------------------------------- | -------------------------------------------------------------- | ---------------------------------------------------------------------- | -------- | 295 | | CPU Usage > {$UNIFI.CPU.USAGE.HIGH}% | Alert when CPU usage is above {$UNIFI.CPU.USAGE.HIGH} |

***Expression***: avg(/Unifi UDM/unifi.udm.cpu.usage,{$UNIFI.CPU.USAGE.HIGH.SEC})>{$UNIFI.CPU.USAGE.HIGH}

***Recovery expression***:

| High | 296 | | CPU Usage > {$UNIFI.CPU.USAGE.WARNING}% | Alert when CPU usage is above {$UNIFI.CPU.USAGE.WARNING} |

***Expression***: avg(/Unifi UDM/unifi.udm.cpu.usage,{$UNIFI.CPU.USAGE.WARNING.SEC})>{$UNIFI.CPU.USAGE.WARNING}

***Recovery expression***:

| Warning | 297 | | GW Not Adopted | Alert if UDM need to be adopted |

***Expression***: last(/Unifi UDM/unifi.udm.adopted)<>"true"

***Recovery expression***:

| Information | 298 | | GW Offline | Alert when UDM go offline |

***Expression***: last(/Unifi UDM/unifi.udm.cpu.state,#3)<>1

***Recovery expression***:

| High | 299 | | GW Rebooted | Alert if UDM was rebooted |

***Expression***: last(/Unifi UDM/unifi.udm.uptime)<1800

***Recovery expression***:

| Warning | 300 | | Inform Url Changed | Alert on inform url change |

***Expression***: last(/Unifi UDM/unifi.udm.inform.url,#1:now-24h)<>last(/Unifi UDM/unifi.udm.inform.url,#1)=1

***Recovery expression***:

| Warning | 301 | | Management Network Changed | Alert on management network change |

***Expression***: last(/Unifi UDM/unifi.udm.network,#1:now-24h)<>last(/Unifi UDM/unifi.udm.network,#1)=1

***Recovery expression***:

| Warning | 302 | | Memory Usage > {$UNIFI.MEMORY.USAGE.HIGH}% | Alert when Memory usage is above {$UNIFI.MEMORY.USAGE.HIGH} |

***Expression***: avg(/Unifi UDM/unifi.udm.memory.usage,{$UNIFI.MEMORY.USAGE.HIGH.SEC})>{$UNIFI.MEMORY.USAGE.HIGH}

***Recovery expression***:

| High | 303 | | Memory Usage > {$UNIFI.MEMORY.USAGE.WARNING}% | Alert when Memory usage is above {$UNIFI.MEMORY.USAGE.WARNING} |

***Expression***: avg(/Unifi UDM/unifi.udm.memory.usage,{$UNIFI.MEMORY.USAGE.WARNING.SEC})>{$UNIFI.MEMORY.USAGE.WARNING}

***Recovery expression***:

| Warning | 304 | | Software Upgrade Available | Alert on software upgrade available |

***Expression***: last(/Unifi UDM/unifi.udm.upgradable)="true"

***Recovery expression***:

| Warning | 305 | | Software Version Changed | Alert on software version change |

***Expression***: last(/Unifi UDM/unifi.udm.version,#1:now-24h)<>last(/Unifi UDM/unifi.udm.version,#1)=1

***Recovery expression***:

| Information | 306 | 307 | ## Unifi USW: Macros 308 | 309 | | Name | Description | Default | Required | Type | 310 | | --------------------------------------- | ----------------------------------------------------- | ------- | -------- | --------- | 311 | | {$UNIFI.CPU.USAGE.HIGH} | Cpu % High Trigger threshold | `90` | `true` | `numeric` | 312 | | {$UNIFI.CPU.USAGE.HIGH.SEC} | Cpu High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 313 | | {$UNIFI.CPU.USAGE.WARNING} | Cpu % Warning Trigger threshold | `80` | `true` | `numeric` | 314 | | {$UNIFI.CPU.USAGE.WARNING.SEC} | Cpu Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 315 | | {$UNIFI.IP} | Unifi Ip | `-` | `true` | `text` | 316 | | {$UNIFI.MEMORY.USAGE.HIGH} | Memory % High Trigger threshold | `90` | `true` | `numeric` | 317 | | {$UNIFI.MEMORY.USAGE.HIGH.SEC} | Memory High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 318 | | {$UNIFI.MEMORY.USAGE.WARNING} | Memory % Warning Trigger threshold | `80` | `true` | `numeric` | 319 | | {$UNIFI.MEMORY.USAGE.WARNING.SEC} | Memory Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 320 | | {$UNIFI.PASSWORD} | Unifi View Only Password | `-` | `true` | `numeric` | 321 | | {$UNIFI.USW.MAC} | UNIFI USW Macaddress | `-` | `true` | `text` | 322 | | {$UNIFI.USERNAME} | Unifi View Only Username | `-` | `true` | `numeric` | 323 | 324 | ## Unifi USW: Discovery rules 325 | 326 | | Name | Description | Type | Key and additional info | 327 | | ------------------------------------------------ | -------------------------------- | ---------------- | ------------------------------- | 328 | | *API stat/device/{$UNIFI.USW.MAC}*: Port | Discover USW ports | `Dependent item` | unifi.usw.port.discovery | 329 | 330 | ## Unifi USW: Items prototypes 331 | 332 | | Name | Description | Type | Key and additional info | 333 | | ----------------------------------------------------------------- | ----------------------------- | ---------------- | ---------------------------------- | 334 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Enabled | Port enabled | `Dependent item` | unifi.usw.port.enabled[{#ID}] | 335 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Media | Port type | `Dependent item` | unifi.usw.port.media[{#ID}] | 336 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Mode | Port mode | `Dependent item` | unifi.usw.port.mode[{#ID}] | 337 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Name | Port name | `Dependent item` | unifi.usw.port.name[{#ID}] | 338 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} POE Capable | Port POE capable | `Dependent item` | unifi.usw.port.poe.capable[{#ID}] | 339 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} POE Good | Port POE state | `Dependent item` | unifi.usw.port.poe.good[{#ID}] | 340 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} POE Mode | Port POE mode | `Dependent item` | unifi.usw.port.poe.mode[{#ID}] | 341 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} POE Power | Port POE Watt | `Dependent item` | unifi.usw.port.poe.power[{#ID}] | 342 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Speed | Port speed | `Dependent item` | unifi.usw.port.speed[{#ID}] | 343 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total RX | Port total rx bytes | `Dependent item` | unifi.usw.port.rx[{#ID}] | 344 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total RX Broadcast | Port total rx broadcast bytes | `Dependent item` | unifi.usw.port.rx.broadcast[{#ID}] | 345 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total RX Dropped | Port total rx dropped bytes | `Dependent item` | unifi.usw.port.rx.dropped[{#ID}] | 346 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total RX Errors | Port total rx error bytes | `Dependent item` | unifi.usw.port.rx.errors[{#ID}] | 347 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total RX Multicast | Port total rx multicast bytes | `Dependent item` | unifi.usw.port.rx.multicast[{#ID}] | 348 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total RX Packets | Port total rx packets | `Dependent item` | unifi.usw.port.rx.packets[{#ID}] | 349 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total TX | Port total tx bytes | `Dependent item` | unifi.usw.port.tx[{#ID}] | 350 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total TX Broadcast | Port total tx broadcast bytes | `Dependent item` | unifi.usw.port.tx.broadcast[{#ID}] | 351 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total TX Dropped | Port total tx dropped bytes | `Dependent item` | unifi.usw.port.tx.dropped[{#ID}] | 352 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total TX Errors | Port total tx errors bytes | `Dependent item` | unifi.usw.port.tx.errors[{#ID}] | 353 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total TX Multicast | Port total tx multicast bytes | `Dependent item` | unifi.usw.port.tx.multicast[{#ID}] | 354 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Total TX Packets | Port total tx packets | `Dependent item` | unifi.usw.port.tx.packets[{#ID}] | 355 | | *API stat/device/{$UNIFI.USW.MAC}*: Port {#ID} Up | Port up state | `Dependent item` | unifi.usw.port.up[{#ID}] | 356 | 357 | ## Unifi USW: Items 358 | 359 | | Name | Description | Type | Key and additional info | 360 | | ---------------------------------------------------------- | ------------------------------- | ---------------- | --------------------------------- | 361 | | API stat/device/{$UNIFI.USW.MAC} | Get device metrics | `HTTP agent` | unifi.usw.device

Update: 5m

| 362 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Adopted | Is adopted | `Dependent item` | unifi.usw.adopted | 363 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Cpu Usage % | Current CPU usage in percentage | `Dependent item` | unifi.usw.cpu.usage | 364 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Inform Ip | Inform IP | `Dependent item` | unifi.usw.inform.ip | 365 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Inform Url | Inform Url | `Dependent item` | unifi.usw.inform.url | 366 | | *API stat/device/{$UNIFI.USW.MAC}*: USW IP | IP | `Dependent item` | unifi.usw.ip | 367 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Kernel Version | Kernel version | `Dependent item` | unifi.usw.kernel.version | 368 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Last Seen | Last seen date | `Dependent item` | unifi.usw.lastseen | 369 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Macaddress | Macaddress | `Dependent item` | unifi.usw.mac | 370 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Management Network | Management network | `Dependent item` | unifi.usw.network | 371 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Memory Usage % | Current Memory Usage | `Dependent item` | unifi.usw.memory.usage | 372 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Model | Model | `Dependent item` | unifi.usw.model | 373 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Serial | Serial | `Dependent item` | unifi.usw.serial | 374 | | *API stat/device/{$UNIFI.USW.MAC}*: USW SOC Arch | SOC Arch | `Dependent item` | unifi.usw.soc.arch | 375 | | *API stat/device/{$UNIFI.USW.MAC}*: USW State | State | `Dependent item` | unifi.usw.cpu.state | 376 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Total RX Byte | Total rx in bytes | `Dependent item` | unifi.usw.rx | 377 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Total TX Byte | Total tx in bytes | `Dependent item` | unifi.usw.tx | 378 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Upgradable | Is an upgrade available | `Dependent item` | unifi.usw.upgradable | 379 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Uplink Device | Uplink device name | `Dependent item` | unifi.usw.uplink.device | 380 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Uplink Port | Uplink device port | `Dependent item` | unifi.usw.uplink.port | 381 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Uplink Type | Uplink device type | `Dependent item` | unifi.usw.uplink.type | 382 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Uptime | Uptime | `Dependent item` | unifi.usw.uptime | 383 | | *API stat/device/{$UNIFI.USW.MAC}*: USW Version | Software version | `Dependent item` | unifi.usw.version | 384 | 385 | ## Unifi USW: Triggers 386 | 387 | | Name | Description | Expression | Priority | 388 | | --------------------------------------------- | -------------------------------------------------------------- | ---------------------------------------------------------------------- | -------- | 389 | | CPU Usage > {$UNIFI.CPU.USAGE.HIGH}% | Alert when CPU usage is above {$UNIFI.CPU.USAGE.HIGH} |

***Expression***: avg(/Unifi USW/unifi.usw.cpu.usage,{$UNIFI.CPU.USAGE.HIGH.SEC})>{$UNIFI.CPU.USAGE.HIGH}

***Recovery expression***:

| High | 390 | | CPU Usage > {$UNIFI.CPU.USAGE.WARNING}% | Alert when CPU usage is above {$UNIFI.CPU.USAGE.WARNING} |

***Expression***: avg(/Unifi USW/unifi.usw.cpu.usage,{$UNIFI.CPU.USAGE.WARNING.SEC})>{$UNIFI.CPU.USAGE.WARNING}

***Recovery expression***:

| Warning | 391 | | Inform Url Changed | Alert on inform url change |

***Expression***: last(/Unifi USW/unifi.usw.inform.url,#1:now-24h)<>last(/Unifi USW/unifi.usw.inform.url,#1)=1

***Recovery expression***:

| Warning | 392 | | Management Network Changed | Alert on management network change |

***Expression***: last(/Unifi USW/unifi.usw.network,#1:now-24h)<>last(/Unifi USW/unifi.usw.network,#1)=1

***Recovery expression***:

| Warning | 393 | | Memory Usage > {$UNIFI.MEMORY.USAGE.HIGH}% | Alert when Memory usage is above {$UNIFI.MEMORY.USAGE.HIGH} |

***Expression***: avg(/Unifi USW/unifi.usw.memory.usage,{$UNIFI.MEMORY.USAGE.HIGH.SEC})>{$UNIFI.MEMORY.USAGE.HIGH}

***Recovery expression***:

| High | 394 | | Memory Usage > {$UNIFI.MEMORY.USAGE.WARNING}% | Alert when Memory usage is above {$UNIFI.MEMORY.USAGE.WARNING} |

***Expression***: avg(/Unifi USW/unifi.usw.memory.usage,{$UNIFI.MEMORY.USAGE.WARNING.SEC})>{$UNIFI.MEMORY.USAGE.WARNING}

***Recovery expression***:

| Warning | 395 | | Software Upgrade Available | Alert on software upgrade available |

***Expression***: last(/Unifi USW/unifi.usw.upgradable)="true"

***Recovery expression***:

| Warning | 396 | | Software Version Changed | Alert on software version change |

***Expression***: last(/Unifi USW/unifi.usw.version,#1:now-24h)<>last(/Unifi USW/unifi.usw.version,#1)=1

***Recovery expression***:

| Information | 397 | | SW Not Adopted | Alert if USW need to be adopted |

***Expression***: last(/Unifi USW/unifi.usw.adopted)<>"true"

***Recovery expression***:

| Information | 398 | | SW Offline | Alert when USW go offline |

***Expression***: last(/Unifi USW/unifi.usw.cpu.state,#3)<>1

***Recovery expression***:

| High | 399 | | SW Rebooted | Alert if USW was rebooted |

***Expression***: last(/Unifi USW/unifi.usw.uptime)<1800

***Recovery expression***:

| Warning | 400 | 401 | ## Unifi UAP: Macros 402 | 403 | | Name | Description | Default | Required | Type | 404 | | --------------------------------------- | ----------------------------------------------------- | ------- | -------- | --------- | 405 | | {$UNIFI.CPU.USAGE.HIGH} | Cpu % High Trigger threshold | `90` | `true` | `numeric` | 406 | | {$UNIFI.CPU.USAGE.HIGH.SEC} | Cpu High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 407 | | {$UNIFI.CPU.USAGE.WARNING} | Cpu % Warning Trigger threshold | `80` | `true` | `numeric` | 408 | | {$UNIFI.CPU.USAGE.WARNING.SEC} | Cpu Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 409 | | {$UNIFI.IP} | Unifi Ip | `-` | `true` | `text` | 410 | | {$UNIFI.MEMORY.USAGE.HIGH} | Memory % High Trigger threshold | `90` | `true` | `numeric` | 411 | | {$UNIFI.MEMORY.USAGE.HIGH.SEC} | Memory High Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 412 | | {$UNIFI.MEMORY.USAGE.WARNING} | Memory % Warning Trigger threshold | `80` | `true` | `numeric` | 413 | | {$UNIFI.MEMORY.USAGE.WARNING.SEC} | Memory Warning Trigger Avg threshold in seconds | `900` | `true` | `numeric` | 414 | | {$UNIFI.PASSWORD} | Unifi View Only Password | `-` | `true` | `numeric` | 415 | | {$UNIFI.UAP.MAC} | UNIFI UAP Macaddress | `-` | `true` | `text` | 416 | | {$UNIFI.USERNAME} | Unifi View Only Username | `-` | `true` | `numeric` | 417 | 418 | ## Unifi UAP: Discovery rules 419 | 420 | | Name | Description | Type | Key and additional info | 421 | | ------------------------------------------------ | -------------------------------- | ---------------- | ------------------------------- | 422 | | *API stat/device/{$UNIFI.UAP.MAC}*: Radio | Discover UAP radio antennas | `Dependent item` | unifi.uap.radio.discovery | 423 | 424 | ## Unifi UAP: Items prototypes 425 | 426 | | Name | Description | Type | Key and additional info | 427 | | ----------------------------------------------------------------- | ------------------------ | ---------------- | ------------------------------------- | 428 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} Channel | channel | `Dependent item` | unifi.uap.radio.channel[{#NAME}] | 429 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} Gain | gain | `Dependent item` | unifi.uap.radio.gain[{#NAME}] | 430 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} HT | ht | `Dependent item` | unifi.uap.radio.ht[{#NAME}] | 431 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} Radio | radio | `Dependent item` | unifi.uap.radio.radio[{#NAME}] | 432 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} State | state | `Dependent item` | unifi.uap.radio.state[{#NAME}] | 433 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} TX Packets | total tx packets | `Dependent item` | unifi.uap.radio.tx.packets[{#NAME}] | 434 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} TX Power | total tx errors bytes | `Dependent item` | unifi.uap.radio.tx.errors[{#NAME}] | 435 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} TX Power Mode | total tx multicast bytes | `Dependent item` | unifi.uap.radio.tx.multicast[{#NAME}] | 436 | | *API stat/device/{$UNIFI.UAP.MAC}*: {#NAME} TX Retries | total tx dropped bytes | `Dependent item` | unifi.uap.radio.tx.dropped[{#NAME}] | 437 | 438 | ## Unifi UAP: Triggers prototype 439 | 440 | | Name | Description | Expression | Priority | 441 | | ----------------------- | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | -------- | 442 | | {#NAME} State is not RUN | Alert when antennas is not in running state |

***Expression***: last(/Unifi UAP/unifi.uap.radio.state[{#NAME}],#3)<>"RUN"

***Recovery expression***:

| High | 443 | 444 | ## Unifi UAP: Items 445 | 446 | | Name | Description | Type | Key and additional info | 447 | | ---------------------------------------------------------- | ------------------------------- | ---------------- | --------------------------------- | 448 | | API stat/device/{$UNIFI.UAP.MAC} | Get device metrics | `HTTP agent` | unifi.uap.device

Update: 5m

| 449 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Adopted | Is adopted | `Dependent item` | unifi.uap.adopted | 450 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Cpu Usage % | Current CPU usage in percentage | `Dependent item` | unifi.uap.cpu.usage | 451 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Inform Ip | Inform IP | `Dependent item` | unifi.uap.inform.ip | 452 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Inform Url | Inform Url | `Dependent item` | unifi.uap.inform.url | 453 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP IP | IP | `Dependent item` | unifi.uap.ip | 454 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Kernel Version | Kernel version | `Dependent item` | unifi.uap.kernel.version | 455 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Last Seen | Last seen date | `Dependent item` | unifi.uap.lastseen | 456 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Macaddress | Macaddress | `Dependent item` | unifi.uap.mac | 457 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Management Network | Management network | `Dependent item` | unifi.uap.network | 458 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Memory Usage % | Current Memory Usage | `Dependent item` | unifi.uap.memory.usage | 459 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Model | Model | `Dependent item` | unifi.uap.model | 460 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Serial | Serial | `Dependent item` | unifi.uap.serial | 461 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP SOC Arch | SOC Arch | `Dependent item` | unifi.uap.soc.arch | 462 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP State | State | `Dependent item` | unifi.uap.cpu.state | 463 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Total RX Byte | Total rx in bytes | `Dependent item` | unifi.uap.rx | 464 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Total TX Byte | Total tx in bytes | `Dependent item` | unifi.uap.tx | 465 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Upgradable | Is an upgrade available | `Dependent item` | unifi.uap.upgradable | 466 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Uplink Device | Uplink device name | `Dependent item` | unifi.uap.uplink.device | 467 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Uplink Port | Uplink device port | `Dependent item` | unifi.uap.uplink.port | 468 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Uplink Type | Uplink device type | `Dependent item` | unifi.uap.uplink.type | 469 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Uptime | Uptime | `Dependent item` | unifi.uap.uptime | 470 | | *API stat/device/{$UNIFI.UAP.MAC}*: UAP Version | Software version | `Dependent item` | unifi.uap.version | 471 | 472 | ## Unifi UAP: Triggers 473 | 474 | | Name | Description | Expression | Priority | 475 | | --------------------------------------------- | -------------------------------------------------------------- | ---------------------------------------------------------------------- | -------- | 476 | | CPU Usage > {$UNIFI.CPU.USAGE.HIGH}% | Alert when CPU usage is above {$UNIFI.CPU.USAGE.HIGH} |

***Expression***: avg(/Unifi UAP/unifi.uap.cpu.usage,{$UNIFI.CPU.USAGE.HIGH.SEC})>{$UNIFI.CPU.USAGE.HIGH}

***Recovery expression***:

| High | 477 | | CPU Usage > {$UNIFI.CPU.USAGE.WARNING}% | Alert when CPU usage is above {$UNIFI.CPU.USAGE.WARNING} |

***Expression***: avg(/Unifi UAP/unifi.uap.cpu.usage,{$UNIFI.CPU.USAGE.WARNING.SEC})>{$UNIFI.CPU.USAGE.WARNING}

***Recovery expression***:

| Warning | 478 | | Inform Url Changed | Alert on inform url change |

***Expression***: last(/Unifi UAP/unifi.uap.inform.url,#1:now-24h)<>last(/Unifi UAP/unifi.uap.inform.url,#1)=1

***Recovery expression***:

| Warning | 479 | | Management Network Changed | Alert on management network change |

***Expression***: last(/Unifi UAP/unifi.uap.network,#1:now-24h)<>last(/Unifi UAP/unifi.uap.network,#1)=1

***Recovery expression***:

| Warning | 480 | | Memory Usage > {$UNIFI.MEMORY.USAGE.HIGH}% | Alert when Memory usage is above {$UNIFI.MEMORY.USAGE.HIGH} |

***Expression***: avg(/Unifi UAP/unifi.uap.memory.usage,{$UNIFI.MEMORY.USAGE.HIGH.SEC})>{$UNIFI.MEMORY.USAGE.HIGH}

***Recovery expression***:

| High | 481 | | Memory Usage > {$UNIFI.MEMORY.USAGE.WARNING}% | Alert when Memory usage is above {$UNIFI.MEMORY.USAGE.WARNING} |

***Expression***: avg(/Unifi UAP/unifi.uap.memory.usage,{$UNIFI.MEMORY.USAGE.WARNING.SEC})>{$UNIFI.MEMORY.USAGE.WARNING}

***Recovery expression***:

| Warning | 482 | | Software Upgrade Available | Alert on software upgrade available |

***Expression***: last(/Unifi UAP/unifi.uap.upgradable)="true"

***Recovery expression***:

| Warning | 483 | | Software Version Changed | Alert on software version change |

***Expression***: last(/Unifi UAP/unifi.uap.version,#1:now-24h)<>last(/Unifi UAP/unifi.uap.version,#1)=1

***Recovery expression***:

| Information | 484 | | SW Not Adopted | Alert if UAP need to be adopted |

***Expression***: last(/Unifi UAP/unifi.uap.adopted)<>"true"

***Recovery expression***:

| Information | 485 | | SW Offline | Alert when UAP go offline |

***Expression***: last(/Unifi UAP/unifi.uap.cpu.state,#3)<>1

***Recovery expression***:

| High | 486 | | SW Rebooted | Alert if UAP was rebooted |

***Expression***: last(/Unifi UAP/unifi.uap.uptime)<1800

***Recovery expression***:

| Warning | 487 | 488 | ## Contribute 489 | 490 | This template is on early stage and can bee improved supporting other Unifi devices. Feel free to fork and submit pull request at [MassimilianoPasquini97/zbx_unifi_network](https://github.com/MassimilianoPasquini97/zbx_unifi_network) repository. 🙏🏻 491 | 492 | ## License 493 | 494 | Licensed under the [MIT license](https://github.com/MassimilianoPasquini97/zbx_unifi_network/blob/main/LICENSE.md). 495 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 CodeEdit 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 |

Unifi Network Zabbix Template

4 |

5 | 6 | This template is meant for monitoring Unifi network devices using Unifi Network API. Special thanks who wrote and maintain this [wiki page](https://ubntwiki.com/products/software/unifi-controller/api), this guide helped me for realizing this template. 7 | 8 | - [Supported Unifi Devices](#supported-unifi-devices) 9 | - [Features](#features) 10 | - [How to use](#how-to-use) 11 | - [Contribute](#contribute) 12 | - [License](#license) 13 | 14 | ## Supported Unifi Devices 15 | 16 | | Type | Description | 17 | | ---- | ------------------- | 18 | | udm | Unifi Dream Machine | 19 | | usw | Unifi Switch | 20 | | uap | Unifi Acccess Point | 21 | 22 | ## Features 23 | 24 | General: 25 | 26 | - Unifi Controller CPU usage. 27 | - Unifi Controller Memory usage. 28 | - Unifi Active, Disabled, Disconnected and Pending Switch and Access Point. 29 | - Unifi Controller LAN, WLAN, VPN and GUEST online client counter. 30 | - Unifi Controller WAN metrics. 31 | - Advanced metrics for all active client on WLAN and LAN. 32 | 33 | UDM: 34 | 35 | - CPU usage. 36 | - Memory usage. 37 | - Temperature sensors. 38 | - Metrics for al ports. 39 | - Other metrics. 40 | 41 | USW: 42 | 43 | - CPU usage. 44 | - Memory usage. 45 | - Metrics for al ports. 46 | - Other metrics. 47 | 48 | UAP: 49 | 50 | - CPU usage. 51 | - Memory usage. 52 | - Wireless metrics. 53 | - Other metrics. 54 | 55 | ## How to use 56 | 57 | First of all you need to import the template file ***zbx_template_unifi_network.yaml*** in Zabbix. 😅 58 | 59 | Said that, this template use Unifi Network API so it need a view only local user on Unifi Network Web Interface. 60 | 61 | Once you create view only user, on Zabbix create a new host and link ***Unifi Network*** template, those macros need to be configured: 62 | 63 | - ***{$UNIFI.IP}***: IP or FQDN of Unifi Network Web Interface. 64 | - ***{$UNIFI.USERNAME}***: Username of View Only user. 65 | - ***{$UNIFI.PASSWORD}***: Password of View Only user. 66 | - ***{$UNIFI.API.AUTH.URI}***: change to `api/login` if using unifi controller vm 67 | - ***{$UNIFI.API.AUTH.TOKEN}***: change to `unifises` if using unifi controller vm 68 | - ***{$UNIFI.API.URI}***: change to `api/s/default/stat` if using unifi controller vm 69 | 70 | If you prefer you can modify other macros for further personalize trigger parameters. 71 | 72 | If you done all right now it auto discover all Unifi Dream Machine, Unifi Switch and Unifi Access Point and create an host object for all of them. 73 | 74 | ### Monitoring multiple sites 75 | 76 | By default, this template is configured for monitoring the `default` site. If you want to monitor a different site, swap `default` with the site ID from the `{$UNIFI.API.URI}` macro. To monitor multiple sites, create separate Zabbix hosts each with a distinct `{$UNIFI.API.URI}` macro value. Finding the site ID is straightforward, access your Unifi console in a browser, navigate to the site you want to monitor, and look for the site ID on the URL. 77 | 78 | ## Contribute 79 | 80 | This template is on early stage and can bee improved supporting other Unifi devices. Feel free to fork and submit pull request. 🙏🏻 81 | 82 | ## License 83 | 84 | Licensed under the [MIT license](https://github.com/MassimilianoPasquini97/zbx_unifi_network/blob/main/LICENSE.md). 85 | -------------------------------------------------------------------------------- /docs/image/logo.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MassimilianoPasquini97/zbx_unifi_network/afebc38ace8942466b3dc9af6be0d9dca9191193/docs/image/logo.webp --------------------------------------------------------------------------------