Cómo monitorear los contenedores Docker con la herramienta de monitoreo de Zabbix

Cómo monitorear los contenedores Docker con la herramienta de monitoreo de Zabbix

Estibador posiblemente es uno de los más apreciados Devops Herramientas que racionalizan el desarrollo, la implementación y el envío de aplicaciones dentro de los contenedores.

El concepto de contenedores implica aprovechar las imágenes de contenedores. Estos son paquetes ejecutables pequeños, livianos y independientes que incluyen todo lo necesario para ejecutar una aplicación, incluido el código fuente, las bibliotecas y las dependencias, y los archivos de configuración.

Al hacerlo, la aplicación puede ejecutarse en casi cualquier entorno informático; Infraestructura de TI tradicional, nubes y una miríada de sabores Linux / Unix.

Monitorear los contenedores ayuda a los equipos de operación a identificar problemas subyacentes y resolverlos de manera oportuna. El monitoreo del contenedor abarca la captura de métricas básicas como el uso de la CPU, la utilización de la memoria, el tamaño del contenedor y la utilización de ancho de banda, por mencionar algunos. Además, puede recopilar registros en tiempo real que son útiles para depurar y alertar al equipo de TI cuándo ampliar.

Zabbix es una herramienta popular de monitoreo de infraestructura de TI que vigila casi todos los elementos de su entorno, incluidos dispositivos físicos, como servidores y dispositivos de red, como enrutadores e interruptores. También puede monitorear aplicaciones, servicios y bases de datos.

En esta guía, le mostraremos cómo puede monitorear Estibador contenedores utilizando el Zabbix Herramienta de monitoreo en Linux.

Requisitos

Esto es lo que necesita antes de comenzar:

Primero, asegúrese de tener dos nodos: el primer nodo es el servidor Zabbix. Este es el nodo desde el que monitorearemos el control remoto Estibador servidor. Tenemos un artículo sobre:

  • Cómo instalar Zabbix en Rocky Linux y Almalinux
  • Cómo instalar la herramienta de monitoreo de Zabbix en Debian 11/10
  • Cómo instalar Zabbix en RHEL 8
  • Cómo instalar Zabbix en Ubuntu

El segundo nodo es el Estibador servidor en el que Estibador esta instalado. Este es el nodo desde donde ejecutaremos contenedores Docker y monitorearemos la actividad del contenedor.

  • Cómo instalar Docker en Rocky Linux y Almalinux
  • Cómo instalar y usar Docker en Ubuntu 20.04
  • Cómo instalar Docker en Centos y Rhel 8/7

A continuación, asegúrese de tener acceso ssh a su Estibador nodo del servidor con un usuario de sudo ya configurado.

Con su configuración en su lugar, ahora puede rodar las mangas!

Paso 1: Instale Zabbix-Agent en Linux

Para supervisar Estibador contenedores en el servidor remoto, debe instalar un Agente de zabbix, que es un agente de monitoreo que se implementa en un nodo objetivo para monitorear activamente las métricas del sistema y otras aplicaciones.

Primero, debe instalar el Zabbix repositorio en el Estibador nodo.

----------- En ubuntu 20.04 ----------- $ sudo wget https: // repo.zabbix.com/zabbix/5.4/Ubuntu/Pool/Main/Z/Zabbix-Release/Zabbix-Release_5.4-1+ubuntu20.04_ de todos.Deb $ sudo DPKG -I Zabbix -Release_5.4-1+ubuntu20.04_ de todos.Deb $ sudo apt actualización $ sudo apt instalación zabbix-agent2 ----------- En distribución con sede en Rhel ----------- $ sudo rpm -uvh https: // repo.zabbix.com/zabbix/5.4/rhel/8/x86_64/zabbix-libere-5.4-1.El8.noarch.rpm $ sudo dnf actualización $ sudo dnf install zabbix-agent ----------- En Debian 11 ----------- $ sudo wget https: // repo.zabbix.com/zabbix/5.4/Debian/Pool/Main/Z/Zabbix-Release/Zabbix-Release_5.4-1%2bdebian11_all.Deb $ sudo DPKG -I Zabbix -Release_5.4-1%2bdebian11_all.Deb $ sudo apt actualización $ sudo apt instalación zabbix-agent2 ----------- En Debian 10 ----------- $ sudo wget https: // repo.zabbix.com/zabbix/5.4/Debian/Pool/Main/Z/Zabbix-Release/Zabbix-Release_5.4-1%2bdebian10_all.Deb $ sudo DPKG -I Zabbix -Release_5.4-1%2bdebian10_all.Deb $ sudo apt actualización $ sudo apt instalación zabbix-agent2 

Paso 2: Configurar Zabbix-agent en Linux

Por defecto, el Zabbix El agente está listo para enviar métricas al Zabbix servidor en el mismo host está instalado. Dado que nuestro objetivo es monitorear estibador contenedores en el servidor remoto, se requieren algunas configuraciones adicionales.

Por lo tanto, acceda a la Zabbix archivo de configuración del agente.

$ sudo vim/etc/zabbix/zabbix_agent2.confusión 

El archivo de configuración contiene configuraciones que especifican la dirección a la que se envían las métricas, el puerto utilizado para conexiones y mucho más. En su mayor parte, la configuración predeterminada funcionará bien.

Para configurar el Zabbix agente para enviar métricas al Zabbix servidor, ubique la directiva que está configurada para enviar métricas a la dirección de bucle de bucle, o simplemente poner el mismo sistema de host.

Servidor = 127.0.0.1 

Establezca la dirección para reflejar la dirección del servidor Zabbix

Servidor = zabbix-server-ip 

Además, navegue al 'Controles activos'Sección y cambiar la directiva para señalar a la dirección IP del servidor Zabbix.

Serveractive = zabbix-server-ip 

Asegúrese de ajustar también el nombre de host del servidor Docker en consecuencia. El nombre de host de mi servidor Docker es Ubuntu20.

Hostname = ubuntu20 

Luego guarde los cambios y salga del archivo de configuración de Zabbix.

Para que el agente Zabbix esté atento a los contenedores Docker, debe agregar el usuario de Zabbix, que está instalado de forma predeterminada, al grupo Docker.

$ sudo usermod -ag docker zabbix 

Para aplicar los cambios realizados en el archivo de configuración, reinicie el servicio Zabbix-Agent y habilite que comience al inicio del sistema.

$ sudo SystemCTL reiniciar zabbix-agent2 $ sudo systemctl habilita zabbix-agent2 

Confirme el estado de ejecución del agente Zabbix de la siguiente manera.

$ sudo systemctl status zabbix-agent2 
Verifique el estado del agente de Zabbix

El agente de Zabbix escucha en el puerto 10050. Si tiene un firewall UFW o un firewalld en funcionamiento, considere abrir el puerto de la siguiente manera.

----------- En UFW Firewall ----------- $ sudo UFW Permitir 10050/TCP $ sudo UFW Reload ----------- En firewalld ----------- $ sudo firewall-cmd --add-puer = 10050/tcp --permanent $ sudo firewall-cmd--Reload 

Excelente! Ahora estamos en la mitad de la marca. El agente de Zabbix ahora puede enviar el Estibador Métricas de contenedores al servidor Zabbix.

En el siguiente paso, agregaremos el Estibador servidor al Zabbix interfaz web y monitor contenedores Docker.

Paso 3: Agregue el Docker al servidor Zabbix para monitorear

Para monitorear un host remoto, debe agregarlo al Zabbix Panel de servidor a través de un navegador. Zabbix proporciona innumerables plantillas para diversos servicios y aplicaciones. Vincularemos la plantilla apropiada con el host de Docker para monitorear específicamente los contenedores. Pero primero, acceda a la página de inicio de sesión del servidor Zabbix.

http: // zabbix-server-ip/zabbix 
Zabbix inicio de sesión

Una vez que haya iniciado sesión, navegue a la barra lateral derecha y haga clic en 'Configuración' entonces 'Hospedadores'.

Configuración del host de Zabbix

En la esquina superior derecha, haga clic en 'Crear host'.

Zabbix crea host

Complete los detalles del Estibador servidor como el nombre de host Y visible nombre. Para grupos, escriba 'Grupos de acopolador'(Cada anfitrión debe estar asociado con un grupo).

Bajo el 'Interfaces'Etiqueta Haga clic en'Agregar'y en el menú que aparece seleccione'Agente'.

Agregue el host a Zabbix Monitoring

A continuación, complete la dirección IP privada del servidor Docker y asegúrese de que el puerto esté configurado en 10050.

Agregar servidor Docker a Zabbix

A continuación, haga clic en el Plantillas pestaña, y en el 'Enlace nuevas plantillas'Sección, especificar'Docker por Zabbix Agent 2'. Luego haga clic en el 'Agregar' botón.

Plantilla de enlace Zabbix a Docker

Cuando hace clic en el botón Agregar, el host de Docker remoto se agregará automáticamente como se indica.

Monitoreo de Zabbix Docker

En este punto, el servidor Zabbix ahora está monitoreando su servidor Docker. En el siguiente paso, implementaremos un contenedor y veremos qué métricas se pueden monitorear.

Paso 4: Monitoreo de las métricas de Docker en el monitoreo de Zabbix

Para comenzar a monitorear Estibador métricas, vamos a lanzar un contenedor de prueba. Entonces, regresa a tu Estibador servidor y iniciar un contenedor.

En este ejemplo, tiraremos de un Ubuntu Imagen del contenedor y crear un contenedor llamado docker_test_container. Luego obtendremos acceso de shell usando el -él opción. Todo el comando para las operaciones es el siguiente.

$ sudo Docker Run - -Name Docker_Test_Container -it Ubuntu Bash 
Crear imagen de contenedor ubuntu en Docker

Puede probar algo ambicioso, como instalar paquetes de software como apache o Mariada Para generar algunas métricas, como la utilización de la CPU y el tráfico de red.

Ahora regresa al Zabbix tablero. Haga clic en 'Supervisión' entonces 'Hospedadores'. Haga clic en el nombre de su servidor Docker y en la opción de menú que aparece, seleccione 'Últimos datos'.

Hosts de monitoreo de Zabbix

Después de unos minutos de implementar el contenedor, el servidor Zabbix detectará el contenedor y comenzará a poblar algunas estadísticas.

Host de Docker de monitoreo de Zabbix

También puede ver los gráficos de las diversas métricas de contenedores haciendo clic en 'gráficos'Opciones del servidor Docker en el'Hospedadores' página. A continuación puede ver las métricas de uso de la CPU y la memoria.

Performance de Docker de monitoreo de Zabbix

Para simular el bloqueo del contenedor, saldremos inesperadamente del contenedor ejecutando el comando a continuación en el shell del contenedor.

# Salir 2 

Esto implica que hemos terminado el contenedor con un código de error de 2. Esto se registra dentro de los metadatos del contenedor. Para ver la alerta, navegue a la barra lateral izquierda y haga clic en 'Supervisión' entonces 'Panel'.

La alerta se muestra a continuación.

Advertencias de Zabbix Docker

Para rectificar el error, simplemente inicie el contenedor nuevamente.

$ sudo Docker Start Docker_Test_Container 

Y esto nos lleva al final de esta guía. Le hemos guiado a través de un procedimiento paso a paso de cómo puede monitorear Estibador contenedores utilizando el Zabbix herramienta de monitoreo.