Community:HowTo Configure Mac OS X Syslog To Forward Data (Portuguese)
From Splunk Wiki
Este tutorial mostra como configurar o Mac OS X para enviar os eventos do syslog para um servidor remoto.
A configuração abaixo foi testada e validada em um MacBook Pro rodando Mac OS X 10.6.2 (Snow Leopard).
Background
O Console.app (Aplicativos - Utilitários - Console.app) do Mac OS X é a interface padrão para visualizar os eventos registrados pelo sistema operacional. É simples e funcional, mas a visualização não é muito amigável.
Existe uma versão do Splunk para Mac OS X que possibilita um monitoramento melhor e mais completo, e que pode ser instalada e configurada como forwarder para o seu servidor central. Mas para simplesmente monitorar eventos gerados pelo Syslog, não é necessária a instalação da versão Mac.
Mas, vale a pena mencionar que para capturar os eventos enviados pelo Mac OS X para o Splunk é necessário configurar o seu servidor para:
(a.) receber informação pela porta UDP 514 e
(b.) permitir tráfego por esta porta nos firewalls existentes entre a estação Mac OS X e o servidor Splunk - incluindo também o firewall do Windows, se for o caso.
Configurando o Syslogd no Mac OS X
Toda a configuração abaixo é feita via linha de comando no Terminal do Mac OS X. Os passos necessários para que o Mac OS X envie os eventos para o servidor syslog são:
1. Abra o Terminal: Aplicativos - Utilitários - Terminal, ou utilizando o Spotlight (atalho: command+space > Terminal)
2. Antes de mais nada, crie uma cópia de segurança do arquivo de configuração do syslog (syslog.conf) no diretório /tmp:
$ cp /etc/syslog.conf /tmp/syslog.conf.bkp
3. Abra o arquivo de configuração no seu editor preferido (neste caso, no vi):
$ sudo vi /etc/syslog.conf Password:
Para editar o arquivo é necessário ter permissão de ‘root’, por isso o comando ‘sudo’. Digite a senha do seu usuário para prosseguir.
4. Insira a linha abaixo, trocando o IP 192.168.1.12 pelo endereço IP ou nome do seu servidor syslog.
*.* @192.168.1.12
No vi, tecle ‘i’ para entrar no modo de inserção de texto, navegue com as setas até o fim e adicione a linha acima.
IMPORTANTE: Os parâmetros são separados por TABs, não por espaços.
O primeiro parâmetro desta linha é o código ’Facility.Level’ do syslog. A linha acima diz, basicamente, para enviar uma cópia de todos (*.*) os eventos para o servidor syslog que responde pelo endereço IP 192.168.1.12. Se você quiser limitar quais eventos enviar, pode por exemplo alterar o ‘*.*’ para ‘*.notice’. Consulte o manual do syslogd.conf para mais opções.
Saia do modo de inserção teclando ‘ESC’, e salve o arquivo digitando ‘:wq <enter>’. Ou digite ‘:q!’ para sair sem salvar e começar tudo de novo.
5. Reinicie o serviço ‘syslogd’:
Antes de reiniciar, verifique que o serviço está realmente rodando.
$ ps -e | grep syslogd 5070 ?? 2:33.75 /usr/sbin/syslogd
Os comandos a seguir reiniciam o syslogd. Se solicitado, digite novamente a sua senha.
$ sudo launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist $ sudo launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist
Para verificar se o serviço foi realmente reiniciado. O contador de tempo deve estar zerado e o número de identificação do processo (5070 no exemplo acima) deve ser diferente.
$ ps -e | grep syslogd 18597 ?? 0:00.01 /usr/sbin/syslogd
Está pronto.
Para verificar se realmente os eventos estão sendo encaminhados para o outro servidor, utilize ’tcpdump’ para visualizar os pacotes que saem desta máquina para o syslog. Utilizando o comando ’ifconfig’, veja qual é o nome da sua interface de rede conectada à mesma rede IP do servidor syslog, para utilizar como filtro no ’tcpdump’. No exemplo, a interface se chama ‘en1’.
$ sudo tcpdump -i en1 host 192.168.1.12 and udp port 514
Aguarde alguns minutos até que algum evento seja gerado e enviado ao syslog, o tcpdump irá capturar este pacote e mostrar na tela do terminal. Se não acontecer nada, force um evento - por exemplo, abra uma nova janela do Terminal no Mac OS X.
exemplo de pacote capturado pelo tcpdump: 18:53:47.625082 IP 192.168.1.10.56486 > 192.168.1.12.syslog: SYSLOG kernel.notice, length: 67
Caso o tcpdump não retorne nada, reveja as configurações acima, verifique se existe conectividade com o servidor e lembre-se de permitir o tráfego UDP na porta 514 do seu servidor syslog. Em último caso, restaure a cópia de segurança e repita o procedimento.
--Soyza 11:45, 17 March 2010 (PDT)