menuconfig BR2_PACKAGE_COLLECTD bool "collectd" # Uses fork() depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS help collectd is a daemon which collects system performance statistics periodically and provides mechanisms to store the values in a variety of ways, for example in RRD files. http://collectd.org/ if BR2_PACKAGE_COLLECTD menu "match plugins" config BR2_PACKAGE_COLLECTD_EMPTY_COUNTER bool "empty counter" help Match counter values which are currently zero. config BR2_PACKAGE_COLLECTD_HASHED bool "hashed" help Match values using a hash function of the hostname. config BR2_PACKAGE_COLLECTD_REGEX bool "regex" help Match values by their identifier based on regular expressions. config BR2_PACKAGE_COLLECTD_TIMEDIFF bool "timediff" help Match values with an invalid timestamp. config BR2_PACKAGE_COLLECTD_VALUE bool "value" help Select values by their data sources' values. endmenu menu "misc plugins" config BR2_PACKAGE_COLLECTD_AGGREGATION bool "aggregation" help The Aggregate plugin allows to aggregate multiple values into a single value using one or several consolidation functions, e.g. summation and average. config BR2_PACKAGE_COLLECTD_LOGFILE bool "logfile" default y help Writes log messages to a file or STDOUT/STDERR. config BR2_PACKAGE_COLLECTD_LOGSTASH bool "logstash" select BR2_PACKAGE_YAJL help Writes log messages formatted as logstash JSON events. config BR2_PACKAGE_COLLECTD_LUA bool "lua" depends on BR2_PACKAGE_HAS_LUAINTERPRETER help Embeds a Lua interpreter into collectd and provides an interface to collectd's plugin system. comment "lua support needs a Lua interpreter" depends on !BR2_PACKAGE_HAS_LUAINTERPRETER config BR2_PACKAGE_COLLECTD_NOTIFY_EMAIL bool "notify_email" depends on !BR2_STATIC_LIBS # libesmtp select BR2_PACKAGE_LIBESMTP select BR2_PACKAGE_OPENSSL help Send an E-mail with the notification message to the configured recipients. comment "notify_email needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS config BR2_PACKAGE_COLLECTD_NOTIFY_NAGIOS bool "notify_nagios" help Sends notifications to Nagios as a passive check result. config BR2_PACKAGE_COLLECTD_SYSLOG bool "syslog" default y help Logs to the standard UNIX logging mechanism. config BR2_PACKAGE_COLLECTD_THRESHOLD bool "threshold" help Checks values against configured thresholds and creates notifications if values are out of bounds. endmenu menu "read plugins" comment "Select at least one for collectd to be useful" config BR2_PACKAGE_COLLECTD_APACHE bool "apache" select BR2_PACKAGE_LIBCURL help Collects Apache's mod_status information. config BR2_PACKAGE_COLLECTD_APCUPS bool "apcups" help Collects UPS statistics from apcupsd. config BR2_PACKAGE_COLLECTD_BATTERY bool "battery" help Collects the battery's charge, the drawn current and voltage. config BR2_PACKAGE_COLLECTD_BIND bool "bind" select BR2_PACKAGE_LIBCURL select BR2_PACKAGE_LIBXML2 help Collects BIND DNS statistics. config BR2_PACKAGE_COLLECTD_BUDDYINFO bool "buddyinfo" help Statistics from buddyinfo file about memory fragmentation. config BR2_PACKAGE_COLLECTD_CAPABILITIES bool "capabilities" depends on BR2_aarch64 || BR2_i386 || BR2_x86_64 # dmidecode select BR2_PACKAGE_DMIDECODE # runtime select BR2_PACKAGE_JANSSON select BR2_PACKAGE_LIBMICROHTTPD help Collects selected static platform data using dmidecode and expose it through micro embedded webserver. config BR2_PACKAGE_COLLECTD_CEPH bool "ceph" select BR2_PACKAGE_YAJL help Statistics from the Ceph distributed storage system. config BR2_PACKAGE_COLLECTD_CHRONY bool "chrony" help Collects NTP data from the chrony NTP server. config BR2_PACKAGE_COLLECTD_CGROUPS bool "cgroups" help Collects CGroups CPU usage accounting. config BR2_PACKAGE_COLLECTD_CONNTRACK bool "conntrack" help Collects the number of entries in Linux's connection tracking table. config BR2_PACKAGE_COLLECTD_CONTEXTSWITCH bool "contextswitch" help Collects the number of context switches done by the operating system. config BR2_PACKAGE_COLLECTD_CPU bool "cpu" help Collects the amount of time spent by the CPU in various states. config BR2_PACKAGE_COLLECTD_CPUFREQ bool "cpufreq" help Collects the current CPU's frequency. config BR2_PACKAGE_COLLECTD_CPUSLEEP bool "cpusleep" help Measures time spent by CPU in deep sleep mode. config BR2_PACKAGE_COLLECTD_CURL bool "curl" select BR2_PACKAGE_LIBCURL help Uses libcurl to read files and then parses them according to the configuration. config BR2_PACKAGE_COLLECTD_CURL_JSON bool "curl-json" select BR2_PACKAGE_LIBCURL select BR2_PACKAGE_YAJL help Queries JSON data using the cURL library and parses it according to the user's configuration using YAJL. config BR2_PACKAGE_COLLECTD_CURL_XML bool "curl-xml" select BR2_PACKAGE_LIBCURL select BR2_PACKAGE_LIBXML2 help Reads files using libcurl and parses it as XML. config BR2_PACKAGE_COLLECTD_DBI bool "dbi" depends on !BR2_STATIC_LIBS select BR2_PACKAGE_LIBDBI help Executes SQL statements on various databases and interprets the returned data. comment "dbi support needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS config BR2_PACKAGE_COLLECTD_DF bool "df" help Collects file system usage information. config BR2_PACKAGE_COLLECTD_DISK bool "disk" help Collects performance statistics of hard-disks and partitions. config BR2_PACKAGE_COLLECTD_DNS bool "dns" select BR2_PACKAGE_LIBPCAP help Collects statistics of DNS traffic using libpcap. config BR2_PACKAGE_COLLECTD_DPDK_TELEMETRY bool "dpdk_telemetry" select BR2_PACKAGE_JANSSON help Collects DPDK ethernet device metrics via dpdk_telemetry library. config BR2_PACKAGE_COLLECTD_DRBD bool "drbd" help Collect individual drbd resource statistics. config BR2_PACKAGE_COLLECTD_ENTROPY bool "entropy" help Collects the available entropy on a system. config BR2_PACKAGE_COLLECTD_ETHSTAT bool "ethstat" help Collects network interface card statistics. config BR2_PACKAGE_COLLECTD_EXEC bool "exec" help Executes scripts and reads values back that are printed to STDOUT by that program. config BR2_PACKAGE_COLLECTD_FHCOUNT bool "fhcount" help File handles statistics. config BR2_PACKAGE_COLLECTD_FILECOUNT bool "filecount" help Counts the number of files in a directory and all its subdirectories. config BR2_PACKAGE_COLLECTD_FSCACHE bool "fscache" help Collects information about the file-system based caching infrastructure for network file-systems and other slow media. config BR2_PACKAGE_COLLECTD_GPS bool "gps" select BR2_PACKAGE_GPSD help Reports the number of sattelites seen by and precision of a GPS receiver. config BR2_PACKAGE_COLLECTD_HUGEPAGES bool "hugepages" help Reports the number of used and free hugepages on Linux. config BR2_PACKAGE_COLLECTD_INFINIBAND bool "infiniband" help Attributes and counters for each port on each IB device. config BR2_PACKAGE_COLLECTD_INTERFACE bool "interface" help Collects information about the traffic of network interfaces. config BR2_PACKAGE_COLLECTD_IPC bool "ipc" help IPC counters: semaphores used, number of allocated segments in shared memory and more. config BR2_PACKAGE_COLLECTD_IPMI bool "ipmi" depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_PACKAGE_OPENIPMI help Read hardware sensors from servers using the Intelligent Platform Management Interface (IPMI). comment "ipmi needs a toolchain w/ NPTL" depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL config BR2_PACKAGE_COLLECTD_IPTABLES bool "iptables" select BR2_PACKAGE_IPTABLES help Gather statistics from iptables packet filter. config BR2_PACKAGE_COLLECTD_IPVS bool "ipvs" help Extracts statistics from IP Virtual Server (IPVS), the transport-layer load-balancer of the LVS project. It stores traffic and connections history for each of the Real Servers (RS) behind a local Virtual Server (VS). Collectd must be run on Directors (in LVS jargon). config BR2_PACKAGE_COLLECTD_IRQ bool "irq" help Collects the number of interrupts. config BR2_PACKAGE_COLLECTD_LOAD bool "load" help Collects the system load. config BR2_PACKAGE_COLLECTD_LOGPARSER bool "logparser" help Plugin for filtering and parsing log messages. config BR2_PACKAGE_COLLECTD_MD bool "md" help Collects software-RAID device information. config BR2_PACKAGE_COLLECTD_MDEVENTS bool "mdevents" help Events from md (Linux Software RAID) devices. config BR2_PACKAGE_COLLECTD_MEMCACHEC bool "memcachec" depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_LIBMEMCACHED help Query and parse data from a memcache daemon. comment "memcachec needs a toolchain w/ C++" depends on !BR2_INSTALL_LIBSTDCPP config BR2_PACKAGE_COLLECTD_MEMCACHED bool "memcached" help Collects statistics from a memcached daemon. config BR2_PACKAGE_COLLECTD_MEMORY bool "memory" help Collects physical memory utilization. config BR2_PACKAGE_COLLECTD_MODBUS bool "modbus" select BR2_PACKAGE_LIBMODBUS help Reads register values from a modbus "slave" via Modbus/TCP. config BR2_PACKAGE_COLLECTD_MYSQL bool "mysql" depends on BR2_INSTALL_LIBSTDCPP # mysql depends on BR2_USE_MMU # mysql depends on BR2_TOOLCHAIN_HAS_THREADS # mysql select BR2_PACKAGE_MARIADB help Connects to a MySQL database and issues a "show status" command. comment "mysql needs a toolchain w/ C++, threads" depends on BR2_USE_MMU depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS config BR2_PACKAGE_COLLECTD_NETLINK bool "netlink" select BR2_PACKAGE_LIBMNL help Get statistics for interfaces, qdiscs, classes, and filters. config BR2_PACKAGE_COLLECTD_NFS bool "nfs" help Collects information about the usage of the Network File System. config BR2_PACKAGE_COLLECTD_NGINX bool "nginx" select BR2_PACKAGE_LIBCURL help Collects the number of requests handled by the nginx daemon since startup and the number of current connections by state. config BR2_PACKAGE_COLLECTD_NTPD bool "ntpd" help Queries an NTP server and extracts parameters. config BR2_PACKAGE_COLLECTD_NUT bool "nut" depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_NUT help The NUT plugin collects uninterruptible power supply (UPS) statistics using the Network UPS Tools (NUT). comment "nut needs a toolchain w/ C++" depends on !BR2_INSTALL_LIBSTDCPP config BR2_PACKAGE_COLLECTD_OLSRD bool "olsrd" help Reads information about meshed networks from olsrd. config BR2_PACKAGE_COLLECTD_ONEWIRE bool "onewire" select BR2_PACKAGE_OWFS help Collects temperature information from sensors connected over the OneWire bus. config BR2_PACKAGE_COLLECTD_OPENLDAP bool "openldap" depends on BR2_USE_WCHAR select BR2_PACKAGE_OPENLDAP help Read monitoring information from OpenLDAP's cn=Monitor subtree. comment "openldap support needs a toolchain w/ wchar" depends on !BR2_USE_WCHAR config BR2_PACKAGE_COLLECTD_OPENVPN bool "openvpn" help Reads the status file of OpenVPN to collect statistics. config BR2_PACKAGE_COLLECTD_PING bool "ping" select BR2_PACKAGE_LIBOPING help Mesures network latency using ICMP "echo requests". config BR2_PACKAGE_COLLECTD_POSTGRESQL bool "postgresql" depends on BR2_USE_WCHAR # postgresql depends on !BR2_OPTIMIZE_FAST # postgresql select BR2_PACKAGE_POSTGRESQL help Connects to and executes SQL statements on a PostgreSQL database. It then reads back the results and, depending on the configuration, the returned values are then converted into collectd 'value lists'. comment "postgresql support needs a toolchain w/ wchar" depends on !BR2_USE_WCHAR comment "postgresql support can't be built with Optimize for fast" depends on BR2_OPTIMIZE_FAST config BR2_PACKAGE_COLLECTD_PROCESSES bool "processes" help Collects the number of processes gruped by state. config BR2_PACKAGE_COLLECTD_PROTOCOLS bool "protocols" help Collects information about the network protocols. config BR2_PACKAGE_COLLECTD_REDIS bool "redis" select BR2_PACKAGE_HIREDIS help Connects to one or more instances of Redis. config BR2_PACKAGE_COLLECTD_SENSORS bool "sensors" select BR2_PACKAGE_LM_SENSORS help Collects data from lm-sensors. config BR2_PACKAGE_COLLECTD_SERIAL bool "serial" help Collects the traffic on serial interfaces. config BR2_PACKAGE_COLLECTD_SMART bool "SMART" depends on BR2_PACKAGE_HAS_UDEV # libatasmart select BR2_PACKAGE_LIBATASMART help Collect SMART statistics, notably load cycle count, temperature and bad sectors. comment "SMART requires udev to be enabled" depends on !BR2_PACKAGE_HAS_UDEV config BR2_PACKAGE_COLLECTD_STATSD bool "StatsD" help StatsD network protocol to allow clients to report "events". config BR2_PACKAGE_COLLECTD_SNMP bool "snmp" select BR2_PACKAGE_NETSNMP help Reads values from SNMP devices. config BR2_PACKAGE_COLLECTD_SWAP bool "swap" help Collects the amount of memory currently written to disk. config BR2_PACKAGE_COLLECTD_SYNPROXY bool "synproxy" help Synproxy stats plugin. config BR2_PACKAGE_COLLECTD_TABLE bool "table" help Parses table-like structured plain-text files. config BR2_PACKAGE_COLLECTD_TAIL bool "tail" help Tails log files and each line is given to one or more matches which test if the line is relevant for any statistics. config BR2_PACKAGE_COLLECTD_TAIL_CSV bool "tail csv" help Follows (tails) files in CSV format, parses each line and submits extracted values. config BR2_PACKAGE_COLLECTD_TCPCONNS bool "tcpconns" help Counts the number of TCP connections to/from a specified port. config BR2_PACKAGE_COLLECTD_THERMAL bool "thermal" help Reads ACPI thermal zone information. config BR2_PACKAGE_COLLECTD_UBI bool "ubi" help UBI (Unsorted Block Images) is an erase block management layer for flash memory devices. UBI serves two purposes, tracking NAND flash bad blocks and providing wear leveling. This plugin collects some stats about UBI devices: * bad physical underlying blocks (bad_peb_count) * max erase counter value (max_ec) config BR2_PACKAGE_COLLECTD_UPTIME bool "uptime" help Keeps track of the system uptime. config BR2_PACKAGE_COLLECTD_USERS bool "users" help Counts the number of users currently logged in. config BR2_PACKAGE_COLLECTD_VIRT bool "virt" depends on BR2_PACKAGE_LIBVIRT_ARCH_SUPPORTS # libvirt depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 # libvirt depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11 || !BR2_aarch64 # libvirt depends on BR2_PACKAGE_HAS_UDEV # libvirt depends on BR2_USE_WCHAR # libvirt select BR2_PACKAGE_LIBVIRT select BR2_PACKAGE_LIBXML2 help Gather statistics about virtualized guests on a system. comment "virt needs udev /dev management, a toolchain w/ wchar, kernel headers >= 3.12 (4.11 for AArch64)" depends on BR2_PACKAGE_LIBVIRT_ARCH_SUPPORTS depends on !BR2_PACKAGE_HAS_UDEV || !BR2_USE_WCHAR || \ !(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 && \ (BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11 || !BR2_aarch64)) config BR2_PACKAGE_COLLECTD_VMEM bool "vmem" help Collects information about the virtual memory subsystem. config BR2_PACKAGE_COLLECTD_WIRELESS bool "wireless" help Collects signal quality, power and noise ratio for WLAN cards. config BR2_PACKAGE_COLLECTD_ZOOKEEPER bool "zookeeper" help Read data from Zookeeper's MNTR command. endmenu menu "target plugins" config BR2_PACKAGE_COLLECTD_NOTIFICATION bool "notification" help Create and dispatch a notification. config BR2_PACKAGE_COLLECTD_REPLACE bool "replace" help Replace parts of an identifier using regular expressions. config BR2_PACKAGE_COLLECTD_SCALE bool "scale" help Scale (multiply) values by an arbitrary number. config BR2_PACKAGE_COLLECTD_SET bool "set" help Set (overwrite) entire parts of an identifier. endmenu menu "write plugins" comment "Select at least one for collectd to be useful" config BR2_PACKAGE_COLLECTD_AMQP bool "amqp" select BR2_PACKAGE_OPENSSL # needs rabbitmq-c with ssl support select BR2_PACKAGE_RABBITMQ_C help Send/receive values via the Advanced Message Queuing Protocol (AMQP). config BR2_PACKAGE_COLLECTD_CSV bool "csv" help Writes values to a plain-text file in Comma Separated Values format. config BR2_PACKAGE_COLLECTD_GRAPHITE bool "graphite" help Writes data collected to Carbon (Graphite's) storage API. http://graphite.wikidot.com/start config BR2_PACKAGE_COLLECTD_GRPC bool "grpc" depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC # grpc depends on BR2_INSTALL_LIBSTDCPP # grpc -> protobuf depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # grpc -> protobuf depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # grpc -> libabseil-cpp depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS # grpc select BR2_PACKAGE_GRPC help Send/receive values using the gRPC protocol. comment "grpc needs a toolchain w/ C++, gcc >= 8" depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_8 depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS # grpc config BR2_PACKAGE_COLLECTD_MQTT bool "mqtt" select BR2_PACKAGE_MOSQUITTO help Sends metrics to and/or receives metrics from an MQTT broker. config BR2_PACKAGE_COLLECTD_NETWORK bool "network" help Send/receive values from other instances of collectd. config BR2_PACKAGE_COLLECTD_NETWORK_GCRYPT bool "crypto support" depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt depends on BR2_PACKAGE_COLLECTD_NETWORK select BR2_PACKAGE_LIBGCRYPT help Enable crypto support config BR2_PACKAGE_COLLECTD_RRDTOOL bool "rrdtool" depends on BR2_USE_WCHAR # rrdtool select BR2_PACKAGE_RRDTOOL help Writes values to RRD-files. comment "rrdtool support needs a toolchain w/ wchar" depends on !BR2_USE_WCHAR if BR2_PACKAGE_COLLECTD_RRDTOOL config BR2_PACKAGE_COLLECTD_RRDCACHED bool "rrdcached" help Use the RRDtool caching daemon. endif config BR2_PACKAGE_COLLECTD_RIEMANN bool "riemann" # riemann-c-client -> protobuf-c depends on BR2_INSTALL_LIBSTDCPP depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS depends on BR2_HOST_GCC_AT_LEAST_7 # protobuf-c select BR2_PACKAGE_RIEMANN_C_CLIENT select BR2_PACKAGE_LIBTOOL help Sends data to Riemann, a stream processing and monitoring system. comment "riemann needs a toolchain w/ C++, host gcc >= 7" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_HOST_GCC_AT_LEAST_7 depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS config BR2_PACKAGE_COLLECTD_UNIXSOCK bool "unixsock" help Opens a UNIX domain socket and accepts connections. One can send commands to the daemon and receive information. config BR2_PACKAGE_COLLECTD_WRITEHTTP bool "write_http" select BR2_PACKAGE_LIBCURL help Sends values collected to a web-server using HTTP POST and PUTVAL. config BR2_PACKAGE_COLLECTD_WRITEINFLUXDBUDP bool "write_influxdb_udp" help Sends data to an instance of InfluxDB using the "Line Protocol". config BR2_PACKAGE_COLLECTD_WRITELOG bool "write_log" help Writes data to the log. config BR2_PACKAGE_COLLECTD_WRITEPROMETHEUS bool "write_prometheus" depends on BR2_INSTALL_LIBSTDCPP # protobuf-c depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS # protobuf-c depends on BR2_HOST_GCC_AT_LEAST_7 # protobuf-c select BR2_PACKAGE_LIBMICROHTTPD select BR2_PACKAGE_PROTOBUF_C help Publishes values using an embedded HTTP server, in a format compatible with Prometheus' collectd_exporter. comment "write_prometheus needs a toolchain w/ C++, host gcc >= 7" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_HOST_GCC_AT_LEAST_7 depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS config BR2_PACKAGE_COLLECTD_WRITEREDIS bool "write_redis" select BR2_PACKAGE_HIREDIS help Sends data to Redis. config BR2_PACKAGE_COLLECTD_WRITESENSU bool "write_sensu" help Sends data to Sensu, a stream processing and monitoring system, via the Sensu client local TCP socket. config BR2_PACKAGE_COLLECTD_WRITETSDB bool "write_tsdb" help Sends data OpenTSDB, a scalable no master, no shared state time series database. endmenu endif comment "collectd needs a toolchain w/ threads, dynamic library" depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS depends on BR2_USE_MMU