summaryrefslogtreecommitdiffstats
path: root/Makefile.am
AgeCommit message (Collapse)Author
2021-07-14adds aclk-schemas to dist_noinst_DATA (#11338)Timotej S
fixes issue with missing .proto files from tarballs used by kickstart
2021-07-08Add HTTP access log messages for ACLK-NG (#11318)Uman Shahzad
* aclk: link libcap after libwebsockets for legacy build libwebsockets requires libcap. without this, we get errors about undefined libcap functions that libwebsockets uses. This is needed for building aclk-legacy. * aclk: create log for HTTP requests similar to legacy version.
2021-07-07ACLK-NG New Cloud NodeInstance related msgs (#11234)Timotej S
Adds new cloud arch NodeInstance messages as per design. Co-authored-by: Stelios Fragkakis <52996999+stelfrag@users.noreply.github.com>
2021-07-02Ebpf disk latency (#11276)thiagoftsm
Add disk monitoring independent of filesystem.
2021-06-14Allows ACLK NG and Legacy to coexist (#11225)Timotej S
2021-06-08eBPF ext4 (new thread for collector) (#11224)thiagoftsm
* ebpf_ext4: Add new thread * ebpf_ext4: Add configuration files * ebpf_ext4: Add helpers to identify partitions and main threads * ebpf_ext4: Add helpers to create chart * ebpf_ext4: Add functions to read data from kernel ring * ebpf_ext4: Add functions to send data to Netdata * ebpf_ext4: Adjust dimensions * ebpf_ext4: Add information for dashboard * ebpf_ext4: Update documentation * ebpf_ext4: Update algorithm to read Array table instead hash table * ebpf_ext4: Add new eBPF version * ebpf_ext4: Add obsolete chart * ebpf_ext4: Fix coverity report * ebpf_ext4: Fix grammar in readme.md * ebpf_ext4: Update link inside dashboard_info.js * ebpf_ext4: Rename function and remove unused options inside filesystem.conf * ebpf_ext4: Rename variables and fix format * ebpf_ext4: Rename more variables * ebpf_ext4: Update algorithm to create dimensions * ebpf_ext4: Fix comment grammar * ebpf_ext4: Add messages to simplify comparison with hash table * ebpf_ext4: Update eBPF release * ebpf_ext4: Remove variables to improve the buckets * ebpf_ext4: Update algorithm to select filesystem * ebpf_ext4: Remove messages * ebpf_ext4: Add comment to filesystem
2021-06-01Compile/Link with absolute paths for bundled/vendored deps. (#11129)vkalintiris
* Do not accept a path when using --with-bundled-lws. The bundled library is always placed under externaldeps/libwebsockets, when using the netdata-installer.sh script. When this option is missing, we look for the system-wide installed version. * Do not accept a path when using --with-bundled-libJudy. The bundled library is always placed under externaldeps/libJudy. When the option is not given, we look for the system-wide installed version. * Use absolute header paths for repo-internal deps. * Use absolute library paths for repo-internal deps.
2021-05-28VFS new thread (#11187)thiagoftsm
Split process thread in two different threads.
2021-05-24Ebpf swap (#11090)thiagoftsm
Add new thread to ebpf.plugin.
2021-05-14Bundle the react dashboard code into the agent repo directly. (#11139)Austin S. Hemmelgarn
* Remove code for bundling the dashoard on install. * Bundle the dashboard code directly into the agent repo. This diffstat looks huge, but it’s actually relatively simple. The only _actual_ changes are in the Makefiles, `configure.ac`, and the addition of `generate_dashboard_makefile.py`. Everything else consists of removing files that are included in the dashboard tarball, and extracting the contents of the tarball into `web/gui/dashboard`. * CI cleanup. * Automate bundling of the dashboard code. This replaces the makefile generator script with one that handles bundling of the dashboard code in it’s entirety, and updates the GHA workflow used for generating dashboard PRs to use that instead of the existing shell commands. It also removes the packaging/dashboard.* files, as they are no longer needed.
2021-05-06build mqtt_websockets with netdata autotools (#11083)Timotej S
* build mqtt_websockets with netdata autotools * avoids handwritten makefiles in submodules
2021-05-03Ebpf directory cache (#10855)thiagoftsm
Add new thread to ebpf.plugin.
2021-04-27Provide more agent analytics to posthog (#11020)Emmanuel Vasilakis
* Move statistics related functions to analytics.c * error message change, space added after if * start an analytics thread * use heartbeat instead of sleep * add late enviroment (after rrdinit) pick of some attributes * change loop * re-enable info messages * remove possible new line * log and report hits on allmetrics pages. detect if exporting engines are enabled/in use, and report them * use lowercase for analytics variables * add collectors * add buildinfo * more attributes from late environment * add new attributes to v1/info * re-gather meta data before exit. update allmetrics counters to be available in v1/info * log hits to dashboard * add mirrored hosts * added notification methods * fix spaces, proper JSON naming * add alerts, charts and metrics count * more attributes * keep the thread up, and report a meta event every 2 hours * small formating changes. Disable analytics_log_prometheus when for unit testing. Add the new attributes to the anonymous-statistics.sh.in script * applied clang-format * dont gather data again on exit * safe buffer length in snprintfz * add rrdset lock * remove show_archived * remove setenv * calculate lengths during sets
2021-04-21Revert "Provide more agent analytics to posthog (#10887)" (#11011)Emmanuel Vasilakis
This reverts commit a1ce482f3e336dbabe1b12b92f6339af6a2bbbf8.
2021-04-21Provide more agent analytics to posthog (#10887)Emmanuel Vasilakis
* Move statistics related functions to analytics.c * error message change, space added after if * start an analytics thread * use heartbeat instead of sleep * add late enviroment (after rrdinit) pick of some attributes * change loop * re-enable info messages * remove possible new line * log and report hits on allmetrics pages. detect if exporting engines are enabled/in use, and report them * use lowercase for analytics variables * add collectors * add buildinfo * more attributes from late environment * add new attributes to v1/info * re-gather meta data before exit. update allmetrics counters to be available in v1/info * log hits to dashboard * add mirrored hosts * added notification methods * fix spaces, proper JSON naming * add alerts, charts and metrics count * more attributes * keep the thread up, and report a meta event every 2 hours * small formating changes. Disable analytics_log_prometheus when for unit testing. Add the new attributes to the anonymous-statistics.sh.in script * applied clang-format * dont gather data again on exit * safe buffer length in snprintfz * add rrdset lock * remove show_archived
2021-04-15Contributing revamp, take 2 (#10956)Odysseas Lamtzidis
* revamp fix, mqtt, makefil * Update README.md Co-authored-by: Joel Hans <joel.g.hans@gmail.com> * Update README.md Co-authored-by: Joel Hans <joel.g.hans@gmail.com> * Update README.md Co-authored-by: Joel Hans <joel.g.hans@gmail.com> * Update README.md Co-authored-by: Joel Hans <joel.g.hans@gmail.com> * remove #menu link from menu Co-authored-by: Joel Hans <joel.g.hans@gmail.com>
2021-04-14Add a plugin for the system clock synchronization state (#10895)Vladimir Kobal
Co-authored-by: Joel Hans <joel.g.hans@gmail.com>
2021-04-02Fixed bundling of ACLK-NG components in dist tarballs. (#10894)Austin S. Hemmelgarn
2021-03-19move https_client into separate file (#10784)Timotej S
2021-03-17New thread for ebpf.plugin thiagoftsm
Add monitoring to `sync` syscall
2021-03-16Adds ACLK-NG as fallback(#10315)Timotej S
* adds a new implementation of ACLK written almost from scratch * external dependencies only OpenSSL and JSON-C * fallback for systems where ACLK Legacy can't build (for technical or philosophical reasons) * can be forced to build by giving "--aclk-ng" to the installer
2021-03-15Enable metadata persistence in all memory modes (#10742)Stelios Fragkakis
2021-03-03Add Linux page cache metrics to eBPF (#10693)thiagoftsm
Add new eBPF thread to display page cache utilization.
2021-01-19Move ACLK Legacy into a subfolder (#10265)Timotej S
* move all legacy ACLK into a subfolder to make space for ACLK-NG
2021-01-11ACLK fix error for older compilers (#10470)Timotej S
* organizes code better and fixes error with older C compilers
2020-12-14Kubernetes labels (#10107)Ilya Mashchenko
Co-authored-by: Markos Fountoulakis <markos.fountoulakis.senior@gmail.com> Co-authored-by: Vladimir Kobal <vlad@prokk.net>
2020-11-24Migrate metadata log to SQLite (#10139)Stelios Fragkakis
2020-11-05Add HTTP and HTTPS support to the simple exporting connector (#9911)Vladimir Kobal
2020-10-30allows use of system libwebsockets instead of bundled one (#9984)Timotej S
* allows usage of system libwebsockets * fixes problems that were preventing ACLK to work with LWS `4.1.` * add LWS info to buildinfo Co-authored-by: Austin S. Hemmelgarn <austin@netdata.cloud>
2020-10-20Wireless statistics (#10052)thiagoftsm
Co-authored-by: Ilya Mashchenko <ilya@netdata.cloud> Co-authored-by: Joel Hans <joel.g.hans@gmail.com> Co-authored-by: ladakis <vaggosbboy@gmail.com>
2020-09-16Added a way to get build configuration info from the agent. (#9913)Austin S. Hemmelgarn
* Add a way to get build configuration info from the agent. This adds a new option to the `-W` switch called 'buildinfo'. When invoked with this argument, Netdata will print it's version, the configure options, and a list of optional features and whether they are enabled or not. This is intended to serve three purposes: * It allows developers to more quickly get an idea of how Netdata was built when triaging bug reports. * It provides an easier way to validate changes to the build system that affect optional features during the development cycle. * It provides an easier way to build CI workflows that validate that building under a given set of constraints results in a feature being enabled or not. The actual implementation is a bit large but overall exceedingly simple, consisting of a set of preprocessor directives to extract optional feature state information from config.h and then a series of printf() calls to actually report this info (which should end up optimized by smart compilers due to all the arguments being compile-time constants). * Added zlib to optional libraries. * Added remaining optional plugins to buildinfo output. * Changed formatting to be more human friendly. * Add remaining optional libraries. * Fix up formatting to be even more human friendly. * Fix typo in buildinfo output. * Remove unused variable. * Fixed spelling of config.h option name. * Update daemon/buildinfo.c Co-authored-by: Markos Fountoulakis <44345837+mfundul@users.noreply.github.com> * Fix option name mismatch for libcrypto. * Update daemon/buildinfo.c Co-authored-by: Markos Fountoulakis <44345837+mfundul@users.noreply.github.com> Co-authored-by: Markos Fountoulakis <44345837+mfundul@users.noreply.github.com>
2020-09-10Implements ACLK v2 http message with compression (#9895)Timotej S
Allows cloud to use v2 queries which support compression.
2020-09-04Fixed handling of libJudy bundling for RPM packages. (#9875)Austin S. Hemmelgarn
2020-09-01Added code to bundle libJudy on systems which do not provide a usable copy ↵Austin S. Hemmelgarn
of it. (#9776) * Add installer code to bundle libJudy. * Update libJudy build to work on more systems. * Added libtool to deps. * First part of configure changes - detection of library * Configure change part two: integrating flags into the build I've tested the build works and that the symbols end up correct in the compiled binary, but I have not tested that dbengine is working properly after the changes. * Add required configure options for bundling libJudy. * Bail early if a libJudy build step fails. * Added messges for specific reasons libJudy is being built. * Fix bail condition for bundling failures. We don't care about whether the cloud is required or not, just whether the user asked for a local build of libJudy or not. * Fix logic for deciding when to bundle libJudy. * Fix judy build to clean up properly if it fails. Co-authored-by: Andrew Moss <1043609+amoss@users.noreply.github.com>
2020-08-03Fetch libbpf from netdata fork (#9637)Vladimir Kobal
2020-07-30Added eBPF collector support to DEB and RPM packages. (#9628)Austin S. Hemmelgarn
* Add DEB/RPM package build tests to Travis. * Add working support for bundling eBPF in binary packages. * Show stdout and stderr from commands run in LXC. * Add proper bundling code for libbpf. * Use AC_CHECK_FILE for libbpf.a external dep. This way it gets properly logged in both configure output and the configure log.
2020-07-21Add libbpf patch to make dist. (#9571)Austin S. Hemmelgarn
2020-07-16Use the libbpf library for the eBPF plugin (#9490)Vladimir Kobal
2020-07-16Revert the eBPF package bundling that breaks the release and DEB packages. ↵James Mills
(#9552) * Revert "Fix SHA256 handling in eBPF bundling code. (#9546)" This reverts commit 7ff315810e1d2c5871c4e87049687852b2cee7ee. * Revert "Add eBPF bundling script to `make dist`. (#9539)" This reverts commit 3a7961d4176aee63f24c4cbc96dabaa13010d6f1. * Revert "Properly include eBPF collector in binary packages. (#9450)" This reverts commit 690fbcefd3ae0cbc858870ad64d320f6f251e5fc.
2020-07-15Add eBPF bundling script to `make dist`. (#9539)Austin S. Hemmelgarn
2020-07-10adds support for multiple ACLK query processing threads (#9355)Timotej S
2020-07-02Add infiniband monitoring to collector proc.plugin (#9091)Adrien Mahieux
2020-06-12Integration between eBPF and Apps (#9178)thiagoftsm
* ebpf_apps: Create files to do integration * ebpf_apps: move functions from apps to ebpf part 1 * ebpf_apps: move functions from apps to ebpf part 2 * ebpf_apps: Functions to read apps_groups.conf * ebpf_apps: reset structures * ebpf_apps: Verify user running plugin * ebpf_apps: Adjust structures used for eBPF.plugin * rebase * ebpf_apps: Move ebpf submenu near apps submenu * ebpf_apps: Brings structures from kernel-collector repository4 * ebpf_apps: Set definitions for the new chart names * ebpf_apps: bring new functions to read data from kernel ring * ebpf_apps: New variable to store PID information on process thread * ebpf_apps: It brings PID variable to socket * ebpf_apps: Chart creation * ebpf_apps: New probe * ebpf_apps: Fix order * ebpf_apps: Clean targets * ebpf_apps: Necessary changes to avoid parse proc * rebase * ebpf_apps: Fix key inside collect_data_for_all_processes to remove infinite loop * ebpf_apps: Bring variables to read data from hash table * ebpf_apps: Fix coverity warnings * ebpf_apps: Fix the missing allocation for all_pids and another small adjusts * ebpf_apps: Postpone thread creation to fill targets * ebpf_apps: Add comments while functions were tested * ebpf_apps: Fix LGTM warnings * ebpf_apps: Clean allocated structure with raw data * ebpf_apps: Bring missing functions to calculate apps charts for process * ebpf_apps: Rename a function and update apps_groups.conf * ebpf_apps: Copy logic for chart creation to sockets * ebpf_apps: Remove unecessary variable * Update chart creating * Remove Users and User Groups targets * ebpf_apps: missing argument * ebpf_apps: Fix LGTM https://github.com/netdata/netdata/pull/9178#issuecomment-638253538 error * Synchronize getting and sending data * eb^C_apps: Remove error messages adding read of proc file * ebpf_apps: Missing function * ebpf_apps: Move socket chart creation and change necessary functions to read cmdline * ebpf_apps: Bring missing loop to reset variable * ebpf_apps: Remove unecessary sleep * ebpf_apps: Fix return and allocation to allow the apps integration * ebpf_apps: create structure to set apps dimension * ebpf_apps: create structure to set apps dimension for socket * ebpf_apps: Fix wrong family for process * ebpf_apps: Enable apps by default * Functions to enable charts for apps * Fix small bugs * ebpf_apps: Fix missing root_pid * Fix negative output on charts * ebpf_apps: Remove debug messages from process * ebpf_apps: Fix socket lock scheme * ebpf_apps: Small fixes * ebpf_apps; Remove unecessary function call and header * ebpf_apps: Enable apps by default * remove wrong files * ebpf_apps: update cheksum * Update dashboard.info bringing missing parameters for charts that do integration with ebpf * Fix a bug * ebpf_apps: Fix open of proc files that are not more present * ebpf_apps:Fix synchronization problems * ebpf_apps: Remove dupplication that was killing socket charts * ebpf_apps: Fix codacy warnings * ebpf_apps: Fix process read from memory * ebpf_apps: Remove unecessary variable from code * ebpf_apps: Fix wrong variable usage * ebpf_apps: complete separation between global and apps charts * Fix missing check and a wrong check * ebpf_apps: Comment unnecessary code copied from apps_plugin.c * ebpf_apps: Restart ebpf when number of monitored PIDs is smaller than 0.7 * ebpf_apps: Fix coverity scan error * ebpf_release: Update release version * ebpf_apps: Remove unecessary test * ebpf_apps: Remove unecessary error message * ebpf_apps: Clean probes during the startup * ebpf_apps: Bring additional variables to monitor chart plot * ebpf_apps: Missing chart when entry mode is enabled * ebpf_apps: Do synchronization between apps.plugin and ebpf.plugin dimension * ebpf_apps: socket synchronization * ebpf_apps: fix problems with task_close * ebpf_apps: Brings title to charts * ebpf_apps: restore to fix errors * ebpf_apps: Remove hard code update every * ebpf_apps: rename variables * ebpf_apps: Bring title for the charts * ebpf_apps: Remove unecessary line * ebpf_apps: bring new release to PR * ebpf_apps: Fix constant value when a function is not used for a process * ebpf_apps: This fixes a possible memory leak * ebpf_apps: move delete function to bring back synchronization between charts * Change chart type * Fix for exited pids Co-authored-by: Vladimir Kobal <vlad@prokk.net>
2020-06-12Add support for persistent metadata (#9324)Stelios Fragkakis
* Implemented collector metadata logging * Added persistent GUIDs for charts and dimensions * Added metadata log replay and automatic compaction * Added detection of charts with no active collector (archived) * Added new endpoint to report archived charts via `/api/v1/archivedcharts` * Added support for collector metadata update Co-authored-by: Markos Fountoulakis <44345837+mfundul@users.noreply.github.com>
2020-06-11Adds metrics for ACLK performance and status (#9269)Timotej S
Adds ACLK charts
2020-06-03Fix bugs in streaming and enable support for gap filling (#9214)Andrew Moss
This PR adds (inactive) support that we will use to fill the gaps on chart when a receiving agent goes offline and the sender reconnects. The streaming component has been reworked to make the connection bi-directional and fix several outstanding bugs in the area. * Fixed an incorrect case of version negotiation. Removed fatal() on exhaustion of fds. * Fixed cases that fell through to polling the socket after closing. * Fixed locking of data related to sender and receiver in the host structure. * Added fine-grained locks to reduce contention. * Added circular buffer to sender to prevent starvation in high-latency conditions. * Fixed case where agent is a proxy and negotiated different streaming versions with sender and receiver. * Changed interface to new parser to put the buffering code in streaming. * Fixed the bug that stopped senders from reconnecting after their socket times out - this was part of the scaling fixes that provide an early shortcut path for rejecting connections without lock contention. * Uses fine-grained locking and a different approach to thread shutdown instead. * Added liveness detection to connections to allow selection of the best connection.
2020-05-28eBPF modular (#9148)thiagoftsm
Convert the monolithic ebpf.plugin in a modular plugin.
2020-05-27Fix missing ebpf packaging files from dist archive (#9182)James Mills
* Install/Bundle the eBPF kernel-collector library / eBPF programs anyway even if the Kernel check fails (just warn the user) * Fix missing check-kernel-config.sh from dist (breaking kickstart.sh installs) * Add missing packaging/ebpf.version and packaging/ebpf.cehcksums to dist source archive
2020-05-25Implement new incremental parser (#9074)Stelios Fragkakis
Implemented a new parser for the pluginsd language
2020-05-22Remove old docs generation tooling (#8783)James Mills
* Remove old docs generation tooling * Remove more references to docs/generator/* * Remove more refernece to things no longer used for docs generation * Update contributing-documentation.md * Update contributing-documentation.md Co-authored-by: Joel Hans <joel.g.hans@gmail.com>