Cómo monitorear el rendimiento de Nginx usando Netdata en CentOS 7


Netdata es una herramienta de monitoreo de estado y rendimiento en tiempo real, de código abierto, escalable, adaptable, personalizable, extensible y potente para sistemas Linux, que recopila y visualiza métricas. Funciona en equipos de escritorio, computadoras personales, servidores, dispositivos integrados, IoT y más.

Es una herramienta de monitoreo del estado del sistema que le permite controlar cómo funcionan sus sistemas y aplicaciones o servicios, como los servidores web, o por qué son lentos o de mala calidad. Es extremadamente eficaz y eficiente en términos de uso de la CPU, así como otros recursos del sistema.

En este artículo, explicaremos cómo monitorear el rendimiento del servidor web Nginx HTTP utilizando Netdata en CentOS 7 o RHEL 7 Distribución.

Al final de esta guía, podrá ver visualizaciones de conexiones activas, solicitudes, estado y velocidad de conexión de su servidor web Nginx.

  1. A CentOS 7 Server or RHEL 7 Server with Minimal Install.
  2. Nginx HTTP server installation with ngx_http_stub_status_module enabled.

Paso 1: Instala Nginx en CentOS 7

1. Primero comience habilitando el repositorio de EPEL y luego instale el servidor Nginx HTTP desde los repositorios de software de EPEL utilizando el administrador de paquetes YUM.

# yum install epel-release
# yum install nginx 

2. A continuación, verifique la versión de Nginx instalada en su sistema, debe compilarse con el módulo stub_status indicado por -with-http_stub_status_module argumento de configuración, como se muestra en la siguiente captura de pantalla.

# nginx -V

3. Después de instalar Nginx con éxito, inícielo y habilítelo para que se inicie automáticamente en el inicio del sistema y asegúrese de que esté en funcionamiento.

# systemctl status nginx
# systemctl enable nginx
# systemctl status nginx

4. Si está ejecutando firewalld firewall dinámico, necesita abrir el puerto 80 ( HTTP ) y 443 ( HTTPS ) en el que el servidor web escucha las solicitudes de conexión del cliente.

# firewall-cmd --permanent --add-port=80/tcp
# firewall-cmd --permanent --add-port=443/tcp
# firewall-cmd --reload 

Paso 2: Paso 2: Habilitar el módulo Stub_Status de Nginx

5. Ahora habilite el módulo stub_status que netdata utiliza para recopilar métricas de su servidor web Nginx.

# vim /etc/nginx/nginx.conf

Copie y pegue la configuración de ubicación a continuación en el bloque del servidor, como se muestra en la captura de pantalla.

location /stub_status {
 	stub_status;
 	allow 127.0.0.1;	#only allow requests from localhost
 	deny all;		#deny all other hosts	
 }

6. A continuación, pruebe la nueva configuración de nginx para detectar errores y reinicie el servicio nginx para efectuar los cambios recientes.

# nginx -t
# systemctl restart nginx

7. A continuación, pruebe la página de estado de nginx con la herramienta de línea de comandos rizo .

# curl http://127.0.0.1/stub_status

Paso 3: Instalar Netdata en CentOS 7

8. Hay un script de shell de una sola línea que puede usar para iniciar la instalación de la última versión de netdata desde su repositorio github. Este script descargará otro script para detectar su distribución de Linux e instalará los paquetes de sistema necesarios para construir netdata; a partir de entonces toma los últimos archivos fuente de netdata; lo construye y lo instala.

Utilice el siguiente comando para iniciar el script kickstarter, la opción all permite instalar los paquetes necesarios para todos los complementos de netdata, incluidos los de Nginx.

# bash <(curl -Ss https://my-netdata.io/kickstart.sh) all

Si no accede al sistema como raíz , se le solicitará que ingrese su contraseña de usuario para el comando sudo , y también se le pedirá que confirme ciertas operaciones presionando > [Entrar] .

8. Después de compilar e instalar netdata, el script iniciará automáticamente el servicio netdata a través del administrador de servicios de systemd, y le permitirá iniciarse en el arranque del sistema. Netdata escucha en el puerto 19999 de forma predeterminada.

9. A continuación, abra el puerto 19999 en el firewall para acceder a la IU web de netdata.

# firewall-cmd --permanent --add-port=19999/tcp
# firewall-cmd --reload 

Paso 4: Configurar Netdata para monitorear el rendimiento de Nginx

9. La configuración netdata para el complemento Nginx se almacena en el archivo de configuración /etc/netdata/python.d/nginx.conf , escrito en YaML formato.

# vim /etc/netdata/python.d/nginx.conf

La configuración predeterminada es suficiente para comenzar a monitorear su servidor web Nginx.

En caso de que haya realizado algún cambio en el archivo de configuración, después de leer la documentación, reinicie el servicio netdata para efectuar los cambios.

# systemctl restart netdata

Paso 5: Monitorear el rendimiento de Nginx usando Netdata

10. Ahora abra un navegador web y use la siguiente URL para acceder a la interfaz de usuario web de netdata.

http://domain_name:19999
OR
http://SERVER_IP:19999

Desde la lista de complementos en el lado derecho, haga clic en " nginx local " para comenzar a monitorear su servidor web Nginx. Podrá ver visualizaciones de conexiones activas, solicitudes, estado y velocidad de conexión como se muestra en la siguiente captura de pantalla.

Repositorio Netdata Github : https://github.com/firehol/netdata

¡Eso es todo! Netdata es una herramienta de monitoreo de rendimiento y salud distribuida en tiempo real para sistemas Linux. En este artículo, mostramos cómo monitorear el rendimiento del servidor web Nginx usando netdata en CentOS 7. Use el formulario de comentarios a continuación para compartir cualquier duda o comentario sobre esta guía.