Дано: OS X – одна штука, Time Capsule – одна штука.
Нужно: писать сообщения syslog от TimeCapsule в syslog сервера.
На TimeCapsule (впрочем, как и на AirPort Express/Extreme) настройка элементарна:
Но в syslog “из коробки” эти сообщения не попадают.
Что делать?
Рецепты нашёл на
Нужно отредактировать конфигурацию launchd для запуска syslogd.
Преобразую plist в приспособленный для редактирования вид xml:
$ sudo plutil -convert xml1 \ /System/Library/LaunchDaemons/com.apple.syslogd.plist
Добавляю фрагмент в конце файла, выделенный жирным текстом:
$ sudo vim \ /System/Library/LaunchDaemons/com.apple.syslogd.plist <dict> <key>SockPathMode</key> <integer>438</integer> <key>SockPathName</key> <string>/var/run/syslog</string> <key>SockType</key> <string>dgram</string> </dict> <key>NetworkListener</key> <dict> <key>SockServiceName</key> <string>syslog</string> <key>SockType</key> <string>dgram</string> </dict> </dict>
Преобразую 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.