https://collectd.org/
Collectd es un pequeño demonio que recopila información del sistema periódicamente y proporciona mecanismos para almacenar y monitorear los valores de varias maneras.
Collectd puede recopilar los siguientes datos:
Utilización del servidor Apache Apache: número de bytes transferidos, número de solicitudes manejadas y estadísticas detalladas de marcador
APCUPS APC UPS DAEMON: CARGA UPS, CARGA, ENTRADA/SALIDA/Voltaje de la batería, etc.
Sensores Apple_Sensors en Mac que ejecutan Mac OS X / Darwin: temperatura, velocidad del ventilador y sensores de voltaje.
Aquaero Varios sensores en la tabla de enfriamiento de agua Aquaero 5 hecha por Aquacomputer.
Estadísticas de ascenso sobre Ascent, un servidor gratuito para el juego "World of Warcraft".
El barómetro lee la presión barométrica absoluta, la presión del aire reducida al nivel del mar y la temperatura. Los sensores compatibles son MPL115A2 y MPL3115 de Freescale y BMP085 de Bosch.
Batería de agresión, -Corrente y voltaje de las baterías de laptop basadas en ACPI y PMU.
Binde el servidor de nombres y las estadísticas de resolución de la interfaz statistics-channel del enlace 9.5, 9,6 y más tarde.
Estadísticas de BuddyInfo del archivo BuddyInfo sobre la fragmentación de la memoria.
Capacidades de la plataforma Capacidades decodificadas de los subsistemas de hardware, por ejemplo, de SMBIOS utilizando DMIDECODE. https://www.nongnu.org/dmidecode/
Estadísticas de CEPH del sistema de almacenamiento distribuido CEPH.
CGROUPS Información contable de CPU para grupos de procesos en Linux.
Estadísticas de Daemon Chrony Chrony: deriva del reloj local, compensación de pares, etc.
Conectividad Estado de la interfaz basado en eventos.
Número de Conntrack de entradas NF_CONNTRACK.
ContextSwitch Número de interruptores de contexto realizados por el sistema operativo.
Utilización de la CPU: tiempo dedicado al sistema, usuario, agradable, inactivo y estados relacionados.
Frecuencia de CPU CPUFREQ (para computadoras portátiles con paso de velocidad o una tecnología similar)
CPUSELE Sleep de CPU: tiempo dedicado a suspender (para dispositivos móviles que ingresan a suspender automáticamente)
Estadísticas de análisis de rizos de sitios web que utilizan expresiones regulares.
Curl_json recupera los datos JSON a través de Curl y lo analiza de acuerdo con la configuración del usuario.
Curl_xml recupera datos XML a través de Curl y los analiza de acuerdo con la configuración del usuario.
DBI ejecuta declaraciones SQL en varias bases de datos e interpreta los datos devueltos.
DCPMM recopila Intel Optane DC Memoria Presistente (DCPMM) Estadísticas de salud y salud.
Uso del punto de montaje DF (básicamente los valores df(1) entrega)
Utilización del disco del disco: sectores leídos/escritos, número de acciones de lectura/escritura, tiempo promedio que una operación IO se completó.
Tráfico DNS DNS: tipos de consulta, códigos de respuesta, códigos de operación y tráfico/octetos transferidos.
dpdkstat recopila estadísticas de interfaz DPDK. Consulte Docs/build.dpdkstat.md para obtener instrucciones detalladas de compilación.
Este complemento debe compilarse con defensas del compilador habilitado, por ejemplo -fstack -propector.
dpdk_telemetry recopile la interfaz DPDK, la aplicación y las estadísticas globales. Este complemento se puede utilizar como sustituto del complemento DPDKSTAT.
Este complemento depende de la versión DPDK 19.08 y debe usarse junto con la aplicación DPDK.
Además, este complemento tiene dependencia de la Biblioteca Jansson.
DRBD recopila estadísticas individuales de recursos DRBD.
Estadísticas de correo electrónico de correo electrónico: recuento, tráfico, puntajes y cheques de spam. Ver Collectd-Email (5).
Cantidad de entropía de entropía disponible para el sistema.
Las epopeyas recopilan datos del bus de mensajes de Epics. https://epics-controls.org
Estadísticas de tarjeta de interfaz de red Ethstat.
Valores exec recopilados por un programa o script personalizado. Ver Collectd-EXEC (5).
El archivo FHCount maneja las estadísticas.
FileCount Cuente el número de archivos en los directorios.
Estadísticas del marco de almacenamiento de almacenamiento basado en el sistema de archivos FSCACHE LINUX.
Gmond recibe tráfico de multidifusión de instancias de ganglios.
GPS monitorea datos relacionados con GPS a través de GPSD.
GPU_NVIDIA Monitor NVIDIA Estadísticas de GPU disponibles a través de NVML.
Temperaturas de disco duro HDDTemp utilizando HDDTempd.
GranPages informa el número de grandes páginas grandes utilizadas y gratuitas. Aquí se puede encontrar más información sobre grandes páginas: https://www.kernel.org/doc/documentation/vm/hugetlbpage.txt.
Este complemento debe compilarse con defensas del compilador habilitado, por ejemplo -fstack -propector.
Infiniband atributos y contadores para cada puerto en cada dispositivo IB.
Intel_PMU El complemento Intel_PMU lee contadores de rendimiento proporcionados por la interfaz Linux Kernel Perface. El complemento utiliza la biblioteca Jevents para resolver eventos nombrados en eventos PERF y acceder a la interfaz PERF.
Intel_RDT El complemento Intel_RDT recopila información proporcionada por las características de monitoreo de Intel Resource Director Technology (Intel (R) RDT), como la tecnología de monitoreo de caché (CMT), Memory Bandth Monitoring (MBM). Estas características proporcionan información sobre la utilización de recursos compartidos como la ocupación de caché del último nivel, el uso de ancho de banda de memoria local, el uso de ancho de banda de memoria remota, las instrucciones por reloj. https://01.org/packet-processing/cache-monitoring-technology-memory-bandwidth-monitoring-cache-leatation-technology-code-and-data
Interfaz Traffic de interfaz: número de octetos, paquetes y errores para cada interfaz.
Contadores de IPC IPC: semáforos utilizados, número de segmentos asignados en memoria compartida y más.
IPMI IPMI (Interfaz de administración de plataforma inteligente) Información de sensores.
IPSTATS IPv4 e IPv6; contadores entrantes, salientes y reenviados. Solo freebsd.
Contadores de iptables iptables: número de bytes que coincidían con una determinada regla iptable.
Estadísticas de conexión IPVS IPVS (número de conexiones, octetos y paquetes para cada servicio y destino). Ver http://www.linuxvirtualserver.org/software/index.html.
Contadores IRQ IRQ: frecuencia en la que ocurren ciertas interrupciones.
Java integra una máquina virtual Java (JVM) para ejecutar complementos en Java Bytecode. Consulte Docs/build.java.md para obtener instrucciones detalladas de compilación.
Carga el promedio de carga del sistema en los últimos 1, 5 y 15 minutos.
Las estadísticas de CPU detalladas de LPAR de la técnica de virtualización de "particiones lógicas" integradas en los procesadores de potencia de IBM.
Lua el complemento Lua implementa un intérprete Lua en Collectd. Esto permite escribir complementos en Lua que se ejecutan por Collectd sin la necesidad de iniciar un intérprete pesado en cada intervalo. Consulte Collectd-Lua (5) para más detalles.
Madwifi consulta estadísticas de uso muy detalladas de adaptadores e interfaces de LAN inalámbricos que usan el chipset de Atheros y el controlador Madwifi.
Sensores de placa base MBMON: temperatura, velocidad del ventilador e información de voltaje, utilizando MBMON (1).
Las excepciones de verificación de la máquina de monitor MCELOG (errores de hardware detectados por el hardware y el software) informadas por McELOG y generan notificaciones apropiadas cuando se detectan excepciones de verificación de la máquina.
Información del dispositivo de reducción de software MD Linux (número de discos activos, fallidos, repuestos y faltantes).
MEMCACHEC consulta y analiza datos de un demonio memcache (memcached).
Estadísticas memcacadas del sistema de almacenamiento de almacenamiento distribuido Memcached. http://www.danga.com/memcached/
Memoria Utilización de la memoria: memoria ocupada por procesos en ejecución, caché de página, caché de búfer y gratis.
MIC recoge el uso de la CPU, el uso de la memoria, las temperaturas y el consumo de energía de las CPU de Core (MIC) integradas de Intel.
MMC lee las estimaciones de Life Time informadas por los dispositivos EMMC 5.0+ y algunas métricas de salud más detalladas, como el bloque malo y los recuentos de borrado o los ciclos de energía, para Micron y Sandisk EMMCS y algunas tarjetas MMC Swissbit (Manfid = 0x5d OEMID = 0x5342).
Modbus lee valores de los dispositivos habilitados de Modbus/TCP. Admite valores de lectura de múltiples "esclavos" para que se puedan usar dispositivos de puerta de enlace.
Información multímetro proporcionada por multímetros en serie, como el Metex M-4650CR .
Estadísticas del servidor MySQL Mariadb y MySQL: Comandos emitidos, manejadores activados, uso de subprocesos, utilización de caché de consulta y tráfico/octetos enviados y recibidos.
El complemento NetApp para consultar los valores de rendimiento de un sistema de almacenamiento de NetApp utilizando el SDK "Administrar ONTAP" proporcionado por NetApp.
NetLink Muy detallada interfaz de red de Linux y estadísticas de enrutamiento. Puede obtener información (detallada) sobre interfaces, QDISC, clases y, si puede usarlo, filtros.
La red recibe valores recopilados por otros hosts. Las configuraciones grandes querrán recopilar los datos en una máquina dedicada, y este es el complemento de elección para eso.
Procedimientos NFS NFS: qué comando NFS se llamaron con qué frecuencia.
Nginx recopila estadísticas de nginx (Speak: Engine X), un servidor HTTP y Mail/proxy.
NTPD Estadísticas de demonio NTP: deriva del reloj local, compensación de pares, etc.
Información NUMA sobre acceso a la memoria no uniforme (NUMA).
Herramientas de UPS de red de nueces: corriente UPS, voltaje, potencia, carga, utilización, temperatura, etc. Ver UPSD (8).
OLSRD consulta información de enrutamiento del demonio "Enrutamiento de estado de enlace optimizado".
Onewire (¡Experimental!) Lea los sensores One Wire usando la biblioteca OWCAPU del proyecto OWFS. Lea en CollectD.Conf (5) Por qué este complemento es experimental.
OpenLDAP Lea información de monitoreo del subárbol CN = Monitor de OpenLDAP.
OpenVPN RX y TX de cada cliente en OpenVPN-Status.log (Estado-Versión 2). http://openvpn.net/index.php/documentation/howto.html
Datos de consulta de Oracle de una base de datos Oracle.
OVS_EVENTS El complemento monitorea el estado del enlace de las interfaces Open VSwitch (OVS) conectadas, envía los valores a Collectd y envía la notificación cada vez que el cambio de estado del enlace ocurre en la base de datos OVS. Requiere que se instale la biblioteca YAJL. Instrucciones detalladas para instalar y configurar Open VSwitch, consulte la documentación de OVS. http://openvswitch.org/support/dist-docs/install.rst.html
OVS_STATS El complemento recopila las estadísticas de puentes e interfaces conectados con OVS. Requiere que se instale la biblioteca YAJL. Instrucciones detalladas para instalar y configurar Open VSwitch, consulte la documentación de OVS. http://openvswitch.org/support/dist-docs/install.rst.html
PCIe_errors lee errores del estado del dispositivo PCI Express y las capacidades extendidas AER. https://www.design-reuse.com/articles/38374/pcie-error-logging-and-handling-on-a-typical-soc.html
Perl El complemento Perl implementa un interprendedor perl en Collectd. Puede escribir sus propios complementos en Perl y devolver valores arbitrarios utilizando esta API. Ver Collectd-Perl (5).
Estadísticas de consulta de PF del filtro de paquetes de BSD "PF".
Los valores de tiempo de recepción y envío de Pinba de Pinba, una extensión de perfil para PHP.
Ping Network Latency: tiempo para alcanzar la puerta de enlace predeterminada u otro host dado.
PostgreSQL Estadísticas de la base de datos PostgreSQL: conexiones activas del servidor, números de transacción, bloque IO, manipulaciones de la fila de tabla.
PowerDNS PowerDNS Nombre Estadísticas del servidor.
Procesos de procesos Counts: Número de procesos en ejecución, sueño, zombie, ...
Peccent escucha el proceso de inicio y sale a través de NetLink.
Los protocolos cuentan varios aspectos de los protocolos de red como IP, TCP, UDP, etc.
Python El complemento Python implementa un intérprete de Python en Collectd. Esto permite escribir complementos en Python que se ejecutan por Collectd sin la necesidad de comenzar un intérprete pesado en cada intervalo. Consulte Collectd-Python (5) para más detalles.
Ras el complemento RAS reúne y cuenta los errores proporcionados por Rasdaemon
Redis El complemento Redis reúne la información de un servidor Redis, que incluye: tiempo de actividad, memoria usada, conexiones totales, etc.
Routeros Interfaz de consulta y estadísticas de registro inalámbrico de Routeros.
Estadísticas de Daemon RrdCached Rrdtool en caché (rrdcached).
sensores sensores del sistema, accedidos con LM_Sensores: voltajes, temperaturas y velocidades de rotación del ventilador.
Serial RX y TX de interfaces seriales. Solo Linux; Necesita privilegios de raíz.
Sigrok usa Libsigrok como backend, lo que permite que cualquier dispositivo respaldado por Sigrok tenga sus medidas alimentadas para Collectd. Esto incluye multímetros, medidores de nivel de sonido, termómetros y mucho más.
Slurm reúne información de nodo por parte y estado de trabajo utilizando libslurm, así como estadísticas de salud internas.
Smart recolecte estadísticas inteligentes, en particular el recuento de ciclo de carga, la temperatura y los malos sectores.
Los valores de lectura de SNMP del SNMP (protocolo de administración de red simple) habilitan dispositivos de red como interruptores, enrutadores, termómetros, servidores de monitoreo de bastidor, etc. Consulte Collectd-SNMP (5).
STATSD actúa como un servidor STATSD, los valores de lectura enviados a través de la red de clientes STATSD y calculando las tarifas y otros agregados de estos valores.
Sysevent escucha eventos RSYSLOG y envía valores coincidentes.
Las páginas de intercambio se intercambiaron en el disco duro o lo que sea que el sistema operativo sea llamado swap .
Tabla PARSE AMILLOS ESTRUCTURADOS TABLE.
Tail sigue (cola) archivos de registro, los analiza por líneas y envía valores coincidentes.
Tail_csv sigue (colas) archivos en formato CSV, analiza cada línea y envía valores extraídos.
Bytes y operaciones de cinta leídos y escritos en dispositivos de cinta. Solaris solamente.
TCPCONNS Número de conexiones TCP a puertos locales y remotos específicos.
TeamSpeak2 TeamSpeak2 Estadísticas del servidor.
complemento TED para leer los valores de "The Energy Detective" (TED).
Termal Linux ACPI Información de la zona térmica.
Tokyotyrant lee el número de registros y el tamaño del archivo de un servidor Tokyo Tyrant en ejecución.
Turbostat lee la frecuencia de la CPU y la residencia en el estado C en procesadores turbo-con capacidad modernos.
UBI lee el recuento de errores físicos malos y el valor de contador de borrado máximo actual en los volúmenes de UBI.
Estadísticas de tiempo de actividad del sistema de actividad.
Los usuarios de los usuarios iniciaron sesión actualmente.
barniz varias estadísticas de barniz, un acelerador HTTP.
virt CPU, memoria, disco y estadísticas de E/S de red de máquinas virtuales.
Estadísticas de memoria virtual de VMEM, por ejemplo, el número de páginas/-outs o el número de fallas de página.
Recursos del sistema VServer utilizados por Linux Vservers. Ver http://linux-vserver.org/.
Calidad de enlace inalámbrico de las tarjetas inalámbricas. Solo Linux.
XENCPU XEN Hypervisor Estadísticas de CPU.
La tasa de bits XMMS y la frecuencia de la música se reproducen con XMMS.
Estadísticas de ZFS_ARC para el "caché de reemplazo adaptativo" (ARC) de ZFS.
La zona mide el porcentaje de carga de CPU por contenedor (zona) bajo Solaris 10 y superior
Zookeeper lee datos del comando MNTR de Zookeeper.
La salida se puede escribir o enviar a varios destinos mediante los siguientes complementos:
AMQP envía datos codificados por JSON a un servidor avanzado del Protocolo de cola de mensajes (AMQP) 0.9.1, como RabbitMQ.
AMQP1 envía datos codificados por JSON a un servidor avanzado del Protocolo de cola de mensajes (AMQP) 1.0, como el enrutador de despacho QPID o el corredor de apache artemis.
CSV Escribe en archivos de valores separados por comas (CSV). Esto necesita mucho espacio para discos, pero es extremadamente portátil y se puede analizar con casi todos los programas que puedan analizar cualquier cosa. Incluso el Excel de Microsoft.
GRPC Enviar y recibir valores a través de la red utilizando el marco GRPC.
Lua es posible implementar complementos de escritura en Lua utilizando el complemento LUA. Consulte Collectd-Lua (5) para más detalles.
MQTT publica y suscribe temas MQTT.
Red Enviar los datos a un host remoto para guardar los datos de alguna manera. Esto es útil para configuraciones grandes donde los datos deben ser guardados por una máquina dedicada.
Perl, por supuesto, los valores se propagan a complementos escritos en Perl también, por lo que puede hacer cosas extrañas con los complementos en los que no nos atrevemos a pensar;) Ver Collectd-Perl (5).
Python Es posible implementar complementos de escritura en Python usando el complemento Python. Consulte Collectd-Python (5) para más detalles.
Salida de RRDCached a los archivos de redabase de round-roBin (RRD) utilizando el Daemon RRDTool en caché (RRDCached)-ver rrdcached(1) . Ese demonio proporciona una implementación general del almacenamiento en caché realizado por el complemento rrdtool .
Salida RRDTool a los archivos redondos-Robin-Database (RRD) usando Librrd. Ver RRDTool (1). Este es probablemente el destino más popular para tales valores. Dado que las actualizaciones de RRD-Files son algo caros, este complemento puede almacenar en caché las actualizaciones de los archivos y escribir un montón de actualizaciones a la vez, lo que disminuye mucho el sistema.
SNMP_AGENT recibe y maneja consultas del agente maestro SNMP y devuelve los datos recopilados por los complementos de lectura. Maneja solicitudes solo para OID especificados en el archivo de configuración. Para manejar consultas SNMP, el complemento obtiene datos de Collectd y traduce los valores solicitados del formato interno de Collectd al formato SNMP.
Unixsock uno puede consultar los valores del complemento Unixsock cuando sean necesarios. Lea Collectd-Unixsock (5) para una descripción sobre cómo se hace eso.
Write_Graphite envía datos al carbono, la capa de grafito de almacenamiento usando TCP o UDP. Se puede configurar para evitar registrar errores de envío (especialmente útiles cuando se usa UDP).
Write_HTTP envía los valores recopilados por CollectD a un servidor web utilizando solicitudes de publicación HTTP. Los datos transmitidos están en una forma entendida por el complemento EXEC o formateado en JSON.
Write_Kafka envía datos a Apache Kafka, una cola distribuida.
write_log escribe datos en el registro
Write_MongoDB envía datos a MongoDB, una base de datos NoSQL.
Write_prometheus publica valores utilizando un servidor HTTP integrado, en un formato compatible con Prometheus 'CollectD_Exporter.
Write_REDIS envía los valores a un servidor de base de datos de valor de clave Redis.
Write_Riemann envía datos a Riemann, un sistema de procesamiento y monitoreo de flujo.
Write_Sensu envía datos a SENSU, un sistema de procesamiento y monitoreo de flujo, a través del Sensu Client Local TCP Socket.
Write_SysLog envía datos en formato syslog, usando TCP, donde el mensaje contiene la métrica en formato humano o json.
Write_TSDB envía datos OpenSDB, una base de datos escalable sin maestro, sin series temporales de estado compartido.
El registro es, como todo en Collectd, proporcionado por complementos. Los siguientes complementos nos mantienen informados sobre lo que está sucediendo:
LogFile escribe mensajes de registro en un archivo o stdout/stderr.
Los mensajes de registro de Perl se propagan a complementos escritos en Perl también. Ver Collectd-Perl (5).
Python Es posible implementar complementos de registro en Python usando el complemento Python. Consulte Collectd-Python (5) para más detalles.
Syslog registra el mecanismo de registro de UNIX estándar, Syslog.
Log_logstash escribe mensajes de registro formateados como eventos JSON logstash.
Las notificaciones pueden ser manejadas mediante los siguientes complementos:
notify_desktop Enviar una notificación de escritorio a un demonio de notificación, como se define en la especificación de notificación de escritorio. Para mostrar realmente las notificaciones, se requiere notificación-damon. Ver http://www.galago-project.org/specs/notification/.
Notify_Email Envíe un correo electrónico con el mensaje de notificación a los destinatarios configurados.
Notify_nagios Envíe notificaciones como resultados de verificación pasiva a una instancia local de Nagios.
EXEC EXECTE a un programa o script para manejar la notificación. Ver Collectd-EXEC (5).
LogFile escribe el mensaje de notificación en un archivo o stdout/stderr.
Red Enviar la notificación a un host remoto para manejarlo de alguna manera.
Las notificaciones de Perl también se propagan a complementos escritos en Perl. Ver Collectd-Perl (5).
Python Es posible implementar complementos de notificación en Python utilizando el complemento Python. Consulte Collectd-Python (5) para más detalles.
El procesamiento de valor se puede controlar utilizando la infraestructura de "cadena de filtro" y "coincidencias" y "objetivos". Los siguientes complementos están disponibles:
Match_empty_counter Match Contador Valores que actualmente son cero.
Match_hashed Match Valores utilizando una función hash del nombre de host.
Match_egex Match Values por su identificador basado en expresiones regulares.
Valores de coincidencia de Match_Timediff con una marca de tiempo inválida.
Match_Value Seleccionar valores por los valores de sus fuentes de datos.
Target_notification crea y envía una notificación.
Target_replace Reemplace partes de un identificador utilizando expresiones regulares.
Valores de escala Target_Scale (multiplicar) por un valor arbitrario.
Target_set Set (sobrescribir) partes completas de un identificador.
Complementos varios:
La agregación selecciona múltiples listas de valores basadas en patrones o expresiones regulares y crea nuevas listas de valores agregados de esas.
Los valores de verificación de umbral contra los umbrales configurados y crean notificaciones si los valores están fuera de los límites. Consulte el umbral CollectD (5) para más detalles.
UUID establece el nombre de host en un identificador único. Esto está destinado a configuraciones donde cada cliente puede migrar a otro host físico, posiblemente pasando por uno o más cambios de nombre en el proceso.
Rendimiento: dado que Collectd se ejecuta como demonio, no pasa mucho tiempo comenzando una y otra vez. Con la excepción del complemento EXEC, no se bifurcan los procesos. El almacenamiento en caché en los complementos de salida, como el RRDTool y los complementos de red, se asegura de que sus recursos se usen de manera eficiente. Además, dado que Collectd se programa multiproceso, se beneficia de los procesadores de hiperingidos y multinúcleo y se asegura de que el demonio no esté inactivo si solo un complemento espera a que se complete una operación IO.
Una vez configurado, casi no es necesario ningún mantenimiento. La configuración se mantiene lo más fácil posible y los valores predeterminados deben estar bien para la mayoría de los usuarios.
El archivo de configuración de Collectd se puede encontrar en sysconfdir/collectd.conf . Ejecute collectd -h para una lista de valores predeterminados incorporados. Consulte collectd.conf(5) para obtener una lista de opciones y una descripción de sintaxis.
Cuando se cargan los complementos csv o rrdtool , escribirán los valores en los archivos. El lugar habitual para estos archivos está debajo /var/lib/collectd .
Al usar algunos de los complementos, Collectd debe ejecutarse como raíz del usuario, ya que solo la raíz puede hacer ciertas cosas, como los paquetes de ICMP artesanales necesarios para hacer ping a otros hosts. ¡Collectd no debe instalarse setuid root ya que se puede usar para sobrescribir archivos valiosos!
Los scripts de muestra para generar gráficos residen en contrib/ en el paquete fuente o en algún lugar cercano /usr/share/doc/collectd en la mayoría de las distribuciones. Tenga en cuenta que ese script se entiende como un punto de partida para sus propios experimentos. Algunos de ellos requieren el módulo RRDs perl. ( librrds-perl en Debian) Si ha escrito una solución más sofisticada, compártala con nosotros.
Los RRA de los archivos RRD creados automáticamente dependen de la configuración step y heartbeat dado. Si cambia estas configuraciones, es posible que necesite recrear los archivos, perdiendo todos los datos. Tenga en cuenta eso al cambiar los valores y lea a fondo la manzana rrdtool (1).
Si está utilizando el complemento dns , chkrootkit(1) informará collectd como un sniffer de paquetes ( <iface>: PACKET SNIFFER(/usr/sbin/collectd[<pid>]) ). El complemento captura todos los paquetes UDP en el puerto 53 para analizar el tráfico DNS. En este caso, Collectd es un rastreador legítimo y el informe debe considerarse como un falso positivo. Sin embargo, es posible que desee verificar que esto realmente sea recolectado y no algún otro rastreador ilegítimo.
Para compilar Collectd de la fuente necesitará:
Sospechosos habituales: compilador c, enlazador, preprocesador, make, ...
Collectd hace uso de algunas características comunes de C99, por ejemplo, literales compuestos y declaraciones mixtas, y por lo tanto requiere un compilador compatible con C99.
En Debian y Ubuntu, el paquete "de construcción" debe atraer todo lo necesario.
Una implementación de Posix-Threads (PTHREAD). Dado que reunir algunas estadísticas es lenta (conexiones de red, dispositivos lentos, etc.) CollectD está paralelo. La interfaz Posix Threads se está utilizando y se debe encontrar en varias implementaciones para con suerte todas las plataformas.
Al construir desde el repositorio de Git, se requieren Flex (Tokenizer) y Bison (generador de analizador). Liberar tarballs incluyen los archivos generados: no necesita estos paquetes en ese caso.
AeroTools-NG (opcional) utilizado por el complemento aquaero . Actualmente, la biblioteca libaquaero5 , que utiliza el kit de herramientas aerotools-ng , no se compila como un objeto compartido ni presenta una rutina de instalación. Por lo tanto, debe señalar el script de configuración de Collectd en el directorio de origen del proyecto aerotools-ng . https://github.com/lynix/aerotools-ng
CoreFoundation.Framework e IOKIT.Framework (opcional) para compilar en Darwin en general y el complemento apple_sensors en particular. http://developer.apple.com/corefoundation/
CUDA (opcional) utilizado por el complemento gpu_nvidia https://developer.nvidia.com/cuda-downloads
Libatasmart (opcional) utilizado por el complemento smart . http://git.0pointer.de/?p=libatasmart.git
LibCAP (opcional) El complemento turbostat puede construir opcionalmente con el soporte de capacidades de Linux, lo que evita el requisito de privilegios completos (también conocido como Running como root) para leer los valores. http://sites.google.com/site/fulfycapable/
libclntsh (opcional) utilizado por el complemento oracle .
libhiredis (opcional) utilizado por el complemento redis . Tenga en cuenta que necesita una versión 0.10.0 o superior. https://github.com/redis/hiredis
libcurl (opcional) Si desea usar el complemento apache , ascent , bind , curl , curl_json , curl_xml , nginx o write_http . http://curl.haxx.se/
LibDBI (opcional) utilizado por el complemento dbi para conectarse a varias bases de datos. http://libdbi.sourceforge.net/
Libesmtp (opcional) para el complemento notify_email . http://www.stafford.uklinux.net/libesmtp/
Libganglia (opcional) utilizado por el complemento gmond para procesar los datos recibidos de los ganglios. http://ganglia.info/
libgrpc (opcional) utilizado por el complemento grpc . GRPC requiere un compilador C ++ que admite el estándar C ++ 11. https://grpc.io/
LibgCrypt (opcional) utilizado por el complemento network para cifrado y autenticación. http://www.gnupg.org/
Libgps (opcional) utilizado por el complemento gps . http://developer.berlios.de/projects/gpsd/
Libi2c-Dev (opcional) utilizado para el barometer de complemento, proporciona solo el archivo de encabezado i2c-dev.h para el desarrollo del espacio de usuario I2C.
libiptc (opcional) para consultar contadores iptables. http://netfilter.org/
Libjansson (opcional) datos JSON. Esto se utiliza para las capabilities y los complementos dpdk_telemetry . http://www.digip.org/jansson/
LibJevents (opcional) La biblioteca Jevents es utilizada por el complemento intel_pmu para acceder a la interfaz Linux Kernel Perff. Nota: La biblioteca debe construirse con el indicador -fPIC para estar vinculado con el objeto compartido Intel_PMU correctamente. https://github.com/andikleen/pmu-tools
Libjvm (opcional) Biblioteca que encapsula la máquina virtual Java (JVM). El complemento java utiliza esta biblioteca para ejecutar Java Bytecode. Consulte Docs/build.java.md para obtener instrucciones detalladas de compilación. http://openjdk.java.net/ (y otros)
Libldap (opcional) utilizado por el complemento openldap . http://www.openldap.org/
Liblua (opcional) utilizado por el complemento lua . Actualmente, Lua 5.1 y más tarde son compatibles. https://www.lua.org/
LibMemCached (opcional) utilizado por el complemento memcachec para conectarse a un demonio Memcache. http://tangent.org/552/libmemcached.html
Libmicrohttpd (opcional) utilizado por el complemento Write_prometheus para ejecutar un demonio HTTP. http://www.gnu.org/software/libmicrohttpd/
libmnl (opcional) utilizado por el complemento netlink . http://www.netfilter.org/projects/libmnl/
LibModbus (opcional) utilizado por el complemento modbus para comunicarse con dispositivos Modbus/TCP. El complemento modbus funciona con la versión 2.0.3 de la biblioteca, debido a los cambios frecuentes en API, otras versiones pueden o no compilar limpiamente. http://www.libmodbus.org/
LibMysqlClient (opcional) utilizada como era de esperar por el complemento mysql . http://dev.mysql.com/
LibnetApp (opcional) requerido para el complemento netapp . Esta biblioteca es parte de la "Administrar Ontap SDK" publicada por NetApp.
libnetsnmp (opcional) para los complementos snmp y snmp_agent . http://www.net-snmp.org/
LibNetsNMPagent (opcional) requerido para el complemento snmp_agent . http://www.net-snmp.org/
libnotify (opcional) para el complemento notify_desktop . http://www.galago-project.org/
Libopenipmi (opcional) utilizado por el complemento ipmi para probar los dispositivos IPMI. http://openipmi.sourceforge.net/
Liboping (opcional) utilizado por el complemento ping para enviar y recibir paquetes ICMP. http://octo.it/liboping/
Libowcapi (opcional) utilizado por el complemento onewire para leer los valores de los sensores Onewire (o el demonio owserver (1)). http://www.owfs.org/
LibPCAP (opcional) utilizado para capturar paquetes por el complemento dns . http://www.tcpdump.org/
LibperfStat (opcional) utilizado por varios complementos para recopilar estadísticas bajo AIX.
Libperl (opcional) obviamente utilizado por el complemento perl . La biblioteca debe ser compilada con soporte de iThread (introducido en Perl 5.6.0). http://www.perl.org/
libpmwapi (opcional) utilizado por el complemento dcpmm . La biblioteca GitHub: https://github.com/intel/intel-pmwatch Siga las instrucciones de compilación de PMWatch mencionadas para el complemento DCPMM y use la ruta de instalación para resolver la dependencia aquí.
libpq (opcional) La biblioteca del cliente PostgreSQL C utilizada por el complemento postgresql . http://www.postgresql.org/
Libpqos (Opcional) La tecnología de director de recursos PQOS para Intel (R) utilizada por el complemento intel_rdt . https://github.com/01org/intel-cmt-cat
LibProtobuf, Protoc 3.0+ (opcional) utilizado por el complemento grpc para generar trozos de servicio y código para manejar los paquetes de red del protocolo de red basado en ProtoBuf. https://developers.google.com/protocol-buffers/
LibProtobuf-C, Protoc-C (opcional) utilizado por el complemento pinba para generar un analizador para los paquetes de red enviados por la extensión PINBA PHP. http://code.google.com/p/protobuf-c/
Libpython (opcional) utilizado por el complemento python . Actualmente, Python 2.6 y posterior y Python 3 son compatibles. http://www.python.org/
Libqpid-Proton (opcional) utilizado por el complemento amqp1 para conexiones AMQP 1.0, por ejemplo, a Qdrouterd. http://qpid.apache.org/
LibrabBitMQ (opcional; también llamado "RabbitMQ-C") utilizado por el complemento amqp para conexiones AMQP 0.9.1, por ejemplo, para RabbitMQ. http://hg.rabbitmq.com/rabbitmq-c/
Librdkafka (opcional; también llamado "rdkafka") utilizado por el complemento write_kafka para producir mensajes y enviarlos a un corredor de Kafka. https://github.com/edenhill/librdkafka
Librouteros (opcional) utilizado por el complemento routeros para conectarse a un dispositivo que ejecuta Routeros . http://octo.it/librouteros/
Librrd (opcional) utilizado por los complementos rrdtool y rrdcached . Este último requiere soporte del cliente RRDTool que se agregó después de la versión 1.3 de RRDTool. Se sabe que las versiones 1.0, 1.2 y 1.3 funcionan con el complemento rrdtool . http://oss.oetiker.ch/rrdtool/
Librt, Libsocket, LibkStat, Libdevinfo (opcional) Varias bibliotecas estándar de Solaris que proporcionan funciones del sistema. http://developers.sun.com/solaris/
Libsensors (opcional) para leer de lm_sensors , consulte el complemento sensors . http://www.lm-sensors.org/
Libsigrok (opcional) utilizado por el complemento sigrok . Además, libsigrok depende del glib , libzip y opcionalmente (dependiendo de qué conductores estén habilitados) en libusb , libftdi y libudev .
Libslurm (opcional) utilizado por el complemento slurm . https://slurm.schedmd.com/
Libsqlite3 (opcional) utilizado por el complemento ras . https://sqlite.org/
LibStatGrab (opcional) utilizado por varios complementos para recopilar estadísticas en sistemas distintos de Linux y/o Solaris. http://www.i-scream.org/libstatgrab/
Libtokyotyrant (opcional) utilizado por el complemento tokyotyrant . http://1978th.net/tokyotyrant/
LibupSclient/NUT (opcional) para el complemento nut que consulta upsd de NUT. http://networkupstools.org/
Libvirt (opcional) recopila estadísticas de máquinas virtuales. http://libvirt.org/
LibXML2 (opcional) datos XML de analizador. Esto es necesario para los complementos ascent , bind , curl_xml y virt . http://xmlsoft.org/
libxen (opcional) utilizado por el complemento xencpu . http://xenbits.xensource.com/
libxmms (opcional) http://www.xmms.org/
Libyajl (opcional) Pante Datos JSON. Esto es necesario para los complementos ceph , curl_json , ovs_events , ovs_stats y log_logstash . http://github.com/lloyd/yajl
Libvarnish (opcional) obtiene estadísticas de una instancia de barniz. Esto es necesario para el complemento varnish . http://varnish-cache.org
Riemann-C-Client (opcional) para el complemento write_riemann . https://github.com/algernon/riemann-cclient
To configure, build and install collectd with the default settings, run ./configure && make && make install . For a complete list of configure options and their description, run ./configure --help .
By default, the configure script will check for all build dependencies and disable all plugins whose requirements cannot be fulfilled (any other plugin will be enabled). To enable a plugin, install missing dependencies (see section Prerequisites above) and rerun configure . If you specify the --enable-<plugin> configure option, the script will fail if the depen- dencies for the specified plugin are not met. In that case you can force the plugin to be built using the --enable-<plugin>=force configure option. This will most likely fail though unless you're working in a very unusual setup and you really know what you're doing. If you specify the --disable-<plugin> configure option, the plugin will not be built. If you specify the --enable-all-plugins or --disable-all-plugins configure options, all plugins will be enabled or disabled respectively by default. Explicitly enabling or disabling a plugin overwrites the default for the specified plugin. These options are meant for package maintainers and should not be used in everyday situations.
By default, collectd will be installed into /opt/collectd . You can adjust this setting by specifying the --prefix configure option - see INSTALL for details. If you pass DESTDIR=<path> to make install , <path> will be prefixed to all installation directories. This might be useful when creating packages for collectd.
Collectd ships with a build.sh script to generate the configure script shipped with releases.
To generate the configure script, you'll need the following dependencies:
The build.sh script takes no arguments.
Collectd can be built on Windows using Cygwin, and the result is a binary that runs natively on Windows. That is, Cygwin is only needed for building, not running, collectd.
You will need to install the following Cygwin packages:
To build, just run the build.sh script in your Cygwin terminal. By default, it installs to "C:/Program Files/collectd". You can change the location by setting the INSTALL_DIR variable:
$ export INSTALL_DIR="C:/some/other/install/directory" $ ./build.sh
o:
$ INSTALL_DIR="C:/some/other/install/directory" ./build.sh
To compile correctly collectd needs to be able to initialize static variables to NAN (Not A Number). Some C libraries, especially the GNU libc, have a problem with that.
Luckily, with GCC it's possible to work around that problem: One can define NAN as being (0.0 / 0.0) and isnan as f != f . However, to test this "implementation" the configure script needs to compile and run a short test program. Obviously running a test program when doing a cross- compilation is, well, challenging.
If you run into this problem, you can use the --with-nan-emulation configure option to force the use of this implementation. We can't promise that the compiled binary actually behaves as it should, but since NANs are likely never passed to the libm you have a good chance to be lucky.
Likewise, collectd needs to know the layout of doubles in memory, in order to craft uniform network packets over different architectures. For this, it needs to know how to convert doubles into the memory layout used by x86. The configure script tries to figure this out by compiling and running a few small test programs. This is of course not possible when cross-compiling. You can use the --with-fp-layout option to tell the configure script which conversion method to assume. Valid arguments are:
* `nothing` (12345678 -> 12345678)
* `endianflip` (12345678 -> 87654321)
* `intswap` (12345678 -> 56781234)
Please use GitHub to report bugs and submit pull requests: https://github.com/collectd/collectd/. Ver contribuyente.md para más detalles.
For questions, development information and basically all other concerns please send an email to collectd's mailing list at (list at collectd.org).
For live discussion and more personal contact visit us in IRC, we're in channel #collectd on freenode.
Florian octo Forster (octo at collectd.org), Sebastian tokkee Harl (sh at tokkee.org), and many other authors and contributors.