Como filtrar os logs do Monitoramento avançado do CloudWatch para gerar métricas personalizadas automatizadas para o Amazon RDS?

4 minuto de leitura
0

Quero filtrar os logs do Monitoramento avançado do Amazon CloudWatch para gerar métricas personalizadas automatizadas para o Amazon Relational Database Service (Amazon RDS).

Breve descrição

O Monitoramento avançado do Amazon RDS fornece as seguintes métricas de sistema operacional:

  • Memória livre
  • Memória ativa
  • Troca grátis
  • Processos em execução
  • Sistema de arquivos usado

Use essas métricas Para entender o desempenho do ambiente, você pode usar essas métricas do sistema operacional. O Amazon CloudWatch Logs ingere essas métricas como entradas de log. Você pode usar o CloudWatch para criar alarmes com base em métricas. Esses alarmes executam ações, e você pode publicar essas métricas de dentro da sua infraestrutura, dispositivo ou aplicativo no CloudWatch como uma métrica personalizada. Para usar o Monitoramento avançado e o CloudWatch para automatizar tarefas, crie uma métrica personalizada para a data de ingestão do Amazon RDS do CloudWatch Logs a partir das métricas de monitoramento aprimorado.

Resolução

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), certifique-se de estar usando a versão mais recente da AWS CLI.

Use filtros em um grupo de registros para criar uma métrica personalizada

Observação: essas etapas exigem que você ative o Monitoramento avançado na sua instância de banco de dados Amazon RDS. Para obter mais informações, consulte Métricas de monitoramento em uma instância do Amazon RDS.

  1. Ative o monitoramento avançado.

  2. Abra o console do Amazon CloudWatch e, em seguida, escolha Grupos de log no painel de navegação.

  3. Filtre por RDSOSMetrics na lista de Grupos de log e escolha Ações.

  4. Escolha Criar filtro de métrica e, em seguida, insira um termo de Padrão de filtro para sua instância de banco de dados do RDS. Por exemplo:

    DISK WRITE KBPS GREATER THAN OR EQUAL TO 10 : { $.diskIO[0].writeKbPS >= 10.00 }
    DISK READ KBPS GREATER THAN OR EQUAL TO 10 : { $.diskIO[0].readKbPS >= 10.00 }
    DISK WRITE IOPS PS GREATER THAN 15 : { $.diskIO[0].writeIOsPS > 15.00 }
    DISK READ IOPS PS GREATER THAN 15 : { $.diskIO[0].readIOsPS > 15.00 }
    TOTAL CPU UTILIZATION GREATER THAN OR EQUAL TO 80 : { $.cpuUtilization.total >= 80 }
    FREE MEMORY LESS THAN OR EQUAL TO 200000 KB : { $.memory.free <= 200000 }

    Observação: atualize os valores para os valores adequados ao seu ambiente.

  5. Escolha Dados de log e, em seguida, escolha Padrão de teste.

  6. Escolha Avançar.

  7. Insira um Nome de filtro e, em seguida, escolha um Namespace de métrica e um Nome de métrica.

  8. Insira um Valor métrico. Por exemplo, $.cpuUtilization.idle. Em seguida, escolha Criar filtro.

    Repita essas etapas para cada métrica adicional que você adicionar.

Automatize suas métricas

Para automatizar o processo de monitoramento das mais de 60 métricas de monitoramento de cada instância de banco de dados Amazon RDS, use um script. Para ver um exemplo de um script que usa uma instância de banco de dados Amazon RDS para MySQL, consulte rds-support-tools no site do GitHub. O script de exemplo funciona com os seguintes mecanismos:

  • MySQL
  • MariaDB
  • Edição compatível com Amazon Aurora MySQL
  • Edição compatível com Amazon Aurora PostgreSQL
  • PostgreSQL

Especifique a instância de banco de dados do Amazon RDS com o Monitoramento avançado ativado e o namespace em que você deseja que essas métricas residam. Opcionalmente, adicione os nomes das métricas e da região da AWS. Se você não especificar nenhum campo opcional, o script considerará todas as métricas a serem publicadas. Em seguida, o script verifica o arquivo .aws/config para a região da AWS padrão que está definida para a AWS CLI.

Observação: o script não cria métricas para a lista de processos. Dependendo do processo que você deseja exibir, talvez seja necessário criar filtros manualmente.

Use o padrão a seguir para especificar os nomes das métricas:

group.metricname

O código de exemplo a seguir ilustra uma chamada para ativar essa métrica para cpuUtilization.idle e diskIO.readKbPS:

python RDSCreateMetricsFromEnhancedMonitoring.py --rds\_instance mysqltest --namespace MySQL --metrics\_to\_filter cpuUtilization.idle diskIO.readKb

Em seguida, você pode criar alarmes para essas métricas personalizadas. Para obter mais informações, consulte Como usar alarmes do Amazon CloudWatch.

Informações relacionadas

Monitoramento de arquivos de log do Amazon RDS

Usando filtros métricos para combinar termos e extrair valores de eventos de log JSON

AWS OFICIAL
AWS OFICIALAtualizada há 9 meses