Amplify: monitorización NGINX simplificada
Nginx amplify es una colección de herramientas útiles para monitorear exhaustivamente un servidor web Nginx de código abierto y NGINX Plus. Con NGINX Amplify puede monitorear el rendimiento, realizar un seguimiento de los sistemas que ejecutan Nginx y permite examinar y solucionar de manera práctica los problemas asociados con la ejecución y el escalado de aplicaciones web.
Se puede utilizar para visualizar y determinar cuellos de botella en el rendimiento del servidor web Nginx, servidores sobrecargados o posibles ataques DDoS; Mejore y optimice el rendimiento de Nginx con consejos y recomendaciones inteligentes.
Además, puede notificarle cuando hay algún problema con la configuración de cualquiera de sus aplicaciones y también sirve como planificador de capacidad y rendimiento de la aplicación web.
La arquitectura Nginx Amplify se basa en 3 componentes clave, que se describen a continuación:
- NGINX Amplify Backend: el componente central del sistema, implementado como SaaS (software como servicio). Incorpora un marco de recopilación de métricas escalable, una base de datos, un motor de análisis y una API central.
- NGINX Amplify Agent: una aplicación Python que debe instalarse y ejecutarse en sistemas monitoreados. Todas las comunicaciones entre el agente y el backend de SaaS se realizan de forma segura a través de SSL/TLS; todo el tráfico siempre lo inicia el agente.
- NGINX Amplify Web UI: una interfaz de usuario compatible con los principales navegadores y solo se puede acceder a ella a través de TLS/SSL.
La interfaz de usuario web muestra gráficos para Nginx y métricas del sistema operativo, permite la creación de un panel definido por el usuario, ofrece un analizador estático para mejorar la configuración de Nginx y un sistema de alerta con notificaciones automáticas.
Paso 1: Instale el agente Amplify en el sistema Linux
1. Abra su navegador web, escriba la dirección a continuación y cree una cuenta. Se enviará un enlace a su correo electrónico, utilícelo para verificar la dirección de correo electrónico e inicie sesión en su nueva cuenta.
https://amplify.nginx.com
2. Después de eso, inicie sesión en su servidor remoto para ser monitoreado, a través de SSH y descargue el script de instalación automática del agente nginx amplify usando el comando curl o wget.
wget https://github.com/nginxinc/nginx-amplify-agent/raw/master/packages/install.sh
OR
curl -L -O https://github.com/nginxinc/nginx-amplify-agent/raw/master/packages/install.sh
3. Ahora ejecute el siguiente comando con privilegios de superusuario usando el comando sudo para instalar el paquete del agente amplify (la API_KEY probablemente será diferente, única para cada sistema que agregue ).
sudo API_KEY='e126cf9a5c3b4f89498a4d7e1d7fdccf' sh ./install.sh
Nota: Posiblemente recibirás un error indicando que sub_status no ha sido configurado, esto se hará en el siguiente paso.
4. Una vez que se complete la instalación, regrese a la interfaz de usuario web y después de aproximadamente 1 minuto, podrá ver el nuevo sistema en la lista de la izquierda.
Paso 2: configurar stub_status en NGINX
5. Ahora, necesita configurar la configuración stub_status para crear gráficos clave de Nginx (los usuarios de Nginx Plus deben configurar ya sea el módulo stub_status o el módulo estado extendido).
Cree un nuevo archivo de configuración para stub_status en /etc/nginx/conf.d/.
sudo vi /etc/nginx/conf.d/sub_status.conf
Luego copie y pegue la siguiente configuración stub_status en el archivo.
server {
listen 127.0.0.1:80;
server_name 127.0.0.1;
location /nginx_status {
stub_status;
allow 127.0.0.1;
deny all;
}
}
Guarde y cierre el archivo.
6. A continuación, reinicie los servicios de Nginx para activar la configuración del módulo stub_status, de la siguiente manera.
sudo systemctl restart nginx
Paso 3: Configurar métricas NGINX adicionales para monitoreo
7. En este paso, debe configurar métricas Nginx adicionales para vigilar de cerca el rendimiento de sus aplicaciones. El agente recopilará métricas de los archivos access.log y error.log activos y en crecimiento, cuyas ubicaciones detecta automáticamente. Y lo que es más importante, se le debería permitir leer estos archivos.
Todo lo que tiene que hacer es definir un log_format específico como el que se muestra a continuación en su archivo de configuración principal de Nginx, /etc/nginx/nginx.conf.
log_format main_ext '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" '
'"$host" sn="$server_name" ' 'rt=$request_time '
'ua="$upstream_addr" us="$upstream_status" '
'ut="$upstream_response_time" ul="$upstream_response_length" '
'cs=$upstream_cache_status' ;
Luego utilice el formato de registro anterior al definir su access_log y el nivel de registro error_log debe establecerse en warn como se muestra.
access_log /var/log/nginx/suasell.com/suasell.com_access_log main_ext;
error_log /var/log/nginx/suasell.com/suasell.com_error_log warn;
8. Ahora reinicie los servicios de Nginx una vez más para efectuar los últimos cambios.
sudo systemctl restart nginx
Paso 4: monitorear el servidor web Nginx a través del agente Amplify
9. Finalmente, puede comenzar a monitorear su servidor web Nginx desde la UI web de Amplify.
Para agregar otro sistema para monitorear, simplemente vaya a Gráficos, haga clic en “Nuevo sistema” y siga los pasos anteriores.
Página de inicio de Nginx Amplify: https://amplify.nginx.com/signup/
Amplify es una poderosa solución SaaS para monitorear su sistema operativo, servidor web Nginx y aplicaciones basadas en Nginx. Ofrece una interfaz de usuario web única y unificada para vigilar múltiples sistemas remotos que ejecutan Nginx. Utilice el formulario de comentarios a continuación para compartir sus opiniones sobre esta herramienta.