Monitoreo de dropletas de Redis usando el servicio Redis Exporter

Introducción

El monitoreo eficaz de las bases de datos Redis es fundamental para mantener un rendimiento óptimo, identificar posibles puntos de bloqueo y garantizar la confiabilidad general del sistema. El Servicio Redis Exporter es una utilidad robusta diseñada para monitorear bases de datos Redis utilizando Prometheus.

Este tutorial le guiará a través de la configuración completa y el ajuste del Servicio Redis Exporter, asegurándose de que establezca una solución de monitoreo sin problemas. Al seguir este tutorial, logrará una configuración de monitoreo totalmente operativa para monitorear efectivamente las métricas de rendimiento de su base de datos Redis.

Nota: El tiempo aproximado de configuración de este tutorial es de alrededor de 25 minutos

Prerequisitos

Antes de comenzar, asegúrese de tener los siguientes prerequisitos en lugar:

  • Necesitará tener los servidores de base de datos Redis instalados y en funcionamiento en una Ubuntu Droplet. Puede consultar nuestros tutoriales sobre Cómo instalar y asegurar Redis en Ubuntu. Los servidores que desea supervisar deben estar accesibles desde la máquina donde planea instalar el Servicio de Exporter de Redis.
  • Necesitará acceso SSH a los servidores Redis para instalar y configurar el Servicio de Exporter de Redis.
  • El Exporter de MySQL de Prometheus integra con Prometheus para recolección de métricas y Grafana para visualización. Aquí estamos usando imágenes de Prometheus y Grafana de la Tienda de DigitalOcean para monitorear las Droplet de base de datos.

Nota: En este tutorial, pasaremos por dos métodos diferentes para configurar el Servicio Redis Exporter para monitorizar bases de datos Redis. Puedes elegir entre la configuración manual y la automatización basada en scripts, cada uno adaptado a preferencias y requisitos operacionales diferentes. Sigue las instrucciones de cada método para desplegar el Servicio Redis Exporter en tu infraestructura de manera efectiva. Esta flexibilidad te permite seleccionar la mejor estrategia de despliegue y la mejor aproximación a los flujos de trabajo operacionales.

Método 1: Configuración manual

Vamos a proceder con el método de configuración manual en esta sección.

Crear usuario y grupo de sistema de Prometheus

Crea un usuario y un grupo de sistema llamados “prometheus” para administrar el servicio exporter.

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

Descargar e instalar Redis Exporter

Descarga la versión más reciente de Redis Exporter de GitHub, extrae los archivos descargados y mueve el binario a la carpeta /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 la instalación del Exporter de Redis

redis_exporter --version

Aquí está la salida de muestra:

Configurar el servicio systemd para el Exporter de Redis

Crear un archivo de unidad de servicio systemd para administrar el servicio del Exporter de Redis.

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

Añadir el siguiente contenido al archivo:

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

Recargar systemd y iniciar el servicio del Exporter de Redis

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

Configurando el Droplet de Prometheus (Método manual)

Vamos a configurar el droplet de Prometheus para la configuración manual.

Hacer una copia de seguridad del archivo 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:

Agregar los puntos finales del Exporter de Redis para ser recolectados

Inicie sesión en su servidor de Prometheus y agregue los puntos finales del Exporter de Redis para ser recolectados.

Reemplace las direcciones IP y puertos con sus puntos finales del Exporter de Redis (9121 es el puerto predeterminado para el Servicio del Exporter de Redis).

Este es el final de la configuración manual. Ahora, vamos a proceder con la configuración basada en scripts.

Método 2: Configurando mediante scripts

También puedes lograr esto ejecutando dos scripts: uno para las gotas objetivo y el otro para la gota Prometheus.

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

Empezaremos configurando las Gotas Objetivo.

chmod +x DO_Redis_Target_Config.sh

Conéctate a la Gota Objetivo mediante SSH.

./DO_Redis_Target_Config.sh

Descargue el script de configuración de la Gota Objetivo usando el siguiente comando:

Una vez descargado el script, asegúrese de que tiene permisos de ejecución ejecutando:

Ejecute el script ejecutando:

La configuración está completa.

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

Nota: Si el archivo redis_exporter.service ya existe, el script no se ejecutará.

chmod +x DO_Redis_Prometheus_Config.sh

Configuración de la Gota Prometheus (Método de Script)

./DO_Redis_Prometheus_Config.sh

Conéctate a la Gota Prometheus mediante SSH y descargue el script usando el siguiente comando:

Una vez descargado el script, asegúrese de que tiene permisos de ejecución ejecutando:

Ejecute el script ejecutando:

Introduzca el número de gotas que quiere agregar al monitoreo.

Introduzca los nombres de host y las direcciones IP.

La configuración está completa.

Una vez agregadas, verifique si las mismas están actualizadas accediendo a la URL prometheushostname:9090/targets.

Nota: Si introduce una dirección IP que ya se ha agregado a la monitorización, se le pedirá que ingrese los detalles de nuevo. Además, si no tiene más servidores para agregar, puede ingresar 0 para salir del script

Configurando Grafana

Acceda al panel de instrumentos de Grafana visitando Grafana-IP:3000 en un navegador.

Vaya a Configuración > Fuentes de Datos.

Haga clic en Agregar fuente de datos.

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

Busque y seleccione Prometheus.

Ingrese un nombre como Prometheus, y la URL (Prometheushostname:9090) y haga clic en “Guardar & Probar”. Si ve “La fuente de datos está funcionando”, ha agregado correctamente la fuente de datos. Una vez terminado, vaya a Crear > Importar.

Puede configurar manualmente el panel de instrumentos o importar el panel de instrumentos subiendo el archivo JSON. Un plantilla JSON para la monitorización de Redis se puede encontrar en el enlace de abajo:

Rellene los campos y importar.

El panel de instrumentos de Grafana está listo. Seleccione el anfitrión y revise si las métricas son visibles. Esté libre de modificar y editar el panel de instrumentos según sea necesario.

Conclusión

En este tutorial, aprendiste a automatizar la implementación del Redis Exporter en tus servidores. El script comienza comprobando si ya existe el archivo de unidad redis_exporter.service y sale si es así, evitando configuraciones redundantes. A continuación, crea un usuario y un grupo de sistema de Prometheus para la isolarización segura del servicio. El script descarga e instala los binarios del Redis Exporter, colocándolos en /usr/local/bin/ para estandarización.

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