2009-07-26 1 views
2

Иногда маршрутизатор выходит из строя, и я хотел бы получить журналы маршрутизатора.Как включить syslogd для получения журналов UDP с маршрутизаторов в OSX

Хотя некоторые маршрутизаторы имеют встроенные средства просмотра журналов, некоторые нет. Большинство маршрутизаторов, похоже, имеют возможность отправлять журналы на другой хост с помощью syslog.

Как получить доступ к OSX (клиенту) для этих журналов? OSX имеет syslogd, но инструкции в лучшем случае непрозрачны.

Возможно другое клиентское приложение будет лучше, но я бы предпочел, как я мог бы просто взломать без загрузки средств через Интернет, который только что разбитого вниз ...

OSX не имеет Netcat, изначально , иначе я бы попробовал это.

ответ

2

Использование системного журнала-нг, который, вероятно, доступен для OS X, хотя я не уверен, я захвачу сообщений через моей домашней сети от моего маршрутизатора WiFi на мой лог-сервер со следующими 3-х линий:

source net { udp(); }; 

destination wifirouter { file("/opt/var/log/wifirouter.log"); }; 

log { source(net); destination(wifirouter); }; 

Затем маршрутизатор wifi был настроен на использование IP-адреса сервера регистрации и идентификатора wifirouter. Вы можете изменить исходную строку, чтобы принимать только от определенных IP-адресов источника.

2

Необходимая «магия» с запасом ОС Mac OS syslogd выглядит следующим образом.

Редактирования конфигурации для запуска программ SyslogD, /System/Library/LaunchDaemons/com.apple.syslogd.plist (вы должны быть корнем, или использовать «Суда VI» или ваш любимый другой способ, чтобы изменить это.)

(Некоторые версии, кажется, уже есть необходимый раздел закомментирована, но один из моих не сделал)

После следующего:.

<key>Sockets</key> 
<dict> 
... 
    <key>BSDSystemLogger</key> 
    <dict> 
    ... 
    </dict> 

добавить или раскомментировать (убрать ведущие "строки), эта секция n:

 <key>NetworkListener</key> 
    <dict> 
      <key>SockServiceName</key> 
      <string>syslog</string> 
      <key>SockType</key> 
      <string>dgram</string> 
    </dict> 

и затем полностью перезапустить syslogd (т. используя launchctl, опять же корня)

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist 
sudo launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist 

(я думаю, что этот вопрос/ответ, вероятно, принадлежит на superuser.com? Может быть, кто-то может переместить его.)

+0

/System/Library/LaunchDaemons/com.apple.syslogd.plist не является файлом xml на моей машине (osx lion), он кажется двоичным ... – tbruyelle

+0

вы можете конвертировать между форматами файлов двоичного и текстового plist с команда plutil. введите «plutil» в терминал и посмотрите «вариант -конвертировать». –

+2

добавив, что правильная команда plutil для преобразования двоичного pl в xml: 'plutil -convert xml1/System/Library/LaunchDaemons/com.apple.syslogd.plist' –

1

FYI, бинарные файлы Plist можно редактировать с помощью либо редактор списка свойств, включенный в пакет XCode, или вы можете использовать сторонний редактор Text Wrangler. Я не пробовал, но я подозреваю, что BBEdit сможет отредактировать его, учитывая, что это линия с TextWrangler.

+0

' plutil -convert xml1/System/Library/LaunchDaemons/com. apple.syslogd.plist' делает волшебство ... (нет необходимости преобразовывать его обратно в двоичный файл) –

1

От OS X 10.7 и выше вы должны обратиться к этому StackOverflow answer по этому вопросу.

Смежные вопросы