0
0
Fork 0
mirror of https://github.com/netdata/netdata.git synced 2025-04-02 20:48:06 +00:00

Initial release of new kickstart script. ()

* Replace existing kickstart scripts with kickstart-ng.

This change looks more complicated than it actually is due to git not
sanely recognizing the rename.

* Fix CI for new kickstart script.

* Initial revision of install documentation.

* Further documentation updates.

* Even more documentation updates.

* Fix telemetry event handling if neither curl nor wget are installed.

* Remove dependence on `pgrep` for claiming.

* Fix fatal error message handling.

* Formally outline our support policy.

* Updates to platform support doc.

* Platform support doc updates.

* Minor documentation updates.

* Remove accidentally commited file from rebase process.

* Apply suggestions from code review, part 1.

Co-authored-by: Tina Luedtke <kickoke@users.noreply.github.com>

* Made one-line installer consistent.

* Apply suggestions from code review, part 2.

* Update architecture list for static builds.

* Restructure platform support doc so that things are clearer.

Especially for cases of linking directly to the section on a specific
support category.

* Apply suggestions from code review, part 3.

Co-authored-by: Tina Luedtke <kickoke@users.noreply.github.com>

* Apply suggestions from code review, part 4

Co-authored-by: Tina Luedtke <kickoke@users.noreply.github.com>

* Further updates to platform support document.

* Further documentation updates.

* Rework update documentation.

Co-authored-by: Tina Luedtke <kickoke@users.noreply.github.com>
This commit is contained in:
Austin S. Hemmelgarn 2022-01-18 08:30:21 -05:00 committed by GitHub
parent dbab740e52
commit 486ee8a1a3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 1460 additions and 2862 deletions

View file

@ -1,7 +1,7 @@
#!/bin/sh
echo ">>> Installing Netdata..."
/netdata/packaging/installer/kickstart.sh --dont-wait --disable-telemetry || exit 1
/netdata/packaging/installer/kickstart.sh --dont-wait --build-only --disable-telemetry || exit 1
echo ">>> Updating Netdata..."
export NETDATA_NIGHTLIES_BASEURL="http://localhost:8080/artifacts/" # Pull the tarball from the local web server.
/netdata/packaging/installer/netdata-updater.sh --not-running-from-cron --no-updater-self-update || exit 1

View file

@ -386,7 +386,7 @@ jobs:
- name: Verify that artifacts work with installer
env:
NETDATA_TARBALL_BASEURL: http://localhost:8080/artifacts
run: packaging/installer/kickstart.sh --dont-start-it --disable-telemetry --dont-wait
run: packaging/installer/kickstart.sh --build-only --dont-start-it --disable-telemetry --dont-wait
- name: Failure Notification
uses: rtCamp/action-slack-notify@v2
env:
@ -427,7 +427,7 @@ jobs:
- name: Verify that artifacts work with installer
env:
NETDATA_TARBALL_BASEURL: http://localhost:8080/artifacts
run: packaging/installer/kickstart-static64.sh --dont-start-it --disable-telemetry --dont-wait
run: packaging/installer/kickstart.sh --static-only --dont-start-it --disable-telemetry
- name: Failure Notification
uses: rtCamp/action-slack-notify@v2
env:

View file

@ -1,258 +0,0 @@
<!--
title: "Netdata distribution support matrix"
custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/DISTRIBUTIONS.md
-->
# Netdata distribution support matrix
![](https://raw.githubusercontent.com/netdata/netdata/master/web/gui/images/packaging-beta-tag.svg?sanitize=true)
In the following table we've listed Netdata's official supported operating systems. We detail the distributions, flavors, and the level of support Netdata is currently capable to provide.
The following table is a work in progress. We have concluded on the list of distributions
that we currently supporting and we are working on documenting our current state so that our users
have complete visibility over the range of support.
**Legend**:
- **Version**: Operating system version supported
- **Family**: The family that the OS belongs to
- **CI: Smoke Testing**: Smoke testing has been implemented on our CI, to prevent broken code reaching our users
- **CI: Testing**: Testing has been implemented to prevent broken or problematic code reaching our users
- **CD**: Continuous deployment support has been fully enabled for this operating system
- **.DEB**: We provide a `.DEB` package for that particular operating system
- **.RPM**: We provide a `.RPM` package for that particular operating system
- **Installer**: Running netdata from source, using our installer, is working for this operating system
- **Kickstart**: Kickstart installation is working fine for this operating system
- **Kickstart64**: Kickstart static64 installation is working fine for this operating system
- **Community**: This operating system receives community support, such as packaging maintainers, contributors, and so on
## AMD64 Architecture
| Version | Family | CI: Smoke testing | CI: Testing | CD | .DEB | .RPM | Installer | Kickstart | Kickstart64 | Community |
|:---------------------------:|:--------:|:-----------------:|:-----------:|:--------:|:--------:|:--------:|:---------:|:---------:|:-----------:|:---------:|
| 14.04.6 LTS (Trusty Tahr) | Ubuntu | &#10007; | &#63; | &#10007; | &#10007; | N/A | &#10004; | &#10004; | &#10004; | &#63; |
| 16.04.6 LTS (Xenial Xerus) | Ubuntu | &#10004; | &#63; | &#10004; | &#10004; | N/A | &#10004; | &#10004; | &#10004; | &#63; |
| 18.04.2 LTS (Bionic Beaver) | Ubuntu | &#10004; | &#63; | &#10004; | &#10004; | N/A | &#10004; | &#10004; | &#10004; | &#63; |
| 19.10 (Eoan Ermine) Latest | Ubuntu | &#10004; | &#63; | &#10004; | &#10004; | N/A | &#10004; | &#10004; | &#10004; | &#63; |
| Debian 8 (Jessie) | Debian | &#10004; | &#63; | &#10004; | &#10004; | N/A | &#10004; | &#10004; | &#10004; | &#63; |
| Debian 9 (Stretch) | Debian | &#10004; | &#63; | &#10004; | &#10004; | N/A | &#10004; | &#10004; | &#10004; | &#63; |
| Debian 10 (Buster) | Debian | &#10004; | &#63; | &#10004; | &#10004; | N/A | &#10004; | &#10004; | &#10004; | &#63; |
| Versions 6.x | RHEL | &#10007; | &#63; | &#10007; | N/A | &#10004; | &#10004; | &#10004; | &#10004; | &#63; |
| Versions 7.x | RHEL | &#10004; | &#63; | &#10004; | N/A | &#10004; | &#10004; | &#10004; | &#10004; | &#63; |
| Versions 8.x | RHEL | &#63; | &#63; | &#63; | N/A | &#10007; | &#63; | &#63; | &#10004; | &#63; |
| Fedora 30 | Fedora | &#10004; | &#63; | &#10004; | N/A | &#10004; | &#10004; | &#10004; | &#10004; | &#63; |
| Fedora 31 | Fedora | &#10004; | &#63; | &#10004; | N/A | &#10004; | &#10004; | &#10004; | &#10004; | &#63; |
| CentOS 6.x | Cent OS | &#10007; | &#63; | &#10007; | N/A | &#10007; | &#10004; | &#10004; | &#10004; | &#63; |
| CentOS 7.x | Cent OS | &#10004; | &#63; | &#10004; | N/A | &#10004; | &#10004; | &#10004; | &#10004; | &#63; |
| CentOS 8.x | Cent OS | &#63; | &#63; | &#63; | N/A | &#10007; | &#63; | &#63; | &#10004; | &#63; |
| openSUSE Leap 15.1 | openSUSE | &#10004; | &#63; | &#10004; | N/A | &#10004; | &#10004; | &#10004; | &#10004; | &#63; |
| openSUSE Tumbleweed | openSUSE | &#10004; | &#63; | &#63; | N/A | &#10007; | &#10004; | &#63; | &#10004; | &#63; |
| SLES 11 | SLES | &#63; | &#63; | &#63; | N/A | &#10007; | &#63; | &#63; | &#10004; | &#63; |
| SLES 12 | SLES | &#63; | &#63; | &#63; | N/A | &#10007; | &#63; | &#63; | &#10004; | &#63; |
| SLES 15 | SLES | &#63; | &#63; | &#63; | N/A | &#10007; | &#63; | &#63; | &#10004; | &#63; |
| Alpine | Alpine | &#10004; | &#63; | &#10007; | N/A | N/A | &#10004; | &#10004; | &#10004; | &#63; |
| Arch Linux (latest) | Arch | &#10004; | &#63; | &#10007; | N/A | &#10007; | &#10004; | &#10004; | &#10004; | &#63; |
| Gentoo Linux (latest) | Gentoo | &#63; | &#63; | &#10007; | N/A | N/A | &#10004; | &#10004; | &#10004; | &#10004; |
| All other linux | Other | &#10007; | &#63; | &#63; | &#10007; | &#10007; | &#63; | &#63; | &#10004; | &#63; |
## x86 Architecture
| Version | Family | CI: Smoke testing | CI: Testing | CD | .DEB | .RPM | Installer | Kickstart | Kickstart64 | Community |
|:---------------------------:|:--------:|:-----------------:|:-----------:|:--------:|:--------:|:--------:|:---------:|:---------:|:-----------:|:---------:|
| 14.04.6 LTS (Trusty Tahr) | Ubuntu | &#10007; | &#63; | &#10007; | &#10007; | N/A | &#10004; | &#10004; | &#10007; | &#63; |
| 16.04.6 LTS (Xenial Xerus) | Ubuntu | &#10007; | &#63; | &#10004; | &#10004; | N/A | &#10004; | &#10004; | &#10007; | &#63; |
| 18.04.2 LTS (Bionic Beaver) | Ubuntu | &#10007; | &#63; | &#10004; | &#10004; | N/A | &#10004; | &#10004; | &#10007; | &#63; |
| 19.10 (Enoan Ermine) Latest | Ubuntu | &#10007; | &#63; | &#10004; | &#10004; | N/A | &#10004; | &#10007; | &#10004; | &#63; |
| Debian 8 (Jessie) | Debian | &#10007; | &#63; | &#10004; | &#10004; | N/A | &#10004; | &#10004; | &#10007; | &#63; |
| Debian 9 (Stretch) | Debian | &#10007; | &#63; | &#10004; | &#10004; | N/A | &#10004; | &#10004; | &#10007; | &#63; |
| Debian 10 (Buster) | Debian | &#10007; | &#63; | &#10004; | &#10004; | N/A | &#10004; | &#10004; | &#10007; | &#63; |
| Versions 6.x | RHEL | &#10007; | &#63; | &#10007; | N/A | &#10004; | &#10004; | &#10004; | &#10007; | &#63; |
| Versions 7.x | RHEL | &#10007; | &#63; | &#10004; | N/A | &#10007; | &#10004; | &#10004; | &#10007; | &#63; |
| Versions 8.x | RHEL | &#63; | &#63; | &#63; | N/A | &#10007; | &#63; | &#63; | &#10004; | &#63; |
| Fedora 30 | Fedora | &#10007; | &#63; | &#10004; | N/A | &#10007; | &#10004; | &#10004; | &#10007; | &#63; |
| Fedora 31 | Fedora | &#10007; | &#63; | &#10007; | N/A | &#10007; | &#10007; | &#10007; | &#10007; | &#63; |
| CentOS 6.x | Cent OS | &#10007; | &#63; | &#10007; | N/A | &#10007; | &#10004; | &#10004; | &#10007; | &#63; |
| CentOS 7.x | Cent OS | &#10007; | &#63; | &#10004; | N/A | &#10007; | &#10004; | &#10004; | &#10007; | &#63; |
| CentOS 8.x | Cent OS | &#63; | &#63; | &#63; | N/A | &#10007; | &#63; | &#63; | &#10004; | &#63; |
| openSUSE Leap 15.1 | openSUSE | &#10007; | &#63; | &#10004; | N/A | &#10007; | &#10004; | &#10004; | &#10007; | &#63; |
| openSUSE Tumbleweed | openSUSE | &#10007; | &#63; | &#63; | N/A | &#10007; | &#10004; | &#63; | &#10007; | &#63; |
| SLES 11 | SLES | &#63; | &#63; | &#63; | N/A | &#10007; | &#63; | &#63; | &#10007; | &#63; |
| SLES 12 | SLES | &#63; | &#63; | &#63; | N/A | &#10007; | &#63; | &#63; | &#10007; | &#63; |
| SLES 15 | SLES | &#63; | &#63; | &#63; | N/A | &#10007; | &#63; | &#63; | &#10007; | &#63; |
| Alpine | Alpine | &#10007; | &#63; | &#10007; | N/A | N/A | &#10004; | &#10004; | &#10007; | &#63; |
| Arch Linux (latest) | Arch | &#10007; | &#63; | &#10007; | N/A | &#10007; | &#10004; | &#10004; | &#10007; | &#63; |
| Gentoo Linux (latest) | Gentoo | &#63; | &#63; | &#10007; | N/A | N/A | &#10004; | &#10004; | &#10004; | &#10004; |
| All other linux | Other | &#10007; | &#63; | &#63; | &#10007; | &#10007; | &#63; | &#63; | &#10007; | &#63; |
## Supported functionalities across different distribution channels
On the following section we try to depict what functionalities are available, across the different distribution channels.
There are various limitations and problems we try to attend as we evolve and grow. Through this report we want to provide some clarity as to what is available and in what way. Of course we strive to deliver our full solution through all channels, but that may not be feasible yet for some cases.
**Legend**:
- **Auto-detect**: Depends on the programs package dependencies. If the required dependencies are covered during compile time, capability is enabled
- **YES**: This flag implies that the functionality is available for that distribution channel
- **NO**: Not available at the moment for that distribution channel at this time, but may be a work-in-progress effort from the Netdata team.
- **At Runtime**: The given module or functionality is available and only requires configuration after install to enable it
### Core functionality
#### Core
This is the base netdata capability, that includes basic monitoring, embedded web server, and so on.
|make/make install|netdata-installer.sh|kickstart.sh|kickstart-static64.sh|Docker image|RPM packaging|DEB packaging|
|:---------------:|:------------------:|:----------:|:-------------------:|:----------:|:-----------:|:-----------:|
|YES|YES|YES|YES|YES|YES|YES|
- **Flags/instructions to enable**: None
- **Flags to disable from source**: None
- **What packages required for auto-detect?**: `install-required-packages.sh netdata`
#### DB Engine
This is the brand new database engine capability of netdata. It is a mandatory facility required by netdata. Given it's special needs and dependencies though, it remains an optional facility so that users can enjoy netdata even when they cannot cover the dependencies or the H/W requirements.
|make/make install|netdata-installer.sh|kickstart.sh|kickstart-static64.sh|Docker image|RPM packaging|DEB packaging|
|:---------------:|:------------------:|:----------:|:-------------------:|:----------:|:-----------:|:-----------:|
|Auto-detect|Auto-detect|YES|YES|YES|YES|YES|
- **Flags/instructions to enable**: None
- **Flags to disable from source**: `--disable-dbengine`
- **What packages required for auto-detect?**: `openssl`, `libuv1`, `lz4`, `Judy`
#### Encryption Support (HTTPS)
This is Netdata's TLS capability that incorporates encryption on the web server and the APIs between parent and child
nodes. Also a mandatory facility for Netdata, but remains optional for users who are limited or not interested in tight
security
|make/make install|netdata-installer.sh|kickstart.sh|kickstart-static64.sh|Docker image|RPM packaging|DEB packaging|
|:---------------:|:------------------:|:----------:|:-------------------:|:----------:|:-----------:|:-----------:|
|Auto-detect|Auto-detect|YES|YES|YES|YES|YES|
- **Flags/instructions to enable**: None
- **Flags to disable from source**: --disable-https
- **What packages required for auto-detect?**: `openssl`
### Libraries/optimizations
#### JSON-C Support
|make/make install|netdata-installer.sh|kickstart.sh|kickstart-static64.sh|Docker image|RPM packaging|DEB packaging|
|:---------------:|:------------------:|:----------:|:-------------------:|:----------:|:-----------:|:-----------:|
|Auto-detect|Auto-detect|Auto-detect|Auto-detect|NO|YES|YES|
- **Flags/instructions to enable**: None
- **Flags to disable from source**: --disable-jsonc
- **What packages required for auto-detect?**: `json-c`
#### Link time optimizations
|make/make install|netdata-installer.sh|kickstart.sh|kickstart-static64.sh|Docker image|RPM packaging|DEB packaging|
|:---------------:|:------------------:|:----------:|:-------------------:|:----------:|:-----------:|:-----------:|
|Auto-detect|Auto-detect|Auto-detect|Auto-detect|Auto-detect|Auto-detect|Auto-detect|
- **Flags/instructions to enable**: None
- **Flags to disable from source**: --disable-lto
- **What packages required for auto-detect?**: No package dependency, depends on GCC version
### External plugins, built with netdata build tools
#### FREEIPMI
|make/make install|netdata-installer.sh|kickstart.sh|kickstart-static64.sh|Docker image|RPM packaging|DEB packaging|
|:---------------:|:------------------:|:----------:|:-------------------:|:----------:|:-----------:|:-----------:|
|Auto-detect|Auto-detect|Auto-detect|Auto-detect|YES|YES|YES|
- **Flags/instructions to enable**: None
- **Flags to disable from source**: --disable-plugin-freeipmi
- **What packages required for auto-detect?**: `freeipmi-dev (or -devel)`
#### NFACCT
|make/make install|netdata-installer.sh|kickstart.sh|kickstart-static64.sh|Docker image|RPM packaging|DEB packaging|
|:---------------:|:------------------:|:----------:|:-------------------:|:----------:|:-----------:|:-----------:|
|Auto-detect|Auto-detect|Auto-detect|Auto-detect|NO|YES|YES|
- **Flags/instructions to enable**: None
- **Flags to disable from source**: --disable-plugin-nfacct
- **What packages required for auto-detect?**: `libmnl-dev`, `libnetfilter_acct-dev`
#### Xenstat
|make/make install|netdata-installer.sh|kickstart.sh|kickstart-static64.sh|Docker image|RPM packaging|DEB packaging|
|:---------------:|:------------------:|:----------:|:-------------------:|:----------:|:-----------:|:-----------:|
|Auto-detect|Auto-detect|Auto-detect|Auto-detect|NO|NO|NO|
- **Flags/instructions to enable**: None
- **Flags to disable from source**: --disable-plugin-xenstat
- **What packages required for auto-detect?**: `xen-dom0-libs-devel or xen-devel`, `yajl-dev or yajl-devel`
Note: for cent-OS based systems you will need `centos-release-xen` repository to get xen-devel
#### CUPS
|make/make install|netdata-installer.sh|kickstart.sh|kickstart-static64.sh|Docker image|RPM packaging|DEB packaging|
|:---------------:|:------------------:|:----------:|:-------------------:|:----------:|:-----------:|:-----------:|
|Auto-detect|Auto-detect|Auto-detect|Auto-detect|NO|YES|YES|
- **Flags/instructions to enable**: None
- **Flags to disable from source**: --disable-plugin-cups
- **What packages required for auto-detect?**: `cups-devel >= 1.7`
#### FPING
|make/make install|netdata-installer.sh|kickstart.sh|kickstart-static64.sh|Docker image|RPM packaging|DEB packaging|
|:---------------:|:------------------:|:----------:|:-------------------:|:----------:|:-----------:|:-----------:|
|At Runtime|At Runtime|At Runtime|At Runtime|At Runtime|At Runtime|At Runtime|
- **Flags/instructions to enable**: ${INSTALL_PATH}/netdata/plugins.d/fping.plugin install
- **Flags to disable from source**: None -- just dont install
- **What packages required for auto-detect?**: None - only fping installed to start it up
#### IOPING
|make/make install|netdata-installer.sh|kickstart.sh|kickstart-static64.sh|Docker image|RPM packaging|DEB packaging|
|:---------------:|:------------------:|:----------:|:-------------------:|:----------:|:-----------:|:-----------:|
|At Runtime|At Runtime|At Runtime|At Runtime|At Runtime|At Runtime|At Runtime|
- **Flags/instructions to enable**: ${INSTALL_PATH}/netdata/plugins.d/ioping.plugin install
- **Flags to disable from source**: None -- just dont install
- **What packages required for auto-detect?**: None - only ioping installed to start it up
#### PERF
|make/make install|netdata-installer.sh|kickstart.sh|kickstart-static64.sh|Docker image|RPM packaging|DEB packaging|
|:---------------:|:------------------:|:----------:|:-------------------:|:----------:|:-----------:|:-----------:|
|At Runtime|At Runtime|At Runtime|At Runtime|At Runtime|At Runtime|At Runtime|
- **Flags/instructions to enable**: Inside netdata.conf, section `[Plugins]`, set `"perf = yes"`
- **Flags to disable from source**: --disable-perf
- **What packages required for auto-detect?**: None
### Backends
#### Prometheus remote write
|make/make install|netdata-installer.sh|kickstart.sh|kickstart-static64.sh|Docker image|RPM packaging|DEB packaging|
|:---------------:|:------------------:|:----------:|:-------------------:|:----------:|:-----------:|:-----------:|
|Auto-detect|Auto-detect|Auto-detect|Auto-detect|NO|YES|YES|
- **Flags/instructions to enable**: None
- **Flags to disable from source**: --disable-backend-prometheus-remote-write
- **What packages required for auto-detect?**: `snappy-devel`, `protobuf`, `protobuf-compiler`
#### AWS Kinesis
|make/make install|netdata-installer.sh|kickstart.sh|kickstart-static64.sh|Docker image|RPM packaging|DEB packaging|
|:---------------:|:------------------:|:----------:|:-------------------:|:----------:|:-----------:|:-----------:|
|Auto-detect|Auto-detect|Auto-detect|Auto-detect|NO|NO|NO|
- **Flags/instructions to enable**: [Instructions for AWS
Kinesis](https://learn.netdata.cloud/docs/agent/backends/aws_kinesis)
- **Flags to disable from source**: --disable-backend-kinesis
- **What packages required for auto-detect?**: `AWS SDK for C++`, `libcurl`, `libssl`, `libcrypto`
[![analytics](https://www.google-analytics.com/collect?v=1&aip=1&t=pageview&_s=1&ds=github&dr=https%3A%2F%2Fgithub.com%2Fnetdata%2Fnetdata&dl=https%3A%2F%2Fmy-netdata.io%2Fgithub%2Fdocs%2Fpackaging%2FDISTRIBUTIONS&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)](<>)

View file

@ -0,0 +1,175 @@
<!--
title: "Netdata platform support policy"
custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/PLATFORM_SUPPORT.md
-->
# Netdata platform support policy
Netdata defines three tiers of official support:
- [Core](#core)
- [Intermediate](#intermediate)
- [Community](#community)
Each tier defines different guarantees for platforms in that tier, described below in the section about that tier.
Additionally, we define two categories for special cases that we do not support:
- [Third-party supported platforms](#third-party-supported-platforms)
- [Previously supported platforms](#previously-supported-platforms)
These two categories are explained further below.
Any platforms not listed in any of these categories may or may not work.
The following table shows a general outline of the various support tiers and categories.
| | Bug Support | Guaranteed Configurations | CI Coverage | Native Packages | Static Build Support |
| - | ----------- | ------------------------- | ----------- | --------------- | -------------------- |
| Core | High priority | Everything but rare edge cases | Full | Yes, if we can provide them | Full |
| Intermediate | Normal priority | Common cases | Partial (CI mostly equivalent to **Core**, but possibly with some gaps, and not required to pass) | Possibly | Full |
| Community | Best Effort | Default only | None | No | Best Effort |
| Third-party Supported | Users directed to platform maintainers | None | None | No | Best Effort |
| Previously Supported | Users asked to upgrade | None | None | Yes, but only already published versions | Best Effort |
- Bug Support: How we handle of platform-specific bugs.
- Guaranteed Configurations: Which runtime configurations for the agent we try to guarantee will work with minimal effort from users.
- CI Coverage: What level of coverage we provide for the platform in CI.
- Native Packages: Whether we provide native packages for the system package manager for the platform.
- Static Build Support: How well our static builds are expected to work on the platform.
## Currently supported platforms
### Core
Platforms in the core support tier are our top priority. They are covered rigorously in our CI, usually
include official binary packages, and any platform-specific bugs receive a high priority. From the perspective
of our developers, platforms in the core support tier _must_ work, with almost no exceptions. Our [static
builds](#static-builds) are expected to work on these platforms if available. Source-based installs are expected
to work on these platforms with minimal user effort.
| Platform | Version | Official Native Packages | Notes |
| -------- | ------- | ------------------------ | ----- |
| Alpine Linux | 3.15 | No | The latest release of Alpine Linux is guaranteed to remain at **Core** tier due to usage for our Docker images |
| CentOS | 7.x | x86\_64 | |
| CentOS | 8.x | x86\_64, AArch64 | Includes Rocky Linux 8.x support, which will be our primary platform long-term for RHEL compatiblitiy |
| Docker | 19.03 or newer | x86\_64, i386, ARMv7, AArch64, POWER8+ | See our [Docker documentation](/packaging/docker/README.md) for more info on using Netdata on Docker |
| Debian | 11.x | x86\_64, i386, ARMv7, AArch64 | |
| Debian | 10.x | x86\_64, i386, ARMv7, AArch64 | |
| Debian | 9.x | x86\_64, i386, ARMv7, AArch64 | |
| Fedora | 35 | x86\_64, ARMv7, AArch64 | |
| Fedora | 34 | x86\_64, ARMv7, AArch64 | |
| openSUSE | Leap 15.3 | x86\_64, AArch64 | |
| Oracle Linux | 8.x | x86\_64, AArch64 | |
| Red Hat Enterprise Linux | 7.x | x86\_64 | |
| Red Hat Enterprise Linux | 8.x | x86\_64, AArch64 | |
| Ubuntu | 21.10 | x86\_64, i386, ARMv7, AArch64 | |
| Ubuntu | 20.04 | x86\_64, i386, ARMv7, AArch64 | |
| Ubuntu | 18.04 | x86\_64, i386, ARMv7, AArch64 | |
### Intermediate
Platforms in the intermediate support tier are those which Netdata wants to support, but cannot justify core level
support for. They are also covered in CI, but not as rigorously as the core tier. They may or may not include
official binary packages, and any platform-specific bugs receive a normal priority. Generally, we will add new
platforms that we officially support ourselves to the intermediate tier. Our [static builds](#static-builds) are
expected to work on these platforms if available. Source-based installs are expected to work on these platforms
with minimal user effort.
| Platform | Version | Official Native Packages | Notes |
| -------- | ------- | ------------------------ | ----- |
| Alpine Linux | 3.14 | No | |
| Alpine Linux | 3.13 | No | |
| Alpine Linux | 3.12 | No | |
| 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 |
### Community
Platforms in the community support tier are those which are primarily supported by community contributors. They may
receive some support from Netdata, but are only a best-effort affair. When a community member makes a contribution
to add support for a new platform, that platform generally will start in this tier. Our [static builds](#static-builds)
are expected to work on these platforms if available. Source-based installs are usually expected to work on these
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 | 12 | No | Planned for **Core** tier support. Currently only works for Intel-based hardware. Requires Homebrew for dependencies |
| macOS | 11 | No | Planned for **Core** tier support. Currently only works for Intel-based hardware. Requires Homebrew for dependencies. |
| macOS | 10.15 | No | Planned for **Core** tier support. Requires Homebrew for dependencies. |
| openSUSE | Tumbleweed | No | |
## Third-party supported platforms
Some platform maintainers actively support Netdata on their platforms even though we do not provide official
support. Third-party supported platforms may work, but the experience of using Netdata on such platforms is not
something we can guarantee. When you use an externally supported platform and report a bug, we will either ask
you to reproduce the issue on a supported platform or submit a support request directly to the platform maintainers.
Currently, we know of the following platforms having some degree of third-party support for Netdata:
- NixOS: Netdatas official installation methods do not support NixOS, but the NixOS maintainers provide their
own Netdata packages for their platform.
- Rockstor: Rockstor provides support for a Netdata add-on for their NAS platform. The Rockstor community and
developers are the primary source for support on their platform.
## Previously supported platforms
As platforms become end of life upstream, Netdata will stop officially supporting them. We will not actively break
things on these platforms, but we will also not make any effort to ensure that things keep working on them either.
If you report a bug on a previously supported platforms, we will ask you to reproduce the issue on a currently
supported platform. If the issue is not reproducible, it will be closed.
We consider a platform to be end of life when the upstream maintainers of that platform stop providing official
support for it themselves, or when that platform transitions into an extended security maintenance period.
Platforms that meet these criteria will be immediately transitioned to the **Previously Supported** category,
with no prior warning from Netdata and no deprecation notice, unlike those being dropped for technical reasons,
as our end of support should already coincide with the end of the normal support lifecycle for that platform.
On occasion, we may also drop support for a platform due to technical limitations. In such cases, this will be
announced in the release notes of the next stable release with a deprecation notice. The platform will be supported
for _that release_, and will be removed from nightlies some time before the next release after that one.
This is a list of platforms that we have supported in the recent past but no longer officially support:
| Platform | Version | Notes |
| -------- | ------- | ----- |
| Alpine Linux | 3.11 | EOL as of 2021-11-01 |
| Alpine Linux | 3.10 | EOL as of 2021-05-01 |
| Fedora | 33 | EOL as of 2021-11-30 |
| Fedora | 32 | EOL as of 2021-05-25 |
| FreeBSD | 11-STABLE | EOL as of 2021-10-30 |
| openSUSE | Leap 15.2 | EOL as of 2021-12-01 |
| openSUSE | Leap 15.1 | EOL as of 2021-01-31 |
| Ubuntu | 21.04 | EOL as of 2022-01-01 |
| Ubuntu | 20.10 | EOL as of 2021-07-22 |
| Ubuntu | 16.04 | EOL as of 2021-04-02 |
## Static builds
The Netdata team provides static builds of Netdata for Linux systems with a selection of common CPU
architectures. These static builds are largely self-contained, only requiring a a POSIX-compliant shell on the target
system to provide their basic functionality. Static builds are built in an Alpine Linux environment using musl. This
means that they generally do not support non-local username mappings or exotic name resolution configurations.
We currently provide static builds for the following CPU architectures:
- 32-bit x86
- 64-bit x86
- ARMv7
- AArch64
- POWER8+
## Platform-specific support considerations
### IPMI
Our IPMI collector is based on FreeIPMI. Due to upstream limitations in FreeIPMI, we are unable to support our
IPMI collector on POWER-based hardware.

View file

@ -11,9 +11,7 @@ Netdata is a monitoring agent designed to run on all your systems: physical and
IoT/edge devices. Netdata runs on Linux, FreeBSD, macOS, Kubernetes, Docker, and all their derivatives.
The best way to install Netdata is with our [**automatic one-line installation
script**](#automatic-one-line-installation-script), which works with all Linux distributions and macOS environments, or our [**.deb/rpm
packages**](/packaging/installer/methods/packages.md), which seamlessly install with your distribution's package
manager.
script**](#automatic-one-line-installation-script), which works with all Linux distributions and most macOS environments.
If you want to install Netdata with Docker, on a Kubernetes cluster, or a different operating system, see [Have a
different operating system, or want to try another
@ -36,24 +34,18 @@ _actively_ contributing to Netdata's future.
This method is fully automatic on all Linux distributions, including Ubuntu, Debian, Fedora, CentOS, and others, as well as on mac OS environments.
To install Netdata from source, including all dependencies required to connect to Netdata Cloud, and get _automatic
nightly updates_, run the following as your normal user:
**Linux**
To install Netdata, including all dependencies required to connect to Netdata Cloud, and get _automatic nightly
updates_, run the following as your normal user:
```bash
bash <(curl -Ss https://my-netdata.io/kickstart.sh)
wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh
```
**macOS**
```bash
bash <(curl -Ss https://my-netdata.io/kickstart.sh) --install /usr/local/
```
This script will preferentially use native DEB/RPM packages if we provide them for your platform.
To see more information about this installation script, including how to disable automatic updates, get nightly vs.
stable releases, or disable anonymous statistics, see the [`kickstart.sh` method
page](/packaging/installer/methods/kickstart.md).
page](/packaging/installer/methods/kickstart.md).
Scroll down for details about [automatic updates](#automatic-updates) or [nightly vs. stable
releases](#nightly-vs-stable-releases).
@ -71,9 +63,8 @@ external databases, and more.
## Have a different operating system, or want to try another method?
Netdata works on many different operating systems, each with a few possible installation methods. To see the full list
of approved methods for each operating system/version we support, see our [distribution
matrix](/packaging/DISTRIBUTIONS.md).
Netdata works on many different platforms. To see all supported platforms, check out our [platform support
policy](/packaging/PLATFORM_SUPPORT.md).
Below, you can find a few additional installation methods, followed by separate instructions for a variety of unique
operating systems.
@ -87,27 +78,19 @@ operating systems.
svg="linux" />
<InstallBox
to="/docs/agent/packaging/docker"
os="Run with Docker"
os="Run with Docker"
svg="docker" />
<InstallBox
to="/docs/agent/packaging/installer/methods/kubernetes"
os="Deploy on Kubernetes"
os="Deploy on Kubernetes"
svg="kubernetes" />
<InstallBox
to="/docs/agent/packaging/installer/methods/macos"
os="Install on macOS"
os="Install on macOS"
svg="macos" />
<InstallBox
to="/docs/agent/packaging/installer/methods/packages"
os="Linux with .deb/.rpm packages"
svg="linux" />
<InstallBox
to="/docs/agent/packaging/installer/methods/kickstart-64"
os="Linux with static 64-bit binary"
svg="linux" />
<InstallBox
to="/docs/agent/packaging/installer/methods/manual"
os="Linux from Git"
os="Linux from Git"
svg="linux" />
<InstallBox
to="/docs/agent/packaging/installer/methods/source"
@ -128,7 +111,7 @@ option when you install or update Netdata using the [automatic one-line installa
script](#automatic-one-line-installation-script).
```bash
bash <(curl -Ss https://my-netdata.io/kickstart.sh) --no-updates
wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh --no-updates
```
With automatic updates disabled, you can choose exactly when and how you [update
@ -184,9 +167,6 @@ If you're running an older Linux distribution or one that has reached EOL, such
versions of OpenSSL cannot perform [hostname validation](https://wiki.openssl.org/index.php/Hostname_validation), which
helps securely encrypt SSL connections.
We recommend you reinstall Netdata with a [static build](/packaging/installer/methods/kickstart-64.md), which uses an
up-to-date version of OpenSSL with hostname validation enabled.
If you choose to continue using the outdated version of OpenSSL, your node will still connect to Netdata Cloud, albeit
with hostname verification disabled. Without verification, your Netdata Cloud connection could be vulnerable to
man-in-the-middle attacks.
@ -230,9 +210,6 @@ We've received reports from the community about issues with running the `kicksta
a distribution-installed version of OpenSSL and a manually-installed local version. The Agent's installer cannot handle
both.
We recommend you install Netdata with the [static binary](/packaging/installer/methods/kickstart-64.md) to avoid the
issue altogether. Or, you can manually remove one version of OpenSSL to remove the conflict.
### Clang compiler on Linux
Our current build process has some issues when using certain configurations of the `clang` C compiler on Linux. See [the

View file

@ -9,10 +9,6 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/instal
In certain situations, such as needing to enable a feature or troubleshoot an issue, you may need to reinstall the
Netdata Agent on your node.
Before you try reinstalling Netdata, figure out which [installation method you
used](/packaging/installer/UPDATE.md#determine-which-installation-method-you-used) if you do not already know. This will
determine the reinstallation method.
## One-line installer script (`kickstart.sh`)
Run the one-line installer script with the `--reinstall` parameter to reinstall the Netdata Agent. This will preserve
@ -25,35 +21,7 @@ used, read the contents of the `.environment` file and look for a `REINSTALL_OPT
optional parameters.
```bash
bash <(curl -Ss https://my-netdata.io/kickstart.sh) --reinstall
```
## `.deb` or `.rpm` packages
If you installed Netdata with [`.deb` or `.rpm` packages](/packaging/installer/methods/packages.md), use your
distribution's package manager to reinstall Netdata. Any custom settings present in your Netdata configuration directory
(typically at `/etc/netdata`) persists during this process.
```bash
apt-get install --reinstall netdata # Ubuntu/Debian
dnf reinstall netdata # Fedora/RHEL
yum reinstall netdata # CentOS
zypper in -f netdata # openSUSE
```
## Pre-built static binary for 64-bit systems (`kickstart-static64.sh`)
Run the one-line installer script with the `--reinstall` parameter to reinstall the Netdata Agent. This will preserve
any [user configuration](/docs/configure/nodes.md) in `netdata.conf` or other files.
If you used any [optional
parameters](/packaging/installer/methods/kickstart-64.md#optional-parameters-to-alter-your-installation) during
initial installation, you need to pass them to the script again during reinstallation. If you cannot remember which
options you used, read the contents of the `.environment` file and look for a `REINSTALL_OPTIONS` line. This line
contains a list of optional parameters.
```bash
bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh) --reinstall
wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh --reinstall
```
## Troubleshooting

View file

@ -23,76 +23,43 @@ icon in the local Agent dashboard's top navigation. This modal informs you wheth
If you are not sure where your Netdata config directory is, see the [configuration doc](/docs/configure/nodes.md). In
most installations, this is `/etc/netdata`.
Use `cd` to navigate to the Netdata config directory, then use `ls -a` to look for a file called `.environment`.
Use `cd` to navigate to the Netdata config directory, then use `ls -a` to look for a file called `.install-type`.
- If the `.environment` file _does not_ exist, reinstall with your [package manager](#deb-or-rpm-packages).
- If the `.environment` file _does_ exist, check its contents with `less .environment`.
- If `IS_NETDATA_STATIC_BINARY` is `"yes"`, update using the [pre-built static
binary](#pre-built-static-binary-for-64-bit-systems-kickstart-static64sh).
- In all other cases, update using the [one-line installer script](#one-line-installer-script-kickstartsh).
- If the `.install-type` file doex not exist, look for a file in the same directory called `.environment`.
- If the `.environment` file does not exist, you probably installed Netdata using your system package manager
and should update it the same way you would run updates on the system itself.
- If the `.environment` file does exist, then our [regular update method](#updates-for-most-systems) should
work correctly.
- If the `.install-type` file does exist, check its contents with `cat .install-type`.
- If the `INSTALL_TYPE` key has a value of `custom`, you probably installed Netdata using your system
package manager and should update it the same way you would run updates on the system itself.
- If the `INSTALL_TYPE` key has a value of `oci`, the install is from a Docker image.
- Otherwise, the install should work with our [regular update method](#updates-for-most-systems).
Next, use the appropriate method to update the Netdata Agent:
- [One-line installer script (`kickstart.sh`)](#one-line-installer-script-kickstartsh)
- [`.deb` or `.rpm` packages](#deb-or-rpm-packages)
- [Pre-built static binary for 64-bit systems (`kickstart-static64.sh`)](#pre-built-static-binary-for-64-bit-systems-kickstart-static64sh)
- [Updates for most systems](#updates-for-most-systems)
- [Docker](#docker)
- [macOS](#macos)
- [Manual installation from Git](#manual-installation-from-git)
## One-line installer script (`kickstart.sh`)
## Updates for most systems
If you installed Netdata using our one-line automatic installation script, run it again to update Netdata. Any custom
settings present in your Netdata configuration directory (typically at `/etc/netdata`) persists during this process.
This script will automatically run the update script that was installed as part of the initial install (even if
you disabled automatic updates) and preserve the existing install options you specified.
In most cases, you can update netdata using our one-line installation script. This script will automatically
run the update script that was installed as part of the initial install (even if you disabled automatic updates)
and preserve the existing install options you specified.
If you installed Netdata using an installation prefix, you will need to add an `--install` option specifying
that prefix to this command to make sure it finds Netdata.
```bash
bash <(curl -Ss https://my-netdata.io/kickstart.sh)
wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh
```
> ❗ If the above command fails, you can [reinstall
> Netdata](/packaging/installer/REINSTALL.md#one-line-installer-script-kickstartsh) to get the latest version. This also
> preserves your [configuration](/docs/configure/nodes.md) in `netdata.conf` or other files.
## `.deb` or `.rpm` packages
If you installed Netdata with [`.deb` or `.rpm` packages](/packaging/installer/methods/packages.md), use your
distribution's package manager to update Netdata. Any custom settings present in your Netdata configuration directory
(typically at `/etc/netdata`) persists during this process.
Your package manager grabs a new package from our hosted repository, updates the Netdata Agent, and restarts it.
```bash
apt-get install netdata # Ubuntu/Debian
dnf install netdata # Fedora/RHEL
yum install netdata # CentOS
zypper in netdata # openSUSE
```
> You may need to escalate privileges using `sudo`.
## Pre-built static binary for 64-bit systems (`kickstart-static64.sh`)
If you installed Netdata using the pre-built static binary, run the `kickstart-static64.sh` script again to update
Netdata. Any custom settings present in your Netdata configuration directory (typically at `/etc/netdata`) persists
during this process.
This script will automatically run the update script that was installed as part of the initial install (even if
you disabled automatic updates) and preserve the existing install options you specified.
```bash
bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh)
```
> ❗ If the above command fails, you can [reinstall
> Netdata](/packaging/installer/REINSTALL.md#pre-built-static-binary-for-64-bit-systems-kickstart-static64sh) to get the
> latest version. This also preserves your [configuration](/docs/configure/nodes.md) in `netdata.conf` or other files.
## Docker
Docker-based installations do not update automatically. To update an Netdata Agent running in a Docker container, you

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1 @@
kickstart.sh

View file

@ -1,439 +0,0 @@
#!/usr/bin/env sh
# SPDX-License-Identifier: GPL-3.0-or-later
# shellcheck disable=SC1117,SC2039,SC2059,SC2086
#
# Options to run
# --dont-wait do not wait for input
# --non-interactive do not wait for input
# --dont-start-it do not start netdata after install
# --stable-channel Use the stable release channel, rather than the nightly to fetch sources
# --disable-telemetry Opt-out of anonymous telemetry program (DO_NOT_TRACK=1)
# --local-files Use a manually provided tarball for the installation
# --allow-duplicate-install do not bail if we detect a duplicate install
# --reinstall if an existing install would be updated, reinstall instead
# --claim-token specify a token to use for claiming the newly installed instance
# --claim-url specify a URL to use for claiming the newly installed isntance
# --claim-rooms specify a list of rooms to claim the newly installed instance to
# --claim-proxy specify a proxy to use while claiming the newly installed instance
#
# Environment options:
#
# NETDATA_TARBALL_BASEURL set the base url for downloading the dist tarball
#
# ----------------------------------------------------------------------------
# library functions copied from packaging/installer/functions.sh
setup_terminal() {
TPUT_RESET=""
TPUT_YELLOW=""
TPUT_WHITE=""
TPUT_BGRED=""
TPUT_BGGREEN=""
TPUT_BOLD=""
TPUT_DIM=""
# Is stderr on the terminal? If not, then fail
test -t 2 || return 1
if command -v tput > /dev/null 2>&1; then
if [ $(($(tput colors 2> /dev/null))) -ge 8 ]; then
# Enable colors
TPUT_RESET="$(tput sgr 0)"
TPUT_YELLOW="$(tput setaf 3)"
TPUT_WHITE="$(tput setaf 7)"
TPUT_BGRED="$(tput setab 1)"
TPUT_BGGREEN="$(tput setab 2)"
TPUT_BOLD="$(tput bold)"
TPUT_DIM="$(tput dim)"
fi
fi
return 0
}
setup_terminal || echo > /dev/null
# ----------------------------------------------------------------------------
fatal() {
printf >&2 "${TPUT_BGRED}${TPUT_WHITE}${TPUT_BOLD} ABORTED ${TPUT_RESET} ${*} \n\n"
exit 1
}
run_ok() {
printf >&2 "${TPUT_BGGREEN}${TPUT_WHITE}${TPUT_BOLD} OK ${TPUT_RESET} \n\n"
}
run_failed() {
printf >&2 "${TPUT_BGRED}${TPUT_WHITE}${TPUT_BOLD} FAILED ${TPUT_RESET} \n\n"
}
ESCAPED_PRINT_METHOD=
if printf "%q " test > /dev/null 2>&1; then
ESCAPED_PRINT_METHOD="printfq"
fi
escaped_print() {
if [ "${ESCAPED_PRINT_METHOD}" = "printfq" ]; then
printf "%q " "${@}"
else
printf "%s" "${*}"
fi
return 0
}
progress() {
echo >&2 " --- ${TPUT_DIM}${TPUT_BOLD}${*}${TPUT_RESET} --- "
}
run_logfile="/dev/null"
run() {
local user="${USER--}" dir="${PWD}" info info_console
if [ "${UID}" = "0" ]; then
info="[root ${dir}]# "
info_console="[${TPUT_DIM}${dir}${TPUT_RESET}]# "
else
info="[${user} ${dir}]$ "
info_console="[${TPUT_DIM}${dir}${TPUT_RESET}]$ "
fi
{
printf "${info}"
escaped_print "${@}"
printf " ... "
} >> "${run_logfile}"
printf >&2 "${info_console}${TPUT_BOLD}${TPUT_YELLOW}"
escaped_print >&2 "${@}"
printf >&2 "${TPUT_RESET}\n"
"${@}"
local ret=$?
if [ ${ret} -ne 0 ]; then
run_failed
printf >> "${run_logfile}" "FAILED with exit code ${ret}\n"
else
run_ok
printf >> "${run_logfile}" "OK\n"
fi
return ${ret}
}
fatal() {
printf >&2 "${TPUT_BGRED}${TPUT_WHITE}${TPUT_BOLD} ABORTED ${TPUT_RESET} ${*} \n\n"
exit 1
}
_cannot_use_tmpdir() {
local testfile ret
testfile="$(TMPDIR="${1}" mktemp -q -t netdata-test.XXXXXXXXXX)"
ret=0
if [ -z "${testfile}" ] ; then
return "${ret}"
fi
if printf '#!/bin/sh\necho SUCCESS\n' > "${testfile}" ; then
if chmod +x "${testfile}" ; then
if [ "$("${testfile}")" = "SUCCESS" ] ; then
ret=1
fi
fi
fi
rm -f "${testfile}"
return "${ret}"
}
create_tmp_directory() {
if [ -z "${TMPDIR}" ] || _cannot_use_tmpdir "${TMPDIR}" ; then
if _cannot_use_tmpdir /tmp ; then
if _cannot_use_tmpdir "${PWD}" ; then
echo >&2
echo >&2 "Unable to find a usable temporary directory. Please set \$TMPDIR to a path that is both writable and allows execution of files and try again."
exit 1
else
TMPDIR="${PWD}"
fi
else
TMPDIR="/tmp"
fi
fi
mktemp -d -t netdata-kickstart-XXXXXXXXXX
}
download() {
url="${1}"
dest="${2}"
if command -v curl > /dev/null 2>&1; then
run curl -q -sSL --connect-timeout 10 --retry 3 --output "${dest}" "${url}"
elif command -v wget > /dev/null 2>&1; then
run wget -T 15 -O "${dest}" "${url}" || fatal "Cannot download ${url}"
else
fatal "I need curl or wget to proceed, but neither is available on this system."
fi
}
set_tarball_urls() {
if [ -n "${NETDATA_LOCAL_TARBALL_OVERRIDE}" ]; then
progress "Not fetching remote tarballs, local override was given"
return
fi
if [ "$1" = "stable" ]; then
local latest
# Simple version
latest="$(download "https://api.github.com/repos/netdata/netdata/releases/latest" /dev/stdout | grep tag_name | cut -d'"' -f4)"
export NETDATA_TARBALL_URL="https://github.com/netdata/netdata/releases/download/$latest/netdata-latest.gz.run"
export NETDATA_TARBALL_CHECKSUM_URL="https://github.com/netdata/netdata/releases/download/$latest/sha256sums.txt"
else
export NETDATA_TARBALL_URL="$NETDATA_TARBALL_BASEURL/netdata-latest.gz.run"
export NETDATA_TARBALL_CHECKSUM_URL="$NETDATA_TARBALL_BASEURL/sha256sums.txt"
fi
}
safe_sha256sum() {
# Within the context of the installer, we only use -c option that is common between the two commands
# We will have to reconsider if we start using non-common options
if command -v sha256sum > /dev/null 2>&1; then
sha256sum "$@"
elif command -v shasum > /dev/null 2>&1; then
shasum -a 256 "$@"
else
fatal "I could not find a suitable checksum binary to use"
fi
}
mark_install_type() {
install_type_file="/opt/netdata/etc/netdata/.install-type"
if [ -f "${install_type_file}" ]; then
# shellcheck disable=SC1090
. "${install_type_file}"
cat > "${TMPDIR}/install-type" <<- EOF
INSTALL_TYPE='kickstart-static'
PREBUILT_ARCH='${PREBUILT_ARCH}'
EOF
${sudo} chown netdata:netdata "${TMPDIR}/install-type"
${sudo} cp "${TMPDIR}/install-type" "${install_type_file}"
fi
}
claim() {
progress "Attempting to claim agent to ${NETDATA_CLAIM_URL}"
NETDATA_CLAIM_PATH=/opt/netdata/bin/netdata-claim.sh
if ${sudo} "${NETDATA_CLAIM_PATH}" -token=${NETDATA_CLAIM_TOKEN} -rooms=${NETDATA_CLAIM_ROOMS} -url=${NETDATA_CLAIM_URL} ${NETDATA_CLAIM_EXTRA}; then
progress "Successfully claimed node"
return 0
else
run_failed "Unable to claim node, you must do so manually."
return 1
fi
}
# ----------------------------------------------------------------------------
umask 022
sudo=""
[ -z "${UID}" ] && UID="$(id -u)"
[ "${UID}" -ne "0" ] && sudo="sudo"
# ----------------------------------------------------------------------------
if [ "$(uname -m)" != "x86_64" ]; then
fatal "Static binary versions of netdata are available only for 64bit Intel/AMD CPUs (x86_64), but yours is: $(uname -m)."
fi
if [ "$(uname -s)" != "Linux" ]; then
fatal "Static binary versions of netdata are available only for Linux, but this system is $(uname -s)"
fi
# ----------------------------------------------------------------------------
opts=
NETDATA_INSTALLER_OPTIONS=""
NETDATA_UPDATES="--auto-update"
RELEASE_CHANNEL="nightly"
while [ -n "${1}" ]; do
case "${1}" in
"--dont-wait") opts="${opts} --accept" ;;
"--non-interactive") opts="${opts} --accept" ;;
"--accept") opts="${opts} --accept" ;;
"--dont-start-it")
NETDATA_INSTALLER_OPTIONS="${NETDATA_INSTALLER_OPTIONS:+${NETDATA_INSTALLER_OPTIONS} }${1}"
NETDATA_CLAIM_EXTRA="${NETDATA_CLAIM_EXTRA} -daemon-not-running"
;;
"--no-updates") NETDATA_UPDATES="" ;;
"--stable-channel")
RELEASE_CHANNEL="stable"
NETDATA_INSTALLER_OPTIONS="${NETDATA_INSTALLER_OPTIONS:+${NETDATA_INSTALLER_OPTIONS} }${1}"
;;
"--disable-telemetry") NETDATA_INSTALLER_OPTIONS="${NETDATA_INSTALLER_OPTIONS:+${NETDATA_INSTALLER_OPTIONS} }${1}";;
"--local-files")
NETDATA_UPDATES="" # Disable autoupdates if using pre-downloaded files.
if [ -z "${2}" ]; then
fatal "Option --local-files requires extra information. The desired tarball full filename is needed"
fi
NETDATA_LOCAL_TARBALL_OVERRIDE="${2}"
if [ -z "${3}" ]; then
fatal "Option --local-files requires a pair of the tarball source and the checksum file"
fi
NETDATA_LOCAL_TARBALL_OVERRIDE_CHECKSUM="${3}"
shift 2
;;
"--allow-duplicate-install") NETDATA_ALLOW_DUPLICATE_INSTALL=1 ;;
"--reinstall") NETDATA_REINSTALL=1 ;;
"--claim-token")
NETDATA_CLAIM_TOKEN="${2}"
shift 1
;;
"--claim-rooms")
NETDATA_CLAIM_ROOMS="${2}"
shift 1
;;
"--claim-url")
NETDATA_CLAIM_URL="${2}"
shift 1
;;
"--claim-proxy")
NETDATA_CLAIM_EXTRA="${NETDATA_CLAIM_EXTRA} -proxy ${2}"
shift 1
;;
*)
echo >&2 "Unknown option '${1}' or invalid number of arguments. Please check the README for the available arguments of ${0} and try again"
exit 1
esac
shift 1
done
if [ ! "${DO_NOT_TRACK:-0}" -eq 0 ] || [ -n "$DO_NOT_TRACK" ]; then
NETDATA_INSTALLER_OPTIONS="${NETDATA_INSTALLER_OPTIONS:+${NETDATA_INSTALLER_OPTIONS} }--disable-telemetry"
fi
if [ -n "${NETDATA_DISABLE_CLOUD}" ]; then
if [ -n "${NETDATA_CLAIM_TOKEN}" ] || [ -n "${NETDATA_CLAIM_ROOMS}" ] || [ -n "${NETDATA_CLAIM_URL}" ]; then
run_failed "Cloud explicitly disabled but automatic claiming requested."
run_failed "Either enable Netdata Cloud, or remove the --claim-* options."
exit 1
fi
fi
# shellcheck disable=SC2235,SC2030
if ( [ -z "${NETDATA_CLAIM_TOKEN}" ] && [ -n "${NETDATA_CLAIM_URL}" ] ) || ( [ -n "${NETDATA_CLAIM_TOKEN}" ] && [ -z "${NETDATA_CLAIM_URL}" ] ); then
run_failed "Invalid claiming options, both a claiming token and URL must be specified."
exit 1
elif [ -z "${NETDATA_CLAIM_TOKEN}" ] && [ -n "${NETDATA_CLAIM_ROOMS}" ]; then
run_failed "Invalid claiming options, claim rooms may only be specified when a token and URL are specified."
exit 1
fi
# Netdata Tarball Base URL (defaults to our Google Storage Bucket)
[ -z "$NETDATA_TARBALL_BASEURL" ] && NETDATA_TARBALL_BASEURL=https://storage.googleapis.com/netdata-nightlies
# ---------------------------------------------------------------------------------------------------------------------
# look for an existing install and try to update that instead if it exists
ndpath="$(command -v netdata 2>/dev/null)"
if [ -z "$ndpath" ] && [ -x /opt/netdata/bin/netdata ] ; then
ndpath="/opt/netdata/bin/netdata"
fi
if [ -n "$ndpath" ] ; then
ndprefix="$(dirname "$(dirname "${ndpath}")")"
if [ "${ndprefix}" = /usr ] ; then
ndprefix="/"
fi
progress "Found existing install of Netdata under: ${ndprefix}"
if [ -r "${ndprefix}/etc/netdata/.environment" ] ; then
ndstatic="$(grep IS_NETDATA_STATIC_BINARY "${ndprefix}/etc/netdata/.environment" | cut -d "=" -f 2 | tr -d \")"
if [ -z "${NETDATA_REINSTALL}" ] && [ -z "${NETDATA_LOCAL_TARBALL_OVERRIDE}" ] ; then
if [ -n "${NETDATA_CLAIM_TOKEN}" ] ; then
claim
exit $?
elif [ -x "${ndprefix}/usr/libexec/netdata/netdata-updater.sh" ] ; then
progress "Attempting to update existing install instead of creating a new one"
if run ${sudo} "${ndprefix}/usr/libexec/netdata/netdata-updater.sh" --not-running-from-cron ; then
progress "Updated existing install at ${ndpath}"
exit 0
else
fatal "Failed to update existing Netdata install"
exit 1
fi
else
if [ -z "${NETDATA_ALLOW_DUPLICATE_INSTALL}" ] || [ "${ndstatic}" = "no" ] ; then
fatal "Existing installation detected which cannot be safely updated by this script, refusing to continue."
exit 1
else
progress "User explicitly requested duplicate install, proceeding."
fi
fi
else
if [ "${ndstatic}" = "yes" ] ; then
progress "User requested reinstall instead of update, proceeding."
else
fatal "Existing install is not a static install, please use kickstart.sh instead."
exit 1
fi
fi
else
progress "Existing install appears to be handled manually or through the system package manager."
if [ -n "${NETDATA_CLAIM_TOKEN}" ] ; then
claim
exit $?
elif [ -z "${NETDATA_ALLOW_DUPLICATE_INSTALL}" ] ; then
fatal "Existing installation detected which cannot be safely updated by this script, refusing to continue."
exit 1
else
progress "User explicitly requested duplicate install, proceeding."
fi
fi
fi
# ----------------------------------------------------------------------------
TMPDIR=$(create_tmp_directory)
cd "${TMPDIR}" || exit 1
if [ -z "${NETDATA_LOCAL_TARBALL_OVERRIDE}" ]; then
set_tarball_urls "${RELEASE_CHANNEL}"
progress "Downloading static netdata binary: ${NETDATA_TARBALL_URL}"
download "${NETDATA_TARBALL_CHECKSUM_URL}" "${TMPDIR}/sha256sum.txt"
download "${NETDATA_TARBALL_URL}" "${TMPDIR}/netdata-latest.gz.run"
else
progress "Installation sources were given as input, running installation using \"${NETDATA_LOCAL_TARBALL_OVERRIDE}\""
run cp "${NETDATA_LOCAL_TARBALL_OVERRIDE}" "${TMPDIR}/netdata-latest.gz.run"
run cp "${NETDATA_LOCAL_TARBALL_OVERRIDE_CHECKSUM}" "${TMPDIR}/sha256sum.txt"
fi
if ! grep netdata-latest.gz.run "${TMPDIR}/sha256sum.txt" | safe_sha256sum -c - > /dev/null 2>&1; then
fatal "Static binary checksum validation failed. Stopping Netdata Agent installation and leaving binary in ${TMPDIR}\nUsually this is a result of an older copy of the file being cached somewhere upstream and can be resolved by retrying in an hour."
fi
# ----------------------------------------------------------------------------
progress "Installing netdata"
run ${sudo} sh "${TMPDIR}/netdata-latest.gz.run" ${opts} -- ${NETDATA_UPDATES} ${NETDATA_INSTALLER_OPTIONS}
mark_install_type
#shellcheck disable=SC2181
if [ $? -eq 0 ]; then
run ${sudo} rm "${TMPDIR}/netdata-latest.gz.run"
if [ ! "${TMPDIR}" = "/" ] && [ -d "${TMPDIR}" ]; then
run ${sudo} rm -rf "${TMPDIR}"
fi
else
echo >&2 "NOTE: did not remove: ${TMPDIR}/netdata-latest.gz.run"
exit 1
fi
# --------------------------------------------------------------------------------------------------------------------
if [ -n "${NETDATA_CLAIM_TOKEN}" ]; then
claim
fi

View file

@ -0,0 +1 @@
kickstart.sh

File diff suppressed because it is too large Load diff

View file

@ -1,40 +0,0 @@
<!--
title: "Install Netdata on Alpine 3.x"
custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/alpine.md
-->
# Install Netdata on Alpine 3.x
Execute these commands to install Netdata in Alpine Linux 3.x:
```sh
# install required packages
apk add alpine-sdk bash curl libuv-dev zlib-dev util-linux-dev libmnl-dev gcc make git autoconf automake pkgconfig python3 logrotate
# if you plan to run node.js Netdata plugins
apk add nodejs
# download Netdata - the directory 'netdata' will be created
git clone https://github.com/netdata/netdata.git --depth=100 --recursive
cd netdata
# build it, install it, start it
./netdata-installer.sh
# make Netdata start at boot and stop at shutdown
cat > /etc/init.d/netdata << EOF
#!/sbin/openrc-run
name="netdata"
command="/usr/sbin/$SVCNAME"
depend() {
need net localmount
after firewall
}
EOF
```
If you have installed Netdata in another directory, you have to change the content of the `command` variable in that script.
[![analytics](https://www.google-analytics.com/collect?v=1&aip=1&t=pageview&_s=1&ds=github&dr=https%3A%2F%2Fgithub.com%2Fnetdata%2Fnetdata&dl=https%3A%2F%2Fmy-netdata.io%2Fgithub%2Fpackaging%2Finstaller%2Fmethods%2Falpine&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)](<>)

View file

@ -25,11 +25,7 @@ aims to document some of those steps for popular cloud providers.
## Recommended installation methods for cloud providers
The best installation method depends on the instance's operating system, distribution, and version. For Linux instances,
we recommend either the [`kickstart.sh` automatic installation script](kickstart.md) or [.deb/.rpm
packages](packages.md).
To see the full list of approved methods for each operating system/version we support, see our [distribution
matrix](/packaging/DISTRIBUTIONS.md). That table will guide you to the various supported methods for your cloud instance.
we recommend the [`kickstart.sh` automatic installation script](kickstart.md).
If you have issues with Netdata after installation, look to the sections below to find the issue you're experiencing,
followed by the solution for your provider.

View file

@ -1,116 +0,0 @@
<!--
title: "Install Netdata with kickstart-static64.sh"
description: "The kickstart-static64.sh script installs a pre-compiled static binary, including all dependencies required to connect to Netdata Cloud, with one command."
custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/kickstart-64.md
-->
# Install Netdata with kickstart-static64.sh
![](https://registry.my-netdata.io/api/v1/badge.svg?chart=web_log_nginx.requests_per_url&options=unaligned&dimensions=kickstart64&group=sum&after=-3600&label=last+hour&units=installations&value_color=orange&precision=0) ![](https://registry.my-netdata.io/api/v1/badge.svg?chart=web_log_nginx.requests_per_url&options=unaligned&dimensions=kickstart64&group=sum&after=-86400&label=today&units=installations&precision=0)
This page covers detailed instructions on using and configuring the installation script named `kickstart-static64.sh`.
This method uses a pre-compiled static binary to install Netdata on any Intel/AMD 64bit Linux system and on any Linux
distribution, even those with a broken or unsupported package manager.
To install Netdata from a static binary package, including all dependencies required to connect to Netdata Cloud, and
get _automatic nightly updates_, run the following as your normal user:
```bash
bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh)
```
> This script installs Netdata at `/opt/netdata`.
> See our [installation guide](/packaging/installer/README.md) for details about [automatic
> updates](/packaging/installer/README.md#automatic-updates) or [nightly vs. stable
> releases](/packaging/installer/README.md#nightly-vs-stable-releases).
## What does `kickstart-static64.sh` do?
The `kickstart.sh` script does the following after being downloaded and run:
- Checks to see if there is an existing installation, and if there is updates that in preference to reinstalling.
- Downloads the latest Netdata binary from the [binary-packages](https://github.com/netdata/binary-packages)
repository. You can also run any of these `.run` files with [makeself](https://github.com/megastep/makeself).
- Installs Netdata by running `./netdata-installer.sh` from the source tree, including any options you might have
added.
- Installs `netdata-updater.sh` to `cron.daily` to enable automatic updates, unless you added the `--no-updates`
option.
- Prints a message about whether the installation succeeded for failed for QA purposes.
If your shell fails to handle the above one-liner, you can download and run the `kickstart-static64.sh` script manually.
```sh
# download the script with curl
curl https://my-netdata.io/kickstart-static64.sh >/tmp/kickstart-static64.sh
# or, download the script with wget
wget -O /tmp/kickstart-static64.sh https://my-netdata.io/kickstart-static64.sh
# run the downloaded script (any sh is fine, no need for bash)
sh /tmp/kickstart-static64.sh
```
## Optional parameters to alter your installation
The `kickstart-static64.sh` script passes all its parameters to `netdata-installer.sh`, which you can use to customize
your installation. Here are a few important parameters:
- `--dont-wait`: Enable automated installs by not prompting for permission to install any required packages.
- `--dont-start-it`: Prevent the installer from starting Netdata automatically.
- `--stable-channel`: Automatically update only on the release of new major versions.
- `--nightly-channel`: Automatically update on every new nightly build.
- `--disable-telemetry`: Opt-out of [anonymous statistics](/docs/anonymous-statistics.md) we use to make
Netdata better.
- `--no-updates`: Prevent automatic updates of any kind.
- `--reinstall`: If an existing installation is detected, reinstall instead of attempting to update it. Note
that this cannot be used to switch between installation types.
- `--local-files`: Used for [offline installations](/packaging/installer/methods/offline.md). Pass four file paths:
the Netdata tarball, the checksum file, the go.d plugin tarball, and the go.d plugin config tarball, to force
kickstart run the process using those files. This option conflicts with the `--stable-channel` option. If you set
this _and_ `--stable-channel`, Netdata will use the local files.
### Connect node to Netdata Cloud during installation
The `kickstart.sh` script accepts additional parameters to automatically [connect](/claim/README.md) your node to Netdata
Cloud immediately after installation. Find the `token` and `rooms` strings by [signing in to Netdata
Cloud](https://app.netdata.cloud/sign-in?cloudRoute=/spaces), then clicking on **Connect Nodes** in the [Spaces management
area](https://learn.netdata.cloud/docs/cloud/spaces#manage-spaces).
- `--claim-token`: The unique token associated with your Space in Netdata Cloud.
- `--claim-rooms`: A comma-separated list of tokens for each War Room this node should appear in.
- `--claim-proxy`: Should take the form of `socks5[h]://[user:pass@]host:ip` for a SOCKS5 proxy, or
`http://[user:pass@]host:ip` for an HTTP(S) proxy.See [connecting through a
proxy](/claim/README.md#connect-through-a-proxy) for details.
- `--claim-url`: Defaults to `https://app.netdata.cloud`.
For example:
```bash
bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh) --claim-token TOKEN --claim-rooms ROOM1,ROOM2 --claim-url https://app.netdata.cloud
```
## Verify script integrity
To use `md5sum` to verify the integrity of the `kickstart-static64.sh` script you will download using the one-line
command above, run the following:
```bash
[ "508e16775bfe8aaf6bc2d0f7b91c323e" = "$(curl -Ss https://my-netdata.io/kickstart-static64.sh | md5sum | cut -d ' ' -f 1)" ] && echo "OK, VALID" || echo "FAILED, INVALID"
```
If the script is valid, this command will return `OK, VALID`.
## What's next?
When you're finished with installation, check out our [single-node](/docs/quickstart/single-node.md) or
[infrastructure](/docs/quickstart/infrastructure.md) monitoring quickstart guides based on your use case.
Or, skip straight to [configuring the Netdata Agent](/docs/configure/nodes.md).
Read through Netdata's [documentation](https://learn.netdata.cloud/docs), which is structured based on actions and
solutions, to enable features like health monitoring, alarm notifications, long-term metrics storage, exporting to
external databases, and more.
[![analytics](https://www.google-analytics.com/collect?v=1&aip=1&t=pageview&_s=1&ds=github&dr=https%3A%2F%2Fgithub.com%2Fnetdata%2Fnetdata&dl=https%3A%2F%2Fmy-netdata.io%2Fgithub%2Fpackaging%2Finstaller%2Fmethods%2Fkickstart-64&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)](<>)

View file

@ -11,62 +11,68 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/instal
This page covers detailed instructions on using and configuring the automatic one-line installation script named
`kickstart.sh`.
This method is fully automatic on all Linux distributions and macOS environments. To install Netdata from source, including all dependencies
required to connect to Netdata Cloud, and get _automatic nightly updates_, run the following as your normal user:
The kickstart script works on all Linux distributions and macOS environments. By default, automatic nightly updates are enabled. If you are installing on macOS, make sure to check the [install documentation for macOS](packaging/installer/methods/macos) before continuing.
**Linux**
> If you are unsure whether you want nightly or stable releases, read the [installation guide](/packaging/installer/README.md#nightly-vs-stable-releases).
> If you want to turn off [automatic updates](/packaging/installer/README.md#automatic-updates), use the `--no-updates` option. You can find more installation options below.
To install Netdata, run the following as your normal user:
```bash
bash <(curl -Ss https://my-netdata.io/kickstart.sh)
wget -O ./kickstart.sh https://my-netdata.io/kickstart.sh && sh ./kickstart.sh
```
**macOS**
```bash
bash <(curl -Ss https://my-netdata.io/kickstart.sh) --install /usr/local/
```
> See our [installation guide](/packaging/installer/README.md) for details about [automatic updates](/packaging/installer/README.md#automatic-updates) or
> [nightly vs. stable releases](/packaging/installer/README.md#nightly-vs-stable-releases).
## What does `kickstart.sh` do?
The `kickstart.sh` script does the following after being downloaded and run using `bash`:
The `kickstart.sh` script does the following after being downloaded and run using `sh`:
- Detects the Linux distribution and **installs the required system packages** for building Netdata. Unless you added
the `--dont-wait` option, it will ask for your permission first.
- Checks for an existing installation, and if found updates that instead of creating a new install.
- Downloads the latest Netdata source tree to `/usr/src/netdata.git`.
- Installs Netdata by running `./netdata-installer.sh` from the source tree, using any [optional
parameters](#optional-parameters-to-alter-your-installation) you have specified.
- Installs `netdata-updater.sh` to `cron.daily`, so your Netdata installation will be updated with new nightly
versions, unless you override that with an [optional parameter](#optional-parameters-to-alter-your-installation).
- Prints a message whether installation succeeded or failed for QA purposes.
- Determines what platform you are running on.
- Checks for an existing installation, and if found updates that instead of creating a new install.
- Attempts to install Netdata using our [official native binary packages](#native-packages).
- If there are no official native binary packages for your system (or installing that way failed), tries to install
using a [static build of Netdata](#static-builds) if one is available.
- If no static build is available, installs required dependencies and then attempts to install by
[building Netdata locally](#local-builds) (by downloading the sources and building them directly).
- Installs `netdata-updater.sh` to `cron.daily`, so your Netdata installation will be updated with new nightly
versions, unless you override that with an [optional parameter](#optional-parameters-to-alter-your-installation).
- Prints a message whether installation succeeded or failed for QA purposes.
## Optional parameters to alter your installation
The `kickstart.sh` script passes all its parameters to `netdata-installer.sh`, which you can use to customize your
installation. Here are a few important parameters:
The `kickstart.sh` script accepts a number of optional parameters to control how the installation process works:
- `--non-interactive`: Dont prompt for anything and assume yes whenever possible, overriding any automatic detection of an interactive run.
- `--interactive`: Act as if running interactively, even if automatic detection indicates a run is non-interactive.
- `--dont-wait`: Synonym for `--non-interactive`
- `--non-interactive`: Dont prompt for anything and assume yes whenever possible.
- `--dont-start-it`: Dont auto-start the daemon after installing. This parameter is not gauranteed to work.
- `--nightly-channel`: Use a nightly build instead of a stable release (this is the default).
- `--stable-channel`: Use a stable release instead of a nightly build.
- `--auto-update`: Enable automatic updates (this is the default).
- `--no-updates`: Disable automatic updates.
- `--stable-channel`: Use a stable build instead of a nightly build.
- `--disable-telemetry`: Disable anonymous statistics.
- `--native-only`: Only install if native binary packages are available.
- `--static-only`: Only install if a static build is available.
- `--build-only`: Only install using a local build.
- `--reinstall`: If an existing install is found, reinstall instead of trying to update it in place.
- `--dont-start-it`: Dont auto-start the daemon after installing. This parameter is not guaranteed to work.
- `--install`: Specify an alternative install prefix.
- `--disable-cloud`: For local builds, dont build any of the cloud code at all. For native packages and static builds,
- `--reinstall-even-if-unsafe`: Even try to reinstall if we don't think we can do so safely (implies `--reinstall`).
- `--disable-cloud`: For local builds, dont build any of the cloud code at all. For native packages and static builds,
use runtime configuration to disable cloud support.
- `--auto-update-type`: Specify how auto-updates are to be scheduled, overriding auto-detection.
- `--disable-telemetry`: Disable anonymous statistics.
- `--local-files`: Used for [offline installations](offline.md). Pass four file paths: the Netdata
tarball, the checksum file, the go.d plugin tarball, and the go.d plugin config tarball, to force kickstart run the
process using those files. This option conflicts with the `--stable-channel` option. If you set this _and_
`--stable-channel`, Netdata will use the local files.
- `all`: Ask for all dependencies in the dependency handling script.
> Note: The `all` and `--local-files` parameters are scheduled to be removed in a forthcoming update.
- `--require-cloud`: Only install if Netdata Cloud can be enabled. Overrides `--disable-cloud`.
- `--install`: Specify an installation prefix for local builds (by default, we use a sane prefix based on the type of system).
Additionally, the following environment variables may be used to further customize how the script runs (most users
should not need to use special values for any of these):
- `TMPDIR`: Used to specify where to put temporary files. On most systems, the default we select automatically
should be fine. The user running the script needs to both be able to write files to the temporary directory,
and run files from that location.
- `ROOTCMD`: Used to specify a command to use to run another command with root privileges if needed. By default
we try to use sudo, doas, or pkexec (in that order of preference), but if you need special options for one of
those to work, or have a different tool to do the same thing on your system, you can specify it here.
- `DO_NOT_TRACK`: If set to a value other than 0, behave as if `--disable-telemetry` was specified.
- `NETDATA_INSTALLER_OPTIONS`: Specifies extra options to pass to the static installer or local build script.
### Connect node to Netdata Cloud during installation
The `kickstart.sh` script accepts additional parameters to automatically [connect](/claim/README.md) your node to Netdata
@ -74,10 +80,10 @@ Cloud immediately after installation. Find the `token` and `rooms` strings by [s
Cloud](https://app.netdata.cloud/sign-in?cloudRoute=/spaces), then clicking on **Connect Nodes** in the [Spaces management
area](https://learn.netdata.cloud/docs/cloud/spaces#manage-spaces).
- `--claim-token`: Specify a unique claiming token associated with your Space in Netdata Cloud to be used to connect to the node
- `--claim-token`: Specify a unique claiming token associated with your Space in Netdata Cloud to be used to connect to the node
after the install.
- `--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
- `--claim-proxy`: Specify a proxy to use when connecting to the cloud in the form of
`socks5[h]://[user:pass@]host:ip` for a SOCKS5 proxy, or `http://[user:pass@]host:ip` for an HTTP(S) proxy.
See [connecting through a proxy](/claim/README.md#connect-through-a-proxy) for details.
- `--claim-url`: Specify a URL to use when connecting to the cloud. Defaults to `https://app.netdata.cloud`.
@ -85,18 +91,50 @@ area](https://learn.netdata.cloud/docs/cloud/spaces#manage-spaces).
For example:
```bash
bash <(curl -Ss https://my-netdata.io/kickstart.sh) --claim-token TOKEN --claim-rooms ROOM1,ROOM2 --claim-url https://app.netdata.cloud
wget -O ./kickstart.sh https://my-netdata.io/kickstart.sh && sh ./kickstart.sh --claim-token=TOKEN --claim-rooms=ROOM1,ROOM2
```
Please note that to run it you will either need to have root privileges or run it with the user that is running the agent, more details on the [Connect an agent without root privileges](/claim/README.md#connect-an-agent-without-root-privileges) section.
### Native packages
We publish official DEB/RPM packages for a number of common Linux distributions as part of our releases and nightly
builds. These packages are available for 64-bit x86 systems. Depending on the distribution and release they may
also be available for 32-bit x86, ARMv7, and AArch64 systems. If a native package is available, it will be used as the
default installation method. This allows you to handle Netdata updates as part of your usual system update procedure.
If you want to enforce the usage of native packages and have the installer return a failure if they are not available,
you can do so by adding `--native-only` to the options you pass to the installer.
### Static builds
We publish pre-built static builds of Netdata for Linux systems. Currently, these are published for 64-bit x86, ARMv7,
AArch64, and POWER8+ hardware. These static builds are able to operate in a mostly self-contained manner and only
require a POSIX compliant shell and a supported init system. These static builds install under `/opt/netdata`. If
you are on a platform which we provide static builds for but do not provide native packages for, a static build
will be used by default for installation.
If you want to enforce the usage of a static build and have the installer return a failure if one is not available,
you can do so by adding `--static-only` to the options you pass to the installer.
### Local builds
For systems which do not have available native packages or static builds, we support building Netdata locally on
the system it will be installed on. When using this approach, the installer will attempt to install any required
dependencies for building Netdata, though this may not always work correctly.
If you want to enforce the usage of a local build (perhaps because you require a custom installation prefix,
which is not supported with native packages or static builds), you can do so by adding `--build-only` to the
options you pass to the installer.
## Verify script integrity
To use `md5sum` to verify the integrity of the `kickstart.sh` script you will download using the one-line command above,
run the following:
```bash
[ "1e09c4908ee5a2b0afff92b380e72c27" = "$(curl -Ss https://my-netdata.io/kickstart.sh | md5sum | cut -d ' ' -f 1)" ] && echo "OK, VALID" || echo "FAILED, INVALID"
[ "ae8ba2e88a3239280b5e4a53ed792a71" = "$(curl -Ss https://my-netdata.io/kickstart.sh | md5sum | cut -d ' ' -f 1)" ] && echo "OK, VALID" || echo "FAILED, INVALID"
```
If the script is valid, this command will return `OK, VALID`.

View file

@ -16,8 +16,8 @@ We recommend you to **[install Netdata with the our automatic one-line installat
As an alternative you also have community-created and -maintained [**Homebrew
package**](#install-netdata-with-the-homebrew-package).
- [Install Netdata via the Homebrew package](#install-netdata-with-the-homebrew-package)
- [Install Netdata from source](#install-netdata-from-source)
- [Install Netdata via the Homebrew package](#install-netdata-with-the-homebrew-package)
- [Install Netdata from source](#install-netdata-from-source)
Being community-created and -maintained we don't guarantee that the features made available on our installation script will also be available or give support to it.
@ -26,11 +26,15 @@ Being community-created and -maintained we don't guarantee that the features mad
To install Netdata using our automatic [kickstart](/packaging/installer/README.md#automatic-one-line-installation-script) script you will just need to run:
```bash
bash <(curl -Ss https://my-netdata.io/kickstart.sh) --install /usr/local/
wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh
```
With this script, you are also able to connect your nodes directly to Netdata Cloud if you wish, see more details on [Connect an agent running in macOS](/claim/README.md#connect-an-agent-running-in-macos)
This currently only supports building Netdata locally, and requires dependencies to be handled either via Homebrew
or MacPorts (we preferentially use Homebrew if both are found). By default, this will install Netdata under
`/usr/local/netdata`.
## Install Netdata with the Homebrew package
If you don't have [Homebrew](https://brew.sh/) installed already, begin with their installation script:

View file

@ -1,46 +0,0 @@
<!--
title: "Install Netdata with .deb/.rpm packages"
description: "Install the Netdata Agent with Linux packages that support Ubuntu, Debian, Fedora, RHEL, CentOS, openSUSE, and more."
custom_edit_url: https://github.com/netdata/netdata/edit/master/packaging/installer/methods/packages.md
-->
# Install Netdata with .deb/.rpm packages
Netdata provides our own flavour of binary packages for the most common operating systems that use with `.deb` and
`.rpm` packaging formats.
We provide two separate repositories, one for our stable releases and one for our nightly releases. Visit the repository
pages and follow the quick set-up instructions to get started.
1. Stable releases: Our stable production releases are hosted in the
[netdata/netdata](https://packagecloud.io/netdata/netdata) repository on packagecloud
2. Nightly releases: Our latest releases are hosted in the
[netdata/netdata-edge](https://packagecloud.io/netdata/netdata-edge) repository on packagecloud
## Using caching proxies with packagecloud repositories
packagecloud only provides HTTPS access to repositories they host, which means in turn that Netdata's package
repositories are only accessible via HTTPS. This is known to cause issues with some setups that use a caching proxy for
package downloads.
If you are using such a setup, there are a couple of ways to work around this:
- Configure your proxy to automatically pass through HTTPS connections without caching them. This is the simplest
solution, but means that downloads of Netdata packages will not be cached.
- Mirror the repository locally on your proxy system, and use that mirror when installing on other systems. This
requires more setup and more disk space on the caching host, but it lets you cache the packages locally.
- Some specific caching proxies may have alternative configuration options to deal with these issues. Find
such options in their documentation.
## What's next?
When you're finished with installation, check out our [single-node](/docs/quickstart/single-node.md) or
[infrastructure](/docs/quickstart/infrastructure.md) monitoring quickstart guides based on your use case.
Or, skip straight to [configuring the Netdata Agent](/docs/configure/nodes.md).
Read through Netdata's [documentation](https://learn.netdata.cloud/docs), which is structured based on actions and
solutions, to enable features like health monitoring, alarm notifications, long-term metrics storage, exporting to
external databases, and more.
[![analytics](https://www.google-analytics.com/collect?v=1&aip=1&t=pageview&_s=1&ds=github&dr=https%3A%2F%2Fgithub.com%2Fnetdata%2Fnetdata&dl=https%3A%2F%2Fmy-netdata.io%2Fgithub%2Fpackages%2Finstaller%2Fmethods%2Fpackages&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)]()

View file

@ -49,6 +49,5 @@ check_file() {
}
check_file kickstart.sh packaging/installer/methods/kickstart.md
check_file kickstart-static64.sh packaging/installer/methods/kickstart-64.md
echo "No problems found, exiting successfully!"