Tenho uma instância de banco de dados Amazon Relational Database Service (Amazon RDS) que executa o SQL Server. Quero criar alarmes do Amazon CloudWatch e tópicos do Amazon Simple Notification Service (Amazon SNS) para que eu receba notificações sobre eventos específicos. Por exemplo, erros do SQL Server e eventos de logs do atendente que correspondem aos padrões de filtro do CloudWatch.
Breve descrição
Primeiro, publique os logs do SQL Server no Amazon CloudWatch Logs. Em seguida, crie alarmes do CloudWatch e notificações do SNS para os eventos de logs do banco de dados do SQL Server que correspondam ao padrão de filtro que você criou.
Depois que os dados de logs do Amazon RDS para SQL Server forem publicados no CloudWatch, será possível criar filtros de métricas para pesquisar e filtrar os logs. Os filtros de métricas definem os termos e padrões que são pesquisados nos dados de logs à medida que são enviados para o Amazon CloudWatch Logs. Em seguida, o CloudWatch Logs usa esses filtros para transformar dados de logs em métricas numéricas do CloudWatch para as quais é possível definir alarmes.
É possível usar qualquer tipo de estatística do CloudWatch, como estatísticas percentuais, ao visualizar essas métricas ou definir alarmes. Para mais informações, consulte Criar métricas a partir de eventos de logs usando filtros.
Resolução
É possível criar padrões de filtro, como “Falha no login do usuário”, para identificar tentativas de login malsucedidas. Ou criar um filtro para “Solicitações de E/S que demoram mais de 15 segundos para serem concluídas” para identificar gargalos de E/S ou de disco.
O exemplo a seguir usa um filtro para pesquisar e contar eventos que incluem o termo “Falha no login do usuário” para rastrear tentativas de login malsucedidas.
Observação: por padrão, os logs de banco de dados do Amazon RDS não são publicados no CloudWatch Logs. Para começar, siga as etapas para publicar os logs do SQL Server no Amazon CloudWatch Logs.
- Abra o console do Amazon RDS e escolha Bancos de dados no painel de navegação.
- Escolha o nome da instância de banco de dados para a qual você deseja configurar as métricas do CloudWatch.
- Na guia Configuração, escolha Erro em CloudWatch Logs. Isso abre o painel Logs no console do CloudWatch. Se você não ver a seção Logs publicados, certifique-se de publicar os logs do SQL Server no CloudWatch Logs.
- No painel de navegação do console do CloudWatch, escolha Grupos de logs.
- Escolha o log de erro da instância de banco de dados RDS e, em seguida, escolha Criar filtro de métrica.
- Em Padrão de filtro, insira um padrão, como “Falha no login do usuário”.
Observação: todas as entradas no padrão de filtro diferenciam maiúsculas de minúsculas.
- Na mesma página, é possível testar o padrão do filtro. Selecione o grupo de logs com o qual você deseja testar o filtro na seção Selecionar dados de logs para testar e escolha Padrão de teste.
- Na seção Resultados, é possível ver quantos resultados correspondem ao padrão de filtro no arquivo de log. Também é possível selecionar Mostrar resultados do teste para ver mais detalhes.
- Escolha Atribuir métrica.
- Insira um Nome de filtro e um Nome da métrica.
- Escolha Mostrar configurações de métricas avançadas e confirme se o Valor da métrica está definido como 1. Esse valor especifica que a contagem é incrementada em 1 para cada evento de log que contém “Falha no login do usuário”.
- Em Valor padrão, insira 0.
- Escolha Criar filtro. O botão Criar alarme é exibido. Selecione Criar alarme.
- Na lista suspensa Período, selecione o período de avaliação. O período padrão é de 5 minutos.
- Na seção Condições, escolha o seguinte:
Tipo de limite: estático.
Sempre que o teste for: Maior > limite.
Então: inserir 10.
- Expanda a seção Configuração adicional. Em Pontos de dados para alarme, insira o número de períodos de avaliação (pontos de dados) que devem estar no estado ALARM para acionar o alarme.
- Em Tratamento de dados ausentes, selecione Tratar dados ausentes como ausentes.
- Escolha Avançar.
- Na seção Notificação, em Selecionar um tópico do SNS, selecione um tópico do SNS que já existe ou crie um novo para receber notificações.
- Insira os endpoints de e-mail dos quais você deseja receber a notificação.
- Escolha Avançar.
- Insira o Nome do alarme e a Descrição do alarme e, em seguida, escolha Avançar.
- Na página Visualizar e criar, revise o grafo Métrica e Condições.
- Selecione Criar alarme.
Depois de seguir as etapas de exemplo, o estado do alarme é Dados insuficientes nos primeiros minutos. Depois que o alarme tiver dados suficientes, o status será OK. Se você receber mais de 10 falhas de login em um período de 5 minutos, o alarme do CloudWatch enviará uma notificação do SNS para o e-mail especificado.
Informações relacionadas
Visão geral das métricas de monitoramento no Amazon RDS