Como faço para o syslogd aceitar conexões de entrada de hosts remotos no Snow Leopard?
Eu gostaria de centralizar o log, de modo que vários dispositivos e sistemas enviem logs para o syslogd do Snow Leopard, que normalmente fica no UDP 514. No entanto, não consigo fazer com que eles sejam aceitos com êxito pelo bom e velho syslogd. Eu despejei na caixa do Snow Leopard para verificar se os pacotes estão sendo jorrados para a porta 514 - eles estão. Eu verifiquei que o syslogd está ouvindo no 514 - não está.
Pesquisando por aí me disseram que, nas versões mais antigas do OSX (você não ama a maneira como as coisas mudam tão rapidamente no OSX), bastava adicionar um sinalizador ao daemon syslogd para permitir o controle remoto; um fez isso em com.apple.syslogd.plist. No entanto, o daemon syslogd não possui sinalizadores (pelo menos em sua página de manual) que sugerem algo remoto.
Qual a solução para isso?
Pergunta secundária, menos importante, mas relevante: o que é 'newsyslog'? Eu vejo um arquivo plist, mas ele não está em execução (aparentemente).
obrigado
Respostas:
Eu não tentei isso, mas procurei no syslogd (/System/Library/LaunchDaemons/com.apple.syslogd.plist) e vi esta parte comentada:
Remova os comentários e recarregue o serviço:
e você provavelmente está a caminho.
Resposta à sua pergunta secundária -
newsyslog
é semelhante ao logrotate geralmente encontrado em sistemas Linux.man newsyslog
(ou online ) informará mais.Como instalado no Snow Leopard, ele é executado a cada 30 minutos
launchd
por este bit em sua essência:fonte
Observe que se você estiver tentando fazer isso em uma máquina do Snow Leopard Server (pelo menos com a 10.6.4), verá que não há uma seção comentada em /System/Library/LaunchDaemons/com.apple.syslogd .plist (e que o arquivo plist é armazenado em um formato binário).
No entanto, copiar e colar a chave que Doug cita acima fará o truque, embora primeiro você precise converter o formato do arquivo em texto da seguinte forma:
... e você provavelmente deve convertê-lo novamente depois (as conversões ocorrem in situ):
... recarregue o daemon launchd de acordo com as instruções de Doug.
Posteriormente, o arquivo plist completo deve ler da seguinte maneira:
Mais uma observação: se, como eu, você deseja enviar as saídas de syslog das estações base AirPort (e / ou Time Capsules) para o servidor, elas usam o recurso 0, que não pode ser alterado . Isso significa que eles serão registrados automaticamente no /var/log/appfirewall.log devido à seguinte entrada padrão no /etc/syslog.conf:
Na versão Server do sistema operacional, você pode alterar com segurança o nome do arquivo para, por exemplo, AirPort.log, depois de emitir o seguinte comando:
... como o Application Firewall da Apple (socketfilterfw) está desativado por padrão (e deve permanecer desativado em um servidor - ipfw é tudo o que você realmente deseja). Não tenho certeza se é possível reconfigurar o socketfilterfw para usar um recurso syslog diferente.
fonte
<key>ProgramArguments</key> <array> <string>/usr/sbin/syslogd</string> <string>-udp_in</string> </array>
Outro método para ativar o acesso de rede ao syslogd no Snow Leopard é usar o programa de linha de comando PlistBuddy,
E, em seguida, reinicie o daemon,
Você pode usar lsof para verificar se o syslogd agora está escutando na porta syslog padrão, 514,
fonte