Community:HowTo Configure Mac OS X Syslog To Forward Data (Portuguese)

From Splunk Wiki

Jump to: navigation, search

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)

Personal tools
Hot Wiki Topics


About Splunk >
  • Search and navigate IT data from applications, servers and network devices in real-time.
  • Download Splunk