diff options
Diffstat (limited to 'packaging')
25 files changed, 261 insertions, 191 deletions
diff --git a/packaging/PLATFORM_SUPPORT.md b/packaging/PLATFORM_SUPPORT.md index 62a6a405..ae3edf72 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 ed77c394..eede14e3 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 4d4f585d..6ee06dd1 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 79127d85..6a5e98a7 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 739cc2f3..e79daee9 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 79127d85..6a5e98a7 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 068d4697..2ecf9853 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 ec9d0044..50513617 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 9a9beb72..e241ccc5 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 492f464e..b1f77916 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 845f1113..7d7c6cb4 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 f6f616d6..67d3ea24 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 8186940e..09a5d633 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 58912288..a457ef2e 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 2166bcc5..f0d8341f 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 81291ef7..3f14d58b 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 7ac98f5e..f90b997b 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 e3d734c6..a5dc2eae 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 a05d7440..9eba3845 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 31930f9d..2d793eaf 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 374ac594..bdead412 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 b09632fa..e7ff33ed 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 8e06923e..811657c2 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 aa1acd10..2695e8eb 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 067a092d..51e6dd78 100644 --- a/packaging/version +++ b/packaging/version @@ -1 +1 @@ -v1.41.0 +v1.42.0 |