Redis

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

L'integrazione di Redis raccoglie metriche relative alle prestazioni e all'utilizzo. Le metriche relative alle prestazioni si concentrano su velocità effettiva di CPU, memoria e rete, mentre le metriche di utilizzo sono incentrate su chiavi, comandi e replica. L'integrazione raccoglie anche i log Redis e li analizza in un payload JSON. Durante questo processo, i simboli del ruolo e del livello vengono trasformati in un formato leggibile.

Per ulteriori informazioni su Redis, consulta la documentazione di Redis.

Prerequisiti

Per raccogliere la telemetria Redis, devi installare l'agente Ops:

  • Per le metriche, installa la versione 2.7.0 o successive.
  • Per i log, installa la versione 2.5.0 o successive.

Questa integrazione supporta Redis versione 6.2.

Configura l'agente Ops per Redis

Segui la guida per la configurazione dell'agente Ops, aggiungi gli elementi richiesti per raccogliere la telemetria dalle istanze Redis e riavvia l'agente.

Configurazione di esempio

I comandi seguenti creano la configurazione per raccogliere e importare la telemetria per Redis e riavvia l'agente Ops.

# Configures Ops Agent to collect telemetry from the app and restart Ops Agent.

set -e

# Create a back up of the existing file so existing configurations are not lost.
sudo cp /etc/google-cloud-ops-agent/config.yaml /etc/google-cloud-ops-agent/config.yaml.bak

# Configure the Ops Agent.
sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
metrics:
  receivers:
    redis:
      type: redis
  service:
    pipelines:
      redis:
        receivers:
        - redis
logging:
  receivers:
    redis:
      type: redis
  service:
    pipelines:
      redis:
        receivers:
        - redis
EOF

sudo service google-cloud-ops-agent restart
sleep 60

Configura raccolta di log

Per importare i log da Redis, devi creare destinatari per i log generati da Redis e quindi creare una pipeline per i nuovi destinatari.

Per configurare un destinatario per i log redis, specifica i seguenti campi:

Campo Predefinito Descrizione
exclude_paths Un elenco di pattern di percorsi del file system da escludere dal set corrispondente a include_paths.
include_paths [/var/log/redis/redis-server.log, /var/log/redis_6379.log, /var/log/redis/redis.log, /var/log/redis/default.log, /var/log/redis/redis_6379.log] Un elenco di percorsi del filesystem da leggere aggiungendo in coda ogni file. È possibile utilizzare un carattere jolly (*) nei percorsi, ad esempio /var/log/redis/*.log.
record_log_file_path false Se è impostato su true, il percorso del file specifico da cui è stato ottenuto il record di log viene visualizzato nella voce di log di output come valore dell'etichetta agent.googleapis.com/log_file_path. Quando utilizzi un carattere jolly, viene registrato solo il percorso del file da cui è stato ottenuto il record.
type Questo valore deve essere redis.
wildcard_refresh_interval 60s L'intervallo con cui vengono aggiornati i percorsi dei file con caratteri jolly in include_paths. Dato come durata temporale analizzabile da time.ParseDuration, ad esempio 30s o 2m. Questa proprietà potrebbe essere utile in velocità effettiva di logging elevata in cui i file di log vengono ruotati più velocemente dell'intervallo predefinito.

Cosa viene registrato

logName deriva dagli ID ricevitore specificati nella configurazione. I campi dettagliati all'interno di LogEntry sono i seguenti.

I log redis contengono i seguenti campi in LogEntry:

Campo Tipo Descrizione
jsonPayload.level string Livello voce di log
jsonPayload.message string Invia messaggio di log, includendo stackt dettagliato, se fornito
jsonPayload.pid number L'ID processo che emette il log
jsonPayload.role string Tradotto dal carattere del ruolo Redis (sentinel, RDB/AOF_writing_child, slave, master)
jsonPayload.roleChar string Carattere del ruolo Redis (X, C, S, M)
severity stringa (LogSeverity) Livello delle voci di log (tradotto).

Configurazione della raccolta di metriche

Per importare metriche da Redis, devi creare ricevitori per le metriche generate da Redis e quindi creare una pipeline per i nuovi destinatari.

Per configurare un destinatario per le metriche redis, specifica i seguenti campi:

Campo Predefinito Descrizione
address localhost:6379 L'URL esposto da Redis.
ca_file Percorso del certificato CA. In qualità di client, viene verificato il certificato del server. Se il campo è vuoto, il destinatario utilizza la CA radice di sistema.
cert_file Percorso del certificato TLS da utilizzare per le connessioni richieste mTLS.
collection_interval 60s Un valore di durata del tempo, come 30s o 5m.
insecure true Consente di stabilire se utilizzare o meno una connessione TLS sicura. Se il criterio è impostato su false, TLS è attivato.
insecure_skip_verify false Consente di specificare se saltare o meno la verifica del certificato. Se insecure è impostato su true, il valore insecure_skip_verify non viene utilizzato.
key_file Percorso della chiave TLS da utilizzare per le connessioni richieste mTLS.
password La password utilizzata per connettersi al server.
type Questo valore deve essere redis.

Che cosa viene monitorato

La tabella seguente fornisce l'elenco delle metriche che l'agente operativo raccoglie dall'istanza Redis.

Tipo di metrica
Tipo, tipo
Risorse monitorate
Etichette
workload.googleapis.com/redis.clients.blocked
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.clients.connected
GAUGE, INT64
gce_instance
 
workload.googleapis.com/redis.clients.max_input_buffer
GAUGE, INT64
gce_instance
 
workload.googleapis.com/redis.clients.max_output_buffer
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.commands.processed
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.connections.received
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.connections.rejected
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.cpu.time
CUMULATIVE, DOUBLE
gce_instance
state
workload.googleapis.com/redis.keys.evicted
CUMULATIVE, INT64
gce_instance
 
workload.googleapis.com/redis.keys.expired
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.keyspace.hits
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.keyspace.misses
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.latest_fork
GAUGE, INT64
gce_instance
 
workload.googleapis.com/redis.memory.fragmentation_ratio
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/redis.memory.lua
GAUGE, INT64
gce_instance
 
workload.googleapis.com/redis.memory.peak
GAUGE, INT64
gce_instance
 
workload.googleapis.com/redis.memory.rss
GAUGE, INT64
gce_instance
 
workload.googleapis.com/redis.memory.used
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.net.input
CUMULATIVE, INT64
gce_instance
 
workload.googleapis.com/redis.net.output
CUMULATIVE, INT64
gce_instance
 
workload.googleapis.com/redis.rdb.changes_since_last_save
GAUGE, INT64
gce_instance
 
workload.googleapis.com/redis.replication.backlog_first_byte_offset
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.replication.offset
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.slaves.connected
GAUGE, INT64
gce_instance
 

Dashboard di esempio

Per visualizzare le metriche Redis, devi configurare un grafico o una dashboard. Cloud Monitoring offre una libreria di dashboard di esempio per le integrazioni, che contengono grafici preconfigurati. Per informazioni sull'installazione di queste dashboard, consulta Installazione di dashboard di esempio.

Verificare la configurazione

Questa sezione descrive come verificare che tu abbia configurato correttamente il ricevitore Redis. L'agente Ops potrebbe richiedere uno o due minuti per iniziare a raccogliere la telemetria.

Per verificare che i log siano importati, vai a Esplora log ed esegui la query seguente per visualizzare i log di Redis:

resource.type="gce_instance"
log_id("redis")

Per verificare che le metriche siano importate, vai a Metrics Explorer ed esegui la seguente query nella scheda MQL:

fetch gce_instance
| metric 'workload.googleapis.com/redis.clients.max_input_buffer'
| every 1m

Passaggi successivi

Per una procedura dettagliata su come utilizzare Ansible per installare l'agente Ops, configurare un'applicazione di terze parti e installare una dashboard di esempio, guarda il video Installare l'agente Ops per risolvere i problemi delle applicazioni di terze parti.