Visualizza metriche

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

Informazioni su Cloud Operations

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

Attivazione delle metriche ibride

Prima che le metriche ibride possano essere inviate a Cloud Operations, devi prima attivare la raccolta delle metriche. Per questa procedura, consulta Configurare la raccolta delle metriche.

Informazioni su nomi ed etichette delle metriche ibride

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

apigee.googleapis.com/

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

apigee.googleapis.com/proxy/request_count

Suite operativa di Google Cloud ti consente di filtrare e raggruppare i dati delle metriche in base alle etichette. Alcune etichette sono predefinite, mentre altre vengono aggiunte esplicitamente da Hybrid. 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 Suite operativa di Google Cloud:
  1. Apri Esplora metriche di Monitoring in un browser. In alternativa, se sei già nella console Suite operativa di Google Cloud, seleziona Esplora metriche.
  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 i filtri. Le opzioni di filtro per ogni metrica sono elencate in Metriche disponibili.
  5. Suite operativa di Google Cloud 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. Suite operativa di Google Cloud 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 loro configurazione. Per saperne di più sulla creazione di grafici, consulta Creare grafici.

L'esempio seguente mostra come creare una dashboard in 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 ibride
  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 sopra in Visualizzazione delle metriche.
    3. Completa la finestra di dialogo per definire il grafico.
    4. Fai clic su Salva. Suite operativa di Google Cloud mostra i dati relativi alla metrica selezionata.

Metriche disponibili

Le tabelle seguenti elencano le metriche per l'analisi del traffico proxy. Per ulteriori informazioni su ciascuna metrica Apigee, consulta Metriche di Google Cloud.

Metriche sul traffico di proxy, target e server

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

La seguente tabella descrive le metriche utilizzate dal collector OpenTelemetry.

Nome metrica Utilizza
/proxy/request_count Numero di richieste al proxy Apigee dall'ultimo campione registrato.
/proxy/response_count Numero di risposte inviate dal proxy API Apigee.
/proxy/latencies Distribuzione delle latenze, calcolate dal momento in cui la richiesta è stata ricevuta dal proxy Apigee al momento in cui la risposta è stata inviata dal proxy Apigee al client.
/proxyv2/request_count Il numero totale di richieste proxy API ricevute.
/proxyv2/response_count Il numero totale di risposte dell'proxy API ricevute.
/proxyv2/latencies_percentile Percentile di tutte le risposte dei criteri dell'API a una richiesta.
/target/request_count Numero di richieste inviate al target Apigee dall'ultimo campionamento registrato.
/target/response_count Numero di risposte ricevute dal target Apigee dall'ultima registrazione del sample.
/target/latencies Distribuzione delle latenze, calcolate dal momento in cui la richiesta è stata inviata al target Apigee al momento in cui la risposta è stata ricevuta dal proxy Apigee. Il tempo non include il sovraccarico del proxy API Apigee.
/targetv2/request_count Il numero totale di richieste inviate al target del proxy.
/targetv2/response_count Il numero totale di risposte ricevute dal target del proxy.
/server/fault_count

Il numero totale di errori per l'applicazione server.

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

/server/nio Si tratta di una metrica del misuratore che può essere filtrata in base all'etichetta state per recuperare i dettagli di varie etichette. I valori rappresentano diverse operazioni di sistema e I/O. Etichette come accepted, accepted_total, close_failed, close_success, conn_pending, connected, connected_total, max_conn e timeouts sono correlate alle operazioni di socket e connessione. Le etichette rimanenti riguardano altre operazioni di sistema.
/server/num_threads Il numero di thread non daemon attivi nel server.
/server/request_count

Il numero totale di richieste ricevute dall'applicazione server.

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

/server/response_count

Numero totale di risposte inviate dall'applicazione server.

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

/server/latencies

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

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

/upstream/request_count

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

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

/upstream/response_count

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

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

/upstream/latencies

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

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

Metriche UDCA

Open Telemetry raccoglie ed elabora le metriche (come descritto nella sezione Raccolta delle metriche) per il servizio UDCA, come per altri servizi ibridi.

La seguente tabella descrive le metriche utilizzate dal collector Open Telemetry nei dati delle metriche UDCA.

state

state

Nome metrica Utilizza
/udca/server/local_file_oldest_ts

Il timestamp, in millisecondi dall'inizio dell'epoca Unix, del file più antico del set di dati.

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

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

/udca/server/local_file_latest_ts

Il timestamp, in millisecondi dall'inizio dell'epoca Unix, per l'ultimo file sul disco in base allo stato.

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

/udca/server/local_file_count

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

Idealmente, il valore sarà vicino a 0. Un valore elevato 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

L'intervallo di tempo, in secondi, tra la creazione del file di dati e il caricamento riuscito 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 della latenza totale dal momento della creazione del file al momento del caricamento riuscito.

/udca/server/upload_latencies

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

Il numero totale di errori HTTP rilevati da UDCA. Questa metrica è utile per aiutarti a determinare la parte delle dipendenze esterne dell'UDCA che non funziona e il 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

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

Le dimensioni del file caricato sui 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 dei file per set di dati, organizzazione e ambiente.

/udca/upstream/uploaded_file_count Un conteggio dei file caricati da UDCA 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 l'organizzazione/l'ambiente ha un traffico 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

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 indica che l'agente è in ritardo.
  • failed implica che i file si stanno accumulando sul disco e non vengono caricati. Questo valore viene calcolato ogni 60 secondi.
/udca/server/pruned_file_count 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 elementi e lo stato può essere UPLOADED, FAILED o DISCARDED.
/udca/server/retry_cache_size

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

Dopo tre tentativi per ogni file, UDCA sposta il file nella sottodirectory /failed e lo rimuove da questa cache. Un aumento di questo valore nel tempo implica che la cache non viene svuotata, il che si verifica quando i file vengono spostati nella sottodirectory /failed dopo tre tentativi.

Metriche Cassandra

Open Telemetry raccoglie e elabora le metriche (come descritto nella sezione Raccolta delle metriche) per Cassandra, come per altri servizi ibridi.

La seguente tabella descrive le metriche utilizzate dal collector Open Telemetry nei dati delle metriche Cassandra.

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

Utilizzo delle metriche di Cassandra

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

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

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

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

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

    Per monitorare tasso di 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. Si tratta della 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 di Cassandra, applica il seguente filtro.

    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 on Google Cloud)
    kubernetes.io/anthos/container/cpu/request_utilization (Google Distributed Cloud)
    Etichette risorse: project_id, location, cluster_name, namespace_name, pod_name, 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 on Google Cloud)
    kubernetes.io/anthos/pod/volume/utilization (Google Distributed Cloud)
    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 o la latenza è in costante aumento e noti picchi corrispondenti nell'utilizzo della richiesta della CPU e nelle frequenze di richiesta di lettura o scrittura, il cluster Cassandra può essere considerato sometido a stress. Ti consigliamo di prendere in considerazione l'aumento della dimensione del cluster. Per ulteriori informazioni, consulta Scalabilità di Cassandra

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