Inicio Linux & Systems Networks & Infrastructure Cybersecurity Cloud & DevOps SIEM & Monitoring DFIR & Threat Intel Development & Other Todas las categorias Herramientas

Instalación y configuración de Amplify NGINX en FreeBSD

Instalación y configuración de Amplify NGINX en FreeBSD

Tabla de contenidos

¿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

text
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

text
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:

text
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:

Amplify freebsd 0001

Una vez comentadas las lineas, ejecutamos el script de instalación (install-source.sh)

Amplify freebsd 0002

Configuración Amplify

Accedemos al fichero de configuración de /usr/local/etc/nginx/nginx.conf y agregamos las siguientes lineas

text
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

nginx
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:

nginx
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

bash
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
fi
start() {
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» ]
then
echo «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

bash
echo ‘amplify_enable=»YES»‘ >> /etc/rc.conf

Agregamos los permisos correctos al directorio /var/run/amplify-agent/

bash
chown root:www /var/run/amplify-agent/
chmod 770 /var/run/amplify-agent/

Iniciamos el servicio

bash
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

Amplify freebsd 0003
Amplify freebsd 0004

:wq!

Comentarios