Администрирование контроллера UniFi (версия 5.14.23)

Материал из sysadm
Перейти к навигации Перейти к поиску

Путь к базе данных /usr/share/unifi/data/db

Сервис unifi использует отдельный экземпляр mongodb и запускает его по другому пути /bin/mongod и с особыми параметрами.

/bin/mongod
  --dbpath /usr/share/unifi/data/db
  --port 27117
  --unixSocketPrefix /usr/share/unifi/run
  --logRotate reopen
  --logappend
  --logpath /usr/share/unifi/logs/mongod.log
  --pidfilepath /usr/share/unifi/run/mongod.pid
  --bind_ip 127.0.0.1

Чтобы подключиться к базе unifi, необходимо указать не стандартный для mongodb порт

mongo --port 27117
> show dbs
ace       0.002GB
ace_stat  0.000GB
admin     0.000GB
config    0.000GB
local     0.000GB

UniFi использует две базы

  • ace - база конфигурации
  • ace_stat - база статистики

UniFi также использует в работе каталоги

/var/lib/unifi         - рабочий каталог
/var/lib/unifi/data    - какая-то конфигурация
/var/lib/unifi/data/db - еще какая-то база

/var/log/unifi         - логи

Базы UniFi не должны расти, если корректно настроено STATISTICS DATA RETENTION в разделе Maintenance.

В разделе Maintenance также есть кнопка [Compact Database], но она может не работать.

Если базы все же распухли и не получается их уменьшить штатными средствами, то есть инструкция от разработчика для чистки базы UniFi - How to Remove (Prune) Older Data and Adjust Mongo Database Size

Скрипт написан для mangodb 3.2, на более новых версиях работать не будет

Скачайте скрипт

cd /tmp
wget https://help.ui.com/hc/article_attachments/115024095828/mongo_prune_js.js

Запустите скрипт для проверки ожидаемого результата очистки (данные не будут удалены)

mongo --port 27117 < mongo_prune_js.js

Измените в скрипте значение переменной dryrun на false и установите нужное количество дней, старше которых данные будут удалены.

var days=7;
var dryrun=false;

Еще раз запустите скрипт и данные будут удалены.

mongo --port 27117 < mongo_prune_js.js

Настройка DHCP для обнаружения контроллера WiFi точками

В протоколе DHCP предусмотрена возможность передачи информации специфичной для различных вендоров. Клиент может включать в запрос option 60 и в ответ получать option 43.

Если на DHCP сервере в соответствующей области:

  • определены option 60 и option 43, то DHCP отправляет в ответ option 43 при условии что в запросе клиента присутствует option 60, которая совпадает с определенной на DHCP сервере
  • определена только option 43, то DHCP отправляет в ответ option 43 при условии, что в запросе клиента присутствует option 60, при этом ее содержимое значения не имеет
  • определена только option 60, то DHCP сервер не включает в ответ option 43.

WiFi точка Ubiquiti обнаруживает свой контроллер следующим образом:

  1. WiFi точки Ubiquiti отправляют в сеть запрос включающий option 60
  2. На DHCP сервере в соответствующей области прописана option 43, которая отправляется клиенту на любой запрос содержащий опцию 60.
  3. option 43 содержит 6 байт
    • 01 - suboption
    • 04 - size
    • AABBCCDD - IPv4 адрес AA.BB.CC.DD в 16-тиричной форме