Publique CloudWatch métricas da Amazon em um arquivo CSV - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Publique CloudWatch métricas da Amazon em um arquivo CSV

Criado por Abdullahi Olaoye (AWS)

Ambiente: PoC ou piloto

Tecnologias: DevOps

Serviços da AWS: Amazon CloudWatch

Resumo

Esse padrão usa um script Python para recuperar as métricas da CloudWatch Amazon e converter as informações métricas em um arquivo de valores separados por vírgula (CSV) para melhorar a legibilidade. O script usa o serviço da AWS cujas métricas devem ser recuperadas como um argumento obrigatório. Você pode especificar a região da AWS e o perfil de credencial da AWS como argumentos opcionais. Se você não especificar esses argumentos, o script usará a região e o perfil padrão configurados para a estação de trabalho em que o script é executado. Depois que o script é executado, ele gera e armazena um arquivo CSV no mesmo diretório.

Consulte a seção Anexos para ver o script e os arquivos associados fornecidos com esse padrão.

Pré-requisitos e limitações

Pré-requisitos

  • Python 3.x

  • AWS Command Line Interface (AWS CLI)

Limitações

O script atualmente é compatível com os seguintes serviços AWS:

  • AWS Lambda

  • Amazon Elastic Compute Cloud (Amazon EC2)

    • Por padrão, o script não coleta métricas de volume do Amazon Elastic Block Store (Amazon EBS) Para coletar métricas do Amazon EBS, você deve modificar o metrics.yaml arquivo anexado.

  • Amazon Relational Database Service (Amazon RDS)

    • No entanto, o script não é compatível com o Amazon Aurora.

  • Application Load Balancer

  • Network Load Balancer

  • Amazon API Gateway

Ferramentas

  • CloudWatchA Amazon é um serviço de monitoramento criado para DevOps engenheiros, desenvolvedores, engenheiros de confiabilidade do site (SREs) e gerentes de TI. CloudWatch fornece dados e insights acionáveis para ajudá-lo a monitorar seus aplicativos, responder às mudanças de desempenho em todo o sistema, otimizar a utilização de recursos e obter uma visão unificada da integridade operacional. CloudWatch coleta dados operacionais e de monitoramento na forma de registros, métricas e eventos e fornece uma visão unificada dos recursos, aplicativos e serviços da AWS que são executados na AWS e em servidores locais.

Épicos

TarefaDescriçãoHabilidades necessárias

Instalar os pré-requisitos.

Execute o seguinte comando:

$ pip3 install -r requirements.txt
Desenvolvedor

Configure a AWS CLI.

Execute o seguinte comando: 

$ aws configure
Desenvolvedor
TarefaDescriçãoHabilidades necessárias

Abra o script.

Para alterar a configuração padrão do script, abrametrics.yaml.

Desenvolvedor

Defina o período para o script.

Esse é o período de tempo para buscar. O período padrão é 5 minutos (300 segundos). Você pode alterar o período, mas observe as seguintes limitações: 

  • Se o valor de horas especificado estiver entre 3 horas e 15 dias atrás, use um múltiplo de 60 segundos (1 minuto) para o período. 

  • Se o valor de horas especificado estiver entre 15 horas e 63 dias atrás, use um múltiplo de 300 segundos (5 minutos) para o período. 

  • Se o valor de horas especificado for maior que 63 dias atrás, use um múltiplo de 3.600 segundos (1 hora) para o período.

Caso contrário, a operação da API não retornará nenhum ponto de dados.

Desenvolvedor

Defina as horas para o script.

Esse valor especifica quantas horas de métricas você deseja buscar. O valor padrão é 1 hora. Para recuperar vários dias de métricas, forneça o valor em horas. Por exemplo, por 2 dias, especifique 48.

Desenvolvedor

Altere os valores das estatísticas do script.

(Opcional) O valor das estatísticas globais éAverage, usado ao buscar métricas que não têm um valor estatístico específico atribuído. O script suporta os valores estatísticos MaximumSampleCount, Sum e.

Desenvolvedor
TarefaDescriçãoHabilidades necessárias

Executar o script.

Use o seguinte comando: 

$ python3 cwreport.py <service>

Para ver uma lista de valores de serviço e os parâmetros opcionaisregion e profile , execute o seguinte comando:

$ python3 cwreport.py -h

Para obter mais informações sobre os parâmetros opcionais, consulte a seção Informações adicionais.

Desenvolvedor

Recursos relacionados

Mais informações

Uso do script

$ python3 cwreport.py -h

Exemplo de sintaxe

python3 cwreport.py <service> <--region=Optional Region> <--profile=Optional credential profile>

Parâmetros

  • service (obrigatório) ‒ O serviço no qual você deseja executar o script. O script atualmente oferece suporte a AWS Lambda, Application Load Balancer, Amazon EC2, Amazon RDS, Network Load Balancers e API Gateway.

  • region (opcional) ‒ A região da AWS da qual buscar métricas. A região padrão é ap-southeast-1.

  • profile (opcional) ‒ O perfil nomeado pela AWS CLI a ser usado. Se esse parâmetro não for especificado, o perfil de credencial configurado padrão será usado.

Exemplos

  • Para usar a região padrão ap-southeast-1 e as credenciais configuradas padrão para obter métricas do Amazon EC2: $ python3 cwreport.py ec2

  • Para especificar uma região e buscar métricas do API Gateway: $ python3 cwreport.py apigateway --region us-east-1

  • Para especificar um perfil da AWS e obter métricas do Amazon EC2: $ python3 cwreport.py ec2 --profile testprofile

  • Para especificar a região e o perfil para obter métricas do Amazon EC2: $ python3 cwreport.py ec2 --region us-east-1 --profile testprofile

Anexos

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: attachment.zip