Integración de CloudWatch métricas con Amazon Managed Service para Prometheus - Servicio administrado por Amazon para Prometheus

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.

Integración de CloudWatch métricas con Amazon Managed Service para Prometheus

Tener todas tus métricas en un solo lugar puede ayudarte. Amazon Managed Service for Prometheus no ingiere automáticamente las métricas de Amazon. CloudWatch Sin embargo, puedes usar Amazon Data Firehose AWS Lambda para enviar CloudWatch métricas a Amazon Managed Service for Prometheus.

En esta sección se describe cómo instrumentar un flujo de CloudWatch métricas de Amazon y cómo utilizar Amazon Data Firehose, así como AWS Lambdacómo incorporar métricas en Amazon Managed Service for Prometheus.

Configurará una pila con el AWS Cloud Development Kit (CDK) para crear un Firehose Delivery Stream, una Lambda y un bucket de Amazon S3 para mostrar un escenario completo.

Infraestructura

Lo primero que debe hacer es configurar la infraestructura para esta receta.

CloudWatch los flujos métricos permiten reenviar los datos de métricas de streaming a un punto final HTTP o a un bucket de Amazon S3.

La configuración de la infraestructura constará de 4 pasos:

  • Configuración de requisitos previos

  • Creación de un espacio de trabajo de Amazon Managed Service para Prometheus

  • Instalación de dependencias

  • Implementación de la pila

Requisitos previos 

Para crear un espacio de trabajo de Amazon Managed Service para Prometheus
  1. La aplicación de demostración de esta receta se ejecutará sobre Amazon Managed Service para Prometheus. Cree el espacio de trabajo de Amazon Managed Service para Prometheus con el comando siguiente:

    aws amp create-workspace --alias prometheus-demo-recipe
  2. Asegúrese de que el espacio de trabajo se haya creado con el siguiente comando:

    aws amp list-workspaces

    Para obtener más información sobre Amazon Managed Service para Prometheus, consulte la Guía de usuario de Amazon Managed Service para Prometheus.

Para instalar las dependencias
  1. Instale las dependencias

    Desde la raíz del repositorio aws-o11y-recipes, cambia el directorio a CWMetricStreamExporter mediante el siguiente comando:

    cd sandbox/CWMetricStreamExporter

    De ahora en adelante, se considerará la raíz del repositorio.

  2. Cambie el directorio a /cdk mediante el siguiente comando:

    cd cdk
  3. Instale las dependencias de CDK mediante el siguiente comando:

    npm install
  4. Vuelva a cambiar el directorio a la raíz del repositorio y, a continuación, cambie el directorio a /lambda mediante el siguiente comando:

    cd lambda
  5. Una vez en la carpeta /lambda, instale las dependencias de Go mediante:

    go get

    Ahora ya están instaladas todas las dependencias.

Para implementar la pila
  1. En la raíz del repositorio, abra config.yaml y modifique la URL del espacio de trabajo de Amazon Managed Service para Prometheus reemplazando {workspace} por el ID del espacio de trabajo recién creado y la región en la que se encuentra el espacio de trabajo de Amazon Managed Service para Prometheus.

    Por ejemplo, modifique lo siguiente con:

    AMP: remote_write_url: "https://aps-workspaces.us-east-2.amazonaws.com/workspaces/{workspaceId}/api/v1/remote_write" region: us-east-2

    Cambia los nombres de la transmisión de entrega de Firehose y del depósito de Amazon S3 a tu gusto.

  2. Para compilar el código Lambda AWS CDK y el código Lambda, ejecute el siguiente comando en la raíz del repositorio:

    npm run build

    Este paso de compilación garantiza la creación del binario Go Lambda y, en él, despliega la CDK. CloudFormation

  3. Para completar la implementación, revise y acepte los cambios de IAM que requiera la pila.

  4. (Opcional) Puede comprobar si la pila se ha creado ejecutando el comando siguiente:

    aws cloudformation list-stacks

    En la lista aparecerá una pila llamada CDK Stack.

Crear una CloudWatch transmisión de Amazon

Ahora que tienes una función lambda para gestionar las métricas, puedes crear el flujo de métricas desde Amazon CloudWatch.

Para crear un flujo de CloudWatch métricas
  1. Ve a la CloudWatch consola, en https://console.aws.amazon.com/cloudwatch/home#metric-streams:streamsList, y selecciona Crear flujo de métricas.

  2. Seleccione las métricas necesarias, ya sea todas o solo las de los espacios de nombres seleccionados.

  3. En Configuration, elija Seleccionar una Firehose existente propiedad de la cuenta.

  4. Utilizará la Firehose creada anteriormente por el CDK. En el menú desplegable Seleccionar la secuencia de Kinesis Data Firehose, seleccione la secuencia creada anteriormente. Tendrá un nombre como CdkStack-KinesisFirehoseStream123456AB-sample1234.

  5. Cambie el formato de salida a JSON.

  6. Asigne a la secuencia de métricas un nombre que tenga sentido.

  7. Elija Create metric stream (Crear flujo métrico).

  8. (Opcional) Para comprobar la invocación de la función de Lambda, vaya a la consola de Lambda y elija la función KinesisMessageHandler. Seleccione la pestaña Supervisar y la subpestaña Registros y, en Invocaciones recientes, debería haber entradas de la función de Lambda que se está activando.

    nota

    Es posible que pasen hasta 5 minutos antes de que las invocaciones comiencen a mostrarse en la pestaña Supervisar.

Tus estadísticas se están transmitiendo ahora de Amazon CloudWatch a Amazon Managed Service for Prometheus.

Limpieza

Puede que desee limpiar los recursos que se han utilizado en este ejemplo. El siguiente procedimiento explica cómo hacerlo. Esto detendrá la secuencia de métricas que ha creado.

Para limpiar los recursos
  1. Comience por eliminar la CloudFormation pila con los siguientes comandos:

    cd cdk cdk destroy
  2. Elimine el espacio de trabajo de Amazon Managed Service para Prometheus:

    aws amp delete-workspace --workspace-id \ `aws amp list-workspaces --alias prometheus-sample-app --query 'workspaces[0].workspaceId' --output text`
  3. Por último, elimina el flujo de CloudWatch métricas de Amazon con la CloudWatch consola de Amazon.