Visualizza metriche

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

Informazioni su Cloud Operations

Per saperne di più su metriche, dashboard e Cloud Operations, consulta:

Abilitazione delle metriche ibride

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

Informazioni su nomi ed etichette delle metriche ibride

Se abilitato, ibrido compila automaticamente le metriche di Suite operativa di Google Cloud. Il prefisso del nome di dominio delle metriche create da 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 in Suite operativa di Google Cloud è quindi:

apigee.googleapis.com/proxyv2/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 in modo esplicito da Hybrid. La sezione Metriche disponibili di seguito elenca tutte le metriche ibride disponibili e le etichette aggiunte specificamente per una metrica che puoi utilizzare per il filtraggio e il raggruppamento.

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 ti trovi già nella console Suite operativa di Google Cloud, seleziona Esplora metriche.
  2. In Trova tipo di risorsa e metrica, individua e seleziona la metrica che vuoi 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 scelte 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.

Creare 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.

Utilizzi 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, vedi 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 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 per la metrica selezionata.

Metriche disponibili

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

Metriche sul traffico di proxy, destinazione e server

Il servizio Prometheus raccoglie e tratta le metriche (come descritto in Raccolta delle metriche) per il traffico di proxy, target e server.

La seguente tabella 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 API a una richiesta.
/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 per applicazione.

/server/nio state Si tratta di una metrica di tipo indicatore 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. Le 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 si riferiscono ad altre operazioni di sistema.
/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 per 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

Latenza in millisecondi 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 per applicazione.

/upstream/request_count method

type

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

Ad esempio, per apigee-synchronizer, il control plane è upstream. Pertanto, upstream/request_count per apigee-synchronizer è una metrica che indica le richieste che apigee-synchronizer ha effettuato al control plane.

/upstream/response_count method

response_code

type

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

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

/upstream/latencies method

response_code
type

La latenza sostenuta nell'applicazione server upstream in millisecondi.

Ad esempio, per apigee-synchronizer, il control plane è upstream. Pertanto, upstream/latencies per apigee-synchronizer è una metrica che indica la latenza dal control plane.

Metriche UDCA

Il servizio Prometheus raccoglie ed elabora le metriche (come descritto in Raccolta delle metriche) per il servizio UDCA proprio come fa per 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 dell'epoca di Unix, del file meno recente del set di dati.

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, questo valore sarà 0.

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

/udca/server/local_file_latest_ts dataset

state

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

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, 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 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 la creazione del file di dati e il caricamento riuscito del file di dati.

I bucket saranno 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 dataset

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

I bucket saranno 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 totale di caricamento, incluse tutte le chiamate upstream.

/udca/upstream/http_error_count service

dataset

response_code

Il conteggio totale degli errori HTTP rilevati 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 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 upstream.

/udca/upstream/uploaded_file_sizes dataset

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

I bucket saranno 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 dataset Un conteggio dei file caricati da UDCA nei servizi Apigee.

Ricorda:

  • Il valore del set di dati event deve 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 deve aumentare quando utilizzi gli strumenti di tracciamento di Apigee per eseguire il debug o l'ispezione delle 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 indica che l'agente è in ritardo.
  • failed indica 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

Conteggio dei file eliminati perché la durata (TTL) superava una soglia impostata. Il set di dati può includere API, tracce e altro ancora 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 tentando di caricare di nuovo.

Dopo tre tentativi per ogni 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 si verifica quando i file vengono spostati nella sottodirectory /failed dopo tre tentativi.

Metriche Cassandra

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

La tabella seguente descrive le metriche e le etichette utilizzate da Prometheus nei dati delle metriche di 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 Descrittori di file aperti.
/cassandra/jvm_memory_pool_bytes_max pool Utilizzo massimo della 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 CPU utente e sistema trascorso in secondi.
/cassandra/jvm_memory_bytes_used area Utilizzo della memoria heap della JVM.
/cassandra/compaction_pendingtasks unit Compattazioni in attesa per le sstable di Cassandra. Per saperne di più, consulta Compattazione.
/cassandra/jvm_memory_bytes_init area Utilizzo iniziale della memoria heap della JVM.
/cassandra/jvm_memory_pool_bytes_used pool Utilizzo della memoria del pool JVM.
/cassandra/jvm_memory_pool_bytes_committed pool Utilizzo della memoria di commit 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 di heap JVM di cui è stato eseguito il commit.

Utilizzo delle metriche Cassandra

Apigee consiglia di monitorare le seguenti metriche, in quanto sono fondamentali per il tuo database Cassandra:

  • Tasso di richieste Cassandra: utilizza questa metrica per monitorare il tasso di richieste di lettura e scrittura di Cassandra.
    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 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 delle richieste 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 della richiesta di CPU del pod Cassandra
    Metrica: kubernetes.io/container/cpu/request_utilization (GKE)

    Per ulteriori informazioni, consulta Metriche Kubernetes.

    kubernetes.io/anthos/container/cpu/request_utilization (Anthos)
    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 Cassandra
    Metrica: kubernetes.io/pod/volume/utilization (GKE)

    Per ulteriori informazioni, consulta Metriche Kubernetes.

    kubernetes.io/anthos/pod/volume/utilization (Anthos)
    Etichette risorse: project_id, location, cluster_name, namespace_name, pod_name
    Etichette metriche: volume_name

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

Consigli per scalare il 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 continuo aumento e si notano picchi corrispondenti nell'utilizzo della CPU e nelle percentuali di richieste di lettura o scrittura, il cluster Cassandra può essere considerato sotto stress. Ti consigliamo di aumentare le dimensioni del cluster. Per ulteriori informazioni, vedi Scalabilità di Cassandra

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