Recopila métricas de AWS CloudWatch con el exportador de Prometheus CloudWatch.

En este documento, se describe cómo usar el exportador de Prometheus CloudWatch de código abierto y el Agente de operaciones que se ejecuta en una instancia de Compute Engine para recopilar métricas de AWS CloudWatch y almacenarlas en un proyecto de Google Cloud. Este documento está dirigido al siguiente público:

  • Desarrolladores y administradores de sistemas que necesitan recopilar las métricas de AWS CloudWatch. En este documento, se describe cómo configurar el exportador de Prometheus CloudWatch para recopilar métricas de AWS CloudWatch.
  • Usuarios de métricas de AWS CloudWatch con proyectos de Conector de AWS que están migrando al exportador de Prometheus CloudWatch. En este documento, también se incluye información sobre la migración de la recopilación de métricas heredadas de AWS CloudWatch en proyectos del Conector.

Con Cloud Monitoring, puedes ver tus métricas de AWS en el mismo contexto que tus métricas de Google Cloud. Por ejemplo, puedes crear un panel con gráficos que muestren el uso de CPU de tus instancias de Amazon EC2 y de Compute Engine. También puedes crear políticas de alertas para supervisar tus métricas de AWS. Si deseas obtener más información, consulta las siguientes secciones:

Antes de comenzar

Para recopilar métricas de AWS CloudWatch mediante el exportador de Prometheus CloudWatch, necesitas lo siguiente:

  • Un proyecto de Google Cloud con permisos para realizar las siguientes acciones:
    • Cómo crear una VM
    • Escribe registros en Cloud Logging
    • Escribe métricas en Cloud Monitoring
  • Una cuenta de AWS con credenciales de AWS que pueda usar el exportador de Prometheus para recuperar métricas Para obtener más información, consulta Ejecuta el exportador de Prometheus.

Crea una VM de Compute Engine

Recomendamos crear una VM de Compute Engine para Linux a fin de usarla específicamente para ejecutar el Agente de operaciones y el exportador de Prometheus CloudWatch. Esta VM actúa como el sitio de recopilación para todas las métricas de AWS.

  1. Para crear una VM de Debian Linux llamada aws-exporter-test en una zona que especifiques, ejecuta el siguiente comando:

    gcloud compute instances create \
      --image-project debian-cloud \
      --image-family debian-11 \
      --zone ZONE \
      aws-exporter-test
    

    Configura el comando de la siguiente manera:

    • Reemplaza ZONE por la zona de tu VM nueva.
    • Opcional. Reemplaza aws-exporter-test por un nombre diferente para tu VM.

    Para obtener más información sobre este comando, consulta la referencia de gcloud compute instances create.

  2. Si quieres acceder a tu VM para poder instalar el exportador de Prometheus CloudWatch y el Agente de operaciones, puedes usar el siguiente comando:

    gcloud compute ssh --zone ZONE  --project PROJECT_ID  aws-exporter-test
    

    Configura el comando de la siguiente manera:

    • Reemplaza ZONE por la zona en la que creaste la VM.
    • Reemplaza PROJECT_ID por el ID de tu proyecto de Google Cloud.
    • Reemplaza aws-exporter-test si creaste tu VM con un nombre diferente.

    Para obtener más información sobre este comando, consulta la referencia de gcloud compute ssh.

Configura el exportador de Prometheus CloudWatch

En las siguientes secciones, se describe el procedimiento para descargar, instalar y configurar el exportador de Prometheus CloudWatch en tu VM de Compute Engine.

Descarga el exportador de Prometheus y el JRE

Para ejecutar el exportador de Prometheus CloudWatch, debes descargar el exportador y Java Runtime Environment (JRE), versión 11 o posterior.

  1. Para descargar el archivo JAR que contiene el exportador de Prometheus CloudWatch, ejecuta el siguiente comando en tu instancia de Compute Engine:

    curl -sSO https://github.com/prometheus/cloudwatch_exporter/releases/download/v0.15.1/cloudwatch_exporter-0.15.1-jar-with-dependencies.jar
    
  2. Para instalar el JRE, puedes usar un comando como el siguiente:

    sudo apt install default-jre
    

Configura el exportador de Prometheus

Para configurar el exportador de Prometheus CloudWatch, debes crear un archivo de configuración para el servicio o los servicios de AWS de los que deseas recopilar métricas. Para obtener información general, consulta la documentación de configuración del exportador de Prometheus CloudWatch.

  • Migra usuarios: Si migras tus métricas existentes de AWS CloudWatch al exportador de Prometheus CloudWatch, puedes usar los archivos de configuración en Configuraciones del exportador de Prometheus CloudWatch para la migración. Estos archivos de configuración están diseñados para replicar las métricas existentes lo más posible, pero no recopilan todas las métricas disponibles mediante el exportador de Prometheus CloudWatch para los servicios de AWS.

  • Usuarios nuevos: Si no migras las métricas existentes, te recomendamos que no uses la configuración de migración. Consulta la documentación del servicio de AWS CloudWatch para obtener información sobre cómo definir los parámetros de configuración del exportador para otros servicios. También puedes encontrar muestras adicionales en el repositorio de GitHub del exportador de Prometheus CloudWatch.

Puedes combinar la configuración de varios servicios de AWS en un archivo de configuración. En los ejemplos de este documento, se supone que tu archivo de configuración se llama config.yml.

Ejecuta el exportador de Prometheus

Antes de ejecutar el exportador de Prometheus CloudWatch, debes proporcionarle credenciales y autorización. El exportador de Prometheus CloudWatch usa el SDK de Java de AWS, que ofrece formas de proporcionar credenciales mediante las siguientes variables de entorno:

Para obtener más información sobre cómo proporcionar credenciales al SDK, consulta SDK de AWS para Java 2.x.

También debes tener permiso para usar la API de CloudWatch y recuperar métricas. Necesitas los siguientes permisos de CloudWatch de AWS IAM:

  • cloudwatch:ListMetrics
  • cloudwatch:GetMetricStatistics
  • cloudwatch:GetMetricData

El uso de la función aws_tag_select también requiere el permiso tag:GetResources de IAM de AWS.

Para obtener más información sobre la autorización de acceso a los servicios de AWS, consulta Identity and Access Management de AWS.

Para ejecutar el exportador de Prometheus CloudWatch, haz lo siguiente:

  1. A fin de proporcionar credenciales para el exportador, configura las variables de entorno de la clave de acceso:

    export AWS_ACCESS_KEY=YOUR_ACCESS_KEY
    export AWS_SECRET_ACCESS_KEY=YOUR_SECRET_ACCESS_KEY
    export AWS_SESSION_TOKEN=YOUR_SESSION_TOKEN
    

    Reemplaza las variables YOUR_KEY con tus claves de acceso. Debes establecer la variable de entorno AWS_SESSION_TOKEN solo si usas credenciales temporales.

  2. Para probar tu configuración, inicia el exportador y carga tu archivo de configuración, ejecuta el siguiente comando:

    java -jar cloudwatch_exporter-0.15.1-jar-with-dependencies.jar 9106 config.yml
    

    Cambia los valores del puerto (9106) y del archivo de configuración (config.yml) si es necesario.

    Si modificas el archivo config.yml mientras se ejecuta el exportador, puedes volver a cargar el exportador mediante la ejecución del siguiente comando:

    curl -X POST localhost:9106/-/reload
    

    Para usarlo en un entorno de producción, puedes configurar el exportador a fin de que se reinicie si la VM se reinicia. Por ejemplo, en los sistemas Debian, puedes usar el administrador de sistemas y servicios, systemd.

Configura el Agente de operaciones

En las siguientes secciones, se describe cómo instalar y configurar el Agente de operaciones. En estas secciones, se proporciona información mínima de configuración para el Agente de operaciones a fin de usarlo con el exportador de Prometheus CloudWatch. Para obtener más información sobre estos temas, consulta la Descripción general del Agente de operaciones.

Instalar el Agente de operaciones.

Si deseas instalar el agente de operaciones, usa los siguientes comandos para descargar y ejecutar la secuencia de comandos de instalación del agente:

curl -sSO https://dl.google.com/cloudagents/add-google-cloud-ops-agent-repo.sh
sudo bash add-google-cloud-ops-agent-repo.sh --also-install

Configurar el agente de operaciones

Para configurar el Agente de operaciones, agrega elementos de configuración al archivo de configuración de usuario del agente. En Linux, el archivo de configuración del usuario es /etc/google-cloud-ops-agent/config.yaml.

Cuando configuras el Agente de operaciones para recopilar métricas de AWS del exportador de Prometheus CloudWatch, usas el receptor de Prometheus del agente. En este documento, se describen dos opciones de configuración básicas para el Agente de operaciones. Selecciona una de las configuraciones y agrégala al archivo de configuración del usuario:

sudo vim /etc/google-cloud-ops-agent/config.yaml

Configuración básica para el Agente de operaciones

La siguiente configuración proporciona una configuración mínima para el Agente de operaciones. Esta configuración hace lo siguiente:

  • Crea un receptor llamado aws de tipo prometheus. El receptor está configurado para extraer métricas del trabajo aws_exporter. El puerto especificado debe coincidir con el puerto en el que el exportador de Prometheus CloudWatch exporta las métricas. Consulta Ejecuta el exportador de Prometheus.

  • Crea una canalización llamada aws_pipeline que usa el receptor de métricas aws.

metrics:
  receivers:
    aws:
      type: prometheus
      config:
        scrape_configs:
          - job_name: 'aws_exporter'
            scrape_interval: 10s
            static_configs:
              - targets: ['localhost:9106']
  service:
    pipelines:
      aws_pipeline:
        receivers:
          - aws

Configuración que descarta métricas de JVM

La siguiente configuración hace todo lo que hace la configuración básica, pero también agrega una configuración de reetiquetado que descarta las métricas de JVM que genera el exportador. Quitar estas métricas reduce los datos de métricas transferidos, pero puede hacer que los problemas con el exportador sean más difíciles de depurar, ya que no obtienes las propias métricas del exportador:

metrics:
  receivers:
    aws:
      type: prometheus
      config:
        scrape_configs:
          - job_name: 'aws_exporter'
            scrape_interval: 10s
            static_configs:
              - targets: ['localhost:9106']
            # Drop the exporter's own JVM metrics to reduce noise.
            metric_relabel_configs:
              - source_labels: [ __name__ ]
                regex: 'jvm_.*'
                action: drop
  service:
    pipelines:
      aws_pipeline:
        receivers:
          - aws

Puedes crear configuraciones mucho más complejas para el Agente de operaciones.

Reinicia el Agente de operaciones

Para aplicar cambios de configuración en el Agente de operaciones, debes reiniciar el agente.

  1. Para reiniciar el agente, ejecuta el siguiente comando en tu instancia:
    sudo service google-cloud-ops-agent restart
    
  2. Para confirmar que el agente se reinició, ejecuta el siguiente comando y verifica que los componentes “Agente de métricas” y “Agente de Logging” se iniciaron:
    sudo systemctl status google-cloud-ops-agent"*"
    

Visualiza métricas en Cloud Monitoring

En Cloud Monitoring, puedes consultar tus métricas de AWS CloudWatch y crear gráficos como lo haces con cualquier otra métrica. Desde la interfaz del Explorador de métricas, puedes usar PromQL, el lenguaje de consulta de Monitoring (MQL) o una interfaz de compilador de consultas. Para obtener más información, consulta Crea gráficos con el Explorador de métricas.

Si creaste gráficos que deseas conservar, puedes guardarlos en paneles personalizados. Para obtener más información, consulta Descripción general de los paneles.

En el siguiente gráfico, se muestra una consulta de PromQL para la métrica aws_ec2_cpuutilization_sum en las VM de AWS:

En el gráfico, se muestra el resultado de recuperar la estadística aws_ec2_cpuutilization_sum para las VMs de AWS mediante PromQL.

Puedes consultar cualquier métrica en Cloud Monitoring a través de PromQL. Para obtener más información, consulta Asigna métricas de Cloud Monitoring a PromQL.

Puedes consultar métricas de Prometheus con PromQL o con herramientas de Cloud Monitoring, como el lenguaje de consulta de Monitoring (MQL). Cuando las métricas de Prometheus se transfieren a Cloud Monitoring, cada métrica se transforma mediante la transformación estándar de OpenTelemetry a Prometheus y se asigna al tipo de recurso supervisado prometheus_target de Cloud Monitoring. La transformación incluye los siguientes cambios:

  • El nombre de la métrica tiene la cadena prometheus.googleapis.com/ como prefijo.
  • Cualquier carácter que no sea alfanumérico, como los puntos (.), en el nombre de la métrica se reemplaza por guiones bajos (_).
  • El nombre de la métrica tiene un postfijo con una string que indica el tipo de métrica, como /gauge o /counter.

Para consultar la métrica aws_ec2_cpuutilization_sum de Prometheus con MQL, consulta la métrica como prometheus.googleapis.com/aws_ec2_cpuutilization_sum/gauge y especifica el tipo de recurso supervisado prometheus_target:

fetch prometheus_target :: 'prometheus.googleapis.com/aws_ec2_cpuutilization_sum/gauge'

En el siguiente gráfico, se muestra el resultado de la consulta de MQL para la métrica aws_ec2_cpuutilization_sum de Prometheus:

En el gráfico, se muestra el resultado de recuperar la estadística aws_ec2_cpuutilization_sum para las VMs de AWS con MQL.

Alerta sobre el comportamiento de las métricas

En Cloud Monitoring, puedes crear [políticas de alertas][alert-intro] para supervisar tus métricas de AWS CloudWatch y notificarte sobre aumentos, caídas o tendencias en los valores de las métricas.

Supervisa varias regiones

La configuración del exportador de Prometheus CloudWatch admite el uso de una sola región por archivo de configuración. Si necesitas supervisar varias regiones, te recomendamos que ejecutes varias instancias del exportador de Prometheus, una configurada para cada región que desees supervisar. Puedes ejecutar varios exportadores en una sola VM o puedes distribuirlos en varias VM. Las imágenes de Docker del exportador de Prometheus podrían ser útiles en esta situación.

Puedes configurar el agente de operaciones que se ejecuta en la VM de Compute Engine para recopilar varios extremos de Prometheus. Recomendamos que, cuando configures varias instancias del exportador de Prometheus, uses un nombre de job diferente para la configuración de recopilación de cada una, de modo que puedas distinguir las instancias del exportador si necesitas solucionar problemas.

Para obtener información sobre cómo configurar el Agente de operaciones y el receptor de Prometheus, consulta Configura el Agente de operaciones.

Costo

Amazon cobra por cada solicitud a la API de CloudWatch o por cada métrica de CloudWatch que solicites. Para ver los precios actuales, consulta Precios de Amazon CloudWatch. El exportador de Prometheus CloudWatch tiene las siguientes características de consulta, que pueden afectar tus costos de Amazon:

  • Cuando se usa el método GetMetricStatistics (predeterminado), cada métrica requiere una solicitud a la API. Cada solicitud puede incluir varias estadísticas.
  • Cuando se usa aws_dimensions, el exportador debe realizar solicitudes a la API para determinar qué métricas solicitar. La cantidad de solicitudes de dimensiones suele ser insignificante en comparación con la cantidad de solicitudes de métricas.

Cloud Monitoring cobra por las métricas de AWS CloudWatch del exportador de Prometheus según la cantidad de muestras transferidas. Para conocer los precios actuales, consulta el Resumen de precios de Monitoring.

Guía de migración

En esta sección, se proporciona información adicional para los clientes que migran de las métricas heredadas de AWS CloudWatch con proyectos del Conector de AWS a la solución de exportador de Prometheus CloudWatch.

Si no migras al exportador de Prometheus CloudWatch desde la solución heredada, puedes omitir esta sección.

Asigna métricas heredadas de AWS CloudWatch a métricas del exportador de Prometheus CloudWatch

En esta sección, se describe cómo las métricas heredadas de AWS CloudWatch se asignan a las métricas que recopila el exportador de Prometheus CloudWatch con la métrica CPUUtilization de AWS CloudWatch como ejemplo.

La métrica CPUUtilization mide el porcentaje de tiempo de CPU físico que Amazon EC2 usa para ejecutar la instancia, incluido el tiempo de ejecución del código de usuario y de Amazon EC2. En términos generales, el valor de la métrica es la suma del uso de CPU del invitado y el uso de CPU del hipervisor.

La solución heredada informa estos datos a Cloud Monitoring con las siguientes métricas:

Las métricas de valores como “promedio” y “máximo” representan las estadísticas de CloudWatch que son significativas para la métrica; cada una informa una agregación diferente de la métrica CPUUtilization de AWS. Estas métricas se escriben en el tipo de recurso supervisado aws_ec2_instance, y el valor de la etiqueta de recurso instance_id es el identificador de la instancia de Amazon EC2 que escribe la métrica.

Cuando usas el exportador de Prometheus CloudWatch y el Agente de operaciones, las métricas se informan de la siguiente manera:

  • aws_ec2_cpuutilization_average
  • aws_ec2_cpuutilization_maximum
  • aws_ec2_cpuutilization_minimum
  • aws_ec2_cpuutilization_samplecount
  • aws_ec2_cpuutilization_sum

Estas métricas corresponden a las métricas aws.googleapis.com/EC2/CPUUtilization/Statistic que recopila la solución heredada. Estas métricas se escriben en el tipo de recurso supervisado prometheus-target.

Los valores de las etiquetas en el recurso prometheus-target reflejan la VM de Compute Engine en la que se ejecuta el exportador de Prometheus CloudWatch, no los de la instancia de Amazon EC2. El exportador de Prometheus configura los valores de las etiquetas en la métrica. Las métricas aws_ec2_cpuutilization_statistic conservan el ID de instancia de la instancia de Amazon EC2 en la etiqueta de métrica instance_id. En la siguiente captura de pantalla, se muestra una consulta de PromQL que grafica la métrica aws_ec2_cpuutilization_sum; la tabla muestra los valores de las etiquetas seleccionadas:

La tabla muestra el valor de la etiqueta "intance_id" para una métrica EC2.

Si usas uno de los parámetros de configuración del exportador de Prometheus CloudWatch para migración proporcionados, pero deseas recopilar dimensiones o estadísticas adicionales para las métricas, puedes modificar la configuración. Para obtener más información, consulta la documentación de configuración del exportador de Prometheus CloudWatch.

Vuelve a compilar tus paneles y políticas de alertas

Los paneles existentes y las políticas de alertas que usan las métricas de AWS CloudWatch heredadas no funcionarán para las métricas transferidas a través del exportador de Prometheus CloudWatch. Este es un cambio rotundo.

Para obtener la misma observabilidad en tus sistemas de AWS, debes volver a compilar tus paneles y políticas de alertas para usar las métricas recopiladas por el exportador de Prometheus.

Pérdida de metadatos

Además de recopilar métricas de AWS CloudWatch, la solución heredada también recopiló metadatos del agente de Monitoring heredado y del agente de Logging heredado que se ejecuta en las instancias de Amazon Elastic Compute Cloud (Amazon EC2). Esos metadatos de recursos se unieron a las métricas de Cloud Monitoring y aparecieron como etiquetas de metadatos del sistema o del usuario, como el nombre de la instancia, la zona de disponibilidad, el tipo de máquina y otras.

Es posible que el exportador de Prometheus CloudWatch no recopile los mismos metadatos. Si usas cualquiera de los agentes heredados en las instancias de VM de Amazon EC2, en las siguientes secciones, se describe cómo puedes usar el exportador de Prometheus para recopilar los metadatos faltantes y unirlos con las métricas que recopila el exportador de Prometheus:

Después del 21 de agosto de 2024, cuando finalice la baja de la solución heredada de AWS CloudWatch, estas etiquetas de metadatos ya no estarán disponibles. La métrica y las etiquetas de recursos aws_ec2_instance no se ven afectadas.

Para usuarios del agente de Monitoring heredado en instancias de Amazon EC2

Si usas los metadatos de AWS en tus gráficos y consultas, y deseas mantenerlos, puedes recopilarlos con el exportador de Prometheus CloudWatch. Crea una VM de Compute Engine y configura el exportador de CloudWatch de Prometheus y el agente de operaciones como se describe en este documento. Usa el archivo de configuración ec2.yml cuando configures el exportador de Prometheus CloudWatch.

El archivo de configuración ec2.yml usa la función aws_tag_select. Cuando se usa la función aws_tag_select en la configuración, el exportador de Prometheus CloudWatch exporta una métrica llamada aws_resource_info. La métrica aws_resource_info informa una serie temporal con metadatos del recurso de AWS en las etiquetas de la métrica. Estos metadatos incluyen todas las etiquetas de instancia de Amazon EC2, incluido el nombre de la instancia, en la etiqueta tag_Name.

Si deseas recopilar metadatos adicionales, puedes agregarlos mediante el uso de etiquetas de instancia en la instancia de Amazon EC2; consulta Agrega o quita etiquetas de instancias de EC2. La métrica aws_resource_info que informa el exportador de Prometheus incluye los metadatos adicionales.

Luego, puedes unir las etiquetas de metadatos de la métrica aws_resource_info con las métricas propias del agente de Monitoring heredado o de cualquier métrica de Amazon EC2 mediante MQL para PromQL.

Unión de MQL

Por ejemplo, la siguiente consulta de MQL une la métrica de sí mismo del agente agent.googleapis.com/agent/uptime, escrita en el tipo de recurso aws_ec2_instance, con la métrica aws_resource_info del exportador de Prometheus CloudWatch, escrita en el tipo de recurso prometheus-target:

{
    aws_ec2_instance :: 'agent.googleapis.com/agent/uptime'
    | align next_older()
    | group_by [instance_id: resource.instance_id, resource.project_id, resource.region, resource.aws_account, metric.version]
    ;
    prometheus_target :: 'prometheus.googleapis.com/aws_resource_info/gauge'
    | align next_older()
    | group_by [instance_id: metric.instance_id, resource.project_id, aws_account: re_extract(metric.arn, "arn:aws:ec2:[^:]+:([^:]+):instance/.*"), region: concatenate("aws:", re_extract(metric.arn, "arn:aws:ec2:([^:]+):[^:]+:instance/.*")), name: metric.tag_Name]
}
| join
| val(0)

Las dos métricas se unen en la etiqueta instance_id, por lo que el nombre de la VM (el valor de la etiqueta metric.tag_Name en la métrica aws_resource_info) se puede agregar al resultado de la unión. La métrica propia uptime del agente incluye la etiqueta de recurso region. La unión con la etiqueta region funciona porque AWS no especifica si los ID de la instancia deben ser únicos a nivel regional o global.

Para obtener más información sobre MQL, consulta la descripción general del lenguaje de consulta de Monitoring.

Unión de PromQL

En el siguiente ejemplo, se muestra una consulta de PromQL que une la métrica aws_ec2_cpuutilization_average del exportador de Prometheus CloudWatch. En el siguiente ejemplo, se muestra una consulta de PromQL que une la métrica aws_ec2_cpuutilization_average del exportador de CloudWatch para Prometheus con la métrica de metadatos aws_resource_info. Las métricas se unen en la etiqueta instance_id para agregar el nombre de la VM, de la etiqueta tag_Name de la métrica de metadatos al resultado de la consulta.

  aws_ec2_cpuutilization_average
* on(instance_id) group_left(tag_Name)
  aws_resource_info

Para usuarios del agente de Logging heredado en instancias de Amazon EC2

El agente de Logging heredado, google-fluentd, informa sus metadatos directamente a Cloud Logging, por lo que la baja de la solución de métricas de AWS CloudWatch con el agente de Monitoring heredado no tiene efecto en los registros que recopila el agente de Logging.

Sin embargo, el agente de Logging heredado sí informa algunas métricas sobre sí mismo. Si deseas agregar metadatos a esas métricas autométricas, puedes crear una VM de Compute Engine y configurar el exportador de Prometheus CloudWatch y el agente de operaciones como se describe en este documento. Usa el archivo de configuración ec2.yml cuando configures el exportador de Prometheus CloudWatch.

Es posible que también debas modificar la configuración de tu agente de Logging heredado. El complemento de salida para el agente de Logging heredado admite la opción use_aws_availability_zone para AWS. Esta opción se debe configurar como false para que el agente escriba la etiqueta region en lugar de la etiqueta availability_zone. Para obtener información sobre la ubicación del archivo de configuración del complemento, consulta Configuración del complemento de salida fluentd de Google Cloud.

El archivo de configuración ec2.yml usa la función aws_tag_select. Cuando se usa la función aws_tag_select en la configuración, el exportador de Prometheus CloudWatch exporta una métrica llamada aws_resource_info. La métrica aws_resource_info informa una serie temporal con metadatos del recurso de AWS en las etiquetas de la métrica. Estos metadatos incluyen todas las etiquetas de instancia de Amazon EC2, incluido el nombre de la instancia, en la etiqueta tag_Name.

Si deseas recopilar metadatos adicionales, puedes agregarlos mediante el uso de etiquetas de instancia en la instancia de Amazon EC2; consulta Agrega o quita etiquetas de instancias de EC2. La métrica aws_resource_info que informa el exportador de Prometheus incluye los metadatos adicionales.

Luego, puedes unir las etiquetas de metadatos de la métrica aws_resource_info con las métricas propias del agente de Logging heredado mediante MQL. Por ejemplo, la siguiente consulta de MQL une la métrica de sí mismo del agente agent.googleapis.com/agent/uptime, escrita en el tipo de recurso aws_ec2_instance, con la métrica aws_resource_info del exportador de Prometheus CloudWatch, escrita en el tipo de recurso prometheus-target:

{
    aws_ec2_instance :: 'agent.googleapis.com/agent/uptime'
    | align next_older()
    | group_by [instance_id: resource.instance_id, resource.project_id, resource.region, resource.aws_account, metric.version]
    ;
    prometheus_target :: 'prometheus.googleapis.com/aws_resource_info/gauge'
    | align next_older()
    | group_by [instance_id: metric.instance_id, resource.project_id, aws_account: re_extract(metric.arn, "arn:aws:ec2:[^:]+:([^:]+):instance/.*"), region: concatenate("aws:", re_extract(metric.arn, "arn:aws:ec2:([^:]+):[^:]+:instance/.*")), name: metric.tag_Name]
}
| join
| val(0)

Las dos métricas se unen en la etiqueta instance_id, por lo que el nombre de la VM (el valor de la etiqueta metric.tag_Name en la métrica aws_resource_info) se puede agregar al resultado de la unión. La métrica propia uptime del agente incluye la etiqueta de recurso region. La unión con la etiqueta region funciona porque AWS no especifica si los ID de la instancia deben ser únicos a nivel regional o global.

Para obtener más información sobre MQL, consulta la descripción general del lenguaje de consulta de Monitoring.

Desactiva las métricas heredadas en tu cuenta de AWS

Cuando creaste el proyecto del Conector de AWS en tu proyecto de Google Cloud, creaste una función de IAM de AWS que otorgó a Google Cloud acceso de solo lectura a tu cuenta de AWS. Para desactivar las métricas heredadas de CloudWatch de AWS en tu consola de AWS, quita esta función. Para obtener más información, consulta Borra un rol de IAM (consola).

Parámetros de configuración del exportador de Prometheus CloudWatch para la migración

En esta sección, se proporcionan configuraciones que replican, con la mayor precisión posible, las métricas del servicio de AWS documentadas en la lista de métricas de AWS. Estos archivos de configuración están diseñados para que los usen los clientes que migran al exportador de Prometheus CloudWatch desde la solución heredada. Si configuras el exportador de Prometheus CloudWatch como un usuario nuevo en lugar de un usuario que migra y usas estas configuraciones, no recopilarás todas las métricas de AWS que el exportador de Prometheus CloudWatch pone a disposición.

Si deseas ver un archivo de configuración de muestra para las métricas de AWS CloudWatch, expande una de las siguientes secciones.