Configurar Collectd como servidor de supervisión central para clientes


Este tutorial se centrará en cómo puede habilitar el complemento de red para el demonio Collectd con el fin de actuar como un servidor de supervisión central para otros clientes Collectd instalados en varios servidores de su red.

Los requisitos para esta configuración son configurar un demonio Collectd (con interfaz Collectd-web) en un host en sus instalaciones que se activará para ejecutarse en modo servidor proporcionando un punto central de monitoreo. El resto de los hosts monitoreados, que ejecutan el demonio Collectd, solo deben configurarse en modo cliente para enviar todas sus estadísticas recopiladas a la unidad central.

  1. Instale Collectd y Collectd-Web para monitorear servidores Linux

Paso 1: Habilite el modo de servidor recopilado

1. Suponiendo que el demonio Collectd y la interfaz Collectd-web ya están instalados en su máquina que actuará como un servidor, el primer paso del que debe ocuparse es asegurarse de que la hora del sistema esté sincronizada con un servidor de hora en tu proximidad.

Para lograr este objetivo, puede instalar el servidor ntp en su máquina, o un método más conveniente sería sincronizar la hora del sistema con regularidad ejecutando el comando ntpdate desde cron contra un servidor de hora local o un servidor de hora público cerca de sus instalaciones consultando el sitio web http://pool.ntp.org para los servidores ntp disponibles.

Por lo tanto, instale el comando ntpdate, si aún no está presente en su sistema, y sincronice la hora con el servidor horario más cercano emitiendo los siguientes comandos:

# apt-get install ntpdate		[On Debain based Systems]
# yum install ntpdate			[On RedHat based Systems]
OR
# dnf install ntpdate			
# ntpdate 0.ro.pool.ntp.org

Nota: Reemplace la URL del servidor ntp en consecuencia en el comando anterior.

2. A continuación, agregue el comando de sincronización de tiempo anterior al archivo raíz del demonio crontab para que se programe diariamente a la medianoche emitiendo el siguiente comando:

# crontab -e

3. Una vez que se abre el archivo crontab raíz para editarlo, agregue la siguiente línea en la parte inferior del archivo, guárdelo y salga para activar el programa:

@daily ntpdate 0.ro.pool.ntp.org   

Nota: Repita estos pasos con respecto a la sincronización de la hora en todas las instancias de cliente Collectd de características presentes en su red para tener toda la hora del sistema alineada con un servidor de hora central.

Paso 2: configurar Collectd en modo servidor en el sistema de monitoreo central

4. Para ejecutar el demonio de Collectd como servidor y recopilar todas las estadísticas de los clientes de Collectd, debe habilitar el complemento de red.

La función del complemento de red es escuchar las conexiones en el puerto 25826/UDP predeterminado y recibir datos de las instancias del cliente. Por lo tanto, abra el archivo de configuración principal de collectd para editar y descomentar las siguientes declaraciones:

# nano /etc/collectd/collectd.conf
OR
# nano /etc/collectd.conf

Busque y descomente las declaraciones de la siguiente manera:

LoadPlugin logfile
LoadPlugin syslog

<Plugin logfile>
       LogLevel "info"
       File STDOUT
       Timestamp true
       PrintSeverity false
</Plugin>

<Plugin syslog>
        LogLevel info
</Plugin>

LoadPlugin network

Ahora, busque profundamente en el contenido del archivo, identifique el bloque del complemento de red y descomente las siguientes declaraciones, reemplazando la declaración de dirección de escucha como se presenta en el siguiente extracto:

<Plugin network>
...
# server setup:
      <Listen "0.0.0.0" "25826">
       </Listen>
....
</Plugin>

5. Una vez que haya terminado de editar el archivo, guárdelo, ciérrelo y reinicie el servicio Collectd para reflejar los cambios y convertirse en un servidor que escucha en todas las interfaces de red. Utilice el comando netstat para obtener la salida del socket de red Collectd.

# service collectd restart
or
# systemctl restart collectd   [For systemd init services]
# netstat –tulpn| grep collectd