Menu
Logs do Amazon CloudWatch
Guia do usuário

Início rápido: Habilitar suas instâncias do Amazon EC2 executando o Windows Server 2016 para enviar logs para o CloudWatch Logs usando o agente do CloudWatch Logs

Há vários métodos que você pode usar para habilitar instâncias executando o Windows Server 2016 para enviar logs para o CloudWatch Logs. As etapas desta seção usam o comando Executar do Systems Manager. Para obter informações sobre outros métodos possíveis, consulte Enviar contadores de logs, eventos e desempenho para o Amazon CloudWatch.

Download do arquivo de configuração de exemplo

Faça download do seguinte arquivo de exemplo em seu computador: AWS.EC2.Windows.CloudWatch.json.

Configurar o arquivo JSON para o CloudWatch

Você determina os logs a serem enviados ao CloudWatch especificando suas opções em um arquivo de configuração. O processo de criação desse arquivo e a especificação de suas opções pode levar 30 minutos ou mais para ser concluído. Após concluir essa tarefa uma vez, você pode reutilizar o arquivo de configuração em todas as instâncias.

Etapa 1: ativar o CloudWatch Logs

Na parte superior do arquivo JSON, altere "false" para "true" em IsEnabled:

"IsEnabled": true,

Etapa 2: Definir as configurações para o CloudWatch

Especifique as credenciais, a região, um nome de grupo de logs e um namespace de fluxo de log. Isso permite que a instância envie dados de log ao CloudWatch Logs. Para enviar os mesmos dados de log para locais diferentes, você pode incluir seções adicionais com IDs exclusivos (por exemplo, "CloudWatchLogs2" e CloudWatchLogs3”) e uma região diferente para cada ID.

Para definir configurações para enviar dados de log ao CloudWatch Logs

  1. No arquivo JSON, localize a seção CloudWatchLogs.

    { "Id": "CloudWatchLogs", "FullName": "AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch", "Parameters": { "AccessKey": "", "SecretKey": "", "Region": "us-east-1", "LogGroup": "Default-Log-Group", "LogStream": "{instance_id}" } },
  2. Deixe os campos AccessKey e SecretKey em branco. Você configura as credenciais usando uma função do IAM.

  3. Em Region, digite a região para a qual enviar os dados de log (por exemplo, us-east-2).

  4. Em LogGroup, digite o nome do grupo de logs. Esse nome aparece na tela Log Groups (Grupos de logs) no console do CloudWatch.

  5. Em LogStream, digite o fluxo de log de destino. Esse nome aparece na tela Log Groups > Streams (Grupos de logs > Fluxos) no console do CloudWatch.

    Se você usar {instance_id}, o padrão, o nome do fluxo de logs será o ID dessa instância.

    Se você especificar um nome de fluxo de log que ainda não existe, o CloudWatch Logs o criará automaticamente. Você pode definir um nome de fluxo de log usando uma sequência literal, as variáveis predefinidas {hostname}, {instance_id} e {ip_address} ou uma combinação delas.

Etapa 3: Configurar os dados a serem enviados

Você pode enviar dados de log de eventos, dados do Rastreamento de Eventos para Windows (ETW) e outros dados de log ao CloudWatch Logs.

Para enviar dados de log de eventos de aplicativo do Windows para o CloudWatch Logs

  1. No arquivo JSON, localize a seção ApplicationEventLog.

    { "Id": "ApplicationEventLog", "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogName": "Application", "Levels": "1" } },
  2. Em Levels, especifique o tipo de mensagens das quais fazer upload. Você pode especificar um dos seguintes valores:

    • 1 - fazer upload apenas de mensagens de erro.

    • 2 - fazer upload apenas de mensagens de aviso.

    • 4 - fazer upload apenas de mensagens informativas.

    Você pode combinar valores para incluir mais de um tipo de mensagem. Por exemplo, um valor de 3 faz o upload de mensagens de erro (1) e de mensagens de aviso (2). Um valor de 7 faz upload de mensagens de erro (1), de mensagens de aviso(2) e de mensagens informativas (4).

Para enviar dados de log de segurança para o CloudWatch Logs

  1. No arquivo JSON, localize a seção SecurityEventLog.

    { "Id": "SecurityEventLog", "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogName": "Security", "Levels": "7" } },
  2. Em Levels, digite 7 fazer upload de todas as mensagens.

Para enviar dados de log de eventos do sistema para o CloudWatch Logs

  1. No arquivo JSON, localize a seção SystemEventLog.

    { "Id": "SystemEventLog", "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogName": "System", "Levels": "7" } },
  2. Em Levels, especifique o tipo de mensagens das quais fazer upload. Você pode especificar um dos seguintes valores:

    • 1 - fazer upload apenas de mensagens de erro.

    • 2 - fazer upload apenas de mensagens de aviso.

    • 4 - fazer upload apenas de mensagens informativas.

    Você pode combinar valores para incluir mais de um tipo de mensagem. Por exemplo, um valor de 3 faz o upload de mensagens de erro (1) e de mensagens de aviso (2). Um valor de 7 faz upload de mensagens de erro (1), de mensagens de aviso(2) e de mensagens informativas (4).

Para enviar outros tipos de dados de log de eventos para o CloudWatch Logs

  1. No arquivo JSON, adicione uma nova seção. Cada seção deve ter um Id exclusivo.

    { "Id": "Id-name", "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogName": "Log-name", "Levels": "7" } },
  2. Em Id, digite um nome para o log do qual fazer upload (por exemplo, WindowsBackup).

  3. Em LogName, digite o nome do log do qual fazer upload. Você pode localizar o nome do log da seguinte forma.

    1. Abra o Visualizador de eventos.

    2. No painel de navegação, escolha Applications and Services Logs.

    3. Navegue até o log e escolha Actions, Properties.

  4. Em Levels, especifique o tipo de mensagens das quais fazer upload. Você pode especificar um dos seguintes valores:

    • 1 - fazer upload apenas de mensagens de erro.

    • 2 - fazer upload apenas de mensagens de aviso.

    • 4 - fazer upload apenas de mensagens informativas.

    Você pode combinar valores para incluir mais de um tipo de mensagem. Por exemplo, um valor de 3 faz o upload de mensagens de erro (1) e de mensagens de aviso (2). Um valor de 7 faz upload de mensagens de erro (1), de mensagens de aviso(2) e de mensagens informativas (4).

Para enviar os dados de rastreamento de eventos para Windows ao CloudWatch Logs

O ETW (Rastreamento de Eventos para Windows) fornece um mecanismo de registro eficiente e detalhado no qual os aplicativos podem gravar logs. Cada ETW é controlado por um gerente de sessão que pode iniciar e parar a sessão de registro. Cada sessão tem um provedor e um ou mais consumidores.

  1. No arquivo JSON, localize a seção ETW.

    { "Id": "ETW", "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogName": "Microsoft-Windows-WinINet/Analytic", "Levels": "7" } },
  2. Em LogName, digite o nome do log do qual fazer upload.

  3. Em Levels, especifique o tipo de mensagens das quais fazer upload. Você pode especificar um dos seguintes valores:

    • 1 - fazer upload apenas de mensagens de erro.

    • 2 - fazer upload apenas de mensagens de aviso.

    • 4 - fazer upload apenas de mensagens informativas.

    Você pode combinar valores para incluir mais de um tipo de mensagem. Por exemplo, um valor de 3 faz o upload de mensagens de erro (1) e de mensagens de aviso (2). Um valor de 7 faz upload de mensagens de erro (1), de mensagens de aviso(2) e de mensagens informativas (4).

Para enviar logs personalizados (qualquer arquivo de log baseado em texto) para o CloudWatch Logs

  1. No arquivo JSON, localize a seção CustomLogs.

    { "Id": "CustomLogs", "FullName": "AWS.EC2.Windows.CloudWatch.CustomLog.CustomLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogDirectoryPath": "C:\\CustomLogs\\", "TimestampFormat": "MM/dd/yyyy HH:mm:ss", "Encoding": "UTF-8", "Filter": "", "CultureName": "en-US", "TimeZoneKind": "Local", "LineCount": "5" } },
  2. Em LogDirectoryPath, digite o caminho onde os logs estão armazenados na instância.

  3. Em TimestampFormat, digite o formato do time stamp a ser usado. Para obter mais informações sobre os valores compatíveis, consulte o tópico Cadeias de caracteres de formato de data e hora personalizado no MSDN.

    Importante

    Seu arquivo de log de origem deve ter o time stamp no início de cada linha do log e deve haver um espaço depois do time stamp.

  4. Em Encoding, digite a codificação de arquivo a ser usada (por exemplo, UTF-8). Para obter uma lista de valores compatíveis, consulte o tópico Classe Encoding no MSDN.

    nota

    Use o nome da codificação, não o nome da exibição.

  5. (Opcional) Em Filter, digite o prefixo de nomes de logs. Deixe esse parâmetro em branco para monitorar todos os arquivos. Para obter mais informações sobre os valores compatíveis, consulte o tópico Propriedade FileSystemWatcherFilter no MSDN.

  6. (Opcional) Em CultureName, digite a localidade na qual o time stamp é registrado no log. Se CultureName ficar em branco, será adotada como padrão a mesma localidade usada atualmente pela instância do Windows. Para obter mais informações a respeito, consulte a coluna Language tag na tabela no tópico Product Behavior no MSDN.

    nota

    Os valores div, div-MV, hu e hu-HU não têm suporte.

  7. (Opcional) Em TimeZoneKind, digite Local ou UTC. Você pode definir isso para fornecer informações de fuso horário quando essas informações não estiverem incluídas no time stamp do log. Se esse parâmetro for deixado em branco e se o time stamp não incluir informações sobre fuso horário, o CloudWatch Logs adotará o fuso horário local como o padrão. Esse parâmetro será ignorado se o time stamp já incluir informações sobre o fuso horário.

  8. (Opcional) Em LineCount, digite o número de linhas do cabeçalho para identificar o arquivo de log. Por exemplo, os arquivos de log do IIS têm cabeçalhos praticamente idênticos. Você pode especificar 5, que leria as três primeiras linhas do cabeçalho do arquivo de log para identificá-lo. Nos arquivos de log do IIS, a terceira linha é o carimbo de data/hora, mas nem sempre é garantido que o carimbo será diferente entre os arquivos de log. Por esse motivo, recomendamos incluir pelo menos uma linha de dados de log reais para identificar o arquivo de log de forma exclusiva.

Para enviar dados de log do IIS para o CloudWatch Logs

  1. No arquivo JSON, localize a seção IISLog.

    { "Id": "IISLogs", "FullName": "AWS.EC2.Windows.CloudWatch.CustomLog.CustomLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogDirectoryPath": "C:\\inetpub\\logs\\LogFiles\\W3SVC1", "TimestampFormat": "yyyy-MM-dd HH:mm:ss", "Encoding": "UTF-8", "Filter": "", "CultureName": "en-US", "TimeZoneKind": "UTC", "LineCount": "5" } },
  2. Em LogDirectoryPath, digite a pasta onde os logs do IIS são armazenados para um site individual (por exemplo, C:\inetpub\logs\LogFiles\W3SVCn).

    nota

    Há suporte apenas para o formato de log W3C. Não há suporte para os formatos IIS, NCSA e Personalizado.

  3. Em TimestampFormat, digite o formato do time stamp a ser usado. Para obter mais informações sobre os valores compatíveis, consulte o tópico Cadeias de caracteres de formato de data e hora personalizado no MSDN.

  4. Em Encoding, digite a codificação de arquivo a ser usada (por exemplo, UTF-8). Para obter mais informações sobre os valores compatíveis, consulte o tópico Encoding Class no MSDN.

    nota

    Use o nome da codificação, não o nome da exibição.

  5. (Opcional) Em Filter, digite o prefixo de nomes de logs. Deixe esse parâmetro em branco para monitorar todos os arquivos. Para obter mais informações sobre os valores compatíveis, consulte o tópico Propriedade FileSystemWatcherFilter no MSDN.

  6. (Opcional) Em CultureName, digite a localidade na qual o time stamp é registrado no log. Se CultureName ficar em branco, será adotada como padrão a mesma localidade usada atualmente pela instância do Windows. Para obter mais informações sobre os valores compatíveis, consulte a coluna Language tag na tabela no tópico Product Behavior no MSDN.

    nota

    Os valores div, div-MV, hu e hu-HU não têm suporte.

  7. (Opcional) Em TimeZoneKind, digite Local ou UTC. Você pode definir isso para fornecer informações de fuso horário quando essas informações não estiverem incluídas no time stamp do log. Se esse parâmetro for deixado em branco e se o time stamp não incluir informações sobre fuso horário, o CloudWatch Logs adotará o fuso horário local como o padrão. Esse parâmetro será ignorado se o time stamp já incluir informações sobre o fuso horário.

  8. (Opcional) Em LineCount, digite o número de linhas do cabeçalho para identificar o arquivo de log. Por exemplo, os arquivos de log do IIS têm cabeçalhos praticamente idênticos. Você pode especificar 5, que leria as cinco primeiras linhas do cabeçalho do arquivo de log para identificá-lo. Nos arquivos de log do IIS, a terceira linha é o carimbo de data/hora, mas nem sempre é garantido que o carimbo será diferente entre os arquivos de log. Por esse motivo, recomendamos incluir pelo menos uma linha de dados de log reais para identificar o arquivo de log de forma exclusiva.

Etapa 4: Configurar o controle de fluxo

Cada tipo de dados deve ter um destino correspondente na seção Flows. Por exemplo, para enviar o log personalizado, o log do ETW e o log do sistema ao CloudWatch Logs, adicione (CustomLogs,ETW,SystemEventLog),CloudWatchLogs à seção Flows.

Atenção

A adição de uma etapa inválida bloqueia o fluxo. Por exemplo, se você adicionar uma etapa de métrica de disco, mas a instância não tiver um disco, todas as etapas do fluxo serão bloqueadas.

Você pode enviar o mesmo arquivo de log a mais de um destino. Por exemplo, para enviar o log do aplicativo a dois destinos diferentes que você definiu na seção CloudWatchLogs, adicione ApplicationEventLog,(CloudWatchLogs,CloudWatchLogs2) à seção Flows.

Para configurar o controle de fluxo

  1. No arquivo AWS.EC2.Windows.CloudWatch.json, localize a seção Flows.

    "Flows": { "Flows": [ "PerformanceCounter,CloudWatch", "(PerformanceCounter,PerformanceCounter2), CloudWatch2", "(CustomLogs, ETW, SystemEventLog),CloudWatchLogs", "CustomLogs, CloudWatchLogs2", "ApplicationEventLog,(CloudWatchLogs, CloudWatchLogs2)" ] }
  2. Em Flows, adicione cada tipo de dados os quais serão feito upload (por exemplo, ApplicationEventLog) e seu destino (por exemplo, CloudWatchLogs).

Etapa 5: salvar conteúdo JSON

Agora você concluiu a edição do arquivo JSON. Salve-o e cole o conteúdo do arquivo em um editor de texto em outra janela. Você precisará do conteúdo do arquivo em uma etapa posterior deste procedimento.

Criar um usuário e uma função do IAM para o Systems Manager

Uma função do IAM para credenciais de instância é necessária quando você usa o comando Executar do Systems Manager. Essa função permite que o Systems Manager execute ações na instância. Opcionalmente, você pode criar uma conta de usuário exclusiva do IAM para configurar e executar o Systems Manager. Para obter mais informações, consulte Configuração de funções de segurança para o Systems Manager no Guia do usuário do AWS Systems Manager. Para obter informações sobre como anexar uma função do IAM a uma instância existente, consulte Anexar uma função do IAM a uma instância no Guia do usuário do Amazon EC2 para instâncias do Windows.

Verificar os pré-requisitos do Systems Manager

Antes de usar o Comando Executar do Systems Manager ou o State Manager para configurar a integração com o CloudWatch Logs, verifique se suas instâncias atendem aos requisitos mínimos. Para obter mais informações, consulte Pré-requisitos do Systems Manager no Guia do usuário do AWS Systems Manager.

Verificar o acesso à Internet

As instâncias do Amazon EC2 do Windows Server e as instâncias gerenciadas devem ter acesso de saída à Internet para enviar dados de log e de eventos ao CloudWatch. Para obter mais informações sobre configurar o acesso à Internet, consulte Gateways da Internet no Guia do usuário da Amazon VPC.

Ative o CloudWatch Logs usando o Comando Executar do Systems Manager

O Run Command permite gerenciar a configuração de suas instâncias sob demanda. Você especifica um documento do Systems Manager, especifica parâmetros e executa o comando em uma ou mais instâncias. O agente do SSM na instância processa o comando e configura a instância conforme especificado.

Para configurar a integração com o CloudWatch Logs usando o Comando Executar

  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, escolha Systems Manager Services, Run Command.

  3. Escolha Run a command.

  4. Em Command document, escolha AWS-ConfigureCloudWatch.

  5. Em Instâncias de destino, escolha as instâncias a serem integradas ao CloudWatch Logs. Se você não vir uma instância nessa lista, ela poderá não estar configurada para Run Command. Para obter mais informações, consulte Pré-requisitos do Systems Manager no Guia do usuário do Amazon EC2 para instâncias do Windows.

  6. Em Status, escolha Enabled.

  7. Em Propriedades, copie e cole o conteúdo JSON que você criou nas tarefas anteriores.

  8. Preencha os campos opcionais restantes e escolha Run.

Use o seguinte procedimento para visualizar os resultados da execução do comando no console do Amazon EC2.

Para visualizar a saída do comando no console

  1. Selecione um comando.

  2. Escolha a guia Output.

  3. Escolha View Output. A página de saída do comando mostra os resultados da execução do comando.