Este artículo proporciona instrucciones paso a paso para instalar y usar el complemento Beats proporcionado por Alibaba Cloud para implementar el monitoreo de Redis usando Alibaba Cloud Elasticsearch.
Publicado por ELK Geek
Por Liu Xiaoguo, un evangelista de la comunidad Elasticsearch en China, y editado por Lettie y Dayu
Redis se usa ampliamente por su facilidad de uso. Sin embargo, la administración del clúster y el servidor Redis podría ser un desafío. Por ejemplo, los fallos del disco o la memoria insuficiente pueden provocar fallos. Tales escenarios requieren la recopilación, el análisis y la supervisión de registros de Redis para administrar los servidores de Redis de manera eficaz.
Redis, la base de datos más popular
Redis es un almacenamiento de datos NoSQL muy rápido. Aunque se utiliza principalmente para el almacenamiento en caché, Redis también se aplica en una amplia gama de escenarios, incluida la representación gráfica y la búsqueda. Una biblioteca de cliente para Redis está disponible en los principales lenguajes de programación y se ofrece como un servicio administrado por los principales proveedores de servicios en la nube. En los últimos años, los desarrolladores de Stack Overflow han calificado a Redis como la base de datos más popular.
Preparación
Este artículo describe cómo recopilar los registros del servidor de Redis mediante el complemento Beats proporcionado por Alibaba Cloud e implementar el monitoreo visualizado a través del servicio Kibana de Alibaba Cloud Elasticsearch. Esto le dará una mejor comprensión de cómo funciona Redis.
Instale el servidor Redis en el entorno ECS de la nube de Alibaba
El repositorio de Remi proporciona la última versión de Redis. Por lo tanto, instale la última versión de Redis a través de YUM del repositorio de Remi.
Nota: El puerto predeterminado del servidor Redis es 6379. Antes de usarlo, habilite el grupo de seguridad en la instancia de ECS.
#####Install the Remi source by using the EPEL source#####
# yum -y install epel-release
# yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
#####Install the Redis server by specifying --enablerepo
# yum --enablerepo=remi install -y redis
#####View the Redis server version########
# redis-cli --version
redis-cli 5.0.9
####Start the Redis server #######
# systemctl start redis
####Enable auto start upon system startup######
# systemctl enable redis
# systemctl status redis
####Perform a ping test###
# redis-cli ping
PONG
####View the Redis process####
# ps -ef | grep redis
redis 20777 1 0 11:18 ? 00:00:00 /usr/bin/redis-server 127.0.0.1:6379
root 20805 20430 0 11:23 pts/0 00:00:00 grep --color=auto redis
Instalar y configurar la ruta de recopilación de registros de Redis
La ruta predeterminada del archivo de configuración es /etc/redis.conf si Redis se instala a través de YUM. Ejecute el siguiente comando para definir el nombre de archivo de los registros de Redis:
bind 127.0.0.1
logfile /var/log/redis/redis-server.log
Notas:
bind: la dirección IP de escucha de Redis.
logfile: el nombre del archivo de registro de Redis. Configúrelo en redis-server.log.
Ejecute el siguiente comando para reiniciar Redis:
systemctl restart redis
Ejecute los siguientes comandos para probar Redis:
# redis-cli
127.0.0.1:6379> set name dayu
OK
127.0.0.1:6379> get name
"dayu"
127.0.0.1:6379> del name
(integer) 1
Ejecute los comandos anteriores para establecer el valor de la clave denominada «dayu» en 1, recuperar el valor y luego eliminarlo. Presione Ctrl + C para salir de redis-cli.
Instalar Filebeat
El módulo Redis de Filebeat entrega registros de Redis a Elasticsearch y los visualiza en Kibana. Establece la configuración predeterminada para Filebeat (incluida la ruta del archivo de registro y el punto final del servidor de Redis), establece la canalización de extracción para resolver automáticamente los registros de Redis en los campos de Elasticsearch e implementa capacidades de visualización y paneles para facilitar el análisis de registros en Kibana.
Acceda a la consola de Kibana y haga clic en el icono de Kibana en la esquina superior izquierda.
Haga clic en «Agregar datos de registro».
Comienza el proceso de instalación. Ejecute los comandos que se muestran en la figura para instalar Filebeat.
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.7.0-x86_64.rpm
# sudo rpm -vi filebeat-6.7.0-x86_64.rpm
Configure el archivo filebeat.yml.
setup.kibana:
# Kibana Host
# Scheme and port can be left out and will be set to the default (http and 5601)
# In case you specify and additional path, the scheme is required: http://localhost:5601/path
# IPv6 addresses should always be defined as: https://[2001:db8::1]:5601
host: "https://es-cn-0pp19tb17****jc8p.kibana.elasticsearch.aliyuncs.com:5601"
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["es-cn-0pp19tb17****jc8p.elasticsearch.aliyuncs.com:9200"]
# Enabled ilm (beta) to use index lifecycle management instead daily indices.
#ilm.enabled: false
# Optional protocol and basic auth credentials.
#protocol: "https"
username: "elastic"
password: "Elastic@432"
Monitoreo completo de Redis sin ningún trabajo de configuración. Si necesita personalizar la configuración, ejecute el siguiente comando para habilitar y configurar el módulo Redis:
# sudo filebeat modules enable redis
Enabled redis
En Alibaba Cloud, ejecute los siguientes comandos para iniciar Filebeat.
Nota: Al instalar o actualizar Filebeat o después de habilitar un nuevo módulo, ejecute el comando de configuración.
# sudo filebeat setup
# sudo service filebeat start
Starting filebeat (via systemctl): [ OK ]
Vea los registros de Redis en el panel de Kibana.
La siguiente figura muestra la interfaz de descripción general de Redis.
Instalar Metricbeat
Utilice el módulo Redis de Metricbeat para recopilar datos periódicamente del servidor Redis.
Metricbeat consta de módulos y conjuntos de métricas. Los módulos de Metricbeat definen la lógica básica para recopilar datos de servicios específicos, como Redis y MySQL. El módulo de Redis especifica los detalles del servicio, como la conexión del servicio, la frecuencia de recopilación de métricas y las métricas que se recopilarán.
Cada módulo tiene uno o más conjuntos de métricas que utiliza para adquirir y construir datos. En lugar de recopilar cada métrica como un evento separado, un conjunto de métricas recupera una lista de múltiples métricas relacionadas en una sola solicitud que realiza a un sistema remoto. Por ejemplo, el módulo de Redis proporciona un conjunto de métricas de información que recopila información y estadísticas de Redis ejecutando el comando INFO y analizando la salida.
Instale Metricbeat. Primero, inicie Kibana.
Haga clic en Agregar datos de métricas y realice las operaciones que se indican en la siguiente figura.
Ejecute los siguientes comandos para instalar Metricbeat:
# curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-6.7.0-x86_64.rpm
# sudo rpm -vi metricbeat-6.7.0-x86_64.rpm
Si es necesario, ejecute los siguientes comandos para configurar el módulo Redis de Metricbeat:
# vim /etc/metricbeat/metricbeat.yml
setup.kibana:
host: "https://es-cn-4591jumei****1zp5.kibana.elasticsearch.aliyuncs.com:5601"
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["es-cn-4591jumei****1zp5.elasticsearch.aliyuncs.com:9200"]
# Enabled ilm (beta) to use index lifecycle management instead daily indices.
#ilm.enabled: false
#protocol: "https"
username: "elastic"
password: "Elastic@432"
Inicie el módulo de Redis.
# sudo metricbeat modules enable redis
Enabled redis
#####Start the Metricbeat service########
# sudo metricbeat setup
# sudo service metricbeat start
Vaya al panel de Kibana para ver las métricas de Redis.
Resumen
Redis es una parte importante de muchos sistemas empresariales. Los ingenieros de DevOps deben asegurarse de que funcione correctamente. La información de análisis de métricas obtenida de los registros de Redis mejora las capacidades de resolución de problemas, por ejemplo, al resolver alertas mediante configuraciones. Más importante aún, estas métricas ayudan a los empleados a comprender fácilmente los problemas clave que afectan la estabilidad de la aplicación.
Cuando un problema clave afecta la estabilidad de la aplicación, los registros se transmiten a Alibaba Cloud Elastic Stack para un análisis rápido. Esto permite una rápida resolución de problemas y restaura el sistema con una mínima interrupción de la aplicación.
Declaración: Este artículo es una revisión autorizada del artículo «Beats: Use Elastic Stack para monitorear Redis» basado en el entorno de servicio de Alibaba Cloud.
Fuente: (en chino) https://elasticstack.blog.csdn.net/
Alibaba Cloud Elastic Stack es completamente compatible con Elasticsearch de código abierto y tiene nueve capacidades únicas.