Cómo monitorear el rendimiento de Apache usando Netdata en CentOS 7


Netdata es una herramienta de monitoreo del rendimiento del sistema en tiempo real, simple pero poderosa y efectiva, de código abierto para Linux, FreeBSD y MacOS. Admite varios complementos para monitorear el estado general del servidor, aplicaciones, servicios web como el servidor HTTP Apache o Nginx y mucho más.

En este artículo, explicaremos cómo monitorear el rendimiento del servidor HTTP Apache utilizando la herramienta de monitoreo de rendimiento Netdata en una distribución CentOS 7 o RHEL 7. Al final de este artículo, podrá ver visualizaciones de solicitudes, ancho de banda, trabajadores y otras métricas del servidor Apache.

  1. Un servidor RHEL 7 con instalación mínima.
  2. módulo mod_status habilitado.

Paso 1: Instale Apache en CentOS 7

1. Primero comience instalando el servidor HTTP Apache desde los repositorios de software predeterminados usando el administrador de paquetes YUM.

# yum install httpd

2. Después de haber instalado el servidor web Apache, inícielo por primera vez, verifique si está en funcionamiento y habilítelo para que se inicie automáticamente al arrancar el sistema usando los siguientes comandos.

# systemctl start httpd
# systemctl enable httpd
# systemctl status httpd

3. Si está ejecutando un firewall, por ejemplo, firewalld, debe abrir los puertos 80 y 443 para permitir el tráfico web a Apache a través de HTTP y HTTPS, respectivamente, utilizando los siguientes comandos.

# firewall-cmd --zone=public --permanent --add-port=80/tcp
# firewall-cmd --zone=public --permanent --add-port=443/tcp
# firewall-cmd --reload 

Paso 2: Habilite el módulo Mod_Status en Apache

4. En este paso, debe habilitar y configurar el módulo mod_status en Apache, esto es requerido por Netdata para recopilar información y estadísticas del estado del servidor.

Abra el archivo /etc/httpd/conf.modules.d/00-base.conf usando su editor favorito.

# vim /etc/httpd/conf.modules.d/00-base.conf

Y asegúrese de que la línea a continuación no esté comentada para habilitar el módulo mod_status, como se muestra en la captura de pantalla.

5. Una vez que haya habilitado mod_status, a continuación, debe crear un archivo de configuración server-status.conf para la página de estado del servidor Apache.

# vim /etc/httpd/conf.d/server-status.conf

Agregue la siguiente configuración dentro del archivo.

<Location "/server-status">
    SetHandler server-status
    #Require host localhost           #uncomment to only allow requests from localhost 
</Location>

Guarde el archivo y cierre. Luego reinicie el servicio Apache HTTPD.

# systemctl restart httpd

6. A continuación, debe verificar que la página de estadísticas y estado del servidor Apache funcione bien mediante un navegador web de línea de comandos como lynx, como se muestra.

# yum install lynx
# lynx http://localhost/server-status   

Paso 3: Instale Netdata en CentOS 7

7. Afortunadamente, existe un script de shell de kickstarter para instalar netdata sin problemas desde su repositorio de github. Esta secuencia de comandos de una sola línea descarga una segunda secuencia de comandos que verifica su distribución de Linux e instala los paquetes de sistema necesarios para construir netdata, luego descarga el último árbol de fuentes de netdata; lo construye e instala en su servidor.

Puede iniciar el script de kickstarter como se muestra, el indicador all permite instalar los paquetes necesarios para todos los complementos de netdata, incluidos los del servidor HTTP Apache.

# bash <(curl -Ss https://my-netdata.io/kickstart.sh) all

Tenga en cuenta que si no está administrando su sistema como root, se le pedirá que ingrese su contraseña de usuario para el comando sudo, y también se le pedirá que confirme una serie de funciones presionando [Enter].

8. Una vez que la secuencia de comandos haya terminado de compilar e instalar netdata, iniciará automáticamente el servicio netdata a través del administrador de servicios systemd y le permitirá iniciarse al arrancar el sistema.

De forma predeterminada, netdata escucha en el puerto 19999, accederá a la interfaz de usuario web utilizando este puerto. Entonces, abra el puerto 19999 en el firewall para acceder a la interfaz de usuario web netdata.

# firewall-cmd --permanent --add-port=19999/tcp
# firewall-cmd --reload 

Paso 4: configurar Netdata para monitorear el rendimiento de Apache

9. La configuración de netdata para el complemento Apache es /etc/netdata/python.d/apache.conf, este archivo está escrito en formato YaML, puede abrirlo usando su editor favorito.

# vim /etc/netdata/python.d/apache.conf

La configuración predeterminada es suficiente para comenzar a monitorear su servidor HTTP Apache.

Sin embargo, si ha leído la documentación y le ha realizado algún cambio, reinicie el servicio netdata para efectuar los cambios.

# systemctl restart netdata 

Paso 5: supervisar el rendimiento de Apache con Netdata

10. A continuación, abra un navegador web y utilice la siguiente URL para acceder a la interfaz de usuario web de netdata.

http://domain_name:19999
OR
http://SERVER_IP:19999

Desde el panel de netdata, busque “Apache local” en la lista de complementos del lado derecho y haga clic en él para comenzar a monitorear su servidor Apache. Podrá ver visualizaciones de solicitudes, ancho de banda, trabajadores y otras estadísticas del servidor, como se muestra en la siguiente captura de pantalla.

Repositorio Netdata Github: https://github.com/firehol/netdata

¡Eso es todo! En este artículo, explicamos cómo monitorear el rendimiento de Apache usando Netdata en CentOS 7. Si tiene alguna pregunta o idea adicional para compartir, comuníquese con nosotros a través del formulario de comentarios a continuación.