summaryrefslogtreecommitdiffstats
path: root/collectors
AgeCommit message (Collapse)Author
2023-06-20cgroups: remove pod_uid and container_id labels in k8s (#15216)Ilya Mashchenko
2023-06-19Obvious memory reductions (#15204)Costa Tsaousis
* remove rd->update_every * reduce amount of memory for RRDDIM * reorgnize rrddim->db entries * optimize rrdset and statsd * optimize dictionaries * RW_SPINLOCK for dictionaries * fix codeql warning * rw_spinlock improvements * remove obsolete assertion * fix crash on health_alarm_log_process() * use RW_SPINLOCK for AVL trees * add RW_SPINLOCK read/write trylock * pgc and mrg now use rw_spinlocks; cache line optimizations for mrg * thread tag of dbegnine init * append created datafile, lockless * make DOUBLE_LINKED_LIST_APPEND_ITEM_UNSAFE friendly for lockless use * thread cancelability in spinlocks; optimize thread cancelability management * introduce a JudyL to index datafiles and use it during queries to quickly find the relevant files * use the last timestamp of each journal file for indexing * when the previous cannot be found, start from the beginning * add more stats to PDC to trace routing easier * rename spinlock functions * fix for spinlock renames * revert statsd socket statistics to size_t * turn fatal into internal_fatal() * show candidates always * show connected status and connection attempts
2023-06-19/api/v2/nodes and streaming function (#15168)Costa Tsaousis
* dummy streaming function * expose global functions upstream * separate function for pushing global functions * add missing conditions * allow streaming function to run async * started internal API for functions * cache host retention and expose it to /api/v2/nodes * internal API for function table fields; more progress on streaming status * abstracted and unified rrdhost status * port old coverity warning fix - although it is not needed * add ML information to rrdhost status * add ML capability to streaming to signal the transmission of ML information; added ML information to host status * protect host->receiver * count metrics and instances per host * exposed all inbound and outbound streaming * fix for ML status and dependency of DATA_WITH_ML to INTERPOLATED, not IEEE754 * update ML dummy * added all fields * added streaming group by and cleaned up accepted values by cloud * removed type * Revert "removed type" This reverts commit faae4177e603d4f85b7433f33f92ef3ccd23976e. * added context to db summary * new /api/v2/nodes schema * added ML type * change default function charts * log to trace new capa * add more debug * removed debugging code * retry on receive interrupted read; respect sender reconnect delay in all cases * set disconnected host flag and manipulate localhost child count atomically, inside set/clear receiver * fix infinite loop * send_to_plugin() now has a spinlock to ensure that only 1 thread is writing to the plugin/child at the same time * global cloud_status() call * cloud should be a section, since it will contain error information * put cloud capabilities into cloud * aclk status in /api/v2 agents sections * keep aclk_connection_counter * updates on /api/v2/nodes * final /api/v2/nodes and addition of /api/v2/nodes_instances * parametrize all /api/v2/xxx output to control which info is outputed per endpoint * always accept nodes selector * st needs to be per instance, not per node * fix merging of contexts; fix cups plugin priorities * add after and before parameters to /api/v2/contexts/nodes/nodes_instances/q * give each libuv worker a unique id * aclk http_api_v2 version 4
2023-06-19Fix issues in sync thread (eBPF plugin) (#15174)thiagoftsm
2023-06-19Speed up eBPF exit before to bring functions (#15187)thiagoftsm
2023-06-19Add two functions that allow someone to start/stop ML. (#15185)vkalintiris
* Add two functions that allow someone to start/stop ML. * Shutdown ML after stopping collector services * Remove unnecessary mutex from ml charts. There's already a spinlock that protects the chart when a someone calls rrdset_done(). * Use a lightweight spinlock instead of a mutext for ML dimensions.
2023-06-14ebpf: disable sync by default (#15190)Ilya Mashchenko
2023-06-12eBPF unittest + bug fix (#15146)thiagoftsm
2023-06-12Update smartd_log.conf (#15171)TougeAI
2023-06-08api v2 nodes for streaming statuses (#15162)Costa Tsaousis
* api v2 nodes for streaming statuses * remove test * move parts of the output * in api/v2/data return 5 values per point when aggregation=percentage and raw option is given; return final values when aggregation=percentage is not the final grouping
2023-06-07Re-write of SSL support in Netdata; restoration of SIGCHLD; detection of ↵Costa Tsaousis
stale plugins; streaming improvements (#15113) * add information about streaming connections to /api/v2/nodes; reset defer time when sender or receivers connect or disconnect * make each streaming destination respect its SSL settings * to not send SSL traffic over non-SSL connection * keep track of outgoing streaming connection attempts * retry SSL reads when SSL_read() returns SSL_ERROR_WANT_READ * Revert "retry SSL reads when SSL_read() returns SSL_ERROR_WANT_READ" This reverts commit 14c858677c6f2d3b08c94f298e2f45ecdb74c801. * cleanup SSL connections properly * initialize SSL in rpt before takeover * sender should free SSL when talking to a non-SSL destination * do not shutdown SSL when receiver exits * restore operation of SIGCHLD when the reaper is not enabled * create an fgets function that checks for data and times out * work on error handling of plugins exiting * remove newlines from logs * global call to waitid(), caching the result for netdata_pclose() to process * receiver tid * parser timeouts in 2 minutes instead of 10 * fix crash when UUID is NULL in SQLite * abstract sqlite3 parsing for uuid and text * write proper ssl errors on read and write * fix for SSL_ERROR_WANT_RETRY_VERIFY * SSL WANT per function * unified SSL error logging * fix compilation warning * additional logging about parser cleanup * streaming parser should call the pluginsd parser cleanup * SSL error handling work * SSL initialization unification * check for pending data when receiving SSL response with timeout * macro to check if an SSL connection has been established * remove SSL_pending() * check for SSL macros * use SSL_peek() to find if there is a response * SSL renames * more SSL renames & cleanup * rrdpush ssl connection function * abstract all SSL functions into security.c * keep track of SSL connections and always attempt to use SSL read/write when on SSL connection * signal openssl to skip certificate validation when configured to do so * better SSL error handling and logging * SSL code cleanup * SSL retry on SSL_connect and SSL_accept * SSL provide default return value for old compilers * SSL read/write functions emulate system read/write functions * fix receive/send timeout and switch from SSL_peek() to SSL_pending() * remove SSL_pending() * removed sender auto-retry and debug info for initial recevier response * ssl skip certificate verification config for web server * ssl errors log ip and port of the peer * keep ssl with web_client for its whole lifetime * thread safe socket peers to text * use error_limit() for common ssl errors * cleanup * more cleanup * coverity fixes * ssl error logs include both local and remote ip/port info * remove obsolete code
2023-06-07freeipmi: add availability status chart and alarm (#15151)Ilya Mashchenko
2023-06-05send EXIT before exiting in freeipmi and debugfs plugins (#15140)Ilya Mashchenko
* freeipmi: send EXIT before exiting * debugfs: send EXIT before exiting * fix missing }
2023-05-30Split plugins to individual packages for DEB/RPM packaging. (#13927)Austin S. Hemmelgarn
* Update and normalize plugin package descriptions. This ensures they have accurate and cnocise descriptions of what they do, and that the descriptions are the same for both the RPM and DEB packages. * Split NFACCT plugin to it’s own package. Most users do not actually use it, so make life easier for them by reducing our dependency footprint and cutting down on how much they need to download. * Split charts.d.plugin to it’s own package. * Split eBPF plugin and code to their own packages. The code is in a separate package to simplify handling updates for it separately from the main agent code in the future. The eBPF plugin will still be installed by default in most cases when installing the Netdata Agent * Split python.d plugin to it’s own package. The python.d plugin will still be installed by default in most cases when installing the Netdata Agent * Split go.d plugin to it’s own package. The go.d plugin will still be installed by default in most cases when installing the Netdata Agent * Split apps.plugin to it’s own package The apps plugin will still be installed by default in most cases when installing the Netdata Agent * Properly split out postinst scripts for DEB packages. We should be modifying permissions and filecaps for plugins in the specific packages that install those plugins. * Clean up main files section in RPM spec file. This should get rid of the duplicate files warnings, as well as probably producing a more technically correct RPM. * Properly format DEB package descriptions. They should be folded at 76 characters. * Fix dependencies for split RPM plugin packages. * Fix most duplicate file warnings for RPM builds. * Split slabinfo plugin to it’s own package. * Clean up RPM conditional build. All platforms we build RPMs for have both netns and systemd support, so quit supporting platforms that don’t in our spec file. * Include loopsleepms.sh.inc in RPM package. * Fix packaging of nfacct plugin. * Skip building NFACCT plugin on RHEL clones. They lack the required dependencies. * Split perf.plugin to it’s own package. Also, start using CAP_PERFMON for it in RPM packages when available. * Fix typo in DEB postinstall scripts. * Fix issues with ebpf bundling scripts. They don’t need to preserve permissions, and choosing not to do so makes them work more reliably in a number of cases. * Improve dependency handling of secondary plugins. * Fix dependency handling. * Match ebpf code files more specifically in RPM spec file. * Fix branding and dependencies for RPM packages. - Change the eBPF plugin legacy code package name and description to reflect what it actually is. - Properly have the new plugin packages conflict with the older Netdata packages. This is needed for updates to work cleanly. - Only require the eBPF legacy code on older systems that need it. * Fix branding and dependencies for DEB packages. - Change the eBPF plugin legacy code package name and description to reflect what it actually is. - Properly have the new plugin packages conflict with the older Netdata packages. This is needed for updates to work cleanly. * Update docs for non-default plugins. * Have docs link back to package document. * Address review feedback. * Explicitly suggest plugins we are not including by default. This does not pull them in by default, but does make it easier for users to discover them. * Explicitly pull in default plugins on CentOS 7. * Fix broken merge of netdata spec file. * Resolve typo in kickstart script. * Explicitly disable FreeIPMI and NFACCT in RPMs if they are not available. * Fix RPM changelog. * Fix conditional plugin handling. * Fix disabling FreeIPMI on Amazon Linux. * Split new debugfs plugin to separate package. * Install debugfs plugin by default.
2023-05-29oracledb: make conn protocol configurable (#15104)Ilya Mashchenko
2023-05-24New eBPF option (#14691)thiagoftsm
2023-05-23Try to detect bind mounts (#14831)Emmanuel Vasilakis
* try to detect bind mounts * minor grammar fix * remove option, skip binds by default * add check of mount_point length * add a comment * use root to compare --------- Co-authored-by: Chris Akritidis <43294513+cakrit@users.noreply.github.com>
2023-05-22Python Dependency Migration - OracleDB Python Module (#15074)Eric Andrechek
Co-authored-by: Ilya Mashchenko <ilya@netdata.cloud>
2023-05-16fix infiniband bytes counters multiplier and divisor (#14748)Ilya Mashchenko
2023-05-15fix(debugfs/zswap): don't collect metrics if Zswap is disabled (#15054)Ilya Mashchenko
2023-05-15Debugfs collector (#15017)thiagoftsm
Co-authored-by: Fotis Voutsas <fotis@netdata.cloud> Co-authored-by: Austin S. Hemmelgarn <ahferroin7@gmail.com> Co-authored-by: ilyam8 <ilya@netdata.cloud>
2023-05-11Update tor.chart.py (#15041)jmphilippe
Co-authored-by: ilyam8 <ilya@netdata.cloud>
2023-05-10Adjust buffers to prevent overflow (#15025)Stelios Fragkakis
* Adjust buffers to prevent overflow * Adjust strncat parameter to prevent buffer overflow
2023-05-05add `grafana` to `apps_groups.conf` (#15020)Andrew Maguire
2023-05-04feat(apps.plugin): collect context switches (#15002)Ilya Mashchenko
2023-05-03add support for monitoring thp, ballooning, zswap, ksm cow (#15000)Costa Tsaousis
* add support for monitoring thp, ballooning, zswap, ksm cow * update proc metrics.csv * updated metrics.csv * Revert "updated metrics.csv" This reverts commit 54b9464be7c0d805220bbcb2144b4b4d7780a9c5. * replaced prog.plugin with proc.plugin --------- Co-authored-by: ilyam8 <ilya@netdata.cloud>
2023-05-02Remove lighttpd2 from docs (#14997)Fotis Voutsas
2023-05-02disable CPU full pressure at the system level (#14991)Ilya Mashchenko
2023-04-27Add metrics.csv for ebpf (#14965)thiagoftsm
Co-authored-by: ilyam8 <ilya@netdata.cloud>
2023-04-27Add metadata.csv to python.d.plugin (#14959)Fotis Voutsas
* add metadata.csv to several modules * second batch of adding metadata.csv * more metrics.csv's, also do a fix * revert READMEs and some fixes * add metrics.csv for ceph * evaluate dovecot metrics.csv * add metrics.csv for fail2ban * add metrics.csv to gearman * revert go_expvar README * revert dovecot README * minor fix * add metrics.csv for hddtemp * add metrics.csv for hpssa * Revert icecast README * add metrics.csv for ipfs * evaluate lightspeed metrics.csv * add metrics.csv to megacli * add metrics.csv for memcached * revert nsd readme * improve memcached metric titles * add metrics.csv for openldap * add metrics.csv for oracledb * revert postfix README * evaluate retroshare * evaluate samba * evaluate sensors * evaluate squid * evaluate tor * evaluate traefik * evaluate w1sensor * add metrics.csv for zscores * add metrics.csv for varnish * add metrics.csv for uwsgi * add metrics.csv for tomcat * add metrics.csv for spigotmc * add metrics.csv for smartd_log * add metrics.csv for riakkv * add metrics.csv for rethinkdbs * add metrics.csv for puppet * add metrics.csv for nvidia_smi * add metrics.csv for haproxy * make use of quotation marks only when needed * revert exim README * revert rest of READMEs * updates --------- Co-authored-by: ilyam8 <ilya@netdata.cloud>
2023-04-27add metrics.csv to proc.plugin (#14979)thiagoftsm
Co-authored-by: ilyam8 <ilya@netdata.cloud>
2023-04-27add metrics.csv to macos, freebsd and cgroups plugins (#14977)Ilya Mashchenko
2023-04-26fix adding chart labels in tc.plugin (#14976)Ilya Mashchenko
2023-04-26add metrics.csv to some c collectors (#14974)Ilya Mashchenko
2023-04-26add metrics.csv to perf.plugin (#14973)Ilya Mashchenko
2023-04-26add metrics.csv to xenstat.plugin (#14972)Ilya Mashchenko
2023-04-26add metrics.csv to slabinfo.plugin (#14971)Ilya Mashchenko
2023-04-26add metrics.csv to charts.d (#14966)Ilya Mashchenko
2023-04-26add metrics.csv to timex.plugin (#14970)Ilya Mashchenko
2023-04-26add metrics.csv to apps.plugin (#14968)Ilya Mashchenko
2023-04-25Add adaptec_raid metrics.csv (#14955)Fotis Voutsas
* adaptec_raid metrics.csv * Update metrics.csv * Update README.md * Update README.md * Update metrics.csv
2023-04-24Address issues on `EC2` (eBPF). (#14902)thiagoftsm
2023-04-20WEBRTC for communication between agents and browsers (#14874)Costa Tsaousis
* initial webrtc setup * missing files * rewrite of webrtc integration * initialization and cleanup of webrtc connections * make it compile without libdatachannel * add missing webrtc_initialize() function when webrtc is not enabled * make c++17 optional * add build/m4/ax_compiler_vendor.m4 * add ax_cxx_compile_stdcxx.m4 * added new m4 files to makefile.am * id all webrtc connections * show warning when webrtc is disabled * fixed message * moved all webrtc error checking inside webrtc.cpp * working webrtc connection establishment and cleanup * remove obsolete code * rewrote webrtc code in C to remove dependency for c++17 * fixed left-over reference * detect binary and text messages * minor fix * naming of webrtc threads * added webrtc configuration * fix for thread_get_name_np() * smaller web_client memory footprint * universal web clients cache * free web clients every 100 uses * webrtc is now enabled by default only when compiled with internal checks * webrtc responses to /api/ requests, including LZ4 compression * fix for binary and text messages * web_client_cache is now global * unification of the internal web server API, for web requests, aclk request, webrtc requests * more cleanup and unification of web client timings * fixed compiler warnings * update sent and received bytes * eliminated of almost all big buffers in web client * registry now uses the new json generation * cookies are now an array; fixed redirects * fix redirects, again * write cookies directly to the header buffer, eliminating the need for cookie structures in web client * reset the has_cookies flag * gathered all web client cleanup to one function * fixes redirects * added summary.globals in /api/v2/data response * ars to arc in /api/v2/data * properly handle host impersonation * set the context of mem.numa_nodes
2023-04-20Add Docker instructions to enable Nvidia GPUs (#14924)D34DC3N73R
* Add Docker instructions `gcompat` adds a glibc library for binaries linked against glibc, like nvidia drivers, which don't natively work with musl distributions like alpine. * Edit duplicate heading
2023-04-20Add a description to proc.plugin/README.md (#14935)Fotis Voutsas
2023-04-20Update COLLECTORS.mdChris Akritidis
2023-04-20zfspool: add suspended state (#14934)Ilya Mashchenko
2023-04-18Document CetusGuard as a Docker socket proxy solution (#14806)Héctor Molinero Fernández
* Document CetusGuard as a Docker socket proxy solution * Re-add Docker Socket Proxy to docs
2023-04-18Fix/introduce links inside charts.d.plugin documentation (#14884)Fotis Voutsas
* include notice for the introduction page, and format the file * Update README.md
2023-04-13cgroups: add option to use Kubelet for pods metadata (#14891)Ilya Mashchenko