NGINX Amplify es una herramienta de monitorización gratuita y de código abierto para Nginx y aplicaciones basadas en PHP. Te permite detectar y arreglar los problemas de tu webiste y trackear los sistemas que tengas corriendo con Nginx. Con Nginx Amplify puedes ver y monitorear las métricas de Nginx, incluyendo peticiones actuales, versiones de PHP, errores de HTTP, conexiones, uso de CPU, de memoria, bases de datos y mucho más.
Nginx Amplify está compuesta por tres elementos:
- Backend Amplify: un elemento nuclear implementado como SaaS.
- Agente Amplify: Necesitarás instalar el agente en el servidor en el que Nginx y la aplicación PHP estén corriendo.
- Web UI Amplify: web interfaz que es accesible via TLS o a través de los túneles SSL.
Con este tutorial, podremos monitorear un servidor Nginx Ubuntu 18.04. con Amplify.
Requisitos
- Un servidor corriendo en Ubuntu 18.04.
- Una contraseña de root configurada en tu servidor.
Primeros Pasos
Primero, es recomendable actualizar tu sistema con última versión más estable. Puedes actualizar el sistema con el siguiente comando:
# apt-get update && apt-get upgrade -y
Una vez tu servidor esté actualizado, reinícialo para aplicar todos los cambios.
Instalar Nginx
Después, necesitarás instalar Nginx y Python en tu servidor. Puedes hacerlo con el siguiente comando:
# apt-get install nginx python2.7 -y
Una vez Nginx ha sido instalado, arranca el servicio de Nginx y permite que se encienda en el tiempo de arranque con el siguiente comando:
# systemctl start nginx && systemctl enable nginx
Crea una Cuenta para Nginx Amplify
Primero, necesitarás crear una cuenta en Nginx Amplify.
Para ello, abre tu navegador y ve a la URL https://amplify.nginx.com/login. Serás redirigido a la siguiente página:
Ahora, haz click en la pestaña de ‘Crear cuenta’. Verás la siguiente página:
Proporciona toda la información requerida y haz click en la pestaña ‘Crear’. Serás redirigido al panel de Nginx Amplifly como se muestra más abajo:
Después de eso, recibirás un e-mail de notificación con un enlace de confirmación. Haz click en el enlace para darte de alta en Nginx Amplify. Deberías ver la siguiente página:
Descargar e Instalar Nginx Amplify
Tendrás que seguir las instrucciones proporcionadas en el panel de Nginx Amplify para descargar e instalar Nginx Amplify.
Primero, descarga el script de instalación de Nginx Amplify con el siguiente comando:
# wget https://github.com/nginxinc/nginx-amplify-agent/raw/master/packages/install.sh
Después, ejecuta el siguiente comando para instalar el agente de Nginx Amplify en tu servidor:
# API_KEY='e284e022e62e9fcd98e10fc52f26b819' sh ./install.sh
Una vez la instalación se ha completado de forma satisfactoria, puedes comprobar el estado del agente de Amplify con el siguiente comando:
# service amplify-agent status
Deberías ver el siguiente resultado:
· amplify-agent.service - NGINX Amplify Agent
Loaded: loaded (/lib/systemd/system/amplify-agent.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2019-06-08 15:14:21 UTC; 1min 19s ago
Docs: https://amplify.nginx.com/docs/
Process: 4228 ExecStart=/etc/init.d/amplify-agent start (code=exited, status=0/SUCCESS)
Main PID: 4306 (amplify-agent)
Tasks: 3 (limit: 1718)
CGroup: /system.slice/amplify-agent.service
└─4306 amplify-agent
Jun 08 15:14:18 ubuntu1804 systemd[1]: Starting NGINX Amplify Agent...
Jun 08 15:14:21 ubuntu1804 systemd[1]: amplify-agent.service: Can't open PID file
/var/run/amplify-agent/amplify-agent.pid (yet?) after start:
Jun 08 15:14:21 ubuntu1804 systemd[1]: Started NGINX Amplify Agent.
Después, ve al panel de Nginx Amplify y haz click en la pestaña ‘Continuar’. Deberías ver la siguiente página:
Configura Nginx para Visualizar Crucial Metrics
Después, necesitarás configurar Nginx para visualizar Crucial Metrics. Puedes hacerlo siguiendo las instrucciones que aparecen en el panel de Amplify.
Primero, tendrás que crear un nuevo fichero con la configuración stub_status:
# nano /etc/nginx/conf.d/stub_status.conf
Añade las siguientes lineas:
server {
listen 127.0.0.1:80;
server_name 127.0.0.1;
location /nginx_status {
stub_status on;
allow 127.0.0.1;
deny all;
}
}
Guarda y cierra el fichero cuando hayas terminado.
Después, recarga el servicio Nginx para activar el módulo stub_status. Puedes hacerlo con el siguiente comando:
# kill -HUP `cat /var/run/nginx.pid`
Después, ve al panel de Nginx Amplify y haz click en la pestaña ‘Continuar’. Verás la siguiente página:
Después, necesitarás definir el archivo error_log and access_log in /etc/nginx/nginx.conf. Puedes hacerlo con el siguiente comando:
# nano /etc/nginx/nginx.conf
Haz los siguientes cambios:
error_log /var/log/nginx/error.log warn;
access_log /var/log/nginx/access.log main_ext;
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' ;
Guarda y cierra el fichero cuando hayas terminado.
Después, comprueba si hay algún error de sintaxis con el siguiente comando:
# nginx -t
Si todo está ok, deberías ver el siguiente resultado:
# nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
# nginx: configuration file /etc/nginx/nginx.conf test is successful
Después, reinicia el servicio de Nginx para aplicar todos los cambios:
# systemctl restart nginx
También puedes comprobar el estado del servicio de Nginx con el siguiente comando:
# systemctl status nginx
Deberías ver el siguiente resultado:
· nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2019-06-08 15:39:28 UTC; 10min ago
Docs: man:nginx(8)
Process: 6602 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
Process: 7462 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 7454 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 7464 (nginx)
Tasks: 2 (limit: 1718)
CGroup: /system.slice/nginx.service
├─7464 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─7469 nginx: worker process
Jun 08 15:39:28 ubuntu1804 systemd[1]: Starting A high performance web server and a reverse proxy server...
Jun 08 15:39:28 ubuntu1804 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Jun 08 15:39:28 ubuntu1804 systemd[1]: Started A high performance web server and a reverse proxy server.
Después, ve al panel de Amplify y haz click en la pestaña ‘Finalizar’. Deberías ver la siguiente página:
Después, haz click en la pestaña ‘Sistema’. Deberías ver el consumo de CPU, velocidad de carga, uso de memoria, uso de disco, velocidad de salida/entrada a disco y red de tráfico en la siguiente página:
Después, haz click en la pestaña ‘Overview’ para tener una visión más general de tu aplicación Nginx en la siguiente página:
¡Enhorabuena! Has instalado y configurado Nginx Amplify en un servidor Ubuntu 18.04 con éxito. Esperamos que monitorees tu servidor Nginx fácilmente con el agente Nginx Amplify. Para más información, puedes echarle un vistazo a la documentación oficial de Nginx Amplify en https://amplify.nginx.com/docs/guide-how-nginx-amplify-agent-works.html