Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1
RSS
UAP-AC Имя хоста Syslog, UniFi Network
 
Я работаю с парой UAP-AC точек доступа (пока жду свои UAP-AC-PRO, которые уже в пути), которые логируются на syslog-сервер, расположенный на той же машине, что и контроллер. Я видел сообщения, где в syslog в качестве имени хоста указывается имя точки доступа с добавлением типа AP, MAC-адреса и версии. По этому описанию моя запись в syslog должна выглядеть так: Test1(U7Ev2,44d9e730143f,v3.2.12.2920), но в моих логах есть только: (U7Ev2,44d9e730143f,v3.2.12.2920). Мне очень нужно, чтобы в syslog действительно передавалось имя хоста, но пока я не нашёл способ изменить это устойчиво. Два вопроса: 1) Как можно поменять имя хоста, которое отправляется на syslog-сервер (без рисков что-то сломать)? 2) У UAP-AC Pro такое поведение отличается? Спасибо! D.
 
Привет, claytond, ты прав, этот пост тоже всего лишь временное решение проблемы с именем хоста у устройств unifi. Гораздо лучше было бы, если бы Ubiquiti исправили это и отправляли правильное имя хоста. Спасибо, Micha
 
Хотя в вашей среде это может сработать, отключать имена хостов — плохая идея. В больших сетях это приведёт к куче проблем с входящими именами хостов.

Для syslog-ng лучшие «глобальные» опции конфигурации следующие:

#Global Options  
options {  
 flush_lines(100);  
 threaded(yes); # включать, если используете Syslog-NG версии 3.3.x и выше  
 use_dns(yes); # в масштабных средах лучше ставить в no  
 use_fqdn(no);  
 keep_hostname(yes);  
 dns-cache-size(2000);  
 dns-cache-expire(87600);  
 use-dns(persist_only);  
 dns-cache-hosts(/etc/hosts);  
};
 
Привет! Если ты используешь syslog-ng, можно отключить имена хостов и позволить syslog выполнять обратное разрешение.. ...options {keep_hostname(off);use_fqdn(no);use_dns(yes);};... Это отлично работает в моей среде.
 
Где изменить этот JSON? На AP (переживёт ли обновление прошивки?) или в LogZilla? Ты изменяешь его на своём сервере LogZilla в папке /etc/logzilla/rules.d. Вот руководство: http://demo.logzilla.net/help/receiving_data/ubiquiti_unifi_ap
 
Привет! Где можно изменить этот JSON? На AP (выдержит ли это обновление прошивки?) или в LogZilla? С уважением, Darek
 
Мне удалось «починить» это. Если кто-то ещё пользуется LogZilla, вот правило перезаписи, которое изменит имя хоста на что-то более адекватное. Это правило выделит часть Device ID (последние 6 октетов) из входящего MAC-адреса и присвоит имя хосту: unifi-ap-something. Конечно, это не поможет пропинговать устройство из меню IP в LogZilla, но хотя бы не выглядит как мусор.  

Вот само правило (кстати, я добавил несколько пользовательских тегов для отслеживания клиентов и так далее):  

root@syslog [rules.d]: # cat 100-ubiquiti.json
{  
 "rewrite_rules": [
   {  
     "comment": [
       "Исправление убогих имён хостов unifi",  
       "К сожалению, это не поможет, если хотите пропинговать хост",  
       "Потому что уникальность достигается только за счёт Device ID из MAC",  
       "Кто-нибудь должен убедить Ubiquiti исправить заголовок syslog"  
     ],  
     "match": {  
       "field": "host",  
       "op": "=~",  
       "value": "\\(.([^,]+),([[:alnum:]]{6}([[:alnum:]]{6})),v(\\d+\\.\\d+\\.\\d+\\.\\d+).+\\)"
     },  
     "tag": {  
       "ut_ubiquiti_ap_type": "$1",  
       "ut_ubiquiti_ap_mac_oui": "$2",  
       "ut_ubiquiti_ap_mac_did": "$3",  
       "ut_ubiquiti_ap_version": "$4",  
       "ut_ubiquiti_ap_fullmac": "$2$3"  
     },  
     "update": {  
       "host": "unifi-ap-$3"  
     }  
   },  
   {  
     "comment": "Выделение событий Leave/Join",  
     "match": {  
       "field": "message",  
       "op": "=~",  
       "value": ".+UBNT-STA-(\\S+) eth\\d+.\\d+\\(([^\\)]+)\\)"
     },  
     "tag": {  
       "ut_ubiquiti_client_leave_joins": "$1",  
       "ut_ubiquiti_client_mac": "$2",  
       "ut_ubiquiti_client_leave_join_mac": "$1->$2"  
     }  
   }  
 ]  
}  

Извините, что JSON в вставке выглядит не очень — он был отформатирован правильно, прежде чем я скопировал сюда, но, видимо, теги <pre> работают иначе. 🙁  

Вот конечный результат:  
 
Жаль, что вы до сих пор не исправили проблему с тем, что ваши точки доступа отправляют некорректное имя хоста. Не могли бы вы, пожалуйста, это починить?
 
У меня точно такая же проблема, как у @laurents. То же самое с Lite, Mesh, Pro...
 
Я подключил свой UniFi AP-AC-Pro к серверу Synology DS415+ с Syslog сервером, и вот что приходит в отчёте на Syslog сервер: hostname — «U7PG2,802aa8566afc,v3.8.6.6650». Как можно заменить это на настоящий DNS hostname? Помогите! Мой контроллер Unifi выглядит так:  
UI = 5.5.20.0  
Backend = 5.5.20  
Build = atag_5.5.20_9565  
UniFi AP-AC-Pro  
Firmware = 3.8.6.6650
 
В syslog моего UAP-AC-Lite в качестве хоста указан публичный WAN IP-адрес, а источник — ("U7LT,802aa9999x99,v3.8.6.6650") (802aa9999x99 — скрытый MAC-адрес). В то время как у USG 3 в качестве хоста стоит hostname (USG), а источник просто mcad. Кто-нибудь уже нашёл решение этой странной ситуации?
 
Итак, UBNT, можно ли как-то исправить это в будущих обновлениях прошивки? Кажется, это довольно простое решение. Мне бы просто хотелось, чтобы сообщения syslog использовали имя хоста точки доступа (ведь при ssh подключении к AP, он знает своё имя хоста). Я использую Observium на лог-сервере, и он исправно сопоставляет сообщения syslog с устройством, которое мониторит через SNMP. Но он отбрасывает сообщения с (12312313414), так как для этого нет никакой записи.

Сейчас я обхожусь тем, что добавляю DHCP резервации для каждой точки доступа, настраиваю PTR-зоны на локальном DNS-сервере для AP и конфигурирую syslog-ng с опциями chain_hostnames(no); keep_hostnames(no); use_dns(yes); — и всё отлично работает. Но это всё равно как убить муху кувалдой.
Страницы: 1
Читают тему (гостей: 1)