Tenho uma instância de banco de dados do 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 agente que correspondam 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 obter mais informações, consulte Criar métricas de eventos de log 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 Aurora e do RDS e clique em Bancos de dados no painel de navegação.
- Selecione o nome da instância de banco de dados para a qual você deseja configurar as métricas do CloudWatch.
- Na guia Configuração, clique em Erro em CloudWatch Logs. Isso abre o painel Logs no console do CloudWatch. Se você não vir 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, clique em Grupos de logs.
- Selecione o log de erro da instância de banco de dados do RDS e, em seguida, clique em 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 clique em Testar padrão.
- Na seção Resultados, é possível ver quantos resultados correspondem ao padrão de filtro no arquivo de log. Também é possível clicar em Mostrar resultados do teste para ver mais detalhes.
- Clique em Atribuir métrica.
- Insira um Nome de filtro e um Nome da métrica.
- Selecione 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.
- Clique em 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, selecione o seguinte:
Tipo de limite - Estático.
Sempre que o teste for - Maior > limite.
Do que - Digite 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.
- Selecione Próximo.
- 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.
- Selecione Próximo.
- Insira o Nome do alarme e a Descrição do alarme e, em seguida, clique em Próximo.
- Na página Visualizar e criar, analise o grafo Métrica e Condições.
- Selecione Criar alarme.
Depois de seguir essas etapas de exemplo, o estado do alarme fica como 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 envia uma notificação do SNS para o e-mail especificado.
Informações relacionadas
Ferramentas de monitoramento do Amazon RDS