AWS

20 abr, 2016

Usando Enhanced RDS Monitoring com a Datadog

Publicidade

A AWS anunciou recentemente o acompanhamento reforçado para instâncias do Amazon RDS executando MySQL, MariaDB e Aurora. O acompanhamento reforçado inclui mais de 50 novos CPUs, memória, sistema de arquivos e métricas de E/S de disco que podem ser obtidas em uma base por instância com frequência de uma vez por segundo.

AWS e Datadog

A AWS acompanhou de perto o trabalho da Datadog para ajudar os clientes a enviar novos dados de alta resolução para a Datadog para monitoramento. A Datadog é uma plataforma de monitoramento de infraestrutura muito popular entre os clientes da AWS, você pode visualizar as tendências históricas com granularidade completa e também visualizar datas e criar alertas ao vivo a partir de qualquer parte da sua pilha.

Com alguns minutos de trabalho suas métricas avançadas do RDS começarão imediatamente a preencher um dashboard pré-construído e personalizável na Datadog:

datadog_rds_dash_2

Conecte o RDS e a Datadog

O primeiro passo é enviar as métricas do RDS avançadas para o CloudWatch Logs. Você pode ativar as métricas durante a criação da instância, ou em uma instância RDS existente selecionando-o no console do RDS e escolhendo Instance Options → Modify:

datadog_rds_enable_enhanced_monitoring_1

Defina a granularidade entre 1-60 segundos; a cada 15 segundos é muitas vezes uma boa escolha. Uma vez ativado, métricas avançadas serão enviadas para o CloudWatch Logs.

O segundo passo é enviar os dados do CloudWatch Log para a Datadog. Comece pela criação de uma função Lambda para processar os registros e enviar os resultados:

datadog_iam_select_role_type_1

  • A partir da guia Encryption Key no IAM Management Console, crie uma nova chave de criptografia. Digite um Alias para a chave como lambda-datadog-key. Na próxima página, adicione os administradores adequados para a chave. Em seguida, você será solicitado para adicionar usuários à chave. Adicionar pelo menos dois: você mesmo (de modo que você possa criptografar a chave de API do Datadog pela AWS CLI na próxima etapa), e a atribuição criada acima, por exemplo, lambda-datadog-enhanced-rds-collector (para que ela possa desencriptar a chave API e submeter as métricas para a Datadog). Conclua a criação da chave.
  • Criptografe o token usando a AWS Command Line Interface (CLI), fornecendo o Alias ​​da sua chave recém-criada (por exemplo, lambda-datadog-key) assim como suas chaves do Datadog, disponíveis aqui. Use o KMS para criptografar sua chave, dessa forma:
$ aws kms encrypt --key-id alias/ALIAS_KEY_NAME --plaintext '{"api_key":"DATADOG_API_KEY", "app_key":"DATADOG_APP_KEY"}'

Salve a saída deste comando; você vai precisar dela para a próxima etapa.

  • No Lambda Management Console, crie uma nova função Lambda. Filtre os modelos pelo datadog, e selecione o modelo datadog-process-rds-metrics.
  • Escolha RDSOSMetrics na lista suspensa Log Group, digite o Nome do filtro de sua escolha em Filter Name e vá para a página seguinte. Se você ainda não tiver ativado o acompanhamento reforçado, você deve fazê-lo antes para que o RDSOSMetrics seja apresentado como uma opção (consulte as instruções Connect RDS and Datadog acima):

rds_config_lambda_event_sources_1

  • Dê à sua função um nome como send-enhanced-rds-to-datadog. Na área de código de função do Lambda, substitua a string KMS_ENCRYPTED_KEYS com a parte de texto cifrado da saída do comando na CLI acima.

datadog_lambda_code_2

  • Em Lambda function handler and role, escolha a função que criou no passo 2, por exemplo, lambda-datadog-enhanced-rds-collector. Vá para a página seguinte, selecione o botão Enable Now, e criar a sua função.

E é isso

Depois de ativar o RDS no quadro de integração entre a AWS e o Datadog, o Datadog começará imediatamente a exibir suas métricas avançadas do RDS. Suas instâncias RDS serão individualmente identificáveis ​​no Datadog por meio de tags automaticamente criadas na forma dbinstanceidentifier:YOUR_DB_INSTANCE_NAME, bem como quaisquer marcações incluídas através do console RDS.

Você pode clonar o dashboard pré-construído e personalizá-lo como quiser: adicionar métricas RDS que não são exibidas por padrão, ou começar a correlacionar RDS métricas com o desempenho do resto da sua pilha.