¿Que es Amplify NGINX?
NGINX Amplify es una herramienta de software libre para realizar la monitorización de NGINX basada en SaaS. Con NGINX Amplify puede monitorizar el rendimiento, realizar un seguimiento de los activos de infraestructura y mejorar la configuración con análisis estáticos. NGINX Amplify también supervisa el sistema operativo, los servicios de aplicaciones (como PHP-FPM), las bases de datos y otros componentes.
en primer lugar tenemos que instalar las dependencas necesarias para su funcionamiento
pkg install sudo py27-gevent-1.3.4 py27-pip-9.0.3 py27-lockfile-0.12.2 py27-netaddr-0.7.19 py27-netifaces-0.10.6 py27-psutil-5.4.6 py27-requests-2.18.4 py27-daemon-2.0.6 py27-setproctitle-1.1.10 py27-flup6-1.1.1 py27-scandir-1.7 py27-pymysql-0.8.1 gcc wget
pip install rstr ujson crossplane
Instalación de Amplifly
Descargamos y ccedemos al directorio de packages
git clone https://github.com/nginxinc/
nginx-amplify-agent cd nginx-amplify-agent/packages
Al lanzar el script de instalación (install-source.sh) vamos a obtener el siguiente error:
Cloning into ‘nginx-amplify-agent’…
remote: Counting objects: 3594, done.
remote: Compressing objects: 100% (2/2), done.
Receiving objects: 100% (3594/3594), 1.07 MiB | 830.00 KiB/s, done.
remote: Total 3594 (delta 0), reused 0 (delta 0), pack-reused 3592
Resolving deltas: 100% (2034/2034), done.
grep: packages/requirements: No such file or directory
Para solventarlo accedemos al script install-source.sh y comentamos las siguientes lineas:
Una vez comentadas las lineas, ejecutamos el script de instalación (install-source.sh)
Configuración Amplify
Accedemos al fichero de configuración de /usr/local/etc/nginx/nginx.conf y agregamos las siguientes lineas
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’ ;access_log /var/log/nginx/access.log main_ext;
error_log /var/log/nginx/error.log warn;
Creamos un nuevo sitio con la monitorización del estado del servicio
cat /usr/local/etc/nginx/sites-enabled/stub_status.conf
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;
}
}
Configuramos en cada uno de los sitios implementados en NGINX el access_log y error_log:
server {
listen 80 default_server;
listen [::]:80 default_server;
access_log /var/log/nginx/redorbita.access.log main_ext;
error_log /var/log/nginx/redorbita.error.log warn;
root /usr/local/www/nginx/;server_name _;
}
Creamos un script para el inicio y parada del agente
cat /usr/local/etc/rc.d/amplify-agent
#!/bin/sh
#
# $FreeBSD: releng/11.2/etc/rc.d/amplify 298514 2016-04-23 16:10:54Z lme $
## PROVIDE: Amplify Agent
name=»amplify-agent»
desc=»Amplify Agent»
rcvar=»amplify_enable»
command=»/usr/bin/nginx-amplify-agent.py»
start_cmd=»amplify_start»
pidprefix=»/var/run/amplify-agent/»
pidfile=»amplify-agent.pid»
pidarg=if [ «$(id -u)» != «0» ]; then
echo «Este script se tiene que ejecutar con el usuario root» 1>&2
exit 1
fistart() {
echo -n $»Starting Amplify Agent»
/usr/local/bin/sudo -u www /usr/local/bin/python2.7 /usr/bin/nginx-amplify-agent.py start –config=/etc/amplify-agent/agent.conf –pid=/var/run/amplify-agent/amplify-agent.pid}
stop() {
echo -n «Stopping Amplify Agent»/usr/local/bin/sudo -u www /usr/local/bin/python2.7 /usr/bin/nginx-amplify-agent.py stop –config=/etc/amplify-agent/agent.conf –pid=/var/run/amplify-agent/amplify-agent.pid
}
status() {
status=`ps aux | grep amplify | grep -v grep | wc -l`
if [ $status = «0» ]
thenecho «Amplify Agent STOP»
else
echo «Amplify Agent running»
fi
}
case «$1» in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
stop
start
;;
*)
echo «Usage $prg {start|stop|status|restart}»
exit 1
;;
esac
exit $RETVAl
Configuramos para que el servicio lo arranque al inicio
echo ‘amplify_enable=»YES»‘ >> /etc/rc.conf
Agregamos los permisos correctos al directorio /var/run/amplify-agent/
chown root:www /var/run/amplify-agent/
chmod 770 /var/run/amplify-agent/
Iniciamos el servicio
service amplify-agent start
$Starting Amplify Agent
Config file /etc/amplify-agent/agent.conf is OK
Por ultimo solo nos falta acceder a https://amplify.nginx.com mediante nuestra cuenta
:wq!