Todos os produtos
Search
Central de documentação

Elasticsearch:Use o Alibaba Cloud Elasticsearch e o Rsbeat para analisar logs lentos do Redis em tempo real

Última atualização: Aug 19, 2026

Consultas lentas excessivas ou de longa duração no Redis (por exemplo, 20 segundos) podem bloquear a fila de operações single-threaded e causar indisponibilidade do service. Use o Alibaba Cloud Elasticsearch e o Rsbeat para coletar e analisar logs lentos do Redis em tempo real, permitindo detectar e resolver problemas de desempenho rapidamente.

Informações básicas

O Rsbeat coleta logs lentos do Redis e os envia ao Elasticsearch para visualização e análise no console do Kibana. Este tópico utiliza os seguintes termos:

  • Elasticsearch: mecanismo de busca e análise distribuído em tempo real, baseado no Lucene e lançado sob a licença Apache. Permite armazenar, consultar e analisar grandes conjuntos de dados quase em tempo real.

    O Alibaba Cloud Elasticsearch é compatível com recursos de código aberto do Elasticsearch, como Security, Machine Learning, Graph e Application Performance Monitoring (APM). Está disponível em versões como 5.5.3, 6.3.2, 6.7.0, 6.8.0 e 7.4.0. Oferece suporte ao plug-in comercial X-Pack e fornece gerenciamento de permissões de nível empresarial, monitoramento e alertas de segurança, além de relatórios automatizados. Neste exemplo, usa-se o Alibaba Cloud Elasticsearch. Para mais informações, consulte What is Alibaba Cloud Elasticsearch?.

  • Rsbeat: shipper de dados usado para coletar e analisar logs lentos do Redis. Para mais informações, consulte a documentação oficial do Rsbeat.

  • Redis: armazenamento de estruturas de dados em memória e de código aberto. Pode ser usado como banco de dados, cache e middleware de mensagens. Para mais informações, consulte a documentação oficial do Redis.

    O ApsaraDB for Redis é compatível com protocolos nativos do Redis e oferece suporte a armazenamento híbrido de memória e disco com arquitetura hot standby de alta disponibilidade. Além disso, pode ser dimensionado para atender aos requisitos de operações de leitura e gravação de alto desempenho. Neste exemplo, usa-se o ApsaraDB for Redis. Para mais informações, consulte What is ApsaraDB for Redis?.

Procedimento

  1. Make preparations

    Crie um cluster do Alibaba Cloud Elasticsearch, uma instância do ApsaraDB for Redis e uma instância do Elastic Compute Service (ECS) na mesma virtual private cloud (VPC).

  2. Step 1: Configure slow query parameters for the ApsaraDB for Redis instance

    Configure as condições para gerar logs lentos do Redis e especifique o número máximo de logs lentos a serem registrados conforme suas necessidades.

  3. Step 2: Install and configure Rsbeat

    Instale o Rsbeat na instância ECS e especifique a instância do ApsaraDB for Redis e o cluster do Alibaba Cloud Elasticsearch no arquivo de configuração do Rsbeat.

  4. Step 3: Analyze the Redis slow logs in the Kibana console by using graphs

    Visualize os detalhes dos logs lentos do Redis no console do Kibana do cluster do Alibaba Cloud Elasticsearch e analise os logs com base nos requisitos do seu negócio.

Preparativos

  1. Crie um cluster do Alibaba Cloud Elasticsearch e ative o recurso Auto Indexing para o cluster.

    Para mais informações, consulte Create an Alibaba Cloud Elasticsearch cluster e Configure the YML file. Neste exemplo, usa-se um cluster Elasticsearch V6.7 da Standard Edition.

  2. Crie uma instância do ApsaraDB for Redis.

    Para mais informações, consulte Step 1: Create an ApsaraDB for Redis instance. Neste exemplo, usa-se uma instância do ApsaraDB for Redis V5.0 da Community Edition. Essa instância reside na mesma VPC que o cluster do Alibaba Cloud Elasticsearch, o que permite acessar o cluster pela rede interna.

  3. Crie uma instância ECS.

    Para mais informações, consulte Create an instance by using the wizard. Neste exemplo, usa-se uma instância ECS com imagem CentOS 7.6 de 64 bits. Essa instância reside na mesma VPC que a instância do ApsaraDB for Redis e o cluster do Alibaba Cloud Elasticsearch.

  4. Configure uma lista de permissões de endereços IP para acesso à instância do ApsaraDB for Redis.

    Adicione o endereço IP privado da instância ECS a uma lista de permissões de endereços IP da instância do ApsaraDB for Redis. Para mais informações, consulte Configure whitelists.

Etapa 1: Configurar parâmetros de consulta lenta para a instância do ApsaraDB for Redis

  1. Faça login no console do ApsaraDB for Redis.

  2. Na barra de navegação superior, selecione uma região.

  3. Na página Clusters, clique em ID da instância de destino.

  4. No painel de navegação à esquerda, clique em Parameters.

  5. Na aba System Parameters, localize os parâmetros slowlog-log-slower-than e slowlog-max-len. Em seguida, modifique-os conforme suas necessidades.

    Parâmetro

    Descrição

    Exemplo

    slowlog-log-slower-than

    Se o tempo de execução de um comando exceder o valor deste parâmetro, o comando será definido como consulta lenta e registrado como log lento. O tempo de execução não inclui o tempo gasto em fila. Unidade: microssegundos. Valor padrão: 10.000 (10 milissegundos).

    Importante

    Se você definir este parâmetro como um número negativo, o ApsaraDB for Redis não registrará consultas lentas como logs lentos. Se definir como 0, o ApsaraDB for Redis registrará todos os comandos.

    Neste exemplo, este parâmetro está definido como 20.000. Esse valor indica que um comando cujo tempo de execução excede 20 milissegundos é registrado como log lento.

    slowlog-max-len

    Número máximo de comandos de consulta lenta que podem ser registrados como logs lentos. Se o número de comandos registrados exceder o valor deste parâmetro, o ApsaraDB for Redis excluirá os logs lentos mais antigos.

    Neste exemplo, este parâmetro está definido como 100. Esse valor indica que o ApsaraDB for Redis registra os últimos 100 comandos de consulta lenta como logs lentos.

Etapa 2: Instalar e configurar o Rsbeat

  1. Conecte-se à instância ECS.

    Para mais informações, consulte Connect to an ECS instance.

  2. Baixe e descompacte o pacote do Rsbeat.

    Neste exemplo, usa-se o Rsbeat 5.3.2.

    wget https://github.com/Yourdream/rsbeat/archive/master.zip
    unzip master.zip
  3. Modifique as configurações do Rsbeat.

    1. Execute o seguinte comando para abrir o arquivo rsbeat.yml:

      cd rsbeat-master
      vim rsbeat.yml
    2. Modifique as configurações nas seções rsbeat e output.elasticsearch conforme as instruções abaixo e salve as alterações.

      O exemplo a seguir mostra a configuração do rsbeat.yml:

      ################################ Rsbeat ######################################
      
      rsbeat:
        # Defines how often an event is sent to the output
        period: 1s
        redis: ["r-xxx.redis.rds.aliyuncs.com:6379"]
        slowerThan: 100
      
      #================================ General =====================================
      
      # The name of the shipper that publishes the network data. It can be used to group
      # all the transactions sent by a single shipper in the web interface.
      #name:
      
      # The tags of the shipper are included in their own field with each
      # transaction published.
      #tags: ["service-X", "web-tier"]
      
      # Optional fields that you can specify to add additional information to the
      # output.
      #fields:
      #  env: staging
      
      #============================== Outputs =======================================
      
      # Configure what outputs to use when sending the data collected by the beat.
      # Multiple outputs may be used.
      
      #-------------------------- Elasticsearch output ------------------------------
      output.elasticsearch:
        # Array of hosts to connect to.
        hosts: ["es-cn-xxx.elasticsearch.aliyuncs.com:9200"]
      
        # Optional protocol and basic auth credentials.
        #protocol: "https"
        username: "elastic"
        password: "xxx"
      
        # Overwrite existing template
        template.overwrite: true
      Tabela 1. Configurações na seção rsbeat

      Parâmetro

      Descrição

      period

      Intervalo no qual o Rsbeat envia logs lentos do Redis ao cluster do Elasticsearch.

      redis

      Endpoint usado para conectar-se à instância do ApsaraDB for Redis. Para mais informações, consulte View endpoints.

      Importante

      A senha usada para acessar a instância do ApsaraDB for Redis não é especificada no arquivo de configuração do Rsbeat. Para permitir que o Rsbeat acesse a instância do ApsaraDB for Redis, ative o acesso sem senha após obter o endpoint. Para mais informações, consulte Enable password-free access.

      slowerThan

      Tempo necessário para enviar o comando config set slowlog-log-slower-than ao servidor Redis. Unidade: microssegundos.

      Tabela 2. Configurações na seção output.elasticsearch

      Parâmetro

      Descrição

      hosts

      Endpoint usado para acessar o cluster do Elasticsearch. É possível obter o endpoint na página Basic Information do cluster do Elasticsearch. Para mais informações, consulte View the basic information of a cluster.

      username

      Nome de usuário usado para acessar o cluster do Elasticsearch. O nome de usuário padrão é elastic.

      password

      Senha usada para acessar o cluster do Elasticsearch. A senha é especificada durante a criação do cluster do Elasticsearch. Caso tenha esquecido a senha, redefina-a. Para mais informações sobre precauções e procedimentos para redefinir a senha, consulte Reset the access password for an Elasticsearch cluster.

      template.overwrite

      Especifica se o modelo de índice criado pelo Rsbeat, que possui o mesmo nome do modelo de índice do cluster do Elasticsearch, substitui o modelo de índice do cluster. Valor padrão: true.

  4. Inicie o service do Rsbeat.

    ./rsbeat.linux.amd64 -c rsbeat.yml -e -d "*"

Etapa 3: Analisar os logs lentos do Redis no console do Kibana usando gráficos

  1. Faça login no console do Kibana do cluster do Elasticsearch.

    Para mais informações, consulte Log on to the Kibana console.

  2. Crie um index pattern.

    1. No painel de navegação à esquerda, clique em Management.

    2. Na seção Kibana, clique em Index Patterns.

    3. Clique em Create index pattern.

    4. Na seção exibida, insira um nome de index pattern no campo Index pattern e clique em Next step.

    5. Especifique o Time Filter field name. Neste tópico, defina este parâmetro como @timestamp.

    6. Clique em Create index pattern.

  3. Visualize os detalhes dos logs lentos do Redis.

    1. No painel de navegação à esquerda, clique em Discover.

    2. Na parte esquerda da página Discover, selecione rsbeat-* na lista suspensa abaixo de Add a filter.

    3. No canto superior direito da página, selecione um intervalo de tempo e visualize os detalhes dos logs lentos do Redis nesse período.

      Na página Discover, selecione rsbeat-* como index pattern e defina o intervalo de tempo como Last 24 hours para visualizar os registros de logs lentos desse período. A página exibe o número de resultados correspondentes, um histograma com a distribuição temporal e uma lista de entradas de log contendo campos como cmd, ipPort, slowId, key e duration.

  4. Identifique as 10 principais chaves com o maior número de logs lentos do Redis e organize-as em ordem decrescente.

    1. No painel de navegação à esquerda, clique em Visualize.

    2. Na página Visualize, clique em ícone 添加图标.

    3. Na caixa de diálogo New Visualization, clique em Pie.

    4. Na seção From a New Search, Select Index, clique em rsbeat-*.

    5. Configure os parâmetros nas seções Metrics e Buckets.

      Configuração de Metrics:

      • Slice Size: Defina Aggregation como Count e Custom Label como slowlog count.

      Configuração de Buckets:

      • Split Slices: Defina Aggregation como Terms, Field como key, Order By como metric: slowlog count, Order como Descend e Size como 10.

    6. Clique em ícone 运行图标 para visualizar o resultado.

      统计结果

      Nota

      Para mais informações sobre notas de uso do console do Kibana, consulte o Guia do Usuário do Kibana.