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

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

Abdullahi Olaoye, Amazon Web Services

Resumen

Este patrón utiliza un script de Python para recuperar las métricas de Amazon CloudWatch 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 ingenieros de DevOps, desarrolladores, ingenieros de confiabilidad del sitio (SRE) y administradores de TI. CloudWatch ofrece datos e información procesable para ayudarle a supervisar sus aplicaciones, responder a los cambios de rendimiento que afectan a todo el sistema y tomar acciones, optimizar el uso de recursos y lograr una vista unificada del estado de las operaciones. 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 en las instalaciones.

Epics

TareaDescripciónHabilidades requeridas

Instalar los requisitos previos.

Ejecuta el siguiente comando:

$ pip3 install -r requirements.txt
Desarrollador

Configure la CLI de AWS.

Ejecuta 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