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:
Tener experiencia en Prometheus, usar el estándar de Prometheus y entender cómo factores como el intervalo de scraping y la cardinalidad afectar tus costos. Para obtener más información, consulta Elige el servidor de Prometheus receptor.
El software que estás supervisando aún no forma parte del conjunto de integraciones existentes del Agente de operaciones.
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
métricas. 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 acerca del recuento de muestras y la estimación de 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:
- Los usuarios de Spring pueden usar Spring Metrics biblioteca.
- Los usuarios de StatsD pueden usar el
statsd_exporter
. - Los usuarios de Graphite pueden usar el
graphite_exporter
.
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
ymetric_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:
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
Compila el exportador a través de la ejecución del siguiente comando:
make build
Inicia el servidor HTTP de Python a través de la ejecución del siguiente comando:
python3 -m http.server 8000 &
Inicia el exportador JSON a través de la ejecución del siguiente comando:
./json_exporter --config.file examples/config.yml &
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:
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
Para reiniciar el agente, ejecuta el siguiente comando en tu instancia:
sudo service google-cloud-ops-agent restart
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
Conéctate a tu instancia a través de RDP o una herramienta similar y accede a Windows.
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.
Para reiniciar el agente, ejecuta el siguiente comando de PowerShell:
Restart-Service google-cloud-ops-agent -Force
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:
-
En la consola de Google Cloud, ve a la página leaderboard 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.
En la barra de herramientas del panel del compilador de consultas, selecciona el botón cuyo nombre sea codeMQL o codePromQL.
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.
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:
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: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 como5671897148133813325
, 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 comoid-A
,id-B
,id-C
Para filtrar las métricas con una coincidencia de etiquetaid
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:
-
En la consola de Google Cloud, ve a la página leaderboard 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.
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:
- En la barra de herramientas del panel del compilador de consultas, selecciona el botón cuyo nombre sea codeMQL o codePromQL.
- 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.
Ingresa la siguiente consulta:
fetch prometheus_target::prometheus.googleapis.com/up/gauge
Haga clic en Ejecutar consulta (Run Query).
Para usar la interfaz basada en menús, haz lo siguiente:
En el campo Tipo de recurso, escribe “prometheus” para filtrar la lista y, luego, selecciona Destino de Prometheus.
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, comomy-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) oaws: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 campojob_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:
-
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.
- 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 mutableinstance_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 mutablemachine_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