Age | Commit message (Collapse) | Author |
|
* 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.
|
|
Adds new cloud arch NodeInstance messages as per design.
Co-authored-by: Stelios Fragkakis <52996999+stelfrag@users.noreply.github.com>
|
|
Add disk monitoring independent of filesystem.
|
|
|
|
* 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
|
|
* 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.
|
|
Split process thread in two different threads.
|
|
Add new thread to ebpf.plugin.
|
|
* 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.
|
|
* build mqtt_websockets with netdata autotools
* avoids handwritten makefiles in submodules
|
|
Add new thread to ebpf.plugin.
|
|
* 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
|
|
This reverts commit a1ce482f3e336dbabe1b12b92f6339af6a2bbbf8.
|
|
* 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
|
|
* 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>
|
|
Co-authored-by: Joel Hans <joel.g.hans@gmail.com>
|
|
|
|
|
|
Add monitoring to `sync` syscall
|
|
* 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
|
|
|
|
Add new eBPF thread to display page cache utilization.
|
|
* move all legacy ACLK into a subfolder to make space for ACLK-NG
|
|
* organizes code better and fixes error with older C compilers
|
|
Co-authored-by: Markos Fountoulakis <markos.fountoulakis.senior@gmail.com>
Co-authored-by: Vladimir Kobal <vlad@prokk.net>
|
|
|
|
|
|
* 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>
|
|
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>
|
|
* 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>
|
|
Allows cloud to use v2 queries which support compression.
|
|
|
|
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>
|
|
|
|
* 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.
|
|
|
|
|
|
(#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.
|
|
|
|
|
|
|
|
* 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>
|
|
* 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>
|
|
Adds ACLK charts
|
|
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.
|
|
Convert the monolithic ebpf.plugin in a modular plugin.
|
|
* 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
|
|
Implemented a new parser for the pluginsd language
|
|
* 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>
|
|
Brings function used to clean export instances.
|