Дано: OS X - одна штука, Time Capsule - одна штука.
Нужно: писать сообщения syslog от TimeCapsule в syslog сервера.
На TimeCapsule (впрочем, как и на AirPort Express/Extreme) настройка элементарна:
Но в syslog “из коробки” эти сообщения не попадают.
Что делать?
Рецепты нашёл на SuperUser и на Shortcut.
Нужно отредактировать конфигурацию launchd для запуска syslogd.
Преобразую plist в приспособленный для редактирования вид xml:
$ sudo plutil -convert xml1 \ /System/Library/LaunchDaemons/com.apple.syslogd.plist
Добавляю фрагмент в конце файла, выделенный жирным текстом:
$ sudo vim \ /System/Library/LaunchDaemons/com.apple.syslogd.plistSockPathMode 438 SockPathName /var/run/syslog SockType dgram NetworkListener SockServiceName syslog SockType dgram
Преобразую plist к предыдущему формату binary1:
$ sudo plutil -convert binary1 \ /System/Library/LaunchDaemons/com.apple.syslogd.plist
Правлю конфигурацию syslog для отправки сообщений в файл AirPort.log:
$ sudo vim /etc/syslog.conf #local0.* /var/log/appfirewall.log local0.* /var/log/AirPort.log
Не забываю создать лог-файл:
$ sudo touch /var/log/AirPort.log
Перезапускаю syslog:
$ sudo launchctl unload \ /System/Library/LaunchDaemons/com.apple.syslogd.plist $ sudo launchctl load \ /System/Library/LaunchDaemons/com.apple.syslogd.plist
Проверяю, что syslog стал слушать по сети:
$ sudo lsof -i:514 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME launchd 1 root 55u IPv4 0xffffff800cb05d60 0t0 UDP *:syslog launchd 1 root 74u IPv6 0xffffff800bb94920 0t0 UDP *:syslog syslogd 2348 root 5u IPv4 0xffffff800cb05d60 0t0 UDP *:syslog syslogd 2348 root 6u IPv6 0xffffff800bb94920 0t0 UDP *:syslog
Проверяю поступление сообщений, переподключив iPhone по WiFi:
$ tail -f /var/log/AirPort.log Aug 31 17:20:43 ... 80211: Disassociated with station 7c:c5:37:70:d3:9f Aug 31 17:20:44 ... 80211: Rotated TKIP group key. Aug 31 17:20:53 ... 80211: Associated with station 7c:c5:37:70:d3:9f Aug 31 17:20:53 ... 80211: Authenticating station 7c:c5:37:70:d3:9f to RADIUS. Aug 31 17:20:53 ... 80211: Installed unicast CCMP key for supplicant 7c:c5:37:70:d3:9f
Для “контрольного в голову” захожу в Console.app и выбираю нужный лог:
Работает. Замечательно.
Я всё это делал с OS X Lion Server, но должно работать и на обычном OS X.