Publica CloudWatch las métricas de Amazon en un archivo CSV - Recomendaciones de AWS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Publica CloudWatch las métricas de Amazon en un archivo CSV

Creado por Abdullahi Olaoye (AWS)

Entorno: PoC o piloto

Tecnologías: DevOps

Servicios de AWS: Amazon CloudWatch

Resumen

Este patrón utiliza un script de Python para recuperar CloudWatch las métricas de Amazon y convertir la información de las métricas en un archivo de valores separados por comas (CSV) para mejorar la legibilidad. El script toma como argumento obligatorio el servicio de AWS cuyas métricas deben recuperarse. Puede especificar la región de AWS y el perfil de credenciales de AWS como argumentos opcionales. Si no especifica esos argumentos, el script utilizará la región y el perfil predeterminados configurados para la estación de trabajo en la que se ejecuta el script. Una vez ejecutado, el script genera y almacena un archivo CSV en el mismo directorio.

Consulte la sección Adjuntos para ver el script y los archivos asociados que se proporcionan con este patrón.

Requisitos previos y limitaciones

Requisitos previos 

  • Python 3.x

  • Interfaz de la línea de comandos de AWS (AWS CLI)

Limitaciones

El script en estos momentos admite los siguientes servicios de AWS:

  • AWS Lambda

  • Amazon Elastic Compute Cloud (Amazon EC2)

    • De forma predeterminada, el script no recopila métricas de volúmenes de Amazon Elastic Block Store (Amazon EBS). Para recopilar las métricas de Amazon EBS, debe modificar el archivo adjunto metrics.yaml.

  • Amazon Relational Database Service (Amazon RDS)

    • Sin embargo, el script no es compatible con Amazon Aurora.

  • Equilibrador de carga de aplicación

  • Equilibrador de carga de red

  • Amazon API Gateway

Herramientas

  • Amazon CloudWatch es un servicio de monitoreo creado para DevOps ingenieros, desarrolladores, ingenieros de confiabilidad de sitios (SRE) y administradores de TI. CloudWatch proporciona datos e información procesable para ayudarlo a monitorear sus aplicaciones, responder a los cambios de rendimiento en todo el sistema, optimizar la utilización de los recursos y obtener una visión unificada del estado operativo. CloudWatch recopila datos operativos y de supervisión en forma de registros, métricas y eventos, y proporciona una vista unificada de los recursos, las aplicaciones y los servicios de AWS que se ejecutan en AWS y en servidores locales.

Epics

TareaDescripciónHabilidades requeridas

Instalar los requisitos previos.

Ejecute el siguiente comando:

$ pip3 install -r requirements.txt
Desarrollador

Configure la CLI de AWS.

Ejecute el siguiente comando: 

$ aws configure
Desarrollador
TareaDescripciónHabilidades requeridas

Abra el script.

Para cambiar la configuración predeterminada del script, abra metrics.yaml.

Desarrollador

Defina el período del script.

Este es el período de tiempo para realizar la búsqueda. El período predeterminado es de 5 minutos (300 segundos). Puede cambiar el período de tiempo, pero tenga en cuenta las siguientes limitaciones: 

  • Si el valor de horas que especificó es de entre 3 horas y 15 días atrás, utilice un múltiplo de 60 segundos (1 minuto) para el período. 

  • Si el valor de horas que especificó es de entre 15 horas y 63 días atrás, utilice un múltiplo de 300 segundos (5 minutos) para el período. 

  • Si el valor de horas que especificó es mayor que 63 días atrás, utilice un múltiplo de 3.600 segundos (1 hora) para el período.

De lo contrario, la operación de la API no devolverá ningún punto de datos.

Desarrollador

Defina las horas del script.

Este valor especifica cuántas horas de métricas desea obtener. El valor predeterminado es una hora. Para recuperar métricas de varios días, proporcione el valor en horas. Por ejemplo, para 2 días, especifique 48.

Desarrollador

Cambie los valores de las estadísticas del script.

(Opcional) El valor de las estadísticas globales es Average, que se utiliza al buscar métricas que no tienen asignado un valor estadístico específico. El script admite los valores estadísticos Maximum, SampleCount y Sum.

Desarrollador
TareaDescripciónHabilidades requeridas

Ejecute el script.

Utilice el siguiente comando: 

$ python3 cwreport.py <service>

Para ver una lista de los valores del servicio y los region opcionales y parámetros profile , ejecute el siguiente comando:

$ python3 cwreport.py -h

Para más información sobre los parámetros opcionales, consulte la sección Información adicional.

Desarrollador

Recursos relacionados

Información adicional

Uso de scripts

$ python3 cwreport.py -h

Ejemplo de sintaxis

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

Parámetros

  • servicio (obligatorio): el servicio en el que desea ejecutar el script. El script admite actualmente los siguientes servicios: AWS Lambda, Amazon EC2, Amazon RDS, Equilibrador de carga de aplicación, Equilibrador de carga de red y API Gateway.

  • región (opcional): la región de AWS de la que se van a obtener las métricas. La región predeterminada es ap-southeast-1.

  • perfil (opcional): el perfil con nombre de la CLI de AWS que se va a utilizar. Si no se especifica este parámetro, se utiliza el perfil de credenciales configurado por defecto.

Ejemplos

  • Para utilizar la región predeterminada ap-southeast-1 y las credenciales configuradas de forma predeterminada para obtener las métricas de Amazon EC2: $ python3 cwreport.py ec2

  • Para especificar una región y obtener las métricas de API Gateway: $ python3 cwreport.py apigateway --region us-east-1

  • Para especificar un perfil de AWS y obtener las métricas de Amazon EC2: $ python3 cwreport.py ec2 --profile testprofile

  • Para especificar región y perfil para obtener las métricas de Amazon EC2: $ python3 cwreport.py ec2 --region us-east-1 --profile testprofile

Conexiones

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: attachment.zip