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


Collectd-web es una herramienta de monitoreo de front-end web basada en RRDtool ( R ound- R obin D atabase Herramienta) , que interpreta y genera gráficamente los datos recopilados por el servicio Collectd en sistemas Linux.

El servicio Collectd viene de forma predeterminada con una gran colección de complementos disponibles en su archivo de configuración predeterminado, algunos de ellos, de forma predeterminada, ya están activados una vez que haya instalado el paquete de software.

Los scripts CGI Collectd-web que interpretan y generan las estadísticas gráficas de la página html 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 con 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 de servicio Collectd .

Consulte los siguientes artículos de la serie Collectd.

Paso 1: - Instale el servicio Collectd

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

# apt-get install collectd			[On Debian based Systems]

En sistemas antiguos basados en RedHat como CentOS/Fedora, primero debe habilitar el repositorio epel en su sistema, luego puede instalar el paquete collectd desde el repositorio epel.

# yum install collectd

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

# yum install epel-release
# yum install collectd

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

2. Una vez que el paquete esté instalado en su sistema, ejecute 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 Collectd-web Git, primero debe asegurarse de que el paquete de software Git y las siguientes dependencias requeridas estén instalados en su máquina:

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

Paso 3: Importar el repositorio Git Collectd-Web y modificar el servidor Python independiente

4. En el siguiente paso, elija y cambie el directorio a una ruta del sistema de la jerarquía del árbol de Linux donde desea importar el proyecto Git (puede usar la ruta /usr/local/), luego ejecute la siguiente comando para clonar el repositorio de git Collectd-web:

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

5. Una vez que se importe el repositorio de Git a su sistema, ingrese al directorio collectd-web y enumere su contenido para identificar el script del servidor Python ( runserver.py ), que se modificará en el siguiente paso. Además, agregue permisos de ejecución al siguiente script CGI: graphdefs.cgi .

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

6. La secuencia de comandos del servidor Python independiente Collectd-web está configurada de forma predeterminada para ejecutarse y vincularse solo en la dirección de bucle de retorno (127.0.0.1).

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

Si desea enlazar solo en una interfaz específica, use esa dirección IP de interfaz (no se recomienda usar esta opción en caso de que su dirección de interfaz de red sea asignada dinámicamente por un servidor DHCP). Utilice la siguiente captura de pantalla como un extracto de cómo debería verse el script final runserver.py :

# nano runserver.py

Si desea utilizar otro puerto de red que no sea 8888, modifique el valor de la variable PORT.

Paso 4: Ejecute el servidor independiente Python CGI y explore la interfaz web recopilada

7. Una vez que haya modificado el enlace de la dirección IP de la secuencia de comandos del servidor Python independiente, continúe e inicie el servidor en segundo plano emitiendo el siguiente comando:

# ./runserver.py &

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

# python runserver.py &