Visualizza metriche

Questo argomento spiega come visualizzare le metriche ibride di Apigee in una dashboard di Cloud Operations.

Informazioni sulla suite operativa di Google Cloud

Per ulteriori informazioni su metriche, dashboard e Cloud Operations, consulta:

Abilitazione delle metriche ibride

Prima di poter inviare le metriche ibride Suite operativa di Google Cloud, devi prima abilitare la raccolta delle metriche. Consulta Configurare la raccolta delle metriche per questa procedura.

Informazioni sui nomi e sulle etichette delle metriche ibride

Se abilitato, il report Ibrido compila automaticamente le metriche di Cloud Operations. Il prefisso del nome di dominio delle metriche create da hybrid è:

apigee.googleapis.com/

Ad esempio, la metrica /proxyv2/request_count contiene il numero totale di richieste ricevute da un proxy API. Di conseguenza, il nome della metrica nella Suite operativa di Google Cloud è:

apigee.googleapis.com/proxyv2/request_count

La Suite operativa di Google Cloud ti consente di filtrare e gruppo i dati delle metriche in base a etichette. Alcune etichette sono predefinite, mentre altre vengono aggiunte esplicitamente da un ibrido. La sezione Metriche disponibili di seguito elenca tutte le metriche ibride disponibili e le eventuali etichette aggiunte specificamente per una metrica che puoi utilizzare per filtrare e raggruppare.

Visualizzazione delle metriche

L'esempio seguente mostra come visualizzare le metriche in Cloud Operations:
  1. Apri Esplora metriche di Monitoring in un browser. In alternativa, se ti trovi già nella Suite operativa di Google Cloud Console, seleziona Metrics Explorer.
  2. In Trova tipo di risorsa e metrica, individua e seleziona la metrica da esaminare. Scegli una metrica specifica elencata in Metriche disponibili o cerca una metrica.

  3. Seleziona la metrica che ti interessa.
  4. Applica filtri. Le scelte dei filtri per ogni metrica sono elencate nella sezione Metriche disponibili.
  5. Cloud Operations mostra il grafico per la metrica selezionata.
  6. Fai clic su Salva.

Creazione di una dashboard

Le dashboard sono un modo per visualizzare e analizzare i dati delle metriche importanti per te. Cloud Operations fornisce dashboard predefinite per le risorse e i servizi che utilizzi, ma puoi anche creare dashboard personalizzate.

Utilizza un grafico per visualizzare una metrica Apigee nella dashboard personalizzata. Con le dashboard personalizzate hai il controllo completo sui grafici visualizzati e sulla relativa configurazione. Per saperne di più sulla creazione di grafici, consulta Creare grafici.

L'esempio seguente mostra come creare una dashboard nella suite operativa di Google Cloud e poi aggiungere grafici per visualizzare i dati delle metriche:

  1. Apri Esplora metriche di Monitoring in un browser e seleziona Dashboard.
  2. Seleziona + Crea dashboard.
  3. Assegna un nome alla dashboard. Ad esempio: Traffico di richieste proxy ibrido
  4. Fai clic su Conferma.
  5. Per ogni grafico che vuoi aggiungere alla dashboard, segui questi passaggi:

    1. Nella dashboard, seleziona Aggiungi grafico.
    2. Seleziona la metrica che ti interessa come descritto sopra in Visualizzazione delle metriche.
    3. Completa la finestra di dialogo per definire il grafico.
    4. Fai clic su Salva. La Suite operativa di Google Cloud mostra i dati per la metrica selezionata.

Metriche disponibili

Le tabelle seguenti elencano le metriche per l'analisi del traffico proxy.

Metriche sul traffico di proxy, target e server

Il servizio Prometheus raccoglie e elabora le metriche (come descritto nella sezione Raccolta delle metriche) per il traffico proxy, target e del server.

La tabella seguente descrive le metriche e le etichette utilizzate da Prometheus. Queste etichette vengono utilizzate nelle voci di log delle metriche.

Nome metrica Etichetta Utilizza
/proxyv2/request_count method Il numero totale di richieste proxy API ricevute.
/proxyv2/response_count method response_code Il numero totale di risposte del proxy API ricevute.
/proxyv2/latencies_percentile method Percentile di tutte le risposte ai criteri dell'API a una richiesta.
/targetv2/request_count method

target_type

target_endpoint

Il numero totale di richieste inviate al target del proxy.
/targetv2/response_count method

response_code

target_type

target_endpoint

Il numero totale di risposte ricevute dal target del proxy.
/server/fault_count source

Il numero totale di errori per l'applicazione server.

Ad esempio, l'applicazione potrebbe essere apigee-runtime, apigee-synchronizer, o apigee-udca. Utilizza l'etichetta pod_name per filtrare i risultati per applicazione.

/server/nio state Il numero di socket aperti.
/server/num_threads Il numero di thread non daemon attivi nel server.
/server/request_count method

type

Il numero totale di richieste ricevute dall'applicazione server.

Ad esempio, l'applicazione potrebbe essere apigee-runtime, apigee-synchronizer, o apigee-udca. Utilizza l'etichetta pod_name per filtrare i risultati in base all'applicazione.

/server/response_count method

response_code
type

Numero totale di risposte inviate dall'applicazione server.

Ad esempio, l'applicazione potrebbe essere apigee-runtime, apigee-synchronizer, o apigee-udca. Utilizza l'etichetta pod_name per filtrare i risultati per applicazione.

/server/latencies method

response_code
type

La latenza è la latenza in millisecondi introdotta dall'applicazione del server.

Ad esempio, l'applicazione potrebbe essere apigee-runtime, apigee-synchronizer, o apigee-udca. Utilizza l'etichetta pod_name per filtrare i risultati per applicazione.

/upstream/request_count method

type

Il numero di richieste inviate dall'applicazione server all'applicazione a monte.

Ad esempio, per apigee-synchronizer, il piano di controllo è in upstream. Pertanto upstream/request_count per apigee-synchronizer è una metrica che indica le richieste inviate da apigee-synchronizer al piano di controllo.

/upstream/response_count method

response_code

type

Il numero di risposte ricevute dall'applicazione server dall'applicazione a monte.

Ad esempio, per apigee-synchronizer, il piano di controllo è a monte. Pertanto, upstream/response_count per apigee-synchronizer è una metrica che indica le richieste ricevute da apigee-synchronizer dal control plane.

/upstream/latencies method

response_code
type

La latenza in millisecondi nell'applicazione del server a monte.

Ad esempio, per apigee-synchronizer, il piano di controllo è a monte. Pertanto upstream/latencies per apigee-synchronizer è una metrica che indica e la latenza dal piano di controllo.

Metriche UDCA

Il servizio Prometheus raccoglie ed elabora le metriche (come descritto in Raccolta di metriche) per servizio UDCA proprio come avviene per gli altri servizi ibridi.

La tabella seguente descrive le metriche e le etichette utilizzate da Prometheus nella Dati delle metriche UDCA. Queste etichette vengono utilizzate nelle voci dei log delle metriche.

Nome metrica Etichetta Utilizza
/udca/server/local_file_oldest_ts dataset

state

Timestamp, in millisecondi dall'inizio dell'epoca di Unix, per il file meno recente nel set di dati.

Questo valore viene calcolato ogni 60 secondi e non riflette lo stato in tempo reale. Se la funzione UDCA è aggiornata e non ci sono file in attesa di essere caricati al momento del calcolo di questa metrica, questo valore sarà 0.

Se questo valore continua ad aumentare, significa che i file precedenti sono ancora sul disco.

/udca/server/local_file_latest_ts dataset

state

Timestamp, in millisecondi dall'inizio dell'epoca di Unix, per il file più recente su disco per stato.

Questo valore viene calcolato ogni 60 secondi e non riflette lo stato in tempo reale. Se la funzione UDCA è aggiornata e non ci sono file in attesa di essere caricati al momento del calcolo di questa metrica, questo valore sarà 0.

/udca/server/local_file_count dataset

state

Un conteggio del numero di file sul disco nel pod di raccolta dei dati.

Idealmente, il valore sarà vicino a 0. Un valore elevato e costante indica che i file non vengono caricati o che l'UDCA non è in grado di caricarli abbastanza velocemente.

Questo valore viene calcolato ogni 60 secondi e non riflette lo stato dell'UDCA in tempo reale.

/udca/server/total_latencies dataset

L'intervallo di tempo, in secondi, tra il file di dati creato e il caricamento riuscito.

I bucket saranno di 100 ms, 250 ms, 500 ms, 1 s, 2 s, 4 s, 8 s, 16 s, 32 s e 64 s.

Istogramma per la latenza totale dal momento della creazione del file al momento del caricamento riuscito.

/udca/server/upload_latencies dataset

Il tempo totale, in secondi, impiegato dall'UDCA per caricare un file di dati.

I bucket saranno di 100 ms, 250 ms, 500 ms, 1 s, 2 s, 4 s, 8 s, 16 s, 32 s e 64 s.

Le metriche mostreranno un istogramma della latenza di caricamento totale, incluse tutte le chiamate upstream.

/udca/upstream/http_error_count service

dataset

response_code

Il numero totale di errori HTTP rilevati da UDCA. Questa metrica è utile per aiutarti determinare quale parte delle dipendenze esterne UDCA presenta errori e per quale motivo.

Questi errori possono verificarsi per vari servizi (getDataLocation, Cloud storage, Token generator) e per vari set di dati (ad esempio api e trace) con vari codici di risposta.

/udca/upstream/http_latencies service

dataset

La latenza upstream dei servizi, in secondi.

I bucket saranno di 100 ms, 250 ms, 500 ms, 1 s, 2 s, 4 s, 8 s, 16 s, 32 s e 64 s.

Istogramma della latenza dei servizi a monte.

/udca/upstream/uploaded_file_sizes dataset

Le dimensioni del file che viene caricato nei servizi Apigee, espresse in byte.

I bucket saranno di 1 KB, 10 KB, 100 KB, 1 MB, 10 MB, 100 MB e 1 GB.

Istogramma delle dimensioni del file per set di dati, organizzazione e ambiente.

/udca/upstream/uploaded_file_count dataset Un conteggio dei file che UDCA ha caricato nei servizi Apigee.

Ricorda:

  • Il valore del set di dati event deve mantenere in crescita.
  • Il valore del set di dati api deve mantenere in crescita se il traffico tra org/env è costante.
  • Il valore del set di dati trace dovrebbe aumentare quando utilizzi gli strumenti di traccia di Apigee per eseguire il debug o ispezionare le richieste.
/udca/disk/used_bytes dataset

state

Lo spazio occupato dai file di dati sul disco del pod di raccolta dei dati, in byte.

Un aumento di questo valore nel tempo:

  • ready_to_upload implica che l'agente sia in ritardo.
  • failed implica che i file si stanno accumulando disco e non in fase di caricamento. Questo valore viene calcolato ogni 60 secondi.
/udca/server/pruned_file_count dataset

state

Conteggio dei file che sono stati eliminati perché la loro durata (TTL) superava una soglia impostata. Il set di dati può includere API, traccia e altri, mentre lo stato può essere UPLOADED, FAILED o DISCARDED.
/udca/server/retry_cache_size dataset

Un conteggio del numero di file, per set di dati, di cui UDCA sta tentando di nuovo il caricamento.

Dopo 3 tentativi per ciascun file, UDCA sposta il file nella sottodirectory /failed e lo rimuove dalla cache. Un aumento di questo valore nel tempo indica che la cache non viene svuotata, il che si verifica quando i file vengono spostati nella sottodirectory /failed dopo 3 nuovi tentativi.

Metriche Cassandra

Il servizio Prometheus raccoglie ed elabora le metriche (come descritto in Raccolta di metriche) per Cassandra come per gli altri servizi ibridi.

La tabella seguente descrive le metriche e le etichette utilizzate da Prometheus nella Dati delle metriche Cassandra. Queste etichette vengono utilizzate nelle voci dei log delle metriche.

Nome della metrica (escluso il dominio) Etichetta Utilizza
/cassandra/process_max_fds Numero massimo di descrittori di file aperti.
/cassandra/process_open_fds Apri i descrittori di file.
/cassandra/jvm_memory_pool_bytes_max pool Utilizzo massimo di memoria JVM per il pool.
/cassandra/jvm_memory_pool_bytes_init pol Utilizzo iniziale della memoria JVM per il pool.
/cassandra/jvm_memory_bytes_max area Utilizzo massimo della memoria heap della JVM.
/cassandra/process_cpu_seconds_total Tempo di CPU dell'utente e del sistema impiegato in secondi.
/cassandra/jvm_memory_bytes_used area Utilizzo della memoria heap della JVM.
/cassandra/compaction_pendingtasks unit Compazioni in sospeso per le tabelle SS di Cassandra. Per saperne di più, consulta Complessità.
/cassandra/jvm_memory_bytes_init area Utilizzo iniziale della memoria dell'heap JVM.
/cassandra/jvm_memory_pool_bytes_used pool Utilizzo memoria pool JVM.
/cassandra/jvm_memory_pool_bytes_committed pool Utilizzo della memoria impegnata del pool JVM.
/cassandra/clientrequest_latency scope

unit

Latenza delle richieste di lettura nell'intervallo del 75° percentile in microsecondi.
/cassandra/jvm_memory_bytes_committed area Utilizzo della memoria impegnata dell'heap JVM.

Utilizzo delle metriche di Cassandra

Apigee consiglia le seguenti metriche come critiche per il monitoraggio del database Cassandra:

  • Tasso di richieste Cassandra: utilizza questa metrica per monitorare la richiesta di lettura e scrittura di Cassandra di conversione.
    Metrica: apigee.googleapis.com/cassandra/clientrequest_latency
    Etichette risorse: project_id, location, cluster_name, namespace_name, pod_name, container_name
    Etichette metriche: scope, unit

    Utilizza queste etichette per filtrare la risorsa specifica o per il raggruppamento.

    Per monitorare il tasso di richieste di lettura di Cassandra, applica il seguente filtro.

    Filtri: metric.scope == 'Read'
    metric.unit == 'OneMinuteRate'

    Per monitorare la frequenza delle richieste di scrittura di Cassandra, applica il seguente filtro.

    Filtri: metric.scope == 'Write'
    metric.unit == 'OneMinuteRate'
  • Latenza della richiesta Cassandra: utilizza questa metrica per monitorare la latenza delle richieste di lettura e scrittura di Cassandra. Questa è la stessa metrica della tasso di richieste, apigee.googleapis.com/cassandra/clientrequest_latency con filtri diversi applicati.

    Per monitorare la latenza delle richieste di lettura di Cassandra, applica il seguente filtro.

    Filtri: metric.scope == 'Read'
    metric.unit == '99thPercentile' o '95thPercentile' o '75thPercentile'

    Per monitorare la latenza delle richieste di scrittura Cassandra, applica il filtro seguente.

    Filtri: metric.scope == 'Write'
    metric.unit == '99thPercentile' o '95thPercentile' o '75thPercentile'
  • Utilizzo richieste CPU del pod Cassandra
    Metrica: kubernetes.io/container/cpu/request_utilization (GKE)
    kubernetes.io/anthos/container/cpu/request_utilization (Anthos)
    Etichette risorse: project_id, location, cluster_name namespace_name, pod_name e container_name

    Utilizza queste etichette per filtrare la risorsa specifica o per il raggruppamento.

  • Utilizzo del volume di dati di Cassandra
    Metrica: kubernetes.io/pod/volume/utilization (GKE)
    kubernetes.io/anthos/pod/volume/utilization (Anthos)
    Etichette risorse: project_id, location, cluster_name namespace_name pod_name
    Etichette delle metriche: volume_name

    Utilizza queste etichette per filtrare la risorsa specifica o per il raggruppamento.

Consigli per la scalabilità del cluster Cassandra

Le seguenti linee guida possono essere utilizzate come cluster consigliato per la decisione di scalare il cluster Cassandra. In generale, se le richieste di lettura o scrittura mostrano costantemente una latenza del 99° percentile oppure la latenza è in continuo aumento, con picchi corrispondenti nelle richieste di CPU e le percentuali di richieste di lettura o scrittura, il tuo cluster Cassandra può essere considerato essere sotto stress. Ti consigliamo di prendere in considerazione l'aumento della dimensione del cluster. Per ulteriori informazioni, vedi Scalabilità di Cassandra

MetricaSogliaDurata dell'attivatore
kubernetes.io/pod/volume/utilization85%5 min
kubernetes.io/container/cpu/request_utilization85%3 min
Read request Latency 99thPercentile5 s3min
Write request Latency 99thPercentile5 s3min