From 47e49da97edd6d3d58c02fde9d5f9c75e59c1420 Mon Sep 17 00:00:00 2001 From: Stelios Fragkakis <52996999+stelfrag@users.noreply.github.com> Date: Tue, 28 May 2024 12:39:55 +0300 Subject: [PATCH 1/5] Schedule a node info on label reload (#17762) --- src/daemon/commands.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/daemon/commands.c b/src/daemon/commands.c index 8c7e3194e23669..70ba11d424222e 100644 --- a/src/daemon/commands.c +++ b/src/daemon/commands.c @@ -212,6 +212,7 @@ static cmd_status_t cmd_reload_labels_execute(char *args, char **message) (void)args; netdata_log_info("COMMAND: reloading host labels."); reload_host_labels(); + aclk_queue_node_info(localhost, 1); BUFFER *wb = buffer_create(10, NULL); rrdlabels_log_to_buffer(localhost->rrdlabels, wb); From 7ed4ea779c1f5de969154d6d3a0f697c1901058e Mon Sep 17 00:00:00 2001 From: Ilya Mashchenko Date: Tue, 28 May 2024 13:32:15 +0300 Subject: [PATCH 2/5] go.d sd local-listeners fix extractComm (#17763) --- .../discovery/sd/discoverer/netlisteners/netlisteners.go | 7 +++---- .../sd/discoverer/netlisteners/netlisteners_test.go | 9 +++++++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/go/collectors/go.d.plugin/agent/discovery/sd/discoverer/netlisteners/netlisteners.go b/src/go/collectors/go.d.plugin/agent/discovery/sd/discoverer/netlisteners/netlisteners.go index 271a1d5dc9a1ea..114368e0659f94 100644 --- a/src/go/collectors/go.d.plugin/agent/discovery/sd/discoverer/netlisteners/netlisteners.go +++ b/src/go/collectors/go.d.plugin/agent/discovery/sd/discoverer/netlisteners/netlisteners.go @@ -308,11 +308,10 @@ func (e *localListenersExec) discover(ctx context.Context) ([]byte, error) { } func extractComm(cmdLine string) string { - i := strings.IndexByte(cmdLine, ' ') - if i <= 0 { - return strings.TrimSuffix(cmdLine, ":") + if i := strings.IndexByte(cmdLine, ' '); i != -1 { + cmdLine = cmdLine[:i] } - _, comm := filepath.Split(cmdLine[:i]) + _, comm := filepath.Split(cmdLine) return strings.TrimSuffix(comm, ":") } diff --git a/src/go/collectors/go.d.plugin/agent/discovery/sd/discoverer/netlisteners/netlisteners_test.go b/src/go/collectors/go.d.plugin/agent/discovery/sd/discoverer/netlisteners/netlisteners_test.go index c3e3dcc69a3d69..130d2376a2ac87 100644 --- a/src/go/collectors/go.d.plugin/agent/discovery/sd/discoverer/netlisteners/netlisteners_test.go +++ b/src/go/collectors/go.d.plugin/agent/discovery/sd/discoverer/netlisteners/netlisteners_test.go @@ -13,6 +13,7 @@ func TestDiscoverer_Discover(t *testing.T) { tests := map[string]discoverySim{ "add listeners": { listenersCli: func(cli listenersCli, interval, expiry time.Duration) { + cli.addListener("UDP|127.0.0.1|323|/usr/sbin/chronyd") cli.addListener("UDP6|::1|8125|/opt/netdata/usr/sbin/netdata -P /run/netdata/netdata.pid -D") cli.addListener("TCP6|::1|8125|/opt/netdata/usr/sbin/netdata -P /run/netdata/netdata.pid -D") cli.addListener("TCP6|::|8125|/opt/netdata/usr/sbin/netdata -P /run/netdata/netdata.pid -D") @@ -31,6 +32,14 @@ func TestDiscoverer_Discover(t *testing.T) { provider: "sd:net_listeners", source: "discoverer=net_listeners,host=localhost", targets: []model.Target{ + withHash(&target{ + Protocol: "UDP", + IPAddress: "127.0.0.1", + Port: "323", + Address: "127.0.0.1:323", + Comm: "chronyd", + Cmdline: "/usr/sbin/chronyd", + }), withHash(&target{ Protocol: "TCP", IPAddress: "127.0.0.1", From 2d59017ba52c82a85bff16b82e6c4ecf084a0374 Mon Sep 17 00:00:00 2001 From: vkalintiris Date: Tue, 28 May 2024 17:50:23 +0300 Subject: [PATCH 3/5] Fix version for go.d plugin (#17764) --- CMakeLists.txt | 1 - packaging/cmake/Modules/NetdataGoTools.cmake | 4 ++-- packaging/cmake/Modules/NetdataVersion.cmake | 2 +- packaging/cmake/config.cmake.h.in | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fe893fdf2d1461..d4eea531caf728 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2367,7 +2367,6 @@ set(CONFIGURE_COMMAND "dummy-configure-command") if (NOT NETDATA_USER) set(NETDATA_USER "netdata") endif() -set(VERSION "${GIT_DESCRIBE_OUTPUT}") configure_file(packaging/cmake/config.cmake.h.in config.h) diff --git a/packaging/cmake/Modules/NetdataGoTools.cmake b/packaging/cmake/Modules/NetdataGoTools.cmake index cc9e0e1112c6dc..6526c8d7bc8705 100644 --- a/packaging/cmake/Modules/NetdataGoTools.cmake +++ b/packaging/cmake/Modules/NetdataGoTools.cmake @@ -5,9 +5,9 @@ # SPDX-License-Identifier: GPL if(CMAKE_BUILD_TYPE STREQUAL Debug) - set(GO_LDFLAGS "-X github.com/netdata/netdata/go/go.d.plugin/pkg/buildinfo.Version=${NETDATA_VERSION}") + set(GO_LDFLAGS "-X github.com/netdata/netdata/go/go.d.plugin/pkg/buildinfo.Version=${NETDATA_VERSION_STRING}") else() - set(GO_LDFLAGS "-w -s -X github.com/netdata/netdata/go/go.d.plugin/pkg/buildinfo.Version=${NETDATA_VERSION}") + set(GO_LDFLAGS "-w -s -X github.com/netdata/netdata/go/go.d.plugin/pkg/buildinfo.Version=${NETDATA_VERSION_STRING}") endif() # add_go_target: Add a new target that needs to be built using the Go toolchain. diff --git a/packaging/cmake/Modules/NetdataVersion.cmake b/packaging/cmake/Modules/NetdataVersion.cmake index 96f840b1645ef1..b4bdd43b074ecc 100644 --- a/packaging/cmake/Modules/NetdataVersion.cmake +++ b/packaging/cmake/Modules/NetdataVersion.cmake @@ -24,7 +24,7 @@ function(netdata_version) endif() string(STRIP ${GIT_DESCRIBE_OUTPUT} GIT_DESCRIBE_OUTPUT) - set(GIT_DESCRIBE_OUTPUT "${GIT_DESCRIBE_OUTPUT}" PARENT_SCOPE) + set(NETDATA_VERSION_STRING "${GIT_DESCRIBE_OUTPUT}" PARENT_SCOPE) string(REGEX MATCH "v?([0-9]+)\\.([0-9]+)\\.([0-9]+)-?([0-9]+)?-?([0-9a-zA-Z]+)?" MATCHES "${GIT_DESCRIBE_OUTPUT}") if(CMAKE_MATCH_COUNT EQUAL 3) diff --git a/packaging/cmake/config.cmake.h.in b/packaging/cmake/config.cmake.h.in index cc74f37121dff5..5494782a5a3c65 100644 --- a/packaging/cmake/config.cmake.h.in +++ b/packaging/cmake/config.cmake.h.in @@ -166,7 +166,7 @@ #define NETDATA_VERSION_TWEAK "@NETDATA_VERSION_TWEAK@" #define NETDATA_VERSION_DESCR "@NETDATA_VERSION_DESCR@" -#define NETDATA_VERSION "@GIT_DESCRIBE_OUTPUT@" +#define NETDATA_VERSION "@NETDATA_VERSION_STRING@" #define ENABLE_JSONC 1 From bbd591a8a738b84deee4454a3563b22b38314c06 Mon Sep 17 00:00:00 2001 From: "Austin S. Hemmelgarn" Date: Tue, 28 May 2024 13:07:35 -0400 Subject: [PATCH 4/5] Fix DEB package builds. (#17765) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Check for supplementary components in libexec during runtime checks. This should catch issues like what the PR it’s part of is fixing. * Fix building DEB packages with CPack. This both disables the logs-management plugin in the builds (which has never actually worked properly in our packages for multiple reasons) and fixes a botched merge involving the OS detection in the build system. * Fix up CI checks. --- .github/scripts/pkg-test.sh | 7 ++++ CMakeLists.txt | 26 ++++++------ packaging/build-package.sh | 2 +- .../makeself/jobs/90-netdata-runtime-check.sh | 7 ++++ packaging/runtime-check.sh | 40 +++++++++++++++++++ 5 files changed, 68 insertions(+), 14 deletions(-) diff --git a/.github/scripts/pkg-test.sh b/.github/scripts/pkg-test.sh index 6120d3fc3fd46c..81bafddab49105 100755 --- a/.github/scripts/pkg-test.sh +++ b/.github/scripts/pkg-test.sh @@ -120,6 +120,13 @@ esac trap dump_log EXIT +export NETDATA_LIBEXEC_PREFIX=/usr/libexec/netdata +export NETDATA_SKIP_LIBEXEC_PARTS="logs-management|freeipmi|xenstat|nfacct|cups" + +if [ "$(uname -m)" != "x86_64" ]; then + export NETDATA_SKIP_LIBEXEC_PARTS="${NETDATA_SKIP_LIBEXEC_PARTS}|ebpf" +fi + /usr/sbin/netdata -D > ./netdata.log 2>&1 & "${SCRIPT_DIR}/../../packaging/runtime-check.sh" || exit 1 diff --git a/CMakeLists.txt b/CMakeLists.txt index d4eea531caf728..9dd9606e12a2d2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -141,23 +141,23 @@ option(ENABLE_DBENGINE "Enable dbengine metrics storage" True) option(ENABLE_PLUGIN_APPS "Enable per-process resource usage monitoring" ${DEFAULT_FEATURE_STATE}) option(ENABLE_PLUGIN_GO "Enable metric collectors written in Go" ${DEFAULT_FEATURE_STATE}) -cmake_dependent_option(ENABLE_PLUGIN_CUPS "Enable CUPS monitoring" ${DEFAULT_FEATURE_STATE} "LINUX OR FREEBSD OR MACOS" False) +cmake_dependent_option(ENABLE_PLUGIN_CUPS "Enable CUPS monitoring" ${DEFAULT_FEATURE_STATE} "OS_LINUX OR OS_FREEBSD OR OS_MACOS" False) -cmake_dependent_option(ENABLE_PLUGIN_FREEIPMI "Enable IPMI monitoring" ${DEFAULT_FEATURE_STATE} "LINUX OR FREEBSD" False) +cmake_dependent_option(ENABLE_PLUGIN_FREEIPMI "Enable IPMI monitoring" ${DEFAULT_FEATURE_STATE} "OS_LINUX OR OS_FREEBSD" False) -cmake_dependent_option(ENABLE_PLUGIN_CGROUP_NETWORK "Enable Linux CGroup network usage monitoring" ${DEFAULT_FEATURE_STATE} "LINUX" False) -cmake_dependent_option(ENABLE_PLUGIN_DEBUGFS "Enable Linux DebugFS metric collection" ${DEFAULT_FEATURE_STATE} "LINUX" False) -cmake_dependent_option(ENABLE_PLUGIN_EBPF "Enable Linux eBPF metric collection" ${DEFAULT_FEATURE_STATE} "LINUX" False) +cmake_dependent_option(ENABLE_PLUGIN_CGROUP_NETWORK "Enable Linux CGroup network usage monitoring" ${DEFAULT_FEATURE_STATE} "OS_LINUX" False) +cmake_dependent_option(ENABLE_PLUGIN_DEBUGFS "Enable Linux DebugFS metric collection" ${DEFAULT_FEATURE_STATE} "OS_LINUX" False) +cmake_dependent_option(ENABLE_PLUGIN_EBPF "Enable Linux eBPF metric collection" ${DEFAULT_FEATURE_STATE} "OS_LINUX" False) cmake_dependent_option(ENABLE_LEGACY_EBPF_PROGRAMS "Enable eBPF programs for kernels without BTF support" True "ENABLE_PLUGIN_EBPF" False) mark_as_advanced(ENABLE_LEGACY_EBPF_PROGRAMS) -cmake_dependent_option(ENABLE_PLUGIN_LOCAL_LISTENERS "Enable local listening socket tracking (including service auto-discovery support)" ${DEFAULT_FEATURE_STATE} "LINUX" False) -cmake_dependent_option(ENABLE_PLUGIN_LOGS_MANAGEMENT "Enable log collection and monitoring based on Fluent Bit" ${DEFAULT_FEATURE_STATE} "LINUX" False) -cmake_dependent_option(ENABLE_PLUGIN_NETWORK_VIEWER "Enable network viewer functionality" ${DEFAULT_FEATURE_STATE} "LINUX" False) -cmake_dependent_option(ENABLE_PLUGIN_NFACCT "Enable Linux NFACCT metric collection" ${DEFAULT_FEATURE_STATE} "LINUX" False) -cmake_dependent_option(ENABLE_PLUGIN_PERF "Enable Linux performance counter monitoring" ${DEFAULT_FEATURE_STATE} "LINUX" False) -cmake_dependent_option(ENABLE_PLUGIN_SLABINFO "Enable Linux kernel SLAB allocator monitoring" ${DEFAULT_FEATURE_STATE} "LINUX" False) -cmake_dependent_option(ENABLE_PLUGIN_SYSTEMD_JOURNAL "Enable systemd journal log collection" ${DEFAULT_FEATURE_STATE} "LINUX" False) -cmake_dependent_option(ENABLE_PLUGIN_XENSTAT "Enable Xen domain monitoring" ${DEFAULT_FEATURE_STATE} "LINUX" False) +cmake_dependent_option(ENABLE_PLUGIN_LOCAL_LISTENERS "Enable local listening socket tracking (including service auto-discovery support)" ${DEFAULT_FEATURE_STATE} "OS_LINUX" False) +cmake_dependent_option(ENABLE_PLUGIN_LOGS_MANAGEMENT "Enable log collection and monitoring based on Fluent Bit" ${DEFAULT_FEATURE_STATE} "OS_LINUX" False) +cmake_dependent_option(ENABLE_PLUGIN_NETWORK_VIEWER "Enable network viewer functionality" ${DEFAULT_FEATURE_STATE} "OS_LINUX" False) +cmake_dependent_option(ENABLE_PLUGIN_NFACCT "Enable Linux NFACCT metric collection" ${DEFAULT_FEATURE_STATE} "OS_LINUX" False) +cmake_dependent_option(ENABLE_PLUGIN_PERF "Enable Linux performance counter monitoring" ${DEFAULT_FEATURE_STATE} "OS_LINUX" False) +cmake_dependent_option(ENABLE_PLUGIN_SLABINFO "Enable Linux kernel SLAB allocator monitoring" ${DEFAULT_FEATURE_STATE} "OS_LINUX" False) +cmake_dependent_option(ENABLE_PLUGIN_SYSTEMD_JOURNAL "Enable systemd journal log collection" ${DEFAULT_FEATURE_STATE} "OS_LINUX" False) +cmake_dependent_option(ENABLE_PLUGIN_XENSTAT "Enable Xen domain monitoring" ${DEFAULT_FEATURE_STATE} "OS_LINUX" False) # Metrics exporters option(ENABLE_EXPORTER_PROMETHEUS_REMOTE_WRITE "Enable exporting to Prometheus via remote write API" ${DEFAULT_FEATURE_STATE}) diff --git a/packaging/build-package.sh b/packaging/build-package.sh index 349b875f4f8a0c..bdf4f4eda07a31 100755 --- a/packaging/build-package.sh +++ b/packaging/build-package.sh @@ -38,7 +38,7 @@ add_cmake_option ENABLE_PLUGIN_DEBUGFS On add_cmake_option ENABLE_PLUGIN_FREEIPMI On add_cmake_option ENABLE_PLUGIN_GO On add_cmake_option ENABLE_PLUGIN_LOCAL_LISTENERS On -add_cmake_option ENABLE_PLUGIN_LOGS_MANAGEMENT On +add_cmake_option ENABLE_PLUGIN_LOGS_MANAGEMENT Off add_cmake_option ENABLE_PLUGIN_NFACCT On add_cmake_option ENABLE_PLUGIN_PERF On add_cmake_option ENABLE_PLUGIN_SLABINFO On diff --git a/packaging/makeself/jobs/90-netdata-runtime-check.sh b/packaging/makeself/jobs/90-netdata-runtime-check.sh index fc1b239b373312..86f4883d771c2a 100755 --- a/packaging/makeself/jobs/90-netdata-runtime-check.sh +++ b/packaging/makeself/jobs/90-netdata-runtime-check.sh @@ -10,6 +10,13 @@ dump_log() { trap dump_log EXIT +export NETDATA_LIBEXEC_PREFIX="${NETDATA_INSTALL_PATH}/usr/libexec/netdata" +export NETDATA_SKIP_LIBEXEC_PARTS="logs-management|freeipmi|xenstat|cups" + +if [ "$(uname -m)" != "x86_64" ]; then + export NETDATA_SKIP_LIBEXEC_PARTS="${NETDATA_SKIP_LIBEXEC_PARTS}|ebpf" +fi + "${NETDATA_INSTALL_PATH}/bin/netdata" -D > ./netdata.log 2>&1 & "${NETDATA_SOURCE_PATH}/packaging/runtime-check.sh" || exit 1 diff --git a/packaging/runtime-check.sh b/packaging/runtime-check.sh index de6e22071964b6..d297a6e2200607 100755 --- a/packaging/runtime-check.sh +++ b/packaging/runtime-check.sh @@ -48,3 +48,43 @@ curl -sfS http://127.0.0.1:19999/index.html || exit 1 curl -sfS http://127.0.0.1:19999/v0/index.html || exit 1 curl -sfS http://127.0.0.1:19999/v1/index.html || exit 1 curl -sfS http://127.0.0.1:19999/v2/index.html || exit 1 + +NETDATA_LIBEXEC_PARTS=" +plugins.d/apps.plugin +plugins.d/cgroup-network +plugins.d/charts.d.plugin +plugins.d/cups.plugin +plugins.d/debugfs.plugin +plugins.d/ebpf.plugin +plugins.d/freeipmi.plugin +plugins.d/go.d.plugin +plugins.d/ioping.plugin +plugins.d/local-listeners +plugins.d/logs-management.plugin +plugins.d/ndsudo +plugins.d/network-viewer.plugin +plugins.d/nfacct.plugin +plugins.d/perf.plugin +plugins.d/python.d.plugin +plugins.d/slabinfo.plugin +plugins.d/xenstat.plugin +" + +if [ -d "${NETDATA_LIBEXEC_PREFIX}" ]; then + success=1 + for part in ${NETDATA_LIBEXEC_PARTS}; do + # shellcheck disable=SC2254 + if echo "${part}" | grep -qE "${NETDATA_SKIP_LIBEXEC_PARTS}"; then + continue + fi + + if [ ! -x "${NETDATA_LIBEXEC_PREFIX}/${part}" ]; then + success=0 + echo "!!! ${NETDATA_LIBEXEC_PREFIX}/${part} is missing" + fi + done + + if [ "${success}" -eq 0 ]; then + exit 1 + fi +fi From ee4b2e3e732dca94affc9f7217fc93218a49bb05 Mon Sep 17 00:00:00 2001 From: netdatabot Date: Wed, 29 May 2024 00:17:41 +0000 Subject: [PATCH 5/5] [ci skip] Update changelog and version for nightly build: v1.45.0-495-nightly. --- CHANGELOG.md | 6 ++++-- packaging/version | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a02fceb9c9e34..ca8e187c4689f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ **Merged pull requests:** +- Fix DEB package builds. [\#17765](https://github.com/netdata/netdata/pull/17765) ([Ferroin](https://github.com/Ferroin)) +- Fix version for go.d plugin [\#17764](https://github.com/netdata/netdata/pull/17764) ([vkalintiris](https://github.com/vkalintiris)) +- go.d sd local-listeners fix extractComm [\#17763](https://github.com/netdata/netdata/pull/17763) ([ilyam8](https://github.com/ilyam8)) +- Schedule a node info on label reload [\#17762](https://github.com/netdata/netdata/pull/17762) ([stelfrag](https://github.com/stelfrag)) - Regenerate integrations.js [\#17761](https://github.com/netdata/netdata/pull/17761) ([netdatabot](https://github.com/netdatabot)) - add clickhouse alerts [\#17760](https://github.com/netdata/netdata/pull/17760) ([ilyam8](https://github.com/ilyam8)) - simplify installation page [\#17759](https://github.com/netdata/netdata/pull/17759) ([Ancairon](https://github.com/Ancairon)) @@ -431,8 +435,6 @@ - Fix issues with permissions when installing from source on macOS [\#17198](https://github.com/netdata/netdata/pull/17198) ([ilyam8](https://github.com/ilyam8)) - Handle agents will wrong alert\_hash table definition [\#17197](https://github.com/netdata/netdata/pull/17197) ([stelfrag](https://github.com/stelfrag)) - Fix alert hash table definition [\#17196](https://github.com/netdata/netdata/pull/17196) ([stelfrag](https://github.com/stelfrag)) -- health: unsilence cpu % alarm [\#17194](https://github.com/netdata/netdata/pull/17194) ([ilyam8](https://github.com/ilyam8)) -- Fix sum calculation in rrdr2value [\#17193](https://github.com/netdata/netdata/pull/17193) ([stelfrag](https://github.com/stelfrag)) ## [v1.44.3](https://github.com/netdata/netdata/tree/v1.44.3) (2024-02-12) diff --git a/packaging/version b/packaging/version index 0e5f44ca669f4b..f67517b9d18244 100644 --- a/packaging/version +++ b/packaging/version @@ -1 +1 @@ -v1.45.0-490-nightly +v1.45.0-495-nightly