Monitorando Droplet Redis Usando Serviço Redis Exporter

Introdução

O monitoramento eficaz de bancos de dados Redis é fundamental para manter o desempenho ótimo, identificar pontos de travamento potenciais e garantir a confiabilidade global do sistema. O Serviço Redis Exporter é uma ferramenta robusta projetada para monitorar bancos de dados Redis usando Prometheus.

Este tutorial irá guiar você pelo processo completo de configuração e instalação do Serviço Redis Exporter, garantindo que você crie uma solução de monitoramento de forma ágil. Seguindo este tutorial, você alcançará uma configuração de monitoramento totalmente operacional para monitorar eficazmente as métricas de desempenho do seu banco de dados Redis.

Nota: O tempo aproximado de configuração deste tutorial é de cerca de 25 minutos.

Pré-requisitos

Antes de começar, certifique-se de ter os seguintes pré-requisitos em ordem:

  • Você precisará ter servidores de banco de dados Redis configurados e executando em um Droplet Ubuntu. Você pode consultar nossos tutoriais sobre Como Instalar e Segurar o Redis em Ubuntu. Os servidores que você deseja monitorar devem ser acessíveis a partir da máquina onde você planeja instalar o Serviço de Exporter Redis.
  • Você precisará de acesso SSH aos servidores Redis para instalar e configurar o Serviço de Exporter Redis.
  • O Exporter MySQL do Prometheus integra-se com o Prometheus para coleta de métricas e o Grafana para visualização. Aqui, estamos usando imagens de Prometheus e Grafana do Marketplace DigitalOcean para monitorar os Droplet de bancos de dados.

Nota: Neste tutorial, passaremos por duas metodologias diferentes para configurar o Serviço de Exporter Redis para monitorar bancos de dados Redis. Você pode escolher entre a configuração manual e automação baseada em script, cada uma adaptada a preferências e requisitos operacionais diferentes. Siga com as instruções de cada método para implantar o Serviço de Exporter Redis em sua infraestrutura eficazmente. Esta flexibilidade permite que você selecione a melhor estratégia de implantação e abordagem de fluxo de trabalho de operação.

Método 1: Configuração Manual

Vamos prosseguir com o método de configuração manual nesta seção.

Criar Usuário e Grupo de Sistema do Prometheus

Crie um usuário e grupo de sistema chamados “prometheus” para gerenciar o serviço de exporter.

sudo groupadd --system prometheus
sudo useradd -s /sbin/nologin --system -g prometheus prometheus

Baixar e Instalar o Exporter Redis

Baixe a versão mais recente do Exporter Redis do GitHub, extraia os arquivos baixados e move o binário para o diretório /usr/local/bin/.

curl -s https://api.github.com/repos/oliver006/redis_exporter/releases/latest | grep browser_download_url | grep linux-amd64 | cut -d '"' -f 4 | wget -qi -
tar xvf redis_exporter-*.linux-amd64.tar.gz
sudo mv redis_exporter-*.linux-amd64/redis_exporter /usr/local/bin/

Verificar Instalação do Exporter Redis

redis_exporter --version

Aqui está a saída de exemplo:

Configurar Serviço systemd para Exporter Redis

Crie um arquivo de unidade de serviço systemd para gerenciar o serviço do Exporter Redis.

sudo vim /etc/systemd/system/redis_exporter.service

Adicione o seguinte conteúdo ao arquivo:

redis_exporter.service
[Unit]
Description=Prometheus Redis Exporter
Documentation=https://github.com/oliver006/redis_exporter
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=prometheus
Group=prometheus
ExecReload=/bin/kill -HUP $MAINPID
ExecStart=/usr/local/bin/redis_exporter \
  --log-format=txt \
  --namespace=redis \
  --web.listen-address=:9121 \
  --web.telemetry-path=/metrics

SyslogIdentifier=redis_exporter
Restart=always

[Install]
WantedBy=multi-user.target

–log-format=txt \

sudo systemctl daemon-reload
sudo systemctl enable redis_exporter
sudo systemctl start redis_exporter

–web.listen-address=:9121 \

–web.telemetry-path=/metrics

Recarregar systemd e Iniciar Serviço do Exporter Redis

cp /etc/prometheus/prometheus.yml /etc/prometheus/prometheus.yml-$(date +'%d%b%Y-%H:%M')

Configurando o Drople de Prometheus (Método manual)

Vamos configurar o drople de Prometheus para a configuração manual.

Faça um backup do arquivo prometheus.yml

vi /etc/prometheus/prometheus.yml
prometheus.yml
scrape_configs:
  - job_name: server1_db
    static_configs:
      - targets: ['10.10.1.10:9121']
        labels:
          alias: db1

  - job_name: server2_db
    static_configs:
      - targets: ['10.10.1.11:9121']
        labels:

Adicione os pontos finais do Exporter Redis para serem coletados

Entre em sua conta de servidor Prometheus e adicione os pontos finais do Exporter Redis para serem coletados.

Substitua as addresses IP e portas pelos seus pontos finais do Exporter Redis (9121 é a porta padrão para o Serviço do Exporter Redis).

Isso é o fim da configuração manual. Agora, vamos prosseguir com a configuração baseada em scripts.

Método 2: Configurando usando scripts

Você também pode alcançar isso executando dois scripts – um para os dropletos de alvo e o outro para o dropleto Prometheus.

wget https://solutions-files.ams3.digitaloceanspaces.com/Redis-Monitoring/DO_Redis_Target_Config.sh

Vamos começar configurando os Dropletos de Alvo.

chmod +x DO_Redis_Target_Config.sh

Conecte-se por SSH ao Droplet de Alvo.

./DO_Redis_Target_Config.sh

Baixe o script de configuração de alvo usando o seguinte comando:

Uma vez o script baixado, certifique-se de que ele tem permissões de execução executando:

Execute o script executando:

A configuração está completa.

wget https://solutions-files.ams3.digitaloceanspaces.com/Redis-Monitoring/DO_Redis_Prometheus_Config.sh

Nota: Se o arquivo redis_exporter.service já existir, o script não será executado.

chmod +x DO_Redis_Prometheus_Config.sh

Configurando o Droplet Prometheus (Método de Script)

./DO_Redis_Prometheus_Config.sh

Conecte-se por SSH ao Droplet Prometheus e baixe o script usando o seguinte comando:

Uma vez o script baixado, certifique-se de que ele tenha permissões de execução executando:

Execute o script executando:

Insira o número de Dropletos a serem adicionados ao monitoramento.

Insira os nomes de host e Endereços IP.

A configuração está completa.

Uma vez adicionado, verifique se os alvos são atualizados acessando a URL prometheushostname:9090/targets.

Nota: Se você entrar com um endereço de IP já adicionado ao monitoramento, você será solicitado a digitar os detalhes novamente. Além disso, se você não tiver mais servidores para adicionar, você pode entrar com 0 para sair do script

Configurando o Grafana

Entre no painel do Grafana visitando Grafana-IP:3000 no navegador.

Vá para Configurações > Fontes de Dados.

Clique em Adicionar fonte de dados.

https://solutions-files.ams3.digitaloceanspaces.com/Redis-Monitoring/DO_Grafana-Redis_Monitoring.json

Pesquise e selecione o Prometheus.

Insira o Nome como Prometheus e a URL (Prometheushostname:9090) e clique em “Salvar & Testar”. Se você ver “Fonte de dados está funcionando”, você adicionou com sucesso a fonte de dados. Depois, vá para Criar > Importar.

Você pode configurar manualmente o painel do Grafana ou importar o painel carregando o arquivo JSON. Um modelo de JSON para o monitoramento do Redis pode ser encontrado no link abaixo:

Preencha os campos e importe.

O painel do Grafana está pronto. Selecione o host e verifique se as métricas são visíveis. Sinta-se à vontade para modificar e editar o painel conforme necessário.

Conclusão

Neste tutorial, você aprendeu a automatizar a implantação do Redis Exporter em seus servidores. O script começa verificando se o arquivo de unidade redis_exporter.service já existe e sai se sim, evitando configurações redundantes. Então, ele cria um usuário e grupo de sistema do Prometheus para a isolamento de serviço seguro. O script baixa e instala os binários do Redis Exporter, colocando-os em /usr/local/bin/ para padronização.

Source:
https://www.digitalocean.com/community/tutorials/monitor-redis-droplet-using-redis-exporter