Netdata es una herramienta de monitoreo de código abierto para servidores Linux. Proporciona monitoreo de salud y rendimiento en tiempo real con un hermoso tablero y análisis. Netdata debe ejecutarse en cualquier distribución de Linux, se ha probado en Alpine Linux, Arch Linux, CentOS, Ubuntu, etc. Supervisa la CPU, el uso de la memoria, IPv4 y v6, aplicaciones de usuario como Nginx, fail2ban, MySQL, MongoDB, etc.
En este tutorial, le mostraré cómo monitorear Nginx usando Netdata. El tutorial cubrirá la instalación del servidor web Nginx, habilitará el módulo 'stub_status' en Nginx y la instalación de Netdata en Ubuntu 16.04 Xenial Xerus.
Qué haremos:
- Instalar servidor web Nginx.
- Instale la herramienta de monitoreo de Netdata en Ubuntu 16.04.
- Habilitar el módulo 'stub_status' de Nginx.
- Configure Netdata para monitorear Nginx.
- Configurar el cortafuegos UFW.
- Pruebas.
Requisito previo
- Servidor Ubuntu 16.04
- Privilegios de raíz
Paso 1:instalar el servidor web Nginx
El primer paso que debemos hacer es instalar el servidor web Nginx desde el repositorio. Actualice el repositorio de Ubuntu antes de instalar Nginx usando el comando de actualización apt.
apt update
Instale Nginx desde el repositorio de Ubuntu usando el comando apt install a continuación.
apt install -y nginx
Cuando se complete la instalación, inicie Nginx y agréguelo para que se inicie automáticamente en el momento del arranque mediante los comandos systemctl.
systemctl start nginx
systemctl enable nginx
El servidor web se está ejecutando, verifíquelo con curl.
curl -I localhost
Asegúrese de tener un resultado de estado http '200 OK' como se muestra en la siguiente captura de pantalla.
Se ha instalado el servidor web Nginx.
Paso 2:instale la herramienta de monitoreo de Netdata en Ubuntu 16.04
En este paso, instalaremos la herramienta de monitoreo Netdata desde la fuente. Lo instalaré manualmente usando el instalador proporcionado. Antes de instalar Netdata, necesitamos instalar algunos paquetes necesarios.
Instale los paquetes necesarios para la instalación de Netdata usando el comando apt install a continuación.
apt install -y zlib1g-dev uuid-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config curl
Cuando se hayan instalado todos los paquetes, descargue el código fuente de Netdata desde github usando el comando git.
git clone https://github.com/firehol/netdata.git --depth=1
Vaya al directorio 'netdata' y ejecute el script de instalación 'netdata-installer.sh' con privilegios sudo.
cd netdata/
sudo ./netdata-installer.sh
Presione 'Enter' para continuar con la instalación de Netdata.
Cuando se haya completado la instalación, obtendrá el siguiente resultado.
La herramienta de monitoreo de Netdata proporciona un script de servicio para el sistema systemd. Inicie netdata y agréguelo para que se ejecute automáticamente en el momento del arranque usando los comandos systemctl a continuación.
systemctl start netdata
systemctl enable netdata
De forma predeterminada, se ejecuta en el puerto 19999, verifique el puerto con netstat y asegúrese de tener el puerto 19999 en el estado 'ESCUCHAR'.
netstat -plntu
La herramienta de monitoreo de Netdata ha sido instalada.
Paso 3:habilitar el módulo Nginx 'stub_status'
Para monitorear el servidor web Nginx usando la herramienta de monitoreo Netdata, necesitamos alguna configuración adicional. Primero, tenemos que habilitar el módulo nginx 'stub_status' para la configuración del host virtual.
Antes de editar la configuración del host virtual, asegúrese de haber instalado una versión de nginx con el módulo 'stub_status'. Compruébalo con el siguiente comando.
nginx -V
Asegúrese de tener un módulo 'stub_status' como se muestra a continuación.
A continuación, vaya al directorio de configuración de nginx y edite el archivo de host virtual "predeterminado" con el editor vim.
cd /etc/nginx/sites-available/
vim default
Pegue la configuración a continuación en el 'servidor {} ' bloque.
location /stub_status {
stub_status;
# Security: Only allow access from the IP below.
allow 127.0.0.1;
# Deny anyone else
deny all;
}
Guardar y salir.
Pruebe la configuración de nginx y asegúrese de que haya un error y reinicie el servicio de nginx.
nginx -t
systemctl restart nginx
El módulo Nginx 'stub_status' se ha habilitado, verifíquelo usando el comando netstat a continuación.
curl http://127.0.0.1/stub_status
Y obtendrá el resultado como se muestra a continuación.
Paso 4:configurar Netdata para monitorear Nginx
Netdata proporciona módulos Python para monitorear nuestras aplicaciones instaladas en el sistema, incluidos los servidores web Nginx. Para monitorear Nginx usando Netdata, necesitamos el módulo Nginx 'stub_status' y ya se ha habilitado.
Ahora ve al directorio de configuración de netdata. Y luego edite el archivo nginx.conf en el directorio python.d.
cd /etc/netdata/
vim python.d/nginx.conf
Asegúrese de tener la configuración que se muestra a continuación.
localhost:
name : 'local'
url : 'http://localhost/stub_status'
Guarde el archivo y salga de vim.
Ahora reinicie Netdata usando systemctl.
systemctl restart netdata
Se completó la configuración de Netdata para el monitoreo de Nginx.
Paso 5:configurar el cortafuegos UFW
En este tutorial, habilitaré el firewall UFW de Ubuntu. Abriré los puertos HTTP y HTTPS, y luego abriré el nuevo puerto 19999 para acceder al panel de control de Netdata.
Asegúrese de haber instalado el paquete de firewall UFW, si no, use el siguiente comando para instalarlo.
apt install -y ufw
Ahora abra los puertos para ssh, http, https y netdata port 19999 usando los comandos 'ufw allow' a continuación.
ufw allow ssh
ufw allow http
ufw allow https
ufw allow 19999/tcp
A continuación, inicie el cortafuegos UFW y agréguelo para que se inicie automáticamente en el momento del arranque.
ufw enable
Escriba 'y ' a sí y presione 'Enter'.
Cuando haya terminado con esto, verifique el estado del firewall como se muestra a continuación.
ufw status
Y obtendrá nuevos puertos en la lista a continuación.
Paso 6 - Prueba
Abra su navegador y escriba la dirección del servidor con el puerto 19999.
http://192.168.1.11:19999/
Debería ver el panel de control de Netdata.
Haga clic en 'nginx local' a la derecha y vea las conexiones activas, las solicitudes, el estado y la tasa de conexión de Nginx.
El servidor web Nginx ahora se supervisa con Netdata, y Netdata se instaló en el servidor Ubuntu 16.04.