sexta-feira, 5 de fevereiro de 2010

Criando Subscription para Encaminhamento de Logs com Windows Server 2008

A centralização de logs nativamente no Windows sempre foi um recurso bastante esperado pelos administradores de sistemas, principalmente pelo fato de que nas versões anteriores não era possível centralizar as informações dos Logs de Eventos, já na versão 2008 do Windows Server isto é plenamento possível com a criação de Subscriptions.
Neste tutorial, iremos criar um subscription para coletar logs de um servidor Windows Server Core 2008 R2. A idéia é facilitar a tarefa do adminsitrador que lida com a nova ferramenta da Microsoft que não conta com uma interface gráfica permitindo a centralização dos logs sem a necessidade de acessar o Event Viewer remotamente.
Cenário do Tutorial:
Figura 1 – MARDUK com Windows Server 2008 onde iremos configurar o Subscription para coletar logs e TRINITY com Windows Server 2003 que irá gerar logs.
1. Primeiro Passo – Atribuindo Permissão Para Comunicação
É preciso que a máquina que irá coletar os logs (MARDUK no nosso exemplo) seja membro do grupo local Administrators. Para isto, acesse a máquina que irá gerar os logs (TIAMAT no nosso exemplo) e insira a conta de computar do servidor que centraliza os logs (MARDUK no nosso exemplo).

Figura 1 – Inserindo conta de computador no grupo Administrators do Server Core
Obs.: O Server Core não tem interface gráfica, para habilitar o acesso remoto através de console MMC, confira o seguinte artigo:

2. Segundo Passo – Habilitando Protocolo Remoto
Será preciso configurar o Windows Remote Management para permitir que os logs sejam coletados pelo servidor que irá concentrar as informações, para isto acesse o prompt do Server Core e digite:

winrm quickconfig


Figura 2.1 – No prompt do Server Core, execute a linha de comando winrm quickconfig
e ao ser questionado pressione Y. Perceba que com este comando além de habilitar o serviço para aceitar requisições, o firewall também é automaticamente configurado para habilita a exceção.
   
3. Terceiro Passo – Configurando Subscription
Agora devemos criar um Subscription com as definições de log e informações do computador o qual os logs serão coletados. Nesta etapa é bem importante ficar atento aos testes de conectividade e tipo de informação que quer obter da máquina, então tenha em mãos o escopo para configurá-lo.
3.1 Abra o console do Event Viewer, expanda Windows Logs e clique com o botão direito sobre Subscriptions. Então escolha a opção Create Subscription...

Figura 3.1 – Criando Subscrition
3.2 Dentro das propriedades deveremos preencher todas as informações necessárias, começando pelo nome da subscription, e neste caso o detalhe importante é selecionarmos qual o destino do log, ou seja, onde os logs aparecerão no servidor central.

Figura 3.2 – Nomeando o Subscription e definindo o destino dos logs
3.3 Precisamos agora definir o computador que irá ser contactado para a coleta dos logs, este computador é chamado de fonte (TIAMAT no nosso exemplo) e receberá a visita do servidor central (MARDUK no nosso exemplo) para entregar os logs correspondentes.

3.3.1 Clique sobre o botão Select Computers...
3.3.2 Na caixa de diálogo Computer clique sobre o botão Add Domain Computers...
3.3.3 Após selecionar o computador desejado, clique no botão Test para verificar a conectividade


Figura 3.3 – Definindo Computador Fonte que irá "publicar" os logs para o servidor central coletar
3.4 Após inserir o computador fonte, vamos configurar os filtros de log, ou seja aqui definiremos os tipos de eventos que queremos monitorar a partir do servidor central.
    3.4.1 Ainda em propriedades de Subscriptions, clique no botão Select Events...
    3.4.2 Na tela Query Filter selecione os Event Level, neste exemplo selecionamos os mais comuns.
    3.4.3 Selecion o evento que quer monitor, neste exemplo selecionamos System.

Figura 3.4 – Definindo nível e tipo de logs que serão coletados
3.5 Agora deveremos garantir que as configurações avançadas estejam corretas para completar o processo de coleta dos logs, para isto clique no botão Advanced em propriedades de Subscription confira os seguntes pontos:


  • User Account: Utilize Machine Account conforme a configuração que declaramos no primeiro passo, porém em alguns casos poderemos utiliza a conta do Administrador para isto.



  • Event Delivery Optimization: O nível Normal garante atualização de 15 em 15 segundos, caso você tenha uma largura de banda restritiva poderá optar por Minimize Bandwith para aumentar o tempo de atualização para 40 em 40 segundos.



  • Protocol: Estamos utilizando HTTP para efeito de demonstração, mas você poderá alterar para HTTPS provendo criptografia no trafego das informações, isto é desejável .



  • Port: Tenha certeza de que a porta de tráfego do Windows Remote Management está ativada nestas configurações e habilitada na estrutura de firewall.

Figura 3.5 – Configurações Avançadas da Subscription
3.6 Com a Subscription configurada, agora precisaremos validar se a comunicação está efetivamente funcional, apesar de testarmos a comunição do Windows Remote Management no item 3.3.3, precisamos validar a autenticação e o tráfego no protocolo e porta. Clique com o botão direito sobre a Subscription recem criada e escolha a opção Runtime Status, ao abrir o status do Subscription verifique se aparece Active e clique em OK.


Figura 3.6 – Validando Status da Subscription
4. Quarto Passo – Gerando Log No Servidor Server Core
Para que apareçam os esperados logs, é preciso gerar um de teste. Temos várias opções, dentre elas reiniciar o computador, mas vamos a uma prática menos nociva. Iremos parar o serviço Secondary Logon, com o seguinte comando (lembre-se que é Server Core):
  
net stop seclogon

Figura 4 – Parando serviço Secondary Logon para criar logs

5. Quinto Passo – Analisando Logs Em Forwarded Events no Windows Server 2008
Pronto, agora que geramos o erro podemos acompanhar os logs que deverão aparecer no nosso servidor central coletor de logs, mas intimamente conhecido como MARDUK, no nosso exemplo é claro. Para isto iremos acessar o diretório de destino em Event Viewer chamado Forwarded Events, vale lembrar que selecionamos a otimização normal e por isto deveremos esperar no mínimo 15 segundos para que os logs efetivamente apareçam.
Vejam na imagem abaixo que temos vários logs e dentre todos, temos nosso log de informação mostrando que o serviço Secondary Logon foi parado no computador TIAMAT.

Figura 5 – Em Forwarded Events no servidor central (MARDUK) aparecem os logs do computador fonte (TIAMAT)
Neste tutorial, vimos como centralizar logs de servidores na plataforma Microsoft Windows Server Core 2008, a partir da nova função Subscription no Windows Server 2008.


Abração a todos!

6 comentários:

  1. Cara, consigo coletar eventos de um servidor windows server 2003?

    ResponderExcluir
  2. Olá Fábio é possível sim. Basta seguir as instruções e utilizar um Windows Server 2008 como centralizador dos logs.

    ResponderExcluir
  3. marcelo,

    mas as versões do windows server 2003 não tem como rodar o comando winrm quickconfig para aceitar o trafego.
    Como faço isso nas versões 2003 server?

    Obrigado.

    ResponderExcluir
  4. Baixe o WinRM para o Windows Server 2003:
    http://support.microsoft.com/kb/968930

    [ ]´s

    ResponderExcluir
  5. Marcelo,
    Boa tarde!

    Realmente funcionou, o que eu gostaria de fazer agora é em vez de colocar o diretório ForwardedEvents para ser o repositório dos logs, criar outros "destination logs" para cada servidor, é possível?
    Assim ficaria mais fácil o gerenciamento dos eventos.
    Obrigado!

    Fábio Luiz

    ResponderExcluir
  6. Marcelo, bom dia.
    Como coletar logs de Domain controllers 2003? Pergunto isto, pois não consigo colocar meu 'coletor' (ws2008) como administrador do DC, visto que a aba não existe.
    Obrigado.

    ResponderExcluir

O que é o Microsoft Azure afinal?

Salve! Não dá pra falar mais que é uma "onda", a nuvem pegou de verdade e já faz um tempo que para os mais inseridos no contexto...