Redis

A integração do Redis coleta métricas relacionadas ao desempenho e ao uso. As métricas de desempenho se concentram na capacidade da CPU, da memória e da rede, e as métricas de uso se concentram em chaves, comandos e replicação. A integração também coleta registros do Redis e os analisa em um payload JSON. Durante esse processo, os símbolos de papel e nível são transformados em um formato legível.

Para mais informações sobre o Redis, consulte redis.io (em inglês).

Pré-requisitos

Para coletar e ingerir a telemetria do Redis, instale o agente de operações versão 2.7.0 ou mais recente.

Este receptor suporta a versão 6.2 do Redis.

Configure o agente de operações para Redis

Seguindo o guia para Configurar o agente de operações, adicione os elementos necessários para coletar registros das instâncias do Redis e reinicie o agente.

Exemplo de configuração

O comando a seguir cria o arquivo de configuração para coletar e ingerir registros do Redis e reinicia o agente de operações no Linux.

sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
logging:
  receivers:
    redis:
      type: redis
  service:
    pipelines:
      redis:
        receivers:
        - redis
metrics:
  receivers:
    redis:
      type: redis
      password: Strong_Password123
  service:
    pipelines:
      redis:
        receivers:
        - redis
EOF
sudo service google-cloud-ops-agent restart

Configurar a coleta de registros

Para ingerir registros do Redis, é preciso criar receptores para os registros que o Redis produz e criar um pipeline para os novos receptores. Para configurar um receptor para os registros redis, especifique os seguintes campos:

Campo Padrão Descrição
type Este valor precisa ser redis.
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] Uma lista de caminhos do sistema de arquivos a serem lidos acompanhando cada arquivo. Um caractere curinga (*) pode ser usado nos caminhos. por exemplo, /var/log/redis/*.log.
exclude_paths [] Uma lista de padrões de caminho do sistema de arquivos a serem excluídos do conjunto correspondente a include_paths.
record_log_file_path false Se definido como true, o caminho para o arquivo específico de que a gravação de registro foi recebida aparecerá na entrada de registro de saída como o valor do identificador agent.googleapis.com/log_file_path. Ao usar um caractere curinga, apenas o caminho do arquivo de que o registro foi recebido é gravado.
wildcard_refresh_interval 60s O intervalo em que os caminhos de arquivos curinga no include_paths são atualizados. Dado como uma duração de tempo, por exemplo, 30s ou 2m. Essa propriedade pode ser útil com capacidades de registro altas em que os arquivos de registro são alternados mais rapidamente do que o intervalo padrão.

O que é registrado

Os registros do Redis contêm os seguintes campos no LogEntry:

Campo Tipo Descrição
jsonPayload.roleChar string Caractere do papel do Redis (X, C, S, M)
jsonPayload.role string Traduzido do caractere de papel do Redis (sentinel, RDB/AOF_writing_child, slave, master)
jsonPayload.level string Nível de entrada de registro
jsonPayload.pid número ID do processo
jsonPayload.message string Mensagem de registro
severity string (LogSeverity) Nível de entrada de registro (traduzido)
timestamp string (Timestamp) Hora em que a entrada foi registrada

Configurar a coleta de métricas

Para coletar métricas do Redis, crie um receptor para as métricas do Redis e, em seguida, crie um pipeline para o novo receptor. Para configurar um receptor para suas métricas do Cassandra, especifique os campos a seguir:

Campo Padrão Descrição
type Este valor precisa ser redis.
address localhost:6379 O URL exposto pelo Redis.
collection_interval 60s Um valor de time.Duration, como 30s ou 5m.
password A senha usada para se conectar ao servidor.
insecure true Define se uma conexão TLS segura será ou não usada. Se definido como false, o TLS será ativado.
insecure_skip_verify false Define se é necessário pular a verificação do certificado. Se insecure for definido como true, o valor de insecure_skip_verify não será usado.
cert_file Caminho para o certificado TLS a ser usado para conexões exigidas por TLS.
key_file Caminho para a chave TLS a ser usada para conexões exigidas por TLS.
ca_file Caminho para o certificado de CA. Como cliente, isso verifica o certificado do servidor. Se estiver vazio, o receptor usará a CA raiz do sistema.

O que é monitorado?

A tabela a seguir fornece a lista de métricas que o agente de operações coleta da instância do Redis.

Tipo de métrica 
Tipo, tipo
Recursos monitorados
Rótulos
workload.googleapis.com/redis.clients.blocked
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.clients.connected
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.clients.max_input_buffer
GAUGEINT64
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
CUMULATIVEDOUBLE
gce_instance
state
workload.googleapis.com/redis.keys.evicted
CUMULATIVEINT64
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
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.memory.fragmentation_ratio
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/redis.memory.lua
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.memory.peak
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.memory.rss
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.memory.used
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.net.input
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.net.output
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.rdb.changes_since_last_save
GAUGEINT64
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
GAUGEINT64
gce_instance
 

Amostra de painel

Para visualizar as métricas dessa integração, use um exemplo de painel do Cloud Monitoring. Conclua os procedimentos de Como instalar painéis de amostra para importar o painel Visão geral do GCE do Redis da Biblioteca de amostras e ver os gráficos que exibem as métricas do Redis.

Verificar a configuração

É possível usar o Explorador de registros e o Metrics Explorer para verificar se você configurou corretamente o receptor do Redis. Pode levar um ou dois minutos para o agente de operações começar a coletar registros e métricas.

Para verificar se os registros são ingeridos, acesse o Explorador de registros e execute a seguinte consulta para ver os registros Redis:

resource.type="gce_instance"
logName=("projects/PROJECT_ID/logs/redis")


Para verificar se as métricas são ingeridas, acesse o Metrics Explorer e execute a seguinte consulta na guia do MQL.

fetch gce_instance
| metric 'workload.googleapis.com/redis.connections.received'
| align rate(1m)
| every 1m

A seguir

Para ver um tutorial sobre como usar o Ansible para instalar o agente de operações, configurar um aplicativo de terceiros e instalar um painel de amostra, consulte o vídeo Instalação do agente de operações para resolver problemas de aplicativos de terceiros.