Asigna métricas de Cloud Monitoring a PromQL

Puedes usar el lenguaje de consulta de Prometheus (PromQL) para consultar todas las métricas que almacena Cloud Monitoring.

Asigna nombres de métricas de Cloud Monitoring a PromQL

Los nombres de las métricas de Cloud Monitoring incluyen dos componentes, un dominio (como compute.googleapis.com/) y una ruta de acceso (como instance/disk/max_read_ops_count). Debido a que PromQL solo admite los caracteres especiales : y _, primero debes hacer que los nombres de métricas de Monitoring sean compatibles con PromQL. Para asignar nombres de métricas de Monitoring a PromQL, aplica las siguientes reglas:

  • Reemplaza el primer / por :.
  • Reemplaza todos los demás caracteres especiales (incluidos . y otros caracteres /) por _.

En la siguiente tabla, se enumeran algunos nombres de métricas y sus equivalentes de PromQL:

Nombre de la métrica de Cloud Monitoring Nombre de la métrica de PromQL
compute.googleapis.com/instance/cpu/utilization compute_googleapis_com:instance_cpu_utilization
logging.googleapis.com/log_entry_count logging_googleapis_com:log_entry_count

Las métricas con valor de distribución de Cloud Monitoring se pueden consultar como histogramas de Prometheus, con el sufijo _count, _sum o _bucket agregado al nombre de la métrica:

Nombre de la métrica de Cloud Monitoring Nombres de métricas de PromQL
networking.googleapis.com/vm_flow/rtt networking_googleapis_com:vm_flow_rtt_sum
networking_googleapis_com:vm_flow_rtt_count
networking_googleapis_com:vm_flow_rtt_bucket

Especifica un tipo de recurso supervisado

Cuando una métrica se asocia a un solo tipo de recurso supervisado de Cloud Monitoring, las consultas de PromQL funcionarán sin especificar un tipo de recurso de forma manual. Sin embargo, algunas métricas dentro de Cloud Monitoring, incluidas algunas métricas del sistema, se asignan a más de un tipo de recurso.

Puedes ver qué tipos de recurso supervisado se asignan a una métrica si consultas la lista de métricas deTrusted Cloud by S3NS . Cada entrada en la documentación enumera los tipos de recursos supervisados asociados en la primera columna de cada entrada debajo del tipo. Si no se enumeran tipos de recursos supervisados, la métrica se puede asociar con cualquier tipo.

Si una métrica está asociada con más de un tipo de recurso, debes especificar el tipo de recurso en tu consulta de PromQL. Existe una etiqueta especial, monitored_resource, que puedes usar para seleccionar el tipo de recurso.

Los tipos de recursos supervisados en la mayoría de los casos son una string corta, como gce_instance, pero a veces aparecen como URI completos, como monitoring.googleapis.com/MetricIngestionAttribution. Las consultas de PromQL bien formadas podrían tener el siguiente aspecto:

  • logging_googleapis_com:byte_count{monitored_resource="k8s_container"}
  • loadbalancing_googleapis_com:l3_external_egress_bytes_count{monitored_resource="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule"}

Si no usas la etiqueta monitored_resource cuando es necesario, verás el siguiente error:

metric is configured to be used with more than one monitored resource type; series selector must specify a label matcher on monitored resource name

Resuelve conflictos de etiquetas

En Cloud Monitoring, las etiquetas pueden pertenecer a la métrica o al recurso. Si una etiqueta de métrica tiene el mismo nombre de clave que una etiqueta de recurso, puedes consultar la etiqueta de métrica de forma específica si agregas el prefijo metric_ al nombre de la clave de la etiqueta en tu consulta.

Por ejemplo, supongamos que tienes una etiqueta de recurso y una etiqueta de métrica llamadas pod_name en la métrica example.googleapis.com/user/widget_count.

  • Para filtrar el valor de la etiqueta de recurso, usa
    example_googleapis_com:user_widget_count{pod_name="RESOURCE_LABEL_VALUE"}

  • Para filtrar el valor de la etiqueta de métrica, usa
    example_googleapis_com:user_widget_count{metric_pod_name="METRIC_LABEL_VALUE"}