collectd es un demonio de Unix que recopila, transfiere y almacena datos de rendimiento de equipos informáticos y de red. Los datos adquiridos tienen como objetivo ayudar a los administradores de sistemas a mantener una visión general de los recursos disponibles para detectar cuellos de botella existentes o inminentes.
La primera versión del demonio fue escrita en 2005 por Florian Forster y se ha desarrollado posteriormente como un proyecto de código abierto gratuito . Otros desarrolladores han escrito mejoras y extensiones para el software que se han incorporado al proyecto. [2] La mayoría de los archivos del código fuente están licenciados bajo los términos de la Licencia Pública General de GNU , versión 2 (GPLv2), los archivos restantes están licenciados bajo otras licencias de código abierto . [3]
collectd utiliza un diseño modular : el demonio en sí solo implementa la infraestructura para filtrar y retransmitir datos, así como funciones auxiliares, y requiere muy pocos recursos; incluso se ejecuta en dispositivos integrados con tecnología OpenWrt . La adquisición y el almacenamiento de datos se manejan mediante complementos en forma de objetos compartidos . [4] De esta manera, el código específico de un sistema operativo se mantiene mayormente fuera del demonio real. Los complementos pueden tener sus propias dependencias, por ejemplo, un sistema operativo específico o bibliotecas de software . Otras tareas realizadas por los complementos incluyen el procesamiento de "notificaciones" y mensajes de registro .
Los complementos de adquisición de datos, llamados "complementos de lectura" en la documentación de collectd, se pueden dividir en tres categorías:
Los llamados "complementos de escritura" ofrecen la posibilidad de almacenar los datos recopilados en el disco mediante archivos RRD o CSV , o de enviar datos a través de la red a una instancia remota del demonio.
En la distribución del código fuente de collectd se incluye el complemento denominado "network", que se puede utilizar para enviar y recibir datos hacia/desde otras instancias del demonio. En una configuración de red típica, el demonio se ejecutaría en cada host monitoreado (llamado "clientes") con el complemento de red configurado para enviar los datos recopilados a una o más direcciones de red. En uno o más de los llamados "servidores", se ejecutaría el mismo demonio, pero con una configuración diferente, de modo que el complemento de red reciba datos en lugar de enviarlos. A menudo, el complemento RRDtool se utiliza en servidores para almacenar los datos de rendimiento. [5]
El complemento utiliza un protocolo de red binario sobre UDP . Tanto IPv4 como IPv6 son compatibles como capa de red . Es posible utilizar direcciones de unidifusión (punto a punto) y multidifusión (punto a grupo). La autenticación y el cifrado se han añadido al protocolo con la versión 4.7.0, publicada en mayo de 2009.