blob: 3e854ba51809535b17e2b6bf1e3f3f966845b1d3 [file] [log] [blame]
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_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_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_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_MD
bool "md"
help
Collects software-RAID device information.
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_MYSQL
help
Connects to a MySQL database and issues a "show status"
command.
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
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
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_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_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_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_4_9 # grpc -> libabseil-cpp
depends on BR2_HOST_GCC_AT_LEAST_4_9 # grpc -> host-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 >= 4.9, host gcc >= 4.9"
depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 \
|| !BR2_HOST_GCC_AT_LEAST_4_9
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
config BR2_PACKAGE_COLLECTD_RIEMANN
bool "riemann"
# riemann-c-client -> protobuf-c
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
select BR2_PACKAGE_RIEMANN_C_CLIENT
select BR2_PACKAGE_LIBTOOL
help
Sends data to Riemann, a stream processing and monitoring
system.
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_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" # 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++"
depends on !BR2_INSTALL_LIBSTDCPP
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
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