diff options
Diffstat (limited to '')
25 files changed, 261 insertions, 191 deletions
diff --git a/packaging/PLATFORM_SUPPORT.md b/packaging/PLATFORM_SUPPORT.md index 62a6a4051..ae3edf721 100644 --- a/packaging/PLATFORM_SUPPORT.md +++ b/packaging/PLATFORM_SUPPORT.md @@ -58,9 +58,11 @@ to work on these platforms with minimal user effort. | Platform | Version | Official Native Packages | Notes | |--------------------------|----------------|----------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------| -| Alpine Linux | 3.17 | No | The latest release of Alpine Linux is guaranteed to remain at **Core** tier due to usage for our Docker images | +| Alpine Linux | 3.18 | No | The latest release of Alpine Linux is guaranteed to remain at **Core** tier due to usage for our Docker images | | Alma Linux | 9.x | x86\_64, AArch64 | Also includes support for Rocky Linux and other ABI compatible RHEL derivatives | | Alma Linux | 8.x | x86\_64, AArch64 | Also includes support for Rocky Linux and other ABI compatible RHEL derivatives | +| Amazon Linux | 2023 | x86\_64, AArch64 | | +| Amazon Linux | 2 | x86\_64, AArch64 | | | CentOS | 7.x | x86\_64 | | | Docker | 19.03 or newer | x86\_64, i386, ARMv7, AArch64, POWER8+ | See our [Docker documentation](https://github.com/netdata/netdata/blob/master/packaging/docker/README.md) for more info on using Netdata on Docker | | Debian | 12.x | x86\_64, i386, ARMv7, AArch64 | | @@ -76,7 +78,6 @@ to work on these platforms with minimal user effort. | Red Hat Enterprise Linux | 8.x | x86\_64, AArch64 | | | Red Hat Enterprise Linux | 7.x | x86\_64 | | | Ubuntu | 23.04 | x86\_64, AArch64, ARMv7 | | -| Ubuntu | 22.10 | x86\_64, ARMv7, AArch64 | | | Ubuntu | 22.04 | x86\_64, ARMv7, AArch64 | | | Ubuntu | 20.04 | x86\_64, ARMv7, AArch64 | | @@ -92,10 +93,10 @@ with minimal user effort. | Platform | Version | Official Native Packages | Notes | |---------------|------------|--------------------------|------------------------------------------------------------------------------------------------------| +| Alpine Linux | Edge | No | | +| Alpine Linux | 3.17 | No | | | Alpine Linux | 3.16 | No | | | Alpine Linux | 3.15 | No | | -| Amazon Linux | 2023 | x86\_64, AArch64 | Scheduled for promotion to Core tier at some point after the release of v1.39.0 of the Netdata Agent | -| Amazon Linux | 2 | x86\_64, AArch64 | Scheduled for promotion to Core tier at some point after the release of v1.39.0 of the Netdata Agent | | Arch Linux | Latest | No | We officially recommend the community packages available for Arch Linux | | Manjaro Linux | Latest | No | We officially recommend the community packages available for Arch Linux | | openSUSE | Tumbleweed | x86\_64, AArch64 | Scheduled for promotion to Core tier at some point after the release of v1.41.0 of the Netdata Agent | @@ -110,17 +111,14 @@ platforms, but may require some extra effort from users. | Platform | Version | Official Native Packages | Notes | |--------------|------------|--------------------------|-----------------------------------------------------------------------------------------------------------| -| Alpine Linux | Edge | No | | | Clear Linux | Latest | No | | | Debian | Sid | No | | | Fedora | Rawhide | No | | | FreeBSD | 13-STABLE | No | Netdata is included in the FreeBSD Ports Tree, and this is the recommended installation method on FreeBSD | -| FreeBSD | 12-STABLE | No | Netdata is included in the FreeBSD Ports Tree, and this is the recommended installation method on FreeBSD | | Gentoo | Latest | No | | +| macOS | 13 | No | Currently only works for Intel-based hardware. Requires Homebrew for dependencies | | macOS | 12 | No | Currently only works for Intel-based hardware. Requires Homebrew for dependencies | | macOS | 11 | No | Currently only works for Intel-based hardware. Requires Homebrew for dependencies. | -| macOS | 10.15 | No | Requires Homebrew for dependencies. | -| openSUSE | Tumbleweed | No | | ## Third-party supported platforms @@ -163,6 +161,7 @@ This is a list of platforms that we have supported in the recent past but no lon | Fedora | 36 | EOL as of 2023-05-18 | | Fedora | 35 | EOL as of 2022-12-13 | | openSUSE | Leap 15.3 | EOL as of 2022-12-01 | +| Ubuntu | 22.10 | EOL as of 2023-07-20 | | Ubuntu | 21.10 | EOL as of 2022-07-31 | | Ubuntu | 18.04 | EOL as of 2023-04-02 | diff --git a/packaging/docker/run.sh b/packaging/docker/run.sh index ed77c394a..eede14e38 100755 --- a/packaging/docker/run.sh +++ b/packaging/docker/run.sh @@ -46,9 +46,10 @@ if [ -n "${PGID}" ]; then usermod -a -G "${PGID}" "${DOCKER_USR}" || echo >&2 "Could not add netdata user to group docker with ID ${PGID}" fi -if mountpoint -q /etc/netdata && [ -z "$(ls -A /etc/netdata)" ]; then +if mountpoint -q /etc/netdata; then echo "Copying stock configuration to /etc/netdata" - cp -a /etc/netdata.stock/. /etc/netdata + cp -an /etc/netdata.stock/* /etc/netdata + cp -an /etc/netdata.stock/.[^.]* /etc/netdata fi if [ -w "/etc/netdata" ]; then diff --git a/packaging/ebpf-co-re.checksums b/packaging/ebpf-co-re.checksums index 4d4f585d7..6ee06dd1b 100644 --- a/packaging/ebpf-co-re.checksums +++ b/packaging/ebpf-co-re.checksums @@ -1 +1 @@ -2bcbe98689efe6ee364cb3e9161ef549198d7f181845add923c6561bc8fb74d1 netdata-ebpf-co-re-glibc-v1.2.0.tar.xz +2abbbaf30a73e1ed365d42324a5128470568b008528c3ff8cd98d5eb86152f03 netdata-ebpf-co-re-glibc-v1.2.1.tar.xz diff --git a/packaging/ebpf-co-re.version b/packaging/ebpf-co-re.version index 79127d85a..6a5e98a74 100644 --- a/packaging/ebpf-co-re.version +++ b/packaging/ebpf-co-re.version @@ -1 +1 @@ -v1.2.0 +v1.2.1 diff --git a/packaging/ebpf.checksums b/packaging/ebpf.checksums index 739cc2f3f..e79daee9a 100644 --- a/packaging/ebpf.checksums +++ b/packaging/ebpf.checksums @@ -1,3 +1,3 @@ -a7386ffca8cbe9aa24c01b0b97b2e3553c11d696752037551277f9b1f5feb100 ./netdata-kernel-collector-glibc-v1.2.0.tar.xz -2b37ce6129dc61fd79e5519c150196099d363b4e57dafc55b210f64f9b40a3ec ./netdata-kernel-collector-musl-v1.2.0.tar.xz -ad22f11cb545557c09955f3728ba76d9734345c0ab84927086bb0e99a9f88f80 ./netdata-kernel-collector-static-v1.2.0.tar.xz +cb0cd6ef4bdb8a39c42b152d328d4822217c59e1d616d3003bc67bc53a058275 ./netdata-kernel-collector-glibc-v1.2.1.tar.xz +0633ff39e8654a21ab664a289f58daca5792cfaf2ed62dcaacf7cd267eeedd40 ./netdata-kernel-collector-musl-v1.2.1.tar.xz +6ce60c5ac8f45cc6a01b7ac9ea150728963d0aca1ee6dfd568b0f8b2ba67b88b ./netdata-kernel-collector-static-v1.2.1.tar.xz diff --git a/packaging/ebpf.version b/packaging/ebpf.version index 79127d85a..6a5e98a74 100644 --- a/packaging/ebpf.version +++ b/packaging/ebpf.version @@ -1 +1 @@ -v1.2.0 +v1.2.1 diff --git a/packaging/go.d.checksums b/packaging/go.d.checksums index 068d46978..2ecf9853a 100644 --- a/packaging/go.d.checksums +++ b/packaging/go.d.checksums @@ -1,17 +1,17 @@ -aac36f9675e85e3da6f5d73f2b0ba430d3b97c447a25a81f3a41d35420e841d4 *config.tar.gz -a3ef29cab4def627c94ddd235c23b8bd173b1ae3496dd04137c00942313afaec *go.d.plugin-v0.54.0.darwin-amd64.tar.gz -30e4ff2a25fd59c7bc496ef9939031681a9d2528dafc55516e6564cd444bf127 *go.d.plugin-v0.54.0.darwin-arm64.tar.gz -e35ea578ab0a09acaef9903f243f7eb3b5c1df67ded28df642bd599672d5a41b *go.d.plugin-v0.54.0.freebsd-386.tar.gz -0eb175cd4304d74c1fdc49f86f9909ca6967b16d4a52a4a439bc879abff9daf7 *go.d.plugin-v0.54.0.freebsd-amd64.tar.gz -e1a2d0917c5953d015b4b76c3192d0035d8ef60e74856238be86a82ae2a8b3d4 *go.d.plugin-v0.54.0.freebsd-arm.tar.gz -90560658753e5fde40081dcfda0a4121a4eed3fbb20e37dc834755ab1fa4e0ee *go.d.plugin-v0.54.0.freebsd-arm64.tar.gz -9f46fdd7e047c767b9ef44d98e95f9b44af6ca0d252983d271052ed71a6663b3 *go.d.plugin-v0.54.0.linux-386.tar.gz -9130a3c61e7ba756ef6694764a809a0e473654f9791dbb29761d02e24cdb6b65 *go.d.plugin-v0.54.0.linux-amd64.tar.gz -a47973241ecc1dfed62eda7d7ed03ab2f4ead471119d1125e781f4823b915305 *go.d.plugin-v0.54.0.linux-arm.tar.gz -b3dce37ef34f8780adb9aecc114d9ee67ba84f1b9300bcc9bc4467bd9129e659 *go.d.plugin-v0.54.0.linux-arm64.tar.gz -f79cf85119b7a6e6b6ebfde0f09055ac690656e48e3e95b197a4349b9c809b3a *go.d.plugin-v0.54.0.linux-mips.tar.gz -e599a40c3901dd1824763728ef75170fd462a52c95c8e8115ca20b687da51d28 *go.d.plugin-v0.54.0.linux-mips64.tar.gz -b06f119dc0c971a59cae825487da959849b7e29f8a228367614be74e3f5e2f4e *go.d.plugin-v0.54.0.linux-mips64le.tar.gz -a87f48d08b6dcb9d5a47f48eb543ee9f3a7c007c9212c394788099feb60d3943 *go.d.plugin-v0.54.0.linux-mipsle.tar.gz -5da8a5dba19276eb0890d8cfe6f52b4d1ad006fb375ce27743ee24aa8875b739 *go.d.plugin-v0.54.0.linux-ppc64.tar.gz -d69b565e6bbcc4b48e7d338cca2aef27ef68a456f2e818af1423d8a054cc4848 *go.d.plugin-v0.54.0.linux-ppc64le.tar.gz +0f588819dc782600c02194ab6d438f08add7f988aef9c26a5247d2a3711eb5e2 *config.tar.gz +31e91bb51f2f778429db958edb56783f70d05ed667d0d2a18f0506afa0fee8c4 *go.d.plugin-v0.54.1.darwin-amd64.tar.gz +20f93b7647da0dccc0e547d7aede7e3919af623b0fb47f2e9afcebd2b7514895 *go.d.plugin-v0.54.1.darwin-arm64.tar.gz +4d3be031dc3295844715cc7203bdd9d25721e3e954540ef9ba35644c2752a12d *go.d.plugin-v0.54.1.freebsd-386.tar.gz +69580909637ea8657f9e4c4b41fa96d3ad8ba4128223861ea94137319d5b34bc *go.d.plugin-v0.54.1.freebsd-amd64.tar.gz +5524dea9d1f9a215ace3df03d17a39380c832908a00303af6968c451dbbe91b2 *go.d.plugin-v0.54.1.freebsd-arm.tar.gz +a711dfcae86bdc5de17f0bb57dd10b819871a9f8a4bfe696e1ca66c1850ca400 *go.d.plugin-v0.54.1.freebsd-arm64.tar.gz +5174632ceb0755c68bccf09b055b72991e66bbd2df284352543767cfe872ff84 *go.d.plugin-v0.54.1.linux-386.tar.gz +04a176020b00c591e98656b62b211e984eb141b550c3f7b547a7b0d462521b3a *go.d.plugin-v0.54.1.linux-amd64.tar.gz +d7fabc7f349a2dbc079155b948e3675f49ba2fd2343716862ed07f2e7c77f8a7 *go.d.plugin-v0.54.1.linux-arm.tar.gz +9fda860e329ca961d8fe64f4f18ee9803313be86621975af245d5b05f5487023 *go.d.plugin-v0.54.1.linux-arm64.tar.gz +54cbee22bdfe96eb7e23606b06b42ac3d80af744fb1bbf70140893e4164d2e9f *go.d.plugin-v0.54.1.linux-mips.tar.gz +e0c299a29b9c50068bad903281b16eaa3593427896f915c21e487304a5900497 *go.d.plugin-v0.54.1.linux-mips64.tar.gz +a08c5e122e170cbf7cbec6664fdcf70b4328eb1d013db3c4a572c7339d1132f6 *go.d.plugin-v0.54.1.linux-mips64le.tar.gz +53a4054526639044111406e766afb0805f60aa3ef2f0452c85c747578d3523e1 *go.d.plugin-v0.54.1.linux-mipsle.tar.gz +fa4408a25feca43042e44388333dd6b502187e1736fffadcbc8058dfcaa3a61a *go.d.plugin-v0.54.1.linux-ppc64.tar.gz +1218fdbf90518dfba671fc11cf313dd5ff5765a85b047a025255954df3ee314a *go.d.plugin-v0.54.1.linux-ppc64le.tar.gz diff --git a/packaging/go.d.version b/packaging/go.d.version index ec9d0044f..505136179 100644 --- a/packaging/go.d.version +++ b/packaging/go.d.version @@ -1 +1 @@ -v0.54.0 +v0.54.1 diff --git a/packaging/installer/README.md b/packaging/installer/README.md index 9a9beb720..e241ccc59 100644 --- a/packaging/installer/README.md +++ b/packaging/installer/README.md @@ -38,12 +38,6 @@ but we have some hints on what you might want to do next. Explore our [general advanced installation options and troubleshooting](#advanced-installation-options-and-troubleshooting), specific options for the [single line installer](#install-on-linux-with-one-line-installer), or [other installation methods](#other-installation-methods). -#### Agent user interface - -To access the UI provided by the locally installed agent, open a browser and navigate to `http://NODE:19999`, replacing `NODE` with either `localhost` or -the hostname/IP address of the remote node. You can also read more about -[the agent dashboard](https://github.com/netdata/netdata/blob/master/web/gui/README.md). - #### Configuration Discover the recommended way to [configure Netdata's settings or behavior](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md) using our built-in @@ -94,7 +88,7 @@ To install, copy the script, paste it into your node's terminal, and hit `Enter` > If you plan to also claim the node to Netdata Cloud, make sure to replace `YOUR_CLAIM_TOKEN` with the claim token of your space, and `YOUR_ROOM_ID` with the ID of the room you are claiming to. > You can leave the room id blank to have your node claimed to the default "All nodes" room. -Jump down to [what's next](#whats-next) to learn how to view your new dashboard and take your next steps monitoring and +Jump up to [what's next](#whats-next) to learn how to view your new dashboard and take your next steps in monitoring and troubleshooting with Netdata. ## Other installation methods @@ -227,7 +221,7 @@ PowerTools, to gather hard dependencies. See the [CentOS 6](https://github.com/n #### Access to file is not permitted -If you see an error similar to `Access to file is not permitted: /usr/share/netdata/web//index.html` when you try to +If you see an error similar to `Access to file is not permitted: /usr/share/netdata/web/index.html` when you try to visit the Agent dashboard at `http://NODE:19999`, you need to update Netdata's permissions to match those of your system. @@ -244,7 +238,7 @@ These files need to have the same user and group used to install your netdata. S `netdata` and group `netdata`, in this scenario you will need to run the following command to fix the error: ```bash -# chown -R netdata.netdata /usr/share/netdata/web +# chown -R netdata:netdata /usr/share/netdata/web ``` #### Multiple versions of OpenSSL diff --git a/packaging/installer/UPDATE.md b/packaging/installer/UPDATE.md index 492f464e4..b1f779162 100644 --- a/packaging/installer/UPDATE.md +++ b/packaging/installer/UPDATE.md @@ -182,3 +182,6 @@ The following configuration options are currently supported: as a scheduled task. This random delay helps avoid issues resulting from too many nodes trying to reconnect to the Cloud at the same time. The default value is 3600, which corresponds to one hour. Most users should not ever need to change this. +- `NETDATA_NO_SYSTEMD_JOURNAL`: If set to a value other than 0, skip attempting to install the + `netdata-plugin-systemd-journal` package on supported systems on update. This optional package will be installed + by default on supported systems by the updater if this option is not set. Only affects systems using native packages. diff --git a/packaging/installer/dependencies/centos.sh b/packaging/installer/dependencies/centos.sh index 845f1113a..7d7c6cb40 100755 --- a/packaging/installer/dependencies/centos.sh +++ b/packaging/installer/dependencies/centos.sh @@ -5,30 +5,31 @@ set -e declare -a package_tree=( - gcc - gcc-c++ - make autoconf autoconf-archive automake + cmake + curl + elfutils-libelf-devel + gcc + gcc-c++ + git + gzip + json-c-devel libatomic + libmnl-devel libtool - pkgconfig - cmake - zlib-devel libuuid-devel - libmnl-devel - json-c-devel - libyaml-devel libuv-devel + libyaml-devel lz4-devel + make openssl-devel + pkgconfig python3 - elfutils-libelf-devel - git + systemd-devel tar - curl - gzip + zlib-devel ) os_version() { diff --git a/packaging/installer/dependencies/clearlinux.sh b/packaging/installer/dependencies/clearlinux.sh index f6f616d66..67d3ea24f 100755 --- a/packaging/installer/dependencies/clearlinux.sh +++ b/packaging/installer/dependencies/clearlinux.sh @@ -9,22 +9,23 @@ DONT_WAIT=0 declare -a package_tree=( c-basic - make - sysadmin-basic - devpkg-zlib - devpkg-util-linux - devpkg-libmnl + curl + devpkg-elfutils devpkg-json-c - yaml-dev + devpkg-libmnl devpkg-libuv devpkg-lz4 devpkg-openssl - devpkg-elfutils - git + devpkg-util-linux + devpkg-zlib findutils - curl + git gzip + make python3-basic + service-os-dev + sysadmin-basic + yaml-dev ) usage() { diff --git a/packaging/installer/dependencies/debian.sh b/packaging/installer/dependencies/debian.sh index 8186940e5..09a5d6338 100755 --- a/packaging/installer/dependencies/debian.sh +++ b/packaging/installer/dependencies/debian.sh @@ -8,32 +8,33 @@ NON_INTERACTIVE=0 DONT_WAIT=0 package_tree=" - git - gcc - g++ - make - automake - cmake autoconf autoconf-archive autogen - libatomic1 - libtool - pkg-config - tar + automake + cmake curl + g++ + gcc + git gzip - zlib1g-dev - uuid-dev - libmnl-dev + libatomic1 + libelf-dev libjson-c-dev - libuv1-dev liblz4-dev + libmnl-dev libssl-dev - libelf-dev + libsystemd-dev + libtool + libuv1-dev libyaml-dev + make + pkg-config python python3 + tar + uuid-dev + zlib1g-dev " usage() { diff --git a/packaging/installer/dependencies/fedora.sh b/packaging/installer/dependencies/fedora.sh index 589122882..a457ef2e2 100755 --- a/packaging/installer/dependencies/fedora.sh +++ b/packaging/installer/dependencies/fedora.sh @@ -24,32 +24,33 @@ else fi declare -a package_tree=( - findutils - gcc - gcc-c++ - make autoconf autoconf-archive autogen automake + cmake + curl + elfutils-libelf-devel + findutils + gcc + gcc-c++ + git + gzip + json-c-devel libatomic + libmnl-devel libtool - cmake - zlib-devel libuuid-devel - libmnl-devel - json-c-devel - libyaml-devel libuv-devel + libyaml-devel lz4-devel + make openssl-devel - elfutils-libelf-devel - git pkgconfig - tar - curl - gzip python3 + systemd-devel + tar + zlib-devel "${ulogd_pkg}" ) diff --git a/packaging/installer/dependencies/ol.sh b/packaging/installer/dependencies/ol.sh index 2166bcc50..f0d8341f1 100755 --- a/packaging/installer/dependencies/ol.sh +++ b/packaging/installer/dependencies/ol.sh @@ -8,31 +8,32 @@ NON_INTERACTIVE=0 DONT_WAIT=0 declare -a package_tree=( - gcc - gcc-c++ - make autoconf autoconf-archive autogen automake + cmake + curl + elfutils-libelf-devel + gcc + gcc-c++ + git + gzip + json-c-devel libatomic + libmnl-devel libtool - pkgconfig - cmake - tar - zlib-devel libuuid-devel - libmnl-devel - json-c-devel - libyaml-devel libuv-devel + libyaml-devel lz4-devel + make openssl-devel + pkgconfig python3 - elfutils-libelf-devel - git - curl - gzip + systemd-devel + tar + zlib-devel ) prompt() { diff --git a/packaging/installer/dependencies/opensuse.sh b/packaging/installer/dependencies/opensuse.sh index 81291ef72..3f14d58be 100755 --- a/packaging/installer/dependencies/opensuse.sh +++ b/packaging/installer/dependencies/opensuse.sh @@ -10,31 +10,32 @@ NON_INTERACTIVE=0 DONT_WAIT=0 declare -a package_tree=( - gcc - gcc-c++ - make autoconf autoconf-archive autogen automake - libatomic1 - libtool - pkg-config cmake - zlib-devel - libuuid-devel - libmnl-devel + curl + gcc + gcc-c++ + git + gzip + libatomic1 + libelf-devel libjson-c-devel - libyaml-devel - libuv-devel liblz4-devel + libmnl-devel libopenssl-devel - libelf-devel - git - tar - curl - gzip + libtool + libuuid-devel + libuv-devel + libyaml-devel + make + pkg-config python3 + systemd-devel + tar + zlib-devel ) usage() { diff --git a/packaging/installer/dependencies/rockylinux.sh b/packaging/installer/dependencies/rockylinux.sh index 7ac98f5e2..f90b997bb 100755 --- a/packaging/installer/dependencies/rockylinux.sh +++ b/packaging/installer/dependencies/rockylinux.sh @@ -8,31 +8,32 @@ NON_INTERACTIVE=0 DONT_WAIT=0 declare -a package_tree=( - gcc - gcc-c++ - make autoconf autoconf-archive autogen automake + cmake + curl + elfutils-libelf-devel + gcc + gcc-c++ + git + gzip + json-c-devel libatomic + libmnl-devel libtool - pkgconfig - cmake - zlib-devel libuuid-devel - libmnl-devel - json-c-devel - libyaml-devel libuv-devel + libyaml-devel lz4-devel + make openssl-devel + pkgconfig python3 - elfutils-libelf-devel - git + systemd-devel tar - curl - gzip + zlib-devel ) prompt() { diff --git a/packaging/installer/dependencies/ubuntu.sh b/packaging/installer/dependencies/ubuntu.sh index e3d734c68..a5dc2eae5 100755 --- a/packaging/installer/dependencies/ubuntu.sh +++ b/packaging/installer/dependencies/ubuntu.sh @@ -8,31 +8,32 @@ NON_INTERACTIVE=0 DONT_WAIT=0 package_tree=" - git - gcc - g++ - make - automake - cmake autoconf autoconf-archive autogen - libatomic1 - libtool - pkg-config - tar + automake + cmake curl + g++ + gcc + git gzip - zlib1g-dev - uuid-dev - libmnl-dev + libatomic1 + libelf-dev libjson-c-dev - libyaml-dev - libuv1-dev liblz4-dev + libmnl-dev libssl-dev - libelf-dev + libsystemd-dev + libtool + libuv1-dev + libyaml-dev + make + pkg-config python3 + tar + uuid-dev + zlib1g-dev " usage() { cat << EOF diff --git a/packaging/installer/install-required-packages.sh b/packaging/installer/install-required-packages.sh index a05d7440e..9eba38457 100755 --- a/packaging/installer/install-required-packages.sh +++ b/packaging/installer/install-required-packages.sh @@ -708,6 +708,19 @@ declare -A pkg_libatomic=( ['default']="libatomic" ) +declare -A pkg_libsystemd_dev=( + ['alpine']="NOTREQUIRED" + ['arch']="NOTREQUIRED" # inherently present on systems actually using systemd + ['clearlinux']="system-os-dev" + ['debian']="libsystemd-dev" + ['freebsd']="NOTREQUIRED" + ['gentoo']="NOTREQUIRED" # inherently present on systems actually using systemd + ['macos']="NOTREQUIRED" + ['sabayon']="NOTREQUIRED" # inherently present on systems actually using systemd + ['ubuntu']="libsystemd-dev" + ['default']="systemd-devel" +) + declare -A pkg_bridge_utils=( ['gentoo']="net-misc/bridge-utils" ['clearlinux']="network-basic" @@ -1247,6 +1260,7 @@ packages() { suitable_package libmnl-dev suitable_package json-c-dev suitable_package libyaml-dev + suitable_package libsystemd-dev fi # ------------------------------------------------------------------------- diff --git a/packaging/installer/kickstart.sh b/packaging/installer/kickstart.sh index 31930f9d4..2d793eafd 100755 --- a/packaging/installer/kickstart.sh +++ b/packaging/installer/kickstart.sh @@ -50,7 +50,7 @@ SELECTED_INSTALL_METHOD="none" INSTALL_TYPE="unknown" INSTALL_PREFIX="" NETDATA_AUTO_UPDATES="default" -NETDATA_CLAIM_URL="https://api.netdata.cloud" +NETDATA_CLAIM_URL="https://app.netdata.cloud" NETDATA_COMMAND="default" NETDATA_DISABLE_CLOUD=0 NETDATA_INSTALLER_OPTIONS="" @@ -257,14 +257,16 @@ telemetry_event() { TOTAL_RAM="$((TOTAL_RAM * 1024))" fi + MD5_PATH="$(exec <&- 2>&-; which md5sum || command -v md5sum || type md5sum)" + if [ "${KERNEL_NAME}" = Darwin ] && command -v ioreg >/dev/null 2>&1; then DISTINCT_ID="macos-$(ioreg -rd1 -c IOPlatformExpertDevice | awk '/IOPlatformUUID/ { split($0, line, "\""); printf("%s\n", line[4]); }')" - elif [ -f /etc/machine-id ]; then - DISTINCT_ID="machine-$(cat /etc/machine-id)" - elif [ -f /var/db/dbus/machine-id ]; then - DISTINCT_ID="dbus-$(cat /var/db/dbus/machine-id)" - elif [ -f /var/lib/dbus/machine-id ]; then - DISTINCT_ID="dbus-$(cat /var/lib/dbus/machine-id)" + elif [ -f /etc/machine-id ] && [ -n "$MD5_PATH" ]; then + DISTINCT_ID="machine-$($MD5_PATH < /etc/machine-id | cut -f1 -d" ")" + elif [ -f /var/db/dbus/machine-id ] && [ -n "$MD5_PATH" ]; then + DISTINCT_ID="dbus-$($MD5_PATH < /var/db/dbus/machine-id | cut -f1 -d" ")" + elif [ -f /var/lib/dbus/machine-id ] && [ -n "$MD5_PATH" ]; then + DISTINCT_ID="dbus-$($MD5_PATH < /var/lib/dbus/machine-id | cut -f1 -d" ")" elif command -v uuidgen > /dev/null 2>&1; then DISTINCT_ID="uuid-$(uuidgen | tr '[:upper:]' '[:lower:]')" else @@ -300,7 +302,8 @@ telemetry_event() { "system_kernel_name": "${KERNEL_NAME}", "system_kernel_version": "$(uname -r)", "system_architecture": "$(uname -m)", - "system_total_ram": "${TOTAL_RAM:-unknown}" + "system_total_ram": "${TOTAL_RAM:-unknown}", + "system_distinct_id": "${DISTINCT_ID}" } } EOF @@ -1330,7 +1333,7 @@ check_special_native_deps() { progress "EPEL is available, attempting to install so that required dependencies are available." # shellcheck disable=SC2086 - if ! run_as_root env ${env} ${pm_cmd} install ${pkg_install_opts} epel-release; then + if ! run_as_root env ${env} ${pm_cmd} ${install_subcmd} ${pkg_install_opts} epel-release; then warning "Failed to install EPEL, even though it is required to install native packages on this system." return 1 fi @@ -1350,12 +1353,16 @@ common_rpm_opts() { } common_dnf_opts() { + if [ "${INTERACTIVE}" = "0" ]; then + interactive_opts="-y" + fi if command -v dnf > /dev/null; then pm_cmd="dnf" repo_subcmd="makecache" else pm_cmd="yum" fi + install_subcmd="install" pkg_install_opts="${interactive_opts}" repo_update_opts="${interactive_opts}" uninstall_subcmd="remove" @@ -1390,16 +1397,18 @@ try_package_install() { release="" fi - if [ "${INTERACTIVE}" = "0" ]; then - interactive_opts="-y" - env="DEBIAN_FRONTEND=noninteractive" - else - interactive_opts="" - env="" - fi + interactive_opts="" + env="" case "${DISTRO_COMPAT_NAME}" in debian|ubuntu) + if [ "${INTERACTIVE}" = "0" ]; then + install_subcmd="-o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold install" + interactive_opts="-y" + env="DEBIAN_FRONTEND=noninteractive" + else + install_subcmd="install" + fi needs_early_refresh=1 pm_cmd="apt-get" repo_subcmd="update" @@ -1427,6 +1436,11 @@ try_package_install() { repo_prefix="${DISTRO_COMPAT_NAME}/${SYSVERSION}" ;; opensuse) + if [ "${INTERACTIVE}" = "0" ]; then + install_subcmd="--non-interactive --no-gpg-checks install" + else + install_subcmd="--no-gpg-checks install" + fi common_rpm_opts pm_cmd="zypper" repo_subcmd="--gpg-auto-import-keys refresh" @@ -1497,7 +1511,7 @@ try_package_install() { fi # shellcheck disable=SC2086 - if ! run_as_root env ${env} ${pm_cmd} install ${pkg_install_opts} "${tmpdir}/${repoconfig_file}"; then + if ! run_as_root env ${env} ${pm_cmd} ${install_subcmd} ${pkg_install_opts} "${tmpdir}/${repoconfig_file}"; then warning "Failed to install repository configuration package." return 2 fi @@ -1546,7 +1560,7 @@ try_package_install() { fi # shellcheck disable=SC2086 - if ! run_as_root env ${env} ${pm_cmd} install ${pkg_install_opts} "netdata${NATIVE_VERSION}"; then + if ! run_as_root env ${env} ${pm_cmd} ${install_subcmd} ${pkg_install_opts} "netdata${NATIVE_VERSION}"; then warning "Failed to install Netdata package." if [ -z "${NO_CLEANUP}" ]; then progress "Attempting to uninstall repository configuration package." @@ -1559,7 +1573,7 @@ try_package_install() { if [ -n "${explicitly_install_native_plugins}" ]; then progress "Installing external plugins." # shellcheck disable=SC2086 - if ! run_as_root env ${env} ${pm_cmd} install ${DEFAULT_PLUGIN_PACKAGES}; then + if ! run_as_root env ${env} ${pm_cmd} ${install_subcmd} ${DEFAULT_PLUGIN_PACKAGES}; then warning "Failed to install external plugin packages. Some collectors may not be available." fi fi diff --git a/packaging/installer/methods/kickstart.md b/packaging/installer/methods/kickstart.md index 374ac594a..bdead412e 100644 --- a/packaging/installer/methods/kickstart.md +++ b/packaging/installer/methods/kickstart.md @@ -98,13 +98,13 @@ The `kickstart.sh` script accepts a number of optional parameters to control how - `--claim-rooms`: Specify a comma-separated list of tokens for each War Room this node should appear in. - `--claim-proxy`: Specify a proxy to use when connecting to the cloud in the form of `http://[user:pass@]host:ip` for an HTTP(S) proxy. See [connecting through a proxy](https://github.com/netdata/netdata/blob/master/claim/README.md#connect-through-a-proxy) for details. -- `--claim-url`: Specify a URL to use when connecting to the cloud. Defaults to `https://api.netdata.cloud`. +- `--claim-url`: Specify a URL to use when connecting to the cloud. Defaults to `https://app.netdata.cloud`. - `--override-distro`: Override the distro detection logic and assume the system is using a specific Linux distribution and release. Takes a single argument consisting of the values of the `ID`, `VERSION_ID`, and `VERSION_CODENAME` fields from `/etc/os-release` for the desired distribution. The following options are mutually exclusive and specifiy special operations other than trying to install Netdata normally or update an existing install: - `--reinstall`: If there is an existing install, reinstall it instead of trying to update it. If there is not an existing install, install netdata normally. -- `--reinstall-even-if-unsafe`: If there is an existing install, reinstall it instead of trying to update it, even if doing so is known to potentially break things (for example, if we cannot detect what tyep of installation it is). If there is not an existing install, install Netdata normally. +- `--reinstall-even-if-unsafe`: If there is an existing install, reinstall it instead of trying to update it, even if doing so is known to potentially break things (for example, if we cannot detect what type of installation it is). If there is not an existing install, install Netdata normally. - `--reinstall-clean`: If there is an existing install, uninstall it before trying to install Netdata. Fails if there is no existing install. - `--uninstall`: Uninstall an existing installation of Netdata. Fails if there is no existing install. - `--claim-only`: If there is an existing install, only try to claim it without attempting to update it. If there is no existing install, install and claim Netdata normally. diff --git a/packaging/installer/methods/macos.md b/packaging/installer/methods/macos.md index b09632fa1..e7ff33ed7 100644 --- a/packaging/installer/methods/macos.md +++ b/packaging/installer/methods/macos.md @@ -45,11 +45,11 @@ area](https://github.com/netdata/netdata/blob/master/docs/cloud/manage/organize- - `--claim-rooms`: Specify a comma-separated list of tokens for each War Room this node should appear in. - `--claim-proxy`: Specify a proxy to use when connecting to the cloud in the form of `http://[user:pass@]host:ip` for an HTTP(S) proxy. See [connecting through a proxy](https://github.com/netdata/netdata/blob/master/claim/README.md#connect-through-a-proxy) for details. -- `--claim-url`: Specify a URL to use when connecting to the cloud. Defaults to `https://api.netdata.cloud`. +- `--claim-url`: Specify a URL to use when connecting to the cloud. Defaults to `https://app.netdata.cloud`. For example: ```bash -curl https://my-netdata.io/kickstart.sh > /tmp/netdata-kickstart.sh && sh /tmp/netdata-kickstart.sh --install-prefix /usr/local/ --claim-token TOKEN --claim-rooms ROOM1,ROOM2 --claim-url https://api.netdata.cloud +curl https://my-netdata.io/kickstart.sh > /tmp/netdata-kickstart.sh && sh /tmp/netdata-kickstart.sh --install-prefix /usr/local/ --claim-token TOKEN --claim-rooms ROOM1,ROOM2 --claim-url https://app.netdata.cloud ``` The Netdata Agent is installed under `/usr/local/netdata` on your machine. Your machine will also show up as a node in your Netdata Cloud. diff --git a/packaging/installer/netdata-updater.sh b/packaging/installer/netdata-updater.sh index 8e06923e4..811657c21 100755 --- a/packaging/installer/netdata-updater.sh +++ b/packaging/installer/netdata-updater.sh @@ -37,7 +37,9 @@ PACKAGES_SCRIPT="https://raw.githubusercontent.com/netdata/netdata/master/packag NETDATA_STABLE_BASE_URL="${NETDATA_BASE_URL:-https://github.com/netdata/netdata/releases}" NETDATA_NIGHTLY_BASE_URL="${NETDATA_BASE_URL:-https://github.com/netdata/netdata-nightlies/releases}" +# Following variables are intended to be overridden by the updater config file. NETDATA_UPDATER_JITTER=3600 +NETDATA_NO_SYSTEMD_JOURNAL=0 script_dir="$(CDPATH='' cd -- "$(dirname -- "$0")" && pwd -P)" @@ -744,42 +746,57 @@ update_binpkg() { esac fi - if [ "${INTERACTIVE}" = "0" ]; then - interactive_opts="-y" - env="DEBIAN_FRONTEND=noninteractive" - else - interactive_opts="" - env="" - fi + interactive_opts="" + env="" case "${DISTRO_COMPAT_NAME}" in debian|ubuntu) + if [ "${INTERACTIVE}" = "0" ]; then + upgrade_subcmd="-o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold --only-upgrade install" + interactive_opts="-y" + env="DEBIAN_FRONTEND=noninteractive" + else + upgrade_subcmd="--only-upgrade install" + fi pm_cmd="apt-get" repo_subcmd="update" - upgrade_cmd="--only-upgrade install" + install_subcmd="install" + mark_auto_cmd="apt-mark auto" pkg_install_opts="${interactive_opts}" repo_update_opts="${interactive_opts}" - pkg_installed_check="dpkg -s" + pkg_installed_check="dpkg-query -s" INSTALL_TYPE="binpkg-deb" ;; centos|fedora|ol|amzn) + if [ "${INTERACTIVE}" = "0" ]; then + interactive_opts="-y" + fi if command -v dnf > /dev/null; then pm_cmd="dnf" repo_subcmd="makecache" + mark_auto_cmd="dnf mark remove" else pm_cmd="yum" + mark_auto_cmd="yumdb set reason dep" fi - upgrade_cmd="upgrade" + upgrade_subcmd="upgrade" + install_subcmd="install" pkg_install_opts="${interactive_opts}" repo_update_opts="${interactive_opts}" pkg_installed_check="rpm -q" INSTALL_TYPE="binpkg-rpm" ;; opensuse) + if [ "${INTERACTIVE}" = "0" ]; then + upgrade_subcmd="--non-interactive update" + else + upgrade_subcmd="update" + fi pm_cmd="zypper" repo_subcmd="--gpg-auto-import-keys refresh" - upgrade_cmd="update" - pkg_install_opts="${interactive_opts}" + install_subcmd="install" + mark_auto_cmd="" + pkg_install_opts="" repo_update_opts="" pkg_installed_check="rpm -q" INSTALL_TYPE="binpkg-rpm" @@ -798,7 +815,7 @@ update_binpkg() { for repopkg in netdata-repo netdata-repo-edge; do if ${pkg_installed_check} ${repopkg} > /dev/null 2>&1; then # shellcheck disable=SC2086 - env ${env} ${pm_cmd} ${upgrade_cmd} ${pkg_install_opts} ${repopkg} >&3 2>&3 || fatal "Failed to update Netdata repository config." U000D + env ${env} ${pm_cmd} ${upgrade_subcmd} ${pkg_install_opts} ${repopkg} >&3 2>&3 || fatal "Failed to update Netdata repository config." U000D # shellcheck disable=SC2086 if [ -n "${repo_subcmd}" ]; then env ${env} ${pm_cmd} ${repo_subcmd} ${repo_update_opts} >&3 2>&3 || fatal "Failed to update repository metadata." U000E @@ -807,7 +824,21 @@ update_binpkg() { done # shellcheck disable=SC2086 - env ${env} ${pm_cmd} ${upgrade_cmd} ${pkg_install_opts} netdata >&3 2>&3 || fatal "Failed to update Netdata package." U000F + env ${env} ${pm_cmd} ${upgrade_subcmd} ${pkg_install_opts} netdata >&3 2>&3 || fatal "Failed to update Netdata package." U000F + + if ${pkg_installed_check} systemd > /dev/null 2>&1; then + if [ "${NETDATA_NO_SYSTEMD_JOURNAL}" -eq 0 ]; then + if ! ${pkg_installed_check} netdata-plugin-systemd-journal > /dev/null 2>&1; then + env ${env} ${pm_cmd} ${install_subcmd} ${pkg_install_opts} netdata-plugin-systemd-journal >&3 2>&3 + + if [ -n "${mark_auto_cmd}" ]; then + # shellcheck disable=SC2086 + env ${env} ${mark_auto_cmd} netdata-plugin-systemd-journal >&3 2>&3 + fi + fi + fi + fi + [ -n "${logfile}" ] && rm "${logfile}" && logfile= return 0 } diff --git a/packaging/makeself/jobs/99-makeself.install.sh b/packaging/makeself/jobs/99-makeself.install.sh index aa1acd100..2695e8eb4 100755 --- a/packaging/makeself/jobs/99-makeself.install.sh +++ b/packaging/makeself/jobs/99-makeself.install.sh @@ -47,6 +47,12 @@ EOF run chmod 755 "${NETDATA_INSTALL_PATH}/bin/netdata" # ----------------------------------------------------------------------------- +# the claiming script must be in the same directory as the netdata binary for web-based claiming to work + +run ln -s "${NETDATA_INSTALL_PATH}/bin/netdata-claim.sh" \ + "${NETDATA_INSTALL_PATH}/bin/srv/netdata-claim.sh" || exit 1 + +# ----------------------------------------------------------------------------- # copy the SSL/TLS configuration and certificates from the build system run cp -a /etc/ssl "${NETDATA_INSTALL_PATH}/share/ssl" diff --git a/packaging/version b/packaging/version index 067a092d5..51e6dd783 100644 --- a/packaging/version +++ b/packaging/version @@ -1 +1 @@ -v1.41.0 +v1.42.0 |