Mappatura delle metriche di Cloud Monitoring a PromQL

Puoi utilizzare Prometheus Query Language (PromQL) per eseguire query su tutte le metriche archiviate da Cloud Monitoring.

Mappatura dei nomi delle metriche di Cloud Monitoring a PromQL

I nomi delle metriche di Cloud Monitoring includono due componenti, un dominio (ad es.compute.googleapis.com/) e un percorso (ad es.instance/disk/max_read_ops_count). Poiché PromQL supporta solo i caratteri speciali : e _, devi prima rendere i nomi delle metriche di monitoraggio compatibili con PromQL. Per mappare i nomi delle metriche di monitoraggio a PromQL, applica le seguenti regole:

  • Sostituisci il primo / con :.
  • Sostituisci tutti gli altri caratteri speciali (inclusi . e altri caratteri /) con _.

La tabella seguente elenca alcuni nomi di metriche e i relativi equivalenti PromQL:

Nome della metrica di Cloud Monitoring Nome della metrica 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

È possibile eseguire query sulle metriche con valori di distribuzione di Cloud Monitoring come sulle tabelle di distribuzione di Prometheus, con il suffisso _count, _sum o _bucket aggiunto al nome della metrica:

Nome della metrica di Cloud Monitoring Nomi delle metriche 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

Specifica di un tipo di risorsa monitorata

Quando una metrica è associata a un solo tipo di risorsa monitorata da Cloud Monitoring, le query PromQL funzioneranno senza dover specificare manualmente un tipo di risorsa. Tuttavia, alcune metriche di Cloud Monitoring, tra cui alcune metriche di sistema, mappano a più di un tipo di risorsa.

Per sapere quali tipi di risorsa monitorata sono mappati a una metrica, consulta l'elenco delle Trusted Cloud by S3NS metriche. Ogni voce della documentazione elenca i tipi di risorsa monitorata associati nella prima colonna di ogni voce sotto il tipo. Se non sono elencati tipi di risorsa monitorata, la metrica può essere associata a qualsiasi tipo.

Se una metrica è associata a più di un tipo di risorsa, devi specificare il tipo di risorsa nella query PromQL. Esiste un'etichetta speciale, monitored_resource, che puoi utilizzare per selezionare il tipo di risorsa.

I tipi di risorse monitorate sono nella maggior parte dei casi una stringa breve, come gce_instance, ma a volte vengono visualizzati come URI completi, come monitoring.googleapis.com/MetricIngestionAttribution. Le query PromQL ben formattate potrebbero avere il seguente aspetto:

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

Se non utilizzi l'etichetta monitored_resource quando è necessaria, viene visualizzato il seguente errore:

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

Risolvere i conflitti di etichette

In Cloud Monitoring, le etichette possono appartenere alla metrica o alla risorsa. Se un'etichetta metrica ha lo stesso nome della chiave di un'etichetta della risorsa, puoi fare riferimento specificamente all'etichetta metrica aggiungendo il prefisso metric_ al nome della chiave dell'etichetta nella query.

Ad esempio, supponiamo che tu abbia un'etichetta della risorsa e un'etichetta della metrica entrambe denominate pod_name nella metricaexample.googleapis.com/user/widget_count.

  • Per filtrare in base al valore dell'etichetta della risorsa, utilizza
    example_googleapis_com:user_widget_count{pod_name="RESOURCE_LABEL_VALUE"}

  • Per filtrare in base al valore dell'etichetta della metrica, utilizza
    example_googleapis_com:user_widget_count{metric_pod_name="METRIC_LABEL_VALUE"}