Как запустить сервер Syslogd на Mac, чтобы принимать сообщения удаленной регистрации? - PullRequest
24 голосов
/ 01 апреля 2011

Кто-нибудь знает, как запустить сервер Syslogd на Mac, чтобы принимать сообщения удаленной регистрации?

Я запустил Syslogd, но, похоже, он не принимает удаленные сообщения.

Если я выполняю netstat -an, похоже, что порт udp 514 прослушивает. Однако, если я сканирую сервер со своего ноутбука, используя nmap, тогда я не вижу udp 514. Вероятно, порт где-то заблокирован. Я проверил ipfw, но он не похож на определенные правила.

Я видел много статей, в которых указана опция -r. Это то же самое на Mac? Как это сделать на Mac?

Ответы [ 2 ]

36 голосов
/ 02 апреля 2011

Syslogd уже должен быть запущен в вашей системе; что вам нужно сделать, это включить опцию прослушивания UDP. Это контролируется разделом в конце /System/Library/LaunchDaemons/com.apple.syslogd.plist; уберите маркеры комментариев, чтобы они выглядели так:

<!--
        Un-comment the following lines to enable the network syslog protocol listener.
-->
                <key>NetworkListener</key>
                <dict>
                        <key>SockServiceName</key>
                        <string>syslog</string>
                        <key>SockType</key>
                        <string>dgram</string>
                </dict>
        </dict>
</dict>
</plist>

А затем перезагрузите демон syslogd, перезагрузившись или выполнив:

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

ОБНОВЛЕНИЕ: Начиная с OS X v10.7, Apple переключила com.apple.syslogd.plist в двоичный формат plist, который не содержит соответствующего комментария и не редактируется в виде простого текста. С новым форматом, PlistBuddy, кажется, самый простой способ добавить слушателя:

cd /System/Library/LaunchDaemons
sudo /usr/libexec/PlistBuddy -c "add :Sockets:NetworkListener dict" com.apple.syslogd.plist
sudo /usr/libexec/PlistBuddy -c "add :Sockets:NetworkListener:SockServiceName string syslog" com.apple.syslogd.plist
sudo /usr/libexec/PlistBuddy -c "add :Sockets:NetworkListener:SockType string dgram" com.apple.syslogd.plist
sudo launchctl unload com.apple.syslogd.plist
sudo launchctl load com.apple.syslogd.plist
4 голосов
/ 04 января 2018

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

Все, что я действительно хотел сделать, это посмотретьнекоторые записи системного журнала за короткий промежуток времени и посмотреть, что идет с сервера, поэтому я в итоге сделал:

sudo tcpdump -lns 0 -w - udp and port 514 | strings

Это просто распечатает любое сообщение, отправленное на ваш компьютер на выходетак что вы можете отобразить его.

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

...