Visualizza metriche

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

Informazioni sulla suite operativa di Google Cloud

Per saperne di più su metriche, dashboard e suite operativa di Google Cloud, consulta:

Attivazione delle metriche ibride

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

Informazioni su nomi ed etichette delle metriche ibride

Se abilitato, il modello ibrido completa automaticamente le metriche della Suite operativa di Google Cloud. Il prefisso del nome di dominio delle metriche create con il modello ibrido è:

apigee.googleapis.com/

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

apigee.googleapis.com/proxyv2/request_count

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

Visualizzazione delle metriche

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

  3. Seleziona la metrica che ti interessa.
  4. Applica filtri. I filtri disponibili per ogni metrica sono elencati in Metriche disponibili.
  5. La Suite operativa di Google Cloud mostra il grafico relativo alla 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. Suite operativa di Google Cloud fornisce dashboard predefinite per le risorse e i servizi che utilizzi e puoi anche creare dashboard personalizzate.

Puoi utilizzare un grafico per visualizzare una metrica Apigee nella dashboard personalizzata. Con le dashboard personalizzate, hai il controllo completo sui grafici visualizzati e sulla loro configurazione. Per ulteriori informazioni sulla creazione di grafici, consulta la sezione Creazione di grafici.

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

  1. Apri Monitoring Metrics Explorer in un browser e seleziona Dashboard.
  2. Seleziona + Crea dashboard.
  3. Assegna un nome alla dashboard. Ad esempio: Traffico delle richieste proxy ibrido
  4. Fai clic su Conferma.
  5. Per ogni grafico che vuoi aggiungere alla dashboard:

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

Metriche disponibili

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

Metriche relative al traffico su proxy, target e server

Il servizio Prometheus raccoglie ed elabora le metriche (come descritto nella Raccolta di metriche) per il traffico proxy, di destinazione 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 a una richiesta per i criteri API.
/targetv2/request_count method

target_type

target_endpoint

Il numero totale di richieste inviate alla destinazione 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 in base all'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 in base all'applicazione.

/server/latencies method

response_code
type

La latenza è la latenza in millisec introdotta 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.

/upstream/request_count method

type

Il numero di richieste inviate dall'applicazione server alla relativa applicazione upstream.

Ad esempio, per apigee-synchronizer, il piano di controllo è upstream. Quindi upstream/request_count per apigee-synchronizer è una metrica che indica le richieste che apigee-synchronizer ha inviato al piano di controllo.

/upstream/response_count method

response_code

type

Il numero di risposte ricevute dall'applicazione server dalla relativa applicazione upstream.

Ad esempio, per apigee-synchronizer, il piano di controllo è upstream. upstream/response_count per apigee-synchronizer è quindi una metrica che indica le richieste che apigee-synchronizer ha ricevuto dal piano di controllo.

/upstream/latencies method

response_code
type

La latenza sostenuta dall'applicazione server upstream in millisecondi.

Ad esempio, per apigee-synchronizer, il piano di controllo è upstream. upstream/latencies per apigee-synchronizer è quindi una metrica che indica la latenza del piano di controllo.

Metriche UDCA

Il servizio Prometheus raccoglie ed elabora le metriche (come descritto nella raccolta delle metriche) per il servizio UDCA proprio come per gli altri servizi ibridi.

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

Nome metrica Etichetta Utilizza
/udca/server/local_file_oldest_ts dataset

state

Il timestamp, in millisecondi dall'inizio di Unix Epoch, del file meno recente nel set di dati.

Questo valore viene calcolato ogni 60 secondi e non riflette lo stato in tempo reale. Se l'UDCA è aggiornata e non sono presenti file in attesa di caricamento quando viene calcolata questa metrica, questo valore sarà 0.

Se questo valore continua ad aumentare, i file precedenti rimangono su disco.

/udca/server/local_file_latest_ts dataset

state

Il timestamp, in millisecondi dall'inizio di Unix Epoch, 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 l'UDCA è aggiornata e non sono presenti file in attesa di caricamento quando viene calcolata questa metrica, questo valore sarà 0.

/udca/server/local_file_count dataset

state

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

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

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

/udca/server/total_latencies dataset

L'intervallo di tempo, in secondi, tra la creazione e il caricamento corretto del 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.

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 da 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 per la latenza totale del caricamento, incluse tutte le chiamate upstream.

/udca/upstream/http_error_count service

dataset

response_code

Il numero totale di errori HTTP riscontrati da UDCA. Questa metrica è utile per determinare quale parte delle dipendenze esterne UDCA non funziona e per quale motivo.

Questi errori possono verificarsi per vari servizi (getDataLocation, Cloud storage, Token generator) e per vari set di dati (come 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 per la latenza dai servizi upstream.

/udca/upstream/uploaded_file_sizes dataset

Le dimensioni in byte del file caricato nei servizi Apigee.

I bucket saranno da 1 kB, 10 kB, 100 kB, 1 MB, 10 MB, 100 MB e 1 GB.

Istogramma delle dimensioni del file in base al set di dati, all'organizzazione e all'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 dovrebbe continuare a crescere.
  • Il valore del set di dati api dovrebbe continuare a crescere se il traffico org/env è costante.
  • Il valore del set di dati trace dovrebbe aumentare quando utilizzi gli strumenti di traccia 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 dati, in byte.

Un aumento di questo valore nel tempo:

  • ready_to_upload implica che l'agente è in ritardo.
  • failed significa che i file si stanno accumulando sul disco e non vengono caricati. Questo valore viene calcolato ogni 60 secondi.
/udca/server/pruned_file_count dataset

state

Numero di file eliminati perché la loro durata (TTL) supera una soglia impostata. Il set di dati può includere API, traccia e altri elementi e lo stato può essere UPLOADED, FAILED o DISCARDED.
/udca/server/retry_cache_size dataset

Un conteggio del numero di file per set di dati che UDCA sta provando a caricare.

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 implica che la cache non viene cancellata, il che accade quando i file vengono spostati nella sottodirectory /failed dopo 3 tentativi.

Metriche Cassandra

Il servizio Prometheus raccoglie ed elabora le metriche (come descritto nella raccolta delle metriche) per Cassandra come avviene per altri servizi ibridi.

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

Nome metrica (escluso il dominio) Etichetta Utilizza
/cassandra/process_max_fds Numero massimo di descrittori di file aperti.
/cassandra/process_open_fds Apri i descrittori dei file.
/cassandra/jvm_memory_pool_bytes_max pool Utilizzo massimo della memoria da parte di 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 Memoria massima utilizzata per lo heap JVM.
/cassandra/process_cpu_seconds_total Tempo di CPU a utenti e sistemi trascorso in secondi.
/cassandra/jvm_memory_bytes_used area Utilizzo della memoria heap JVM.
/cassandra/compaction_pendingtasks unit Compattazione eccezionali per gli stabili di Cassandra. Per saperne di più, consulta Compazione.
/cassandra/jvm_memory_bytes_init area Utilizzo della memoria iniziale dell'heap JVM.
/cassandra/jvm_memory_pool_bytes_used pool Utilizzo della memoria del pool JVM.
/cassandra/jvm_memory_pool_bytes_committed pool Utilizzo della memoria impegnata nel 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 nell'heap JVM.

Utilizzo delle metriche Cassandra

Apigee consiglia le seguenti metriche come fondamentali da monitorare per il database Cassandra:

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

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

    Per monitorare la percentuale di richieste di lettura di cassandra, applica il seguente filtro.

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

    Per monitorare la tasso di richieste di scrittura di cassandra, applica il filtro seguente.

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

    Per monitorare la latenza della richiesta di lettura di cassandra, applica il filtro seguente.

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

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

    Filtri: metric.scope == 'Write'
    metric.unit == '99thPercentile' o '95thPercentile' o '75thPercentile'
  • Utilizzo CPU pod Cassandra
    Metrica: kubernetes.io/container/cpu/request_utilization
    Etichette delle 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 Cassandra
    Metrica: kubernetes.io/pod/volume/utilization
    Etichette delle risorse: project_id, location, cluster_name, namespace_name e pod_name
    Etichette metriche: volume_name

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

Suggerimenti per la scalabilità del cluster Cassandra

Le seguenti linee guida possono fungere da 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 o la latenza è in continua crescita e noti picchi corrispondenti nel picco di utilizzo delle richieste della CPU e nei tassi di richieste di lettura o scrittura, il tuo cluster Cassandra può essere considerato sotto stress. Potresti voler fare lo scale up del cluster. Per maggiori informazioni, consulta Scalabilità di Cassandra

MetricaSogliaDurata trigger
kubernetes.io/pod/volume/utilization85%5min
kubernetes.io/container/cpu/request_utilization85%3min
Read request Latency 99thPercentile5 sec3min
Write request Latency 99thPercentile5 sec3min