Age | Commit message (Collapse) | Author |
|
Adds new cloud arch NodeInstance messages as per design.
Co-authored-by: Stelios Fragkakis <52996999+stelfrag@users.noreply.github.com>
|
|
|
|
* 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.
|
|
* 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
|
|
|
|
Co-authored-by: Joel Hans <joel.g.hans@gmail.com>
|
|
* 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
|
|
They are unreachable because Makefile.am will conditionally include the
relevant source files iff the #ifdef's argument is defined in
configure.ac.
|
|
* move all legacy ACLK into a subfolder to make space for ACLK-NG
|
|
|
|
* 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>
|
|
|
|
This will help ensure that people who are building on a compiler that
does not support C99 get a more useful message about needing C99 and
also avoid wasting time getting into the build itself.
|
|
Co-authored-by: James Mills <prologic@shortcircuit.net.au>
|
|
* 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>
|
|
* Fixed libJudy bundling code.
There was a typo in the installer which was causing the configure script
to not find the library.
* Persist libJudy CFLAGS into build environment.
|
|
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.
|
|
|
|
* Add support for the fatal() family of calls to detect non-netdata thread names from the OS
|
|
* 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>
|
|
inherit libs for clock_gettime() when building libmosquitto; Check that X509_VERIFY_PARAM_set1_host is available on the target system
|
|
Implemented a new parser for the pluginsd language
|
|
* 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
|
|
This reverts commit e2874320fc027f7ab51ab3e115d5b1889b8fd747.
|
|
|
|
* 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
|
|
|
|
Fixes regressions in the configure script and build introduced by last night's patch (underhood). Improved the CI/CD to test ACLK builds + Installer changes (ferroin). Removed TLS from libmosquitto. Fixed a problem with user accounts for claiming. (amoss)
Co-authored-by: Austin S. Hemmelgarn <austin@netdata.cloud>
Co-authored-by: Andrew Moss <1043609+amoss@users.noreply.github.com>
|
|
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.
|
|
* 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
|
|
Reports ACLK build failures to GA (if the user didn't opt-out)
|
|
|
|
|
|
* Copy files from the Prometheus remote write backend
* Update the documentation
* Rename backend -> exporting
* Add the connector to the Netdata build
* Separate files for the remote write connector
* Add an initializer and formatters
* Read a connector specific configuration option
* Add a separate function for header sending
* Use labels instead of tags
* Separate write request for every instance
* Add unit tests
|
|
* Fixes for issues not caught at review in #8144. (#8211)
* Properly scrub build environment for external dependencies.
* Remove LWS from our system-level dependencies.
We've decided to just always bundle it in the installer.
* Add missing dependency for Docker build process.
* Use static-build of LWS library created by installer (#8157)
* link static lib of LWS
* only use static LWS by installer
* handle -lcap
* fix problem on debian without lcap
* fix lws check
Co-authored-by: Austin S. Hemmelgarn <ahferroin7@gmail.com>
Co-authored-by: Timo <6674623+underhood@users.noreply.github.com>
|
|
* Prepare files for the AWS Kinesis exporting connector
* Update the documentation
* Rename functions in backends
* Include the connector to the Netdata buid
* Add initializers and a worker
* Add Kinesis specific configuration options
* Add a compile time configuration check
* Remove the connector data structure
* Restore unit tests
* Fix the compile-time configuration check
* Initialize AWS SDK only once
* Don't create an instance for an unknown exporting connector
* Separate client and request outcome data for every instance
* Fix memory cleanup, document functions
* Add unit tests
* Update the documentation
|
|
* syscall_plugin: Compilation
This commit brings the necessaries changes to the compilation files
* syscall_plugin: Collector body
This commit brings the collector body to files.
* syscall_plugin: .gitignore
This commit adds syscall.plugin to .gitignore
* syscall_plugin: Plugin adjust
Fix reference and remove message
* syscall_plugin: Remove limit
Remove call to setrlimit
* syscall: Fix start
This commit fixes problems related with start of the plugin
* syscall_plugin: Bring heartbeat
This commit removes the sleep and changes to heartbeat to avoid plugin receive a SIGTERM
* syscall_plugin: Missing semicolon
* syscall_plugin: Fix dimension
Brings the initial value of chart for the normal dimension of the other values
* syscall_plugin: Fix dimension 2
The previous change did not give the expected results, so I am bringing more a fix
* syscall_plugin: adjust values
Rename function and adjust pid size
* syscall_plugin: Remove Chart and fix var
this commit removes a chart that will not be created and fix an error
when the bytes were calculated
* syscall_plugin: Brings error
This commit brings a new variable that will be used to identify errors
* syscall_plugin: Rename charts
This commit starts to rename the charts properly
* syscall_plugin: Rename plugin
* syscall_plugin: missing changes for rename
* syscall_plugin: fix compilation
* syscall_plugin: bring new charts
* syscall_plugin: Warnings
Remove warnings from compilation time
* vfs_plugin: Fix Error chart plot
There was an error when the chart was being displayed
* vfs_plugin: Change family
This commit changes the family of the VFS plugin
* vfs_plugin: Fix order
This PR fixes the wrong order when creating a chart
* vfs_plugin: Remove path
Remove path from structure
* vfs_plugin: From Perf to HASH
This commit converts the main source a hash table and also split the data collection per chart
* vfs_plugin: Adjusts and exit
This commit brings adjusts to the collect and the complete monitor to exit events
* vfs_plugin: Start process
This commit brings the monitoring of a process start and thread creation to Netdata
* vfs_plugin: Visualization and collection
Adjust variables to show and to collect data
* vfs_plugin: Connection with apps plugin
This commit starts to bring the connection with apps.
* vfs_plugin: Various
This commit brings new label for charts, fix to error chart and adjusts for new charts, I am sorry
* vfs_plugin: basis new chart
This commit brings the basis of the new charts for the plugin
* vfs_plugin: Apps plugin
This commit brings the integration with apps.plugin
* vfs_plugin:fix counter
This commit fixer the difference between apps plugin and counter
* ebpf_plugin: rename charts
This commit renames the charts
* ebpf_plugin: New charts adjusts and log start
* ebpf_plugin: Log thread
Creates the log thread that will be used to store error message
* ebpf_plugin: Rename Web Group
This commit reorganize the charts on dashboard
* ebpf_plugin: Restore
This commit restore the previous status of the collector where we only have a global vision of the problems
* ebpf_plugin: kretprobe
This commit brings the initial changes for the collector works with both eBPF program
* ebpf_plugin: New syscalls
This commit brings the new syscalls that we are monitoring
* ebpf_plugin: New charts
This commit brings new charts to the collector
* ebpf_plugin: Parse config
This commit starts the parser of the file
* ebpf_plugin: collector debug
* ebpf_plugin: Global variables from config
This commit brings the global variable update from the config file
* ebpf_plugin: Clean kprobe_events
This commit brings the clean of kprobe_events and also starts the common library for all eBPF collectors
* ebpf_plugin: Check kernel version
This function brings a check for the kernel version
* ebpf_plugin: Start documentation
This commit brings the initial documentation for the users
* ebpf_plugin: Documentation
This commit brings adjust to code and updates for the documentation
* ebpf_plugin: this commit brings the developer mode to the collector
* ebpf_plugin: Documentation
This commit brings more information to the documentation
* ebpf_plugin: Documentation
This commit brings more information to the documentation
* ebpf_plugin: errno to logs
Brings errno number to logs
* ebpf_plugin: Documentation
This commit brings fixes to the collector documentation
* ebpf_plugin: Move description
This commit move the chart description from the C code to dashboard_info.js
* ebpf_plugin: Rename files
This commit rename files to the final version
* ebpf_plugin: COntinue renaming
This commit continue renaming the files to the final version
* ebpf_plugin: Renaming process
This commit renames the final plugin
* ebpf_plugin: Finish rename
This commit finishes the rename processing
* ebpf_plugin: fix entry charts
This commit removes one chart from mode
* ebpf_plugin: Fix remove
This commit brings a new function to fix the unload of collector when the collector
is running in entry mode
* ebpf_plugin: Rename on old kernels
This commit brings fixes for syscall names
* ebpf_plugin: Timestamp to log
This commit brings the timestamp to the logs
* ebpf_plugin: Remove syscall
With the changes on the backend, we are not monitoring more sys_clone
* ebpf_plugin: The syscall is important for 5.3 or newer, so I am returning
* ebpf_plugin: Remove concurrency
This commit adds variables necessary to interact with the new structor
of the eBPF program
* ebpf_plugin: Ids to dimension
This commit fews the functions name as ids for the dimensions
* ebpf_plugin: Missing chart
This commit brings the missing chart for Netdata
* ebpf_plugin: Remove unecessary message
Remove unecessary error message from the collector
* ebpf_plugin: Rename dimension
This commit renames the dimension for something more meaninful
* ebpf_plugin: Optional log
This commit converts the developer.log in an optional feature
* redirect to stdoou
This commit starts to bring the capability to redirect everything to stdout
* ebpf_plugin: Disable dev mode
This commit removes the possibility to load the dev mode file for while
* ebpf_plugin: Disable eBPF process
By default this plugin won't be enabled
* ebpf_plugin: Update debug message
* ebpf_plugin: this commit adjusts documentation to next release.
* ebpf_plugin: documentation fix.
* ebpf_plugin: Percpu hash
This commit moves from an unique hash table for various to speed up
the collector
* ebpf_plugin: Compatibility
This commit set compatibility version between kernels
|
|
* if ACLK enabled require libwebsockets.a
|
|
* - Add initial mqtt support
* [WIP] Agent cloud link
- Setup main mqtt thread to connect to a broker using V5 of the MQTT protocol (TBD)
- Send alarms to "netdata/alarm"
- Add error checks to handle connection failures
- Add params for
Broker, port
Maximum concurrent sent / recev messages
- Dummy function to check claiming status
- Generic mqtt_send command to publish message to a base topic , sub topic
It will end up in the form base_topic/sub_topic
- Add host/port in the connection failure error message
* Test libmosquitto libs
* connect to broker locally (assume localhost:1883)
* subscribe to channel netdata/command
* Test try a reload command to trigger health reload
* publish alerts to netdata/alarm
* - Fix compile issues
* - Use sleep_usec instead of usleep
* - Delay reconnection on failure due to misconfiguration (high cpu usage)
* - Remove the TLS connection config
* - Fix NETDATA_MQTT_INITIALIZATION_SLEEP_WAIT to use seconds
* - Gather ACLK related code under aclk folder
- Add aclk_ functions for abstract layer
- Moved low level libs intergration in mqtt.c
* - Add README.md file with initial comment
* - Clean MQTT v5
* - Code cleanup
* - Remove alarm log for now
- Remove the heart beat
* - Remove message properties for V5
* - Remove message properties for V5 (header)
* Fixed the netdata target to use a local static version of libmosquitto.
The installer does not yet have steps to pull and build the local library.
cd project_root
git clone ssh://git@github.com/netdata/mosquitto mosquitto/
(cd mosquitto/lib && make) # Ignore the cpp error
This will leave mosquitto/lib/libmosquitto.a for the build process to use.
* - Fix compile issues with older < 1.6 libmosquitto lib
* - Enable alarm events to check it works
- Re arrange includes
- Rework topic to be agent/guid/. Actual id will be
returned by the is_agent_claimed
* - Add initial metadata info
- Added helper function in web_api
- Added a debug command (info)
* Update the claiming state to retrieve the claimed id.
* - Use define for constants like command and metadata topics
- Function to wait for initialization of the ACLK link
- New aclk_subscribe command with QOS parameter for the mqtt subscription
- Use the is_agent_claimed function to get the real claim id and use it to build the topics
that will be used for the cloud communication
- Change in netdata-claim.sh.in to write the claim id without a trailing \n
* - Use define for constants like command and metadata topics
- Function to wait for initialization of the ACLK link
- New aclk_subscribe command with QOS parameter for the mqtt subscription
- Use the is_agent_claimed function to get the real claim id and use it to build the topics
that will be used for the cloud communication
- Change in netdata-claim.sh.in to write the claim id without a trailing \n
* - Remove the alarm log for now
- Add code (but disabled) to send charts
* - Use dummy anon, anon as username and password for testing purposes
* - Use client id anon as well
* Testing without TLS
* Switching TLS back on to fix docker environment.
* - Added query processing
An incoming URL now calls web_client_api_request_v1_data to handle a request and push the results
back to the "data" topic
- Move the above processing from the message callback to the query handle loop
- Added helper "pause" , "resume" commands to stop and resume query processing to stress test loading the queue
with queries before executing them
- Changed the endpoint topics to "meta", and "cmd" (previously metadata and command)
* make info message follow protocol
* move metadata msg generation into new func
* move metadata msg generation into new func
* - Add metadata to the responses
- Add hook to queue chart changes on creation and dimensions
- Changed the queue mechanism to include delay for X seconds
- Add delayed submittion of charts to the cloud so that all DIMs are defined to avoid resubmission
* - Add additional data info for aclk_queue command
* - Use web_clinet_api_request_v1 to handle the incoming request
This will handle all requests coming from the cloud
* - Cleanup and aclk_query structure
- Add msg_id parameter
- Enable the incoming JSON request
- Enable the outgoing JSON response
* - Added new thread to handle query processing
- Add lock and cond wait to wakeup thread when queries are submitted
- Cleanup on the main init function
* - Add wait time on agent init, to allow for chart, alarms and other definitions to be completed.
- During the wait time, no queries will be queued
* - Send metadata on query thread init
- New generic create header function for the JSON response
- Pack info and charts into one message
- Modified chart to remove entries (test)
- Modified charts mod to remove entries e.g alarms and volatile info
- Change input to aclk_update_chart (RRDHOST / instead of hostname)
* - When a request fails, add to the payload
- We may need to handle in a different key
- Error check in json parsing
* - Add dummy aclk_update_alarm command
* - Move incoming request JSON parsing code away from mqtt.c
- Added #ifdef ACLK_ENABLE so that we can have code merged but disabled by default
- Added version in incoming and outgoing JSON dict
* - Disable code if ACLK_ENABLE is not defined
- Remove references to the mqtt (mosquitto) lib
- Add dummy stubs in mqtt.c for completeness if ACLK_ENABLE is not defined
* - Disable challenge sample code for now
* - Remove libmosquitto from makefile
* - Fix spaces in Makefile.am
- Remove ifdef to avoid warning from LGTM
* - Remove for now the code that builds an along log test message to send to the cloud
* - Add check for ACLK_ENABLE definition and avoid calling the chart update functions
* - Remove commented code
* - Move source files to the correct place (ACLK_PLUGIN_FILES)
* - Remove include file thats not needed
* - Remove include file thats not needed
- Add improved checks for load_claiming_state()
* - Fix error message. Used error() that also logs errno and message
* - Fix some codacy issues
* - Fix more codacy issues, code cleanup
* - Revert code to address codacy warnings
* - Revert spaces added in a previous commit by mistake
* clean up if/else nest
* print error if fopen fails
* minor - error already logs errno
* - Fix version formatting
* - Cleanup all ACLK related compiler warnings
- Re-arrange include files
- Removed unused defines
* - More compilation warnings fixed
- Bug with thread creation fixed
* - Add condition to skip compilation of the ACLK code entirely. Add env variable ACLK="yes" to enable
* - Add condition to skip the libmosquitto
* - Change feature flag from ACLK_ENABLE to ENABLE_ACLK in accordance with the rest of ENABLE_xx flags
- Typo in info message fix
Co-authored-by: Andrew Moss <1043609+amoss@users.noreply.github.com>
Co-authored-by: Timo <6674623+underhood@users.noreply.github.com>
|
|
|
|
|
|
|
|
* Change deprecated method to a new one
* Change the minimum required version of protobuf
|
|
Initial infrastructure support for agent claiming.
This feature is not currently enabled as we are still finalizing the details of the cloud infrastructure w.r.t. agent claiming. The feature will be enabled when we are ready
to release it.
|