Recopila métricas de Prometheus

En este documento, se describe la configuración y el uso de un Agente de operaciones. de métricas que puedes usar para recopilar métricas de Prometheus en Compute Engine. En este documento, también se describe ejemplo que puedes usar para probar el receptor.

Los usuarios de Google Kubernetes Engine pudieron recopilar las métricas de Prometheus a través de Google Cloud Managed Service para Prometheus. El receptor Prometheus del Agente de operaciones ofrece a los usuarios de Compute Engine la misma capacidad.

Puedes usar todas las herramientas que proporciona Cloud Monitoring, incluido PromQL, para ver y analizar los datos recopilados por el receptor de Prometheus. Por ejemplo, puedes usar el Explorador de métricas, como se describe en la consola de Google Cloud para Monitoring, para consultar tus datos. También puedes crear paneles de Cloud Monitoring y políticas de alertas para supervisar tus métricas de Prometheus. Recomendamos usar PromQL como lenguaje de consulta para tus métricas de Prometheus.

También puedes ver tus métricas de Prometheus en interfaces externas Cloud Monitoring, como la IU de Prometheus y Grafana.

Elige al receptor adecuado

Antes de decidir usar el receptor de Prometheus, determina si ya hay una integración del Agente de operaciones para la aplicación usan. Para obtener información sobre las integraciones existentes con el Agente de operaciones, consulta Supervisa aplicaciones de terceros. Si ya hay una integración, recomendamos usarla. Para ver más consulta Cómo elegir una integración existente.

Recomendamos usar el receptor de Prometheus del Agente de operaciones en las siguientes situaciones: son verdaderas:

Integraciones existentes

El Agente de operaciones proporciona integraciones para varios aplicaciones de terceros. Estas integraciones te proporcionan lo siguiente:

  • Un conjunto de métricas de workload.googleapis.com seleccionadas para la aplicación
  • Un panel para visualizar las métricas.

Las métricas que se transfieren a través de una integración existente están sujetas a precios basados en bytes para las métricas recopiladas por agentes. La cantidad y los tipos de métricas se conocen de antemano, y puedes usar esa información para estimar los costos.

Por ejemplo, si utilizas el Integración con el servidor web Apache (httpd), el Agente de operaciones recopila cinco métricas escalares; cada dato cuenta como 8 bytes. Si mantienes la frecuencia de muestreo del agente de operaciones predeterminada durante 60 segundos, la cantidad de bytes transferidos por día es 57,600 × la cantidad de hosts:

  • 8 (bytes) * 1,440 (minutos por día) * 5 (métricas) * n (hosts), o
  • 57,600 * n (hosts)

Para obtener más información sobre la estimación de costos, Consulta Ejemplos de precios basados en bytes transferidos.

El receptor de Prometheus

Cuando usas el Agente de operaciones para recopilar métricas de Prometheus, ocurre lo siguiente: aplicar:

  • La cantidad y la cardinalidad de las métricas que emite tu aplicación se bajo tu control. No existe un conjunto seleccionado de métricas. La cantidad de datos que transfieres se determina a través de la configuración de tu aplicación de Prometheus y el receptor de Prometheus del agente de operaciones.

  • Las métricas se transfieren a Cloud Monitoring como prometheus.googleapis.com metrics. Estas métricas se clasifican como un tipo de "personalizada" las métricas se transfieren a Cloud Monitoring y están sujetos a las las cuotas y los límites de las métricas personalizadas.

  • Debes diseñar y crear los paneles de Cloud Monitoring que necesites. según el conjunto de métricas que estés transfiriendo y las necesidades de tu empresa. Para obtener información sobre la creación de paneles, consulta Paneles y gráficos.

  • El precio de la transferencia de métricas se basa en la cantidad de muestras transferidas. Para estimar los costos cuando usas el receptor de Prometheus, debes hacer lo siguiente: determinar la cantidad de muestras que probablemente recolectes durante un ciclo de facturación. La estimación se basa en los siguientes factores:

    • Cantidad de métricas escalares; cada valor es una muestra
    • Cantidad de métricas de distribución; cada histograma cuenta como (2 + la cantidad de buckets en las muestras del histograma)
    • Frecuencia de muestreo de cada métrica
    • Cantidad de hosts desde los que se muestrean las métricas

    Para obtener más información sobre cómo contar muestras y calcular los costos, consulta Ejemplos de precios basados en muestras transferidas.

Requisitos previos

Para recopilar métricas de Prometheus a través del receptor de Prometheus, debes instalar el agente de operaciones versión 2.25.0 o posterior.

El receptor del Agente de operaciones requiere un extremo que emita métricas de Prometheus. Por lo tanto, tu aplicación debe proporcionar ese extremo de forma directa o usar una biblioteca o exportador de Prometheus para exponer un extremo. Muchas bibliotecas y frameworks de lenguaje, como Spring y DropWizard, aplicaciones como StatsD, DogStatsD y Graphite, que emiten las métricas pueden usar bibliotecas cliente o exportadores de Prometheus para emitir Métricas de estilo Prometheus. Por ejemplo, para emitir métricas de Prometheus, haz lo siguiente:

Cuando una aplicación emite las métricas de Prometheus, de forma directa o a través de una biblioteca o exportador, un agente de operaciones configurado con un receptor de Prometheus puede recopilar las métricas.

Configurar el agente de operaciones

El modelo de configuración del Agente de operaciones suele implicar Definir lo siguiente:

  • Receptores, que determinan qué métricas se recopilan.
  • Procesadores, que describen cómo el Agente de operaciones puede modificar las métricas.
  • Canalizaciones, con las que se vinculan receptores y procesadores en un servicio.

La configuración para transferir métricas de Prometheus es un poco diferente: no hay procesadores involucrados.

Configuración de las métricas de Prometheus

La configuración del Agente de operaciones para transferir métricas de Prometheus difiere de la configuración habitual de la siguiente manera:

  • No debes crear un procesador de Agente de operaciones para las métricas de Prometheus. El El receptor de Prometheus admite casi todas las opciones de configuración que especifica la instancia de Prometheus Especificación de scrape_config, incluido el reetiquetado opciones de estado.

    En lugar de usar un procesador de agente de operaciones, cualquier procesamiento de métricas se realiza a través de las secciones relabel_configs y metric_relabel_configs de la configuración de entorno, como se especifica en el receptor de Prometheus. Para obtener más información, consulta Reetiquetado: Modificación de los datos copiados.

  • Debes definir la canalización de Prometheus solo en términos del receptor de Prometheus. No especificas ningún procesador. Tampoco puedes usar recursos que no sean de Prometheus en la canalización para métricas de Prometheus.

La mayor parte de la configuración del receptor es la especificación de scrape-config. opciones de estado. Para omitir esas opciones por brevedad, se muestra la estructura de una configuración de agente de operaciones que usa un receptor de Prometheus. Especificas el valores de RECEIVER_ID y PIPELINE_ID.

metrics:
  receivers:
    RECEIVER_ID:
      type: prometheus
      config:
        scrape_configs:
          [... omitted for brevity ...]

  service:
    pipelines:
      PIPELINE_ID:
        receivers: [RECEIVER_ID]

En la siguiente sección, se describe el receptor de Prometheus con más detalle. Para un ejemplo funcional de un receptor y una canalización, consulta Agrega el receptor y la canalización del Agente de operaciones.

El receptor de Prometheus

Para especificar un receptor para las métricas de Prometheus, debes crear un receptor de métricas de tipo prometheus y especificar un conjunto de opciones de scrape_config. El receptor es compatible con todos los Opciones de scrape_config, a excepción de los siguientes:

  • Las secciones de descubrimiento de servicios, *_sd_config.
  • El parámetro de configuración honor_labels

Por lo tanto, puedes copiar las configuraciones de scraping existentes y usarlas para el el Agente de operaciones con pocas o ninguna modificación.

A continuación, se muestra la estructura completa del receptor de Prometheus:

metrics:
  receivers:
    prom_application:
      type: prometheus
      config:
        scrape_configs:
          - job_name: 'STRING' # must be unique across all Prometheus receivers
              scrape_interval: # duration, like 10m or 15s
              scrape_timeout:  # duration, like 10m or 15s
              metrics_path: # resource path for metrics, default = /metrics
              honor_timestamps: # boolean, default = false
              scheme: # http or https, default = http
              params:
                - STRING: STRING
              basic_auth:
                username: STRING
                password: SECRET
                password_file: STRING
              authorization:
                type: STRING # default = Bearer
                credentials: SECRET
                credentials_file: FILENAME

              oauth2: OAUTH2 # See Prometheus oauth2
              follow_redirects: # boolean, default = true
              enable_http2: # boolean, default = true
              tls_config: TLS_CONFIG # See Prometheus tls_config
              proxy_url: STRING

              static_configs:
                STATIC_CONFIG # See Prometheus static_config
              relabel_configs:
                RELABEL_CONFIG # See Prometheus relabel_config
              metric_relabel_configs:
                METRIC_RELABEL_CONFIGS # See Prometheus metric_relabel_configs

Para ver ejemplos de reetiquetado de configuraciones, consulta Receptor adicional actual.

Ejemplo: Configura el Agente de operaciones para Prometheus

En esta sección, se muestra un ejemplo de cómo configurar el Agente de operaciones para recopilar Métricas de Prometheus de una aplicación. En este ejemplo, se usa la API de Prometheus Exportador de JSON proporcionado por la comunidad (json_exporter), que expone las métricas de Prometheus en el puerto 7979.

Para configurar el ejemplo, se requieren los siguientes recursos, que es posible que debas instalar:

  • git
  • curl
  • make
  • python3
  • Versión 1.19 o posterior del idioma Go

Crea o configura tu aplicación

Para obtener y ejecutar el exportador de JSON, usa el siguiente procedimiento:

  1. Clona el repositorio json_exporter y verifica el exportador mediante ejecutando los siguientes comandos:

    git clone https://github.com/prometheus-community/json_exporter.git
    
    cd json_exporter
    
    git checkout v0.5.0
    
  2. Compila el exportador a través de la ejecución del siguiente comando:

    make build
    
  3. Inicia el servidor HTTP de Python a través de la ejecución del siguiente comando:

    python3 -m http.server 8000 &
    
  4. Inicia el exportador JSON a través de la ejecución del siguiente comando:

    ./json_exporter --config.file examples/config.yml &
    
  5. Consulta el exportador de JSON para verificar que se esté ejecutando y que exponga métricas en el puerto 7979:

    curl "http://localhost:7979/probe?module=default&target=http://localhost:8000/examples/data.json"
    

    Si la consulta se realizó de forma correcta, verás un resultado similar al siguiente:

    # HELP example_global_value Example of a top-level global value scrape in the json
    # TYPE example_global_value untyped
    example_global_value{environment="beta",location="planet-mars"} 1234
    # HELP example_value_active Example of sub-level value scrapes from a json
    # TYPE example_value_active untyped
    example_value_active{environment="beta",id="id-A"} 1
    example_value_active{environment="beta",id="id-C"} 1
    # HELP example_value_boolean Example of sub-level value scrapes from a json
    # TYPE example_value_boolean untyped
    example_value_boolean{environment="beta",id="id-A"} 1
    example_value_boolean{environment="beta",id="id-C"} 0
    # HELP example_value_count Example of sub-level value scrapes from a json
    # TYPE example_value_count untyped
    example_value_count{environment="beta",id="id-A"} 1
    example_value_count{environment="beta",id="id-C"} 3
    

    En este resultado, las cadenas como example_value_active son la métrica los nombres, con las etiquetas y los valores entre llaves. El valor de los datos sigue el conjunto de etiquetas.

Agrega el receptor y la canalización del Agente de operaciones

Si deseas configurar el agente de operaciones para transferir métricas de la aplicación exportador JSON, debes modificar la configuración del agente para agregar un receptor y una canalización de Prometheus. Para el ejemplo del exportador de JSON, usa el siguiente procedimiento:

  1. Editar el archivo de configuración del Agente de operaciones /etc/google-cloud-ops-agent/config.yaml y agrega el siguiente comando de Prometheus del receptor y de la canalización:

    metrics:
      receivers:
        prometheus:
            type: prometheus
            config:
              scrape_configs:
                - job_name: 'json_exporter'
                  scrape_interval: 10s
                  metrics_path: /probe
                  params:
                    module: [default]
                    target: [http://localhost:8000/examples/data.json]
                  static_configs:
                    - targets: ['localhost:7979']
      service:
        pipelines:
          prometheus_pipeline:
            receivers:
              - prometheus
     

    Si ya tienes otras entradas de configuración en este archivo, agrega el el receptor de Prometheus y la canalización a los metrics existentes. service entradas. Para obtener más información, consulta Métricas parámetros de configuración.

    Para ver ejemplos de reetiquetado de las opciones de configuración en el receptor, consulta Configuración adicional del receptor.

Reinicia el Agente de operaciones

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

LINUX

  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"*"
    

Windows

  1. Conéctate a tu instancia a través de RDP o una herramienta similar y accede a Windows.

  2. Haz clic con el botón derecho en el ícono de PowerShell y selecciona Ejecutar como administrador para abrir una terminal de PowerShell con privilegios de administrador.

  3. Para reiniciar el agente, ejecuta el siguiente comando de PowerShell:

    Restart-Service google-cloud-ops-agent -Force
    
  4. 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:

    Get-Service google-cloud-ops-agent*
    

Métricas de Prometheus en Cloud Monitoring

Puedes usar las herramientas que proporciona Cloud Monitoring con los datos que recopila el receptor de Prometheus. Por ejemplo, puedes graficar datos usando Explorador de métricas, como se describe en Consola de Google Cloud para Monitoring. En las siguientes secciones, se describen las herramientas de consultas disponibles en Cloud Monitoring con el Explorador de métricas:

Puedes crear paneles y políticas de alertas de Cloud Monitoring. para tus métricas. Para obtener información de los paneles y los tipos de gráficos que puedes usar, consulta Paneles y gráficos. Para obtener información de las políticas de alertas, consulta Usa políticas de alertas.

También puedes ver tus métricas en otras interfaces, como la de Prometheus IU y Grafana. Para obtener información sobre cómo configurar estas interfaces, consulta el las siguientes secciones de la documentación de Google Cloud Managed Service para Prometheus:

Usa PromQL

PromQL es el lenguaje de consulta recomendado para las métricas transferidas a través del receptor de Prometheus.

La forma más sencilla de verificar que se transfieren los datos de Prometheus es usar la página del Explorador de métricas de Cloud Monitoring en la consola de Google Cloud:

  1. En la consola de Google Cloud, ve a la página  Explorador de métricas:

    Dirígete al Explorador de métricas

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

  2. En la barra de herramientas del panel del compilador de consultas, selecciona el botón cuyo nombre sea MQL o PromQL.

  3. Verifica que PromQL esté seleccionado en el botón de activación Lenguaje. El botón de activación de lenguaje se encuentra en la misma barra de herramientas que te permite dar formato a tu consulta.

  4. Ingresa la siguiente consulta en el editor y, luego, haz clic en Ejecutar consulta:

    up
    

Si se están transfiriendo tus datos, verás un gráfico como el siguiente:

Gráfico del Explorador de métricas para la métrica ascendente del exportador de JSON.

Si estás ejecutando el ejemplo de JSON Exporter, haz lo siguiente: entonces también puedes emitir consultas como las siguientes:

  • Consulta todos los datos de una métrica exportada específica por nombre, por ejemplo:

    example_value_count
    

    A continuación, se muestra un gráfico para example_value_count, que incluye lo siguiente: las etiquetas definidas por la aplicación del exportador de JSON y las etiquetas agregadas por el Agente de operaciones:

    Gráfico del Explorador de métricas de la métrica example_value_count json-exporter

  • Consultar datos para una métrica exportada que se originó en una espacio de nombres. El valor de la etiqueta namespace es el valor Compute Engine un ID de instancia, un número largo como 5671897148133813325, asignado al y la VM. Una consulta se ve de la siguiente manera:

    example_value_count{namespace="INSTANCE_ID"}
    
  • Consulta datos que coincidan con una expresión regular específica. El archivo JSON El exportador emite métricas con una etiqueta id que tiene valores como id-A, id-B, id-C Para filtrar las métricas con una coincidencia de etiqueta id este patrón, usa la siguiente consulta:

    example_value_count{id=~"id.*"}
    

Para obtener más información sobre cómo usar PromQL en los gráficos del Explorador de métricas y Cloud Monitoring, consulta PromQL en Cloud Monitoring.

Usa MQL

Para ver los datos de Prometheus como series temporales de Cloud Monitoring y crear gráficos y paneles, también puedes usar las interfaces controladas por menús o MQL. A continuación, se muestra una consulta simple en el Explorador de métricas:

  1. En la consola de Google Cloud, ve a la página  Explorador de métricas:

    Dirígete al Explorador de métricas

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

  2. Especifica los datos que deben aparecer en el gráfico. Además de usar la pestaña PromQL descrita antes, también puedes usar MQL.

    • Para usar MQL, haz lo siguiente:

      1. En la barra de herramientas del panel del compilador de consultas, selecciona el botón cuyo nombre sea MQL o PromQL.
      2. Verifica que MQL esté seleccionado en el botón de activación Lenguaje. El botón de activación de lenguaje se encuentra en la misma barra de herramientas que te permite dar formato a tu consulta.
      3. Ingresa la siguiente consulta:

        fetch prometheus_target::prometheus.googleapis.com/up/gauge
        
      4. Haga clic en Ejecutar consulta (Run Query).

    • Para usar la interfaz basada en menús, haz lo siguiente:

      1. En el campo Tipo de recurso, escribe “prometheus” para filtrar la lista y, luego, selecciona Destino de Prometheus.

      2. En el campo Métrica, escribe “up/” para filtrar la lista y selecciona prometheus/up/gauge.

El gráfico que resulta de cualquiera de estas consultas muestra los mismos datos que el gráfico que se muestra con el ejemplo de PromQL.

El recurso prometheus_target

En Cloud Monitoring, los datos de series temporales se escriben en un tipo de recurso supervisado. Para las métricas de Prometheus, el tipo de recurso supervisado es prometheus_target. Las consultas de supervisión para las métricas de Prometheus que no están escritas en PromQL deben especificar este tipo de recurso.

El recurso prometheus_target tiene las siguientes etiquetas, que puedes usar para filtrar y manipular datos consultados:

  • project_id: Es el identificador del proyecto de Google Cloud, como my-project. en el que el Agente de operaciones se esté ejecutando.
  • location: Es la región de Google Cloud o AWS en la que se ejecuta el Agente de operaciones; por ejemplo, us-east1-a (Google Cloud) o aws:us-east-1a (AWS).
  • cluster: Siempre es __gce__ para las métricas de Prometheus que se recopilan a través del agente de operaciones.
  • namespace: el ID de instancia de Compute Engine de la VM en la que se Se está ejecutando el Agente de operaciones.
  • job: Es el valor del campo job_name en la configuración del receptor.
  • instance: Es la etiqueta de la instancia del destino de Prometheus, que se toma de la configuración del receptor; se configura de forma predeterminada en el destino.

Los valores de estas etiquetas se establecen durante la recopilación. Los valores de las etiquetas namespace, location y cluster son inmutables. Si las métricas que se recopilan de tu aplicación también tienen estas etiquetas, el Agente de operaciones agrega el prefijo exported_ a las etiquetas recopiladas.

Visualiza el uso y el diagnóstico de las métricas en Cloud Monitoring

En la página Administración de métricas de Cloud Monitoring, se proporciona información que puede ayudarte a controlar el importe que inviertes en las métricas cobrables sin afectar la observabilidad. En la página Administración de métricas, se informa la siguiente información:

  • Los volúmenes de transferencia para la facturación basada en bytes y de muestra, en todos los dominios de métricas y para las métricas individuales.
  • Datos sobre etiquetas y cardinalidad de métricas.
  • Uso de métricas en políticas de alertas y paneles personalizados.
  • Tasa de errores de escritura de métricas.

Para ver la página Administración de métricas, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página  Administración de métricas:

    Ir a Administración de métricas

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

  2. En la barra de herramientas, selecciona tu período. De forma predeterminada, la página Administración de métricas muestra información sobre las métricas recopiladas en el día anterior.

Para obtener más información sobre la página Administración de métricas, consulta Visualiza y administra el uso de métricas.

Reetiquetado: modificación de los datos que se extraen con scraping

Puedes usar el reetiquetado para modificar el conjunto de etiquetas del objetivo de scraping o sus métricas antes de que se extraiga el objetivo. Si tienes varias en una configuración de reetiquetado, se aplican en el orden en que en el archivo de configuración.

El Agente de operaciones crea un conjunto de metaetiquetas (etiquetas con el prefijo del cadena __meta_. Estas metaetiquetas registran información sobre el instancia de Compute Engine en la que el Agente de operaciones se esté ejecutando. Las etiquetas con el prefijo de cadena __, incluidas las metaetiquetas, solo están disponibles durante el reetiquetado. Puedes usar el reetiquetado para capturar valores de estas etiquetas en etiquetas que se extraen.

El reetiquetado de métricas se aplica a las muestras. es el último paso antes de la transferencia. Puedes usar el reetiquetado de métricas para descartar las series temporales que no necesitas transferir; descartar estas series temporales reduce la cantidad de muestras transferidas, lo que puede reducir los costos.

Para obtener más información sobre el reetiquetado, consulta la documentación de Prometheus. para relabel_config y metric_relabel_configs.

Metaetiquetas de Compute Engine disponibles durante el reetiquetado

Cuando el Agente de operaciones extrae métricas, incluye un conjunto de metaetiquetas cuyas se basan en la configuración de la VM de Compute Engine en la que en que se ejecuta el agente. Puedes usar estas etiquetas y el nombre del receptor Sección relabel_configs para agregar metadatos adicionales a tus métricas sobre la VM desde la que se transfirieron. Para ver un ejemplo, consulta Configuración adicional del receptor.

Las siguientes metaetiquetas están disponibles en los objetivos para que las uses en el Sección relabel_configs:

  • __meta_gce_instance_id: Es el ID numérico de Compute Engine. instancia (local)
  • __meta_gce_instance_name: Es el nombre de la instancia de Compute Engine (local); el Agente de operaciones coloca este valor automáticamente en la etiqueta mutable instance_name en tus métricas.
  • __meta_gce_machine_type: La URL parcial o completa del tipo de máquina de la instancia; el agente de operaciones coloca este valor de forma automática en la etiqueta mutable machine_type de tus métricas.
  • __meta_gce_metadata_NAME: Cada elemento de metadatos de la instancia
  • __meta_gce_network: La URL de red de la instancia.
  • __meta_gce_private_ip: La dirección IP privada de la instancia
  • __meta_gce_interface_ipv4_NAME: La dirección IPv4 de cada interfaz con nombre.
  • __meta_gce_project: El proyecto de Google Cloud en el que se ejecuta la instancia (local).
  • __meta_gce_public_ip: La dirección IP pública de la instancia, si está presente
  • __meta_gce_tags: La lista separada por comas de las etiquetas de instancia.
  • __meta_gce_zone: La URL de la zona de Compute Engine en la que se ejecuta la instancia.

Los valores de estas etiquetas se establecen cuando se inicia el Agente de operaciones. Si modificas los valores, entonces debes reiniciar el Agente de operaciones para actualizar los valores.

Configuración adicional del receptor

En esta sección, se proporcionan ejemplos en los que se usan relabel_configs y Secciones metric_relabel_configs del receptor de Prometheus para modificar la cantidad y la estructura de las métricas transferidas. Esta sección también incluye una versión modificada del receptor para el ejemplo de JSON Exporter que usa las opciones de reetiquetado.

Agrega metadatos de VM

Puedes usar la sección relabel_configs para agregar etiquetas a las métricas. Por ejemplo, lo siguiente usa una metaetiqueta, __meta_gce_zone, que te proporcionó el Agente de operaciones para crear una etiqueta de métrica, zone, que se conserva después de volver a etiquetar, porque zone no tiene el prefijo __.

Para obtener una lista de las metaetiquetas disponibles, consulta Metaetiquetas de Compute Engine disponibles durante el nuevo etiquetado. Algunos de los las metaetiquetas se vuelven a etiquetar para ti según la configuración predeterminada del Agente de operaciones.

relabel_configs:
  - source_labels: [__meta_gce_zone]
    regex: '(.+)'
    replacement: '${1}'
    target_label: zone

El receptor de Prometheus que se muestra en Ejemplo: Configura el Agente de operaciones para Prometheus incluye la adición de esta etiqueta.

Descarta métricas

Puedes usar la sección metrics_relabel_configs para descartar las métricas que no quieras transferir; este patrón es útil para la contención de costos. Por ejemplo, puedes usar el siguiente patrón para descartar cualquier métrica con un nombre que coincida con METRIC_NAME_REGEX_1 o METRIC_NAME_REGEX_2:

metric_relabel_configs:
  - source_labels: [ __name__ ]
    regex: 'METRIC_NAME_REGEX_1'
    action: drop
  - source_labels: [ __name__ ]
    regex: 'METRIC_NAME_REGEX_2'
    action: drop

Agrega etiquetas estáticas

Puedes usar la sección metrics_relabel_configs para agregar etiquetas estáticas a todas las métricas que transfiere el receptor de Prometheus. Puedes usar los siguientes para agregar las etiquetas staticLabel1 y staticLabel2 a todas las métricas transferidas:

metric_relabel_configs:
  - source_labels: [ __address__ ]
    action: replace
    replacement: 'STATIC_VALUE_1'
    target_label: staticLabel1
  - source_labels: [ __address__ ]
    action: replace
    replacement: 'STATIC_VALUE_2'
    target_label: staticLabel2

En la siguiente versión del receptor de Prometheus para el ejemplo de Exporter de JSON, se usan estos patrones de configuración para hacer lo siguiente:

  • Configura la etiqueta zone del valor de __meta_gce_zone. que proporciona el Agente de operaciones.
  • Descarta la métrica example_global_value del exportador.
  • Agrega la etiqueta staticLabel con el valor “Un valor estático” a todas las métricas transferidas.
metrics:
  receivers:
    prometheus:
        type: prometheus
        config:
          scrape_configs:
            - job_name: 'json_exporter'
              scrape_interval: 10s
              metrics_path: /probe
              params:
                module: [default]
                target: [http://localhost:8000/examples/data.json]
              static_configs:
                - targets: ['localhost:7979']
              relabel_configs:
                - source_labels: [__meta_gce_zone]
                  regex: '(.+)'
                  replacement: '${1}'
                  target_label: zone
              metric_relabel_configs:
                - source_labels: [ __name__ ]
                  regex: 'example_global_value'
                  action: drop
                - source_labels: [ __address__ ]
                  action: replace
                  replacement: 'A static value'
                  target_label: staticLabel