Cómo instalar y configurar ‘Collectd’ y ‘Collectd-Web’ para monitorear recursos del servidor en Linux

Collectd-web es una herramienta de monitoreo de interfaz web basada en RRDtool (Round-Robin Database Tool), que interpreta y muestra gráficamente los datos recopilados por el servicio Collectd en sistemas Linux.

Collectd viene por defecto con una gran colección de complementos disponibles en su archivo de configuración predeterminado, algunos de los cuales, por defecto, ya están activados una vez que has instalado el paquete de software.

Los scripts CGI de Collectd-web que interpretan y generan las estadísticas de la página html gráfica pueden ser ejecutados simplemente por la puerta de enlace Apache CGI con un mínimo de configuraciones requeridas en el lado del servidor web Apache.

Sin embargo, la interfaz web gráfica con las estadísticas generadas también puede ser ejecutada por el servidor web independiente ofrecido por el script Python CGIHTTPServer que viene preinstalado en el repositorio principal de Git.

Este tutorial cubrirá el proceso de instalación del servicio Collectd y la interfaz Collectd-web en sistemas basados en RHEL/CentOS/Fedora y Ubuntu/Debian con las configuraciones mínimas necesarias para ejecutar los servicios y habilitar un complemento del servicio Collectd.

Por favor, revisa los siguientes artículos de la serie collectd.

Part 1: Install and Configure ‘Collectd’ and ‘Collectd-Web’ to Monitor Linux Resources

Paso 1: – Instalar el Servicio Collectd

1. Básicamente, la tarea del demonio Collectd es recopilar y almacenar estadísticas de datos sobre el sistema en el que se ejecuta. El paquete Collectd se puede descargar e instalar desde los repositorios predeterminados de distribuciones basadas en Debian emitiendo el siguiente comando:

En Ubuntu/Debian
# apt-get install collectd			[On Debian based Systems]
Install Collectd on Debian/Ubuntu
En RHEL/CentOS 6.x/5.x

En sistemas basados en RedHat antiguos como CentOS/Fedora, primero necesitas habilitar el repositorio epel en tu sistema, luego podrás instalar el paquete collectd desde el repositorio epel.

# yum install collectd
En RHEL/CentOS 7.x

En la última versión de RHEL/CentOS 7.x, puedes instalar y habilitar el repositorio epel desde los repositorios yum predeterminados como se muestra a continuación.

# yum install epel-release
# yum install collectd
Install Collectd on CentOS/RHEL/Fedora

Nota: Para los usuarios de Fedora, no es necesario habilitar ningún repositorio de terceros, simplemente usa yum para obtener el paquete collectd de los repositorios yum predeterminados.

2. Una vez que el paquete esté instalado en tu sistema, ejecuta el siguiente comando para iniciar el servicio.

# service collectd start			[On Debian based Systems]
# service collectd start                        [On RHEL/CentOS 6.x/5.x Systems]
# systemctl start collectd.service              [On RHEL/CentOS 7.x Systems]

Paso 2: Instalar Collectd-Web y Dependencias

3. Antes de comenzar a importar el repositorio Git de Collectd-web, primero debes asegurarte de que el paquete de software Git y las siguientes dependencias requeridas estén instaladas en tu máquina:

----------------- On Debian / Ubuntu systems -----------------
# apt-get install git
# apt-get install librrds-perl libjson-perl libhtml-parser-perl
Install Git on Debian/Ubuntu
----------------- On RedHat/CentOS/Fedora based systems -----------------
# yum install git
# yum install rrdtool rrdtool-devel rrdtool-perl perl-HTML-Parser perl-JSON
Install Git and Dependencies

Paso 3: Importar el Repositorio Git de Collectd-Web y Modificar el Servidor Python Independiente

4. En el siguiente paso elige y cambia el directorio a una ruta del sistema del árbol jerárquico de Linux donde desees importar el proyecto Git (puedes usar la ruta /usr/local/), luego ejecuta el siguiente comando para clonar el repositorio git de Collectd-web:

# cd /usr/local/
# git clone https://github.com/httpdss/collectd-web.git
Git Clone Collectd-Web

5. Una vez que el repositorio Git haya sido importado en tu sistema, procede e ingresa al directorio collectd-web y lista su contenido para identificar el script del servidor Python (runserver.py), el cual será modificado en el siguiente paso. Además, añade permisos de ejecución al siguiente script CGI: graphdefs.cgi.

# cd collectd-web/
# ls
# chmod +x cgi-bin/graphdefs.cgi
Set Execute Permission

6. El script del servidor Python independiente de Collectd-web está configurado por defecto para ejecutarse y enlazarse solo a la dirección de bucle local (127.0.0.1).

Para acceder a la interfaz de Collectd-web desde un navegador remoto, necesitas editar el script runserver.py y cambiar la dirección IP 127.0.1.1 a 0.0.0.0, para enlazarse a todas las direcciones IP de interfaces de red.

Si deseas enlazarte solo a una interfaz específica, entonces utiliza la dirección IP de esa interfaz (no se recomienda usar esta opción en caso de que la dirección de la interfaz de red sea asignada dinámicamente por un servidor DHCP). Utiliza la captura de pantalla a continuación como un extracto de cómo debería lucir el script final de runserver.py:

# nano runserver.py
Configure Collect-web

Si deseas utilizar un puerto de red distinto a 8888, modifica el valor de la variable PORT.

Paso 4: Ejecutar el Servidor Independiente de Python CGI y Explorar la Interfaz de Collectd-web

Después de haber modificado la asignación de la dirección IP en el script del servidor Python independiente, continúa y arranca el servidor en segundo plano emitiendo el siguiente comando:

# ./runserver.py &

Opcional, como método alternativo, puedes llamar al intérprete de Python para iniciar el servidor:

# python runserver.py &
Start Collect-Web Server

Source:
https://www.tecmint.com/install-collectd-and-collectd-web-to-monitor-server-resources-in-linux/