Подтвердить что ты не робот

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

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

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

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

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

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

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