Metriche di monitoraggio supportate

Questa pagina elenca le metriche disponibili per Memorystore for Redis e descrive cosa misura ciascuna metrica.

Per scoprire come visualizzare queste metriche, consulta Monitorare le istanze.

Metriche di Cloud Monitoring

Questa sezione elenca e descrive le metriche di Monitoring disponibili per Memorystore for Redis.

Nome metrica Descrizione
redis.googleapis.com/keyspace/avg_ttl Questa metrica misura la durata (TTL) media, in millisecondi, di tutte le chiavi in un database Redis a cui è stata impostata una scadenza. Puoi utilizzare la metrica per comprendere il ciclo di vita dei dati memorizzati nella cache e identificare se le chiavi scadono prima o dopo il previsto nelle tue istanze.
redis.googleapis.com/clients/blocked

Questa metrica monitora il numero di connessioni client che sono in attesa che i dati diventino disponibili perché i comandi di blocco sono in esecuzione in un'istanza. Questi comandi di blocco includono BLPOP, BRPOP e BRPOPLPUSH. Un numero elevato di client bloccati potrebbe indicare che la tua applicazione è in attesa del completamento di determinati eventi o chiavi.

Puoi monitorare questa metrica per comprendere il comportamento della tua applicazione, soprattutto se noti aumenti imprevisti della latenza che potrebbero essere correlati a client in attesa di operazioni di blocco.

redis.googleapis.com/replication/master/slaves/lag

Questa metrica misura il numero di secondi di ritardo di una replica rispetto a un'istanza primaria. Memorystore for Redis calcola il valore della metrica prendendo l'ora corrente e sottraendo l'ora in cui la replica riconosce di aver ricevuto il messaggio dei byte in entrata.

Puoi utilizzare la metrica per identificare se una replica è in ritardo rispetto all'istanza principale.

redis.googleapis.com/replication/offset_diff

Questa metrica monitora il numero di byte che non vengono replicati in una replica. La metrica rappresenta la differenza tra l'offset dei byte di replica di un'istanza principale e l'offset dei byte di replica della replica. Se non c'è alcuna differenza tra questi offset, la replica è completamente sincronizzata con l'istanza primaria.

Poiché l'istanza principale replica i dati nella replica durante un processo di failover, potresti notare un aumento di questi byte in attesa.

redis.googleapis.com/stats/cache_hit_ratio

Questa metrica rappresenta il rapporto tra le chiamate al database Redis riuscite e quelle non riuscite. Una chiamata ha esito positivo quando il database Redis restituisce il valore richiesto dal chiamante.

Un rapporto cache-to-hit più elevato indica che la cache è utilizzata in modo più completo. Ciò è vantaggioso per le prestazioni della tua applicazione.

redis.googleapis.com/commands/calls

Questa metrica misura il numero di comandi Redis eseguiti ogni minuto su un'istanza primaria. Sono inclusi tutti i comandi Redis open source, tra cui SET , GET e HSET . La metrica non conteggia i comandi Memorystore for Redis come create o update.

redis.googleapis.com/clients/connected Questa metrica mostra il numero di client connessi a un'istanza. Puoi monitorare la metrica per identificare il carico sull'istanza. Se il numero di client connessi si avvicina al limite di maxclients, il server potrebbe rifiutare i nuovi tentativi di connessione.
redis.googleapis.com/stats/cpu_utilization

Questa metrica misura il tempo di utilizzo della CPU al minuto utilizzato dal server Redis. Questo tempo è suddiviso in base allo spazio utente di sistema e alle relazioni padre-figlio.

Il valore per i secondi CPU mostra il totale dei secondi CPU per tutti i thread del processo principale del server Redis. Se vuoi visualizzare l'utilizzo della CPU per il thread principale, visualizza la metrica Secondi CPU thread principale (cpu_utilization_main_thread).

L'utilizzo elevato della CPU è una causa comune dell'aumento della latenza nelle istanze Redis perché può causare ritardi nell'elaborazione dei comandi. Monitorando questa metrica, puoi identificare se un carico elevato da numerosi client determina l'utilizzo della CPU.

redis.googleapis.com/stats/evicted_keys

Questa metrica mostra il numero di chiavi che Memorystore for Redis elimina da un'istanza perché l'istanza raggiunge il limite di maxmemory.

Monitorando questa metrica, puoi determinare se la dimensione della memoria dell'istanza è sufficiente per il tuo workload. Se i dati a cui si accede di frequente vengono rimossi dalla cache, le espulsioni delle chiavi possono influire sulle prestazioni dell'applicazione.

redis.googleapis.com/keyspace/keys_with_expiration Questa metrica monitora il numero di chiavi in un'istanza per cui è configurata una scadenza. Se nessuna chiave ha una scadenza, nel grafico della metrica viene visualizzato il messaggio "Nessun dato".
redis.googleapis.com/keyspace/keys Questa metrica mostra il numero totale di chiavi memorizzate in un database. Se non sono memorizzate chiavi, nel grafico della metrica viene visualizzato "Nessun dato".
redis.googleapis.com/stats/cpu_utilization_main_thread Questa metrica misura i secondi di CPU utilizzati dal thread principale del server Redis. Questa misurazione è suddivisa in base allo spazio utente del sistema e alla relazione genitore-figlio. Puoi monitorare la metrica per identificare i picchi di utilizzo della CPU che si verificano nel thread principale.
redis.googleapis.com/stats/memory/maxmemory Questa metrica rappresenta la quantità massima di memoria (maxmemory) che le chiavi possono utilizzare in un'istanza. Una volta raggiunto questo limite, Memorystore for Redis elimina le chiavi dall'istanza. Questo processo di espulsione viene eseguito in conformità con le norme di espulsione configurate per l'istanza.
redis.googleapis.com/stats/memory/usage_ratio Questa metrica mostra l'utilizzo attuale della memoria di un'istanza espresso come rapporto rispetto al limite massimo di memoria. Puoi monitorare la metrica per determinare quanto l'istanza è vicina alla sua capacità. In base alla configurazione dell'istanza, il raggiungimento di questo limite attiva la procedura di eliminazione delle chiavi.
redis.googleapis.com/stats/keyspace_misses

Questa metrica monitora il numero di ricerche non riuscite di chiavi nel dizionario principale. La metrica viene incrementata ogni volta che un client tenta di accedere a una chiave che non esiste nel database.

La metrica viene utilizzata per calcolare il rapporto cache-to-hit, che misura l'efficacia con cui la tua applicazione utilizza la cache. Un numero elevato di errori di keyspace spesso indica che l'applicazione richiede dati non presenti nella cache. Se l'applicazione deve recuperare questi dati da un datastore di backend più lento, ciò può comportare un aumento della latenza.

redis.googleapis.com/replication/role

Questa metrica restituisce un valore che identifica il ruolo di un nodo in un gruppo di replica. Un valore pari a 1 indica che il nodo è primario; un valore pari a 0 indica che il nodo è una replica.

Puoi utilizzare la metrica per monitorare lo stato dei nodi, in particolare durante gli eventi di failover in cui i ruoli potrebbero cambiare. Inoltre, puoi monitorare l'integrità e la topologia delle istanze di livello standard, che supportano l'alta affidabilità tramite la replica.

redis.googleapis.com/persistence/rdb/bgsave_in_progress

Questa metrica restituisce un valore che identifica se un'operazione di salvataggio in background (BGSAVE) del database Redis (RDB) è attiva. Un valore 1 indica che è attivo un salvataggio RDB in background; un valore 0 indica che non è in esecuzione alcun salvataggio in background.

È possibile utilizzare questa metrica per monitorare gli snapshot RDB automatici o le esportazioni manuali. Inoltre, monitorando la metrica, puoi correlare picchi transitori nella memoria utilizzata o nella latenza con le attività di persistenza in corso.

redis.googleapis.com/stats/pubsub/channels Questa metrica monitora il numero globale di canali Pub/Sub che hanno abbonamenti client attivi in un'istanza. La metrica misura il conteggio totale dei canali unici a cui i client sono iscritti utilizzando i comandi SUBSCRIBE o PSUBSCRIBE.
redis.googleapis.com/stats/pubsub/patterns Questa metrica monitora il numero globale di pattern Pub/Sub che hanno sottoscrizioni client attive in un'istanza. La metrica misura il conteggio totale dei pattern unici a cui sono iscritti i clienti. I client in genere creano queste sottoscrizioni utilizzando il comando PSUBSCRIBE.
redis.googleapis.com/stats/reject_connections_count

Questa metrica monitora il numero di tentativi di connessione che un'istanza rifiuta per i seguenti motivi:

  • Il limite maxclients: il server raggiunge il numero massimo consentito di connessioni client simultanee.
  • Pressione della memoria: l'istanza rifiuta nuove connessioni a causa dell'elevato utilizzo della memoria.
  • Una connessione TLS non valida: un'istanza in cui è attivata la crittografia in transito presenta problemi relativi a TLS.

Monitorando la metrica, puoi identificare i problemi di capacità. Se il numero di connessioni rifiutate aumenta, potrebbe essere necessario scalare l'istanza per gestire più connessioni o aumentare la capacità di memoria dell'istanza. Inoltre, quando la crittografia è obbligatoria, è possibile utilizzare questa metrica per facilitare il debug dei problemi di connessione lato client.

redis.googleapis.com/replication/master_repl_offset Questa metrica rappresenta il numero totale di byte che un'istanza primaria produce e invia a una replica. Sottraendo l'offset di byte di replica della replica da questo offset, puoi calcolare la dimensione del ritardo di replica. Quando non c'è alcuna differenza tra questi valori di offset, la replica è completamente sincronizzata con l'istanza primaria.
redis.googleapis.com/replication/master/slaves/offset Questa metrica indica il numero totale di byte che una replica riceve da un'istanza primaria. Sottraendo questo offset dall'offset di byte di replica dell'istanza principale, puoi calcolare la dimensione del ritardo di replica. Quando non c'è alcuna differenza tra questi valori di offset, la replica è completamente sincronizzata con l'istanza principale.
redis.googleapis.com/stats/memory/system_memory_usage_ratio Questa metrica rappresenta la quantità di memoria in uso, espressa come rapporto tra la memoria totale disponibile per il sistema. La memoria di sistema totale disponibile è la memoria di cui esegui il provisioning per un'istanza più la memoria aggiuntiva fornita da Memorystore for Redis per gestire i processi di overhead.
redis.googleapis.com/stats/memory/system_memory_overload_duration

Questa metrica misura la quantità totale di tempo (in microsecondi) in cui un'istanza si trova in modalità di sovraccarico della memoria di sistema.

Puoi utilizzare la metrica per monitorare i periodi in cui l'utilizzo della memoria dell'istanza supera le soglie operative sicure per il sistema. Valori persistenti nella metrica potrebbero indicare che l'istanza è a rischio di riduzione o instabilità delle prestazioni a causa di memoria insufficiente per i processi di overhead.

redis.googleapis.com/commands/usec_per_call

Questa metrica rappresenta il tempo medio trascorso per ogni chiamata di comando Redis in un minuto. Questo tempo viene misurato in microsecondi.

La metrica è suddivisa per singoli comandi. In questo modo puoi monitorare il rendimento di operazioni specifiche, come GET, SET e HSET.

Puoi anche utilizzare la metrica per misurare la latenza dell'istanza. Confrontando il tempo per chiamata in diversi punti, puoi identificare le variazioni di rendimento e analizzare le cause di una discrepanza di latenza.

redis.googleapis.com/stats/connections/total Questa metrica rappresenta il numero totale di connessioni accettate dal server.
redis.googleapis.com/commands/total_time Questa metrica misura la durata totale, in microsecondi, trascorsa su ogni comando Redis open source (ad esempio SET, GET o HSET) nell'ultimo secondo. Ad esempio, se il comando SET utilizza 800.000 microsecondi, per elaborare tutte le istanze combinate del comando è necessario l'80% di un singolo core della CPU.
redis.googleapis.com/stats/network_traffic Questa metrica rappresenta il numero totale di byte inviati a o da Redis. Questo conteggio include i byte dei comandi, i dati del payload e tutti i delimitatori.
redis.googleapis.com/server/uptime Questa metrica indica l'uptime del processo del server Redis in esecuzione.
redis.googleapis.com/stats/memory/usage Questa metrica rappresenta il numero totale di byte allocati dal processo del server Redis.

Metriche lato client

Questa sezione elenca e descrive le metriche lato client in Monitoring disponibili per Memorystore for Redis.

Nome metrica Descrizione
workload.googleapis.com/redis_client_rtt Questa metrica misura il tempo di round trip (RTT), ovvero il tempo trascorso dal momento in cui l'applicazione invia il comando fino a quando il client riceve completamente la risposta. Un valore elevato per questa metrica indica congestione della rete, ritardi di routing tra regioni o zone oppure un server Memorystore for Redis sovraccarico.
workload.googleapis.com/redis_client_blocking_latency Questa metrica misura il tempo che i thread dell'applicazione trascorrono in attesa di acquisire una connessione TCP disponibile dal pool di connessioni del client Redis. Un valore elevato per questa metrica indica che il pool di connessioni è troppo piccolo per il traffico simultaneo dell'applicazione, il che costringe i thread a mettersi in coda.
workload.googleapis.com/redis_application_blocking_latency Questa metrica misura il tempo che la tua applicazione impiega per analizzare, deserializzare o elaborare in altro modo la risposta da Memorystore for Redis dopo che è arrivata tramite la rete. Un valore elevato per questa metrica indica che la tua applicazione è a corto di CPU o sta recuperando payload eccessivamente grandi (ad esempio, stringhe JSON di grandi dimensioni) che richiedono molto tempo per l'elaborazione da parte dell'interprete del linguaggio.
workload.googleapis.com/redis_retry_count Questa metrica misura il numero di volte in cui un comando non viene completato, attivando il ciclo di tentativi di backoff esponenziale interno del client. Un valore elevato per questa metrica indica perdita di pacchetti, interruzioni temporanee della rete o timeout di connessione aggressivi che chiudono prematuramente la connessione TCP.
workload.googleapis.com/redis_connectivity_error_count Questa metrica misura il numero di volte in cui il client non riesce a stabilire una connessione socket al server Memorystore for Redis. Un valore elevato per questa metrica indica una configurazione errata della rete, problemi di peering VPC, blocchi del firewall o un'istanza non raggiungibile.

Metriche dei dettagli dell'istanza

Questa sezione elenca e descrive le metriche disponibili per un'istanza nella pagina Dettagli istanza della console Google Cloud .

Nome metrica Descrizione
Byte in attesa di replica

Questa metrica mostra la quantità di dati scritti in un nodo primario, ma non copiati in un nodo di replica. Rappresenta la differenza tra l'offset dei byte di replica dell'istanza principale e l'offset della replica.

Un valore pari a zero per la metrica indica che la replica è completamente sincronizzata con l'istanza principale. Un valore elevato si verifica in genere durante i periodi di attività di scrittura elevata o durante un processo di failover perché i dati vengono sincronizzati.

Percentuale successi cache

Questa metrica mostra il rapporto tra le chiamate al database Redis riuscite (hit) e il numero totale di chiamate (hit più errori). La metrica rappresenta l'efficacia con cui la tua applicazione utilizza la cache.

Un rapporto cache-to-hit più elevato indica che un numero maggiore di richieste viene soddisfatto direttamente dalla cache. Ciò è vantaggioso per il rendimento dell'applicazione perché riduce la latenza.

Un rapporto basso o in calo spesso indica che le richieste della tua applicazione dati non presenti nella cache. Potrebbe essere necessario aumentare le dimensioni dell'istanza o modificare la logica di compilazione dei dati.

Chiamate

Questa metrica mostra il numero di comandi Redis eseguiti su un'istanza principale ogni minuto. La metrica conteggia tutti i comandi Redis open source, come SET, GET e HSET. Tuttavia, la metrica non include i comandi specifici di Memorystore for Redis, come create o update.

Puoi utilizzare la metrica per misurare e analizzare la latenza dell'istanza. Confrontando il volume di chiamate con il tempo dedicato, puoi identificare le variazioni di rendimento e analizzare le possibili cause dei picchi di latenza.

Client connessi / client bloccati

Questa metrica mostra le seguenti informazioni:

  • Client connessi: il numero totale di client connessi a un'istanza. Puoi utilizzare queste informazioni per identificare il carico complessivo sull'istanza. Se il numero di client connessi si avvicina al limite di maxclients, il server potrebbe iniziare a rifiutare i nuovi tentativi di connessione.

    Il monitoraggio del numero di client connessi ti aiuta a determinare se ti avvicini ai limiti di connessione che richiedono lo scaling o il pooling di connessioni.

  • Client bloccati: il numero di connessioni client che attendono i dati perché eseguono comandi di blocco, ad esempio BLPOP, BRPOP e BRPOPLPUSH.

    Un numero elevato di client bloccati può indicare che la tua applicazione attende eventi specifici o il completamento delle chiavi. Ciò può manifestarsi come un aumento della latenza nella tua applicazione.

Secondi CPU

Questa metrica mostra il tempo totale di utilizzo della CPU (in secondi) che un'istanza utilizza in un periodo specifico.

Monitorando questa metrica, puoi determinare se l'istanza ha un utilizzo elevato della CPU. Questa è una causa frequente di aumento della latenza perché l'elevato utilizzo della CPU può ritardare l'elaborazione dei comandi. Puoi anche utilizzare la metrica per determinare se un carico elevato da un numero elevato di client determina l'utilizzo della CPU.

Chiavi rimosse / chiavi scadute

Questa metrica mostra le seguenti informazioni:

  • Chiavi rimosse: il numero di chiavi che Memorystore for Redis rimuove (espelle) da un'istanza perché l'istanza raggiunge il limite massimo di memoria (maxmemory)
  • Chiavi scadute: il numero di chiavi che raggiungono il limite di scadenza e vengono eliminate
Tempo di attività istanza

Questa metrica indica il tempo totale di esecuzione continua del processo del server Redis. Se un'istanza viene riavviata a causa di un failover, manutenzione o un arresto anomalo imprevisto, il valore della metrica scende a zero e poi aumenta di nuovo a partire dal nuovo orario di inizio.

Puoi utilizzare la metrica per identificare e correlare interruzioni impreviste del servizio, eventi di failover o finestre di manutenzione con altre modifiche alle prestazioni.

Chiavi nel database

Questa metrica mostra il numero totale di chiavi archiviate in ogni database Redis all'interno di un'istanza. La metrica monitora tutte le chiavi presenti nei database, indipendentemente dal fatto che abbiano una scadenza impostata. Se nei database non sono memorizzate chiavi, nel grafico della metrica viene visualizzato il messaggio "Nessun dato" anziché il valore zero.

Puoi monitorare la metrica per verificare che l'istanza riceva traffico e memorizzi i dati. Un calo improvviso della metrica potrebbe indicare una perdita di dati, un'espulsione di massa o un riavvio dell'istanza.

Utilizzo memoria / memoria max Questa metrica mostra l'utilizzo della memoria di un'istanza rispetto al limite massimo di memoria (maxmemory). Questo limite rappresenta la quantità massima di memoria che le chiavi possono utilizzare nell'istanza. Una volta raggiunto il limite, Memorystore for Redis inizia a eliminare le chiavi in conformità con le norme di eliminazione configurate per l'istanza.
Input/output byte di rete

Questa metrica mostra il numero di byte che un'istanza invia e riceve in un determinato periodo. Questo traffico di rete include dati provenienti da comandi, dati utili e delimitatori.

Puoi utilizzare la metrica per comprendere il carico di rete della tua applicazione, identificare i colli di bottiglia della larghezza di banda e correlare i picchi di rete con le variazioni di latenza o le prestazioni della tua applicazione.

Connessioni ricevute/rifiutate Questa metrica mostra i tentativi di connessione di rete riusciti (ricevuti) e i tentativi di connessione rifiutati in un determinato periodo. Puoi utilizzare la metrica per comprendere la velocità di connessione in entrata, rilevare picchi di connessioni e diagnosticare problemi di connettività o capacità del client.

Metriche snapshot RDB

Questa sezione elenca e descrive le metriche che ti aiutano a gestire gli snapshot RDB per Memorystore for Redis.

Metriche di monitoraggio degli snapshot

Questa sezione elenca e descrive le metriche di monitoraggio degli snapshot per Memorystore for Redis.

Nome metrica Descrizione
redis.googleapis.com/rdb/enabled Questa metrica indica se la modalità snapshot RDB è abilitata per un'istanza.
redis.googleapis.com/rdb/snapshot/time_until_next_run Questa metrica indica il numero di secondi che mancano all'inizio della successiva esecuzione dello snapshot pianificato.

Metriche sullo stato degli snapshot

Questa sezione elenca e descrive le metriche di stato degli snapshot per Memorystore for Redis.

Nome metrica Descrizione
redis.googleapis.com/rdb/snapshot/in_progress Questa metrica indica se è in corso uno snapshot RDB. Se il valore della metrica è true, viene eseguito lo snapshot.
redis.googleapis.com/rdb/snapshot/elapsed_time Questa metrica misura il tempo che trascorre durante la creazione dello snapshot corrente.
redis.googleapis.com/rdb/snapshot/attempt_count Questa metrica indica il numero di tentativi di snapshot effettuati ogni minuto.
redis.googleapis.com/rdb/snapshot/last_status Questa metrica indica lo stato dell'ultimo tentativo di snapshot.
redis.googleapis.com/rdb/snapshot/last_success_duration Questa metrica indica il tempo totale necessario per scrivere l'ultimo snapshot riuscito. Questo tempo non include i tentativi non riusciti.
redis.googleapis.com/rdb/snapshot/last_success_age Questa metrica indica il tempo trascorso dall'inizio dell'ultimo snapshot riuscito.

Metriche di recupero degli snapshot

Questa sezione elenca e descrive le metriche di ripristino degli snapshot per Memorystore for Redis.

Nome metrica Descrizione
redis.googleapis.com/rdb/recovery/in_progress Questa metrica indica se viene eseguito un recupero da uno snapshot RDB. Se il valore di questa metrica è true, è in corso un ripristino.
redis.googleapis.com/rdb/recovery/elapsed_time Questa metrica indica l'aumento del tempo trascorso durante un recupero in corso da uno snapshot RDB.
redis.googleapis.com/rdb/recovery/estimated_recovery_time Questa metrica indica il tempo previsto per il ripristino quando viene utilizzato l'ultimo snapshot RDB riuscito.
redis.googleapis.com/rdb/recovery/estimated_remaining_time Questa metrica indica il tempo rimanente necessario per completare un recupero da uno snapshot RDB.
redis.googleapis.com/rdb/recovery/attempts_since_last_success Questa metrica indica il numero di tentativi di recupero dall'ultimo tentativo di recupero riuscito da uno snapshot RDB.
redis.googleapis.com/rdb/recovery/last_status Questa metrica indica lo stato del recupero più recente da uno snapshot RDB.
redis.googleapis.com/rdb/recovery/last_duration Questa metrica indica il tempo necessario per ripristinare l'ultimo snapshot RDB.
redis.googleapis.com/rdb/recovery/total_bytes_count Questa metrica indica le dimensioni di uno snapshot RDB.
redis.googleapis.com/rdb/recovery/loaded_bytes_count Questa metrica indica il numero di byte caricati durante il recupero da uno snapshot RDB. Se il recupero non è attivo, il numero di byte è 0.