Для скучных и ленивых – вот вам сразу ссылка на шаблон 😉 Для всех остальных – опять немного предыстории.
Вообще, история с необходимостью понимать, чего там с UniFi’ем происходит совсем не новая. По большому счету, для этого и нужен контроллер. Вот только каждый раз за каждым чихом лазить туда несколько неудобно, а вот в штатный мониторинг смотреть – очень даже хорошо.
На самом деле, это уже третья реинкарнация шаблона. Первая мною бездарно утрачена вместе со сменой работы. Что там происходило и как – кто бы помнил. Хорошо, хоть есть страничка с более или менее применимым описанием API. Без нее я бы ничего не сделал никогда в жизни.
Вторая версия писалась на коленке и была из разряда постоянное временное. То есть предполагалось, что это тестовая “сборка”, но работало что-то типа года в проде. Сказать, что она была “не лишена недостатков” было бы огромным преуменьшением. Считаем на коленке – страничка с данными по сайту весит почти мегабайт голого текста. Для каждой железяки собиралось 8 параметров, устройств в сайте больше 20 штук. То есть чтобы собрать всё, нужно было прокачать почти 200 мегабайт данных. Плюс 200 запросов на авторизацию, плюс 200 запросов самих данных, плюс 200 раз разлогиниться через https. И так десять раз. Площадки/сайты были, конечно же, разного размера – где-то больше, где-то меньше. Но масштабы бедствия представить можно. Плюс, надо же иногда обнаружение запускать…
Так мы и пришли к нынешнему варианту – один раз вытягиваем данные по сайту, а потом тасуем Zabbix-Sender’ом но нужным элементам данных и узлам в мониторинге. Ура, все счастливы, все танцуют.