Age | Commit message (Collapse) | Author |
|
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.
|
|
* Add support for spawning processes without pipes.
* Port health_alarm_execute() from mypopen() to netdata_spawn()
* Make alarm notifications asynchronous within a single health thread iteration
* Initial version of spawn server.
* preliminary integration of spawn client with health
|
|
|
|
* Implement formatters
* Add specific configuration options
* Add the connector to the Autotools and CMake configuration
* Initialize a connector instance
* Publish netdata metrics
* Fix internal stats
* Add unit tests
* Improve the documentation
|
|
We renamed eBPF collector for a more meaningful name.
|
|
|
|
This PR merges the feature-branch to make the cloud live. It contains the following work:
Co-authored-by: Andrew Moss <1043609+amoss@users.noreply.github.com(opens in new tab)>
Co-authored-by: Jacek Kolasa <jacek.kolasa@gmail.com(opens in new tab)>
Co-authored-by: Austin S. Hemmelgarn <austin@netdata.cloud(opens in new tab)>
Co-authored-by: James Mills <prologic@shortcircuit.net.au(opens in new tab)>
Co-authored-by: Markos Fountoulakis <44345837+mfundul@users.noreply.github.com(opens in new tab)>
Co-authored-by: Timotej S <6674623+underhood@users.noreply.github.com(opens in new tab)>
Co-authored-by: Stelios Fragkakis <52996999+stelfrag@users.noreply.github.com(opens in new tab)>
* dashboard with new navbars, v1.0-alpha.9: PR #8478
* dashboard v1.0.11: netdata/dashboard#76
Co-authored-by: Jacek Kolasa <jacek.kolasa@gmail.com(opens in new tab)>
* Added installer code to bundle JSON-c if it's not present. PR #8836
Co-authored-by: James Mills <prologic@shortcircuit.net.au(opens in new tab)>
* Fix claiming config PR #8843
* Adds JSON-c as hard dep. for ACLK PR #8838
* Fix SSL renegotiation errors in old versions of openssl. PR #8840. Also - we have a transient problem with opensuse CI so this PR disables them with a commit from @prologic.
Co-authored-by: James Mills <prologic@shortcircuit.net.au(opens in new tab)>
* Fix claiming error handling PR #8850
* Added CI to verify JSON-C bundling code in installer PR #8853
* Make cloud-enabled flag in web/api/v1/info be independent of ACLK build success PR #8866
* Reduce ACLK_STABLE_TIMEOUT from 10 to 3 seconds PR #8871
* remove old-cloud related UI from old dashboard (accessible now via /old suffix) PR #8858
* dashboard v1.0.13 PR #8870
* dashboard v1.0.14 PR #8904
* Provide feedback on proxy setting changes PR #8895
* Change the name of the connect message to update during an ongoing session PR #8927
* Fetch active alarms from alarm_log PR #8944
|
|
* Fix build and add bundle-dashbaord.sh to dist_noinst_DATA
* Fix typo
|
|
This reverts commit e2874320fc027f7ab51ab3e115d5b1889b8fd747.
|
|
|
|
* Add a print function for internal exporting statistics
* Send statistics for simple connectors
* Flush sending buffers on failures
* Send statistics for the Kinesis connector
* Send statistics for the MongoDB connector
* Add unit tests
|
|
* Fix the Prometheus web API code in the exporting engine
* Rename connector types
* Remove the conditional compilation of the exporting engine
* Use labels instead of tags
* Fix the exporter configuration
* Document functions
* Add unit tests
|
|
|
|
Preparing for the cloud release. This changes how we handle the feature flag so that it no longer requires installer switches and can be set from the config file. This still requires internal access to use and is not ready for public access yet.
|
|
* Initial installer components for new dashboard.
* Add script to switch between react and classic dashboards.
* Update to newest version of react dashboard.
* Properly substitute webdir.
* Fix installation of dashboard switch script.
* Properly handle file ownership and permissions.
* Fix install of react dashboard.
* Add dashboard_info.js to the react dashboard tree.
* Update to version 0.3.2 of the React dashboard.
* Switch using file lists instead of nuking old directory.
* Properly handle updates.
* Fix variable naming in switching script.
* Fix copying of files in switching script.
* Fix switching script invocation in installer.
* update dashboard to v0.4.0
* v0.4.1
gauge & easypiechart width update
proper centering when clicking alarm in alarms-log
keep loader until react app is ready
fix top bar not showing when highlighting (few lines of code)
"check known URLs" issue
"reset" options is not hooked up
go to host node from streamed node (low priority, because that's removed on release)
* Persist user selection of dashboard across updates.
* update dashboard to v0.4.2 (temperature, units options fixed)
* v0.4.5
fixed print modal progress text
force reload on sync-selection option change
* fix memory leak on firefox
* fix active-alarms number in main.js header
fix "back to normal" notifications constantly throwing in loop
* fix active-alarms fetching
* support subpaths
Co-authored-by: Jacek Kolasa <jacek.kolasa@gmail.com>
|
|
* Copy files from the MongoDB backend
* Update the documentation
* Rename functions in the MongoDB backend
* Add the connector to the Netdata build
* Add an initializer and a worker
* Add specific configuration options
* Initialize the connector
* Add a ring buffer for inserting data to a MongoDB database
* Add unit tests
|