Búsqueda de sitios web

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


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

Lea también: Cómo monitorear el rendimiento de Apache usando Netdata en CentOS 7

Es una herramienta de monitoreo del estado del sistema que le permite controlar cómo están funcionando sus sistemas y aplicaciones o servicios, como los servidores web, o por qué son lentos o se comportan mal. Es extremadamente efectivo y eficiente en términos de uso de la CPU y otros recursos del sistema.

En este artículo, explicaremos cómo monitorear el rendimiento del servidor web Nginx HTTP usando 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.

Requisitos:

  1. Un servidor CentOS 7 o un servidor RHEL 7 con instalación mínima.
  2. Instalación del servidor HTTP Nginx con ngx_http_stub_status_module habilitado.

Paso 1: instale Nginx en CentOS 7

1. Primero comience habilitando el repositorio EPEL y luego instale el servidor Nginx HTTP desde los repositorios de software 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 estar compilada con el módulo stub_status indicado por el - -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 exitosamente, inícielo y habilítelo para que se inicie automáticamente al iniciar el sistema y asegúrese de que esté en funcionamiento.

systemctl status nginx
systemctl enable nginx
systemctl status nginx

4. Si está ejecutando un firewall dinámico firewalld, debe abrir el puerto 80 (HTTP) y el 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: Habilite el módulo Nginx Stub_Status

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 utilizando la herramienta de línea de comandos curl.

curl http://127.0.0.1/stub_status

Paso 3: instale Netdata en CentOS 7

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

Utilice el siguiente comando para iniciar el script de 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 root, se le pedirá 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 systemd y permitirá que se inicie en el inicio 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 interfaz de usuario 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 de 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 utilice la siguiente URL para acceder a la interfaz de usuario web de netdata.

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

En 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 de Netdata Github: https://github.com/firehol/netdata

¡Eso es todo! Netdata es una herramienta distribuida de monitoreo de estado y rendimiento 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. Utilice el formulario de comentarios a continuación para compartir cualquier consulta o idea sobre esta guía.