diff options
-rw-r--r-- | README.md | 6 | ||||
-rw-r--r-- | backends/WALKTHROUGH.md | 6 | ||||
-rwxr-xr-x | docs/generator/buildyaml.sh | 16 | ||||
-rw-r--r-- | docs/generator/custom/css/netdata.css | 132 | ||||
-rw-r--r-- | docs/step-by-step/step-07.md | 7 | ||||
-rw-r--r-- | packaging/installer/README.md | 725 | ||||
-rw-r--r-- | packaging/installer/UNINSTALL.md | 22 | ||||
-rw-r--r-- | packaging/installer/UPDATE.md | 36 | ||||
-rw-r--r-- | packaging/installer/methods/alpine.md | 29 | ||||
-rw-r--r-- | packaging/installer/methods/freebsd.md | 17 | ||||
-rw-r--r-- | packaging/installer/methods/freenas.md | 17 | ||||
-rw-r--r-- | packaging/installer/methods/kickstart-64.md | 82 | ||||
-rw-r--r-- | packaging/installer/methods/kickstart.md | 65 | ||||
-rw-r--r-- | packaging/installer/methods/macos.md | 47 | ||||
-rw-r--r-- | packaging/installer/methods/manual.md | 152 | ||||
-rw-r--r-- | packaging/installer/methods/offline.md | 76 | ||||
-rw-r--r-- | packaging/installer/methods/packages.md | 33 | ||||
-rw-r--r-- | packaging/installer/methods/pfsense.md | 40 | ||||
-rw-r--r-- | packaging/installer/methods/synology.md | 38 | ||||
-rwxr-xr-x | tests/installer/checksums.sh | 24 |
20 files changed, 911 insertions, 659 deletions
@@ -138,9 +138,9 @@ The above command will: - Install any required packages on your system (it will ask you to confirm before doing so) - Compile it, install it, and start it. -More installation methods and additional options can be found at the [installation page](packaging/installer/README.md). +More installation methods and additional options can be found at the [installation page](packaging/installer/). -To try Netdata in a docker container, run this: +To try Netdata in a Docker container, run this: ```sh docker run -d --name=netdata \ @@ -155,7 +155,7 @@ docker run -d --name=netdata \ netdata/netdata ``` -For more information about running Netdata with Docker, check the [docker installation page](packaging/docker/). +For more information about running Netdata in Docker, check the [docker installation page](packaging/docker/). ![image](https://user-images.githubusercontent.com/2662304/48304090-fd384080-e51b-11e8-80ae-eecb03118dda.png) diff --git a/backends/WALKTHROUGH.md b/backends/WALKTHROUGH.md index c6461db469..5566a42659 100644 --- a/backends/WALKTHROUGH.md +++ b/backends/WALKTHROUGH.md @@ -57,9 +57,9 @@ command to run (/bin/bash) and then chooses the base container images (centos:la sitting inside the shell of the container. After we have entered the shell we can install Netdata. This process could not be easier. If you take a look at [this -link](../packaging/installer/#installation), the Netdata devs give us several one-liners to install Netdata. I have not -had any issues with these one liners and their bootstrapping scripts so far (If you guys run into anything do share). -Run the following command in your container. +link](../packaging/installer/README.md), the Netdata devs give us several one-liners to install Netdata. I have not had +any issues with these one liners and their bootstrapping scripts so far (If you guys run into anything do share). Run +the following command in your container. ```sh bash <(curl -Ss https://my-netdata.io/kickstart.sh) --dont-wait diff --git a/docs/generator/buildyaml.sh b/docs/generator/buildyaml.sh index 4313b49392..b1d3d13f63 100755 --- a/docs/generator/buildyaml.sh +++ b/docs/generator/buildyaml.sh @@ -147,9 +147,21 @@ echo -ne " - 'docs/what-is-netdata.md' - 'docs/why-netdata/immediate-results.md' - Installation: - 'packaging/installer/README.md' - - 'packaging/docker/README.md' - - 'packaging/installer/UPDATE.md' + - Other methods: + - 'packaging/installer/methods/packages.md' + - 'packaging/installer/methods/kickstart.md' + - 'packaging/installer/methods/kickstart-64.md' + - 'packaging/docker/README.md' + - 'packaging/installer/methods/macos.md' + - 'packaging/installer/methods/freebsd.md' + - 'packaging/installer/methods/manual.md' + - 'packaging/installer/methods/offline.md' + - 'packaging/installer/methods/pfsense.md' + - 'packaging/installer/methods/synology.md' + - 'packaging/installer/methods/freenas.md' + - 'packaging/installer/methods/alpine.md' - 'packaging/DISTRIBUTIONS.md' + - 'packaging/installer/UPDATE.md' - 'packaging/installer/UNINSTALL.md' - 'docs/getting-started.md' " diff --git a/docs/generator/custom/css/netdata.css b/docs/generator/custom/css/netdata.css index 18495df8be..63e78a2da5 100644 --- a/docs/generator/custom/css/netdata.css +++ b/docs/generator/custom/css/netdata.css @@ -305,12 +305,68 @@ html [data-md-color-primary="blue-grey"] .md-nav--primary .md-nav__title--site { margin: 0; } +/* Custom styling for the installation page. */ + +.install-nav-buttons { + display: flex; + flex-flow: row wrap; + justify-content: space-around; + margin-top: 1.4rem; +} + +.install-nav-buttons div { + flex: 1; + min-width: 300px; +} + +.install-nav-buttons div:first-of-type { + flex: 1 100%; +} + +.install-nav-buttons div:first-of-type .inner { + max-width: 400px; + margin: 0 auto; + margin-bottom: 1rem; +} + +.install-nav-buttons > div:last-of-type { + margin-left: 2rem; +} + +/* Custom styling for the installation page. */ + +.install-nav-buttons { + display: flex; + flex-flow: row wrap; + justify-content: space-around; + margin-top: 1.4rem; +} + +.install-nav-buttons div { + flex: 1; + min-width: 300px; +} + +.install-nav-buttons div:first-of-type { + flex: 1 100%; +} + +.install-nav-buttons div:first-of-type .inner { + max-width: 400px; + margin: 0 auto; + margin-bottom: 1rem; +} + +.install-nav-buttons > div:last-of-type { + margin-left: 2rem; +} + .nav-button { border: 2px solid black; border-radius: 4px; display: block; font-weight: 700; - margin: 0 auto; + margin: 0 auto -0.4rem auto; padding: 0.6rem 0; text-align: center; } @@ -333,26 +389,13 @@ html [data-md-color-primary="blue-grey"] .md-nav--primary .md-nav__title--site { word-break: normal; } -/* Give code blocks a little more line height */ -.md-typeset pre { - line-height: 1.6; +/* Make the clipboard button a little darker. */ +.md-clipboard::before { + color: #546e7a; } -/* Show line numbers. */ -[data-linenos]:before { - border-right: .0625rem solid #ddd; - color: #999; - content: attr(data-linenos); - display: inline-block; - margin-left: -1.2rem; - margin-right: .7rem; - padding-left: 1.2rem; -} - -.md-typeset .highlight .hll { - display: inline; - margin: 0; - padding: 0; +.md-clipboard:focus::before { + color: #546e7a; } /* Underline links, but not badges/icons. */ @@ -384,4 +427,55 @@ html [data-md-color-primary="blue-grey"] .md-nav--primary .md-nav__title--site { /* Fix the font size of admonition and details sections. */ .md-typeset .admonition, .md-typeset details { font-size: 0.75rem; +} + +/* + Installer grid +*/ + +/* Installation / OS and method grid */ +.installer-grid { + display: grid; + grid-template-columns: repeat(4, [col-start] 1fr); + grid-gap: 2rem; +} + +.grid-item { + grid-column: span 2; + border-radius: 2px; + border: 1px solid black; + padding: 1rem; +} + +@media only screen and (max-width:76.25em) { + .grid-item { + grid-column: span 4; + } +} + +.md-typeset .grid-item img { + border: 0; + display: inline; + margin: 0 1rem 0 0; + max-height: 52px; + vertical-align: middle; +} + +.grid-item h3 { + margin-top: 0; +} + +.grid-item ul { + margin-bottom: 0; +} + +.grid-item ul li { + list-style-type: disclosure-closed; + margin: 0; +} + +.md-typeset .grid-item li a { + border-bottom: 0px !important; + text-decoration: none; + display: inline; }
\ No newline at end of file diff --git a/docs/step-by-step/step-07.md b/docs/step-by-step/step-07.md index 958dcd4cb9..395c3bc65d 100644 --- a/docs/step-by-step/step-07.md +++ b/docs/step-by-step/step-07.md @@ -53,10 +53,9 @@ modal](https://user-images.githubusercontent.com/12263278/64876743-be957a00-d647 If an update is available, you'll see a modal similar to the one above. -When you use the [automatic one-line installer script](../../packaging/installer/README.md#one-line-installation), -Netdata will automatically attempt to update every day. If you choose to update it manually, there are [several -well-documented methods](../../packaging/installer/UPDATE.md) to achieve that. However, it is best practice for you to -first go over the [changelog](../../CHANGELOG.md). +When you use the [automatic one-line installer script](../../packaging/installer/README.md) attempt to update every day. +If you choose to update it manually, there are [several well-documented methods](../../packaging/installer/UPDATE.md) to +achieve that. However, it is best practice for you to first go over the [changelog](../../CHANGELOG.md). ## Export and import a snapshot diff --git a/packaging/installer/README.md b/packaging/installer/README.md index 40287df750..3a419db3ac 100644 --- a/packaging/installer/README.md +++ b/packaging/installer/README.md @@ -1,635 +1,176 @@ -# Installation +# Installation guide -Netdata is a **monitoring agent**. It is designed to be installed and run on all your systems: **physical** and **virtual** servers, **containers**, even **IoT**. +Netdata is a monitoring agent designed to run on all your systems: physical and virtual servers, containers, even +IoT/edge devices. Netdata runs on Linux, FreeBSD, macOS, Kubernetes, Docker, and all their derivatives. -The best way to install Netdata is directly from source. Our **automatic installer** will install any required system packages and compile Netdata directly on your systems. +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, or our [**.deb/rpm +packages**](methods/packages.md), which seamlessly install with your distribution's package manager. + +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 +method?](#have-a-different-operating-system-or-want-to-try-another-method) Some third parties, such as the packaging teams at various Linux distributions, distribute old, broken, or altered -packages. We recommend you install Netdata using one of the above methods to guarantee you get the latest and +packages. We recommend you install Netdata using one of the methods listed below to guarantee you get the latest checksum-verified packages. Starting with v1.12, Netdata collects anonymous usage information by default and sends it to Google Analytics. Read about the information collected, and learn how to-opt, on our [anonymous statistics](../../docs/anonymous-statistics.md) page. -The usage statistics are _vital_ for us, as we use them to discover bugs and priortize new features. We thank you for +The usage statistics are _vital_ for us, as we use them to discover bugs and prioritize new features. We thank you for _actively_ contributing to Netdata's future. -## Installation methods - -1. [Automatic one line installation](#one-line-installation), easy installation from source, **this is the default** -2. [Install pre-built static binary on any 64bit Linux](#linux-64bit-pre-built-static-binary) -3. [Run Netdata in a docker container](#run-netdata-in-a-docker-container) -4. [Manual installation, step by step](#install-netdata-on-linux-manually) -5. [Install on FreeBSD](#freebsd) -6. [Install on pfSense](#pfsense) -7. [Enable on FreeNAS Corral](#freenas) -8. [Install on macOS (OS X)](#macos) -9. [Install on a Kubernetes cluster](https://github.com/netdata/helmchart#netdata-helm-chart-for-kubernetes-deployments) -10. [Install using binary packages](#binary-packages) -11. See also the list of Netdata [package maintainers](../maintainers) for ASUSTOR NAS, OpenWRT, ReadyNAS, etc. - -## One-line installation +## Automatic one-line installation script ![](https://registry.my-netdata.io/api/v1/badge.svg?chart=web_log_nginx.requests_per_url&options=unaligned&dimensions=kickstart&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=kickstart&group=sum&after=-86400&label=today&units=installations&precision=0) -This method is **fully automatic on all Linux distributions**. FreeBSD and MacOS systems need some preparations before installing Netdata for the first time. Check the [FreeBSD](#freebsd) and the [MacOS](#macos) sections for more information. +This method is fully automatic on all Linux distributions, including Ubuntu, Debian, Fedora, CentOS, and others. -To install Netdata from source, and keep it up to date with our **nightly releases** automatically, run the following: +To install Netdata from source and get _automatic nightly updates_, run the following as your normal user: ```bash bash <(curl -Ss https://my-netdata.io/kickstart.sh) ``` -!!! note - Do not use `sudo` for the one-line installer—it will escalate privileges itself if needed. - - -To learn more about the pros and cons of using *nightly* vs. *stable* releases, see our [notice about the two options](#nightly-vs-stable-releases). - -<details markdown="1"><summary>Click here for more information and advanced use of the one-line installation script.</summary> - -Verify the integrity of the script with this: - -```bash -[ "952da7868b2c6b8819a7c600047400f5" = "$(curl -Ss https://my-netdata.io/kickstart.sh | md5sum | cut -d ' ' -f 1)" ] && echo "OK, VALID" || echo "FAILED, INVALID" -``` - -_It should print `OK, VALID` if the script is the one we ship._ - -The `kickstart.sh` script: - -- detects the Linux distro and **installs the required system packages** for building Netdata (will ask for confirmation) -- downloads the latest Netdata source tree to `/usr/src/netdata.git`. -- installs Netdata by running `./netdata-installer.sh` from the source tree. -- installs `netdata-updater.sh` to `cron.daily`, so your Netdata installation will be updated daily (you will get a message from cron only if the update fails). -- For QA purposes, this installation method lets us know if it succeed or failed. - -The `kickstart.sh` script passes all its parameters to `netdata-installer.sh`, so you can add more parameters 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. -- `--local-files`: Used for offline installations. 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. - -Example using all the above parameters: - -```bash -bash <(curl -Ss https://my-netdata.io/kickstart.sh) --dont-wait --dont-start-it --no-updates --stable-channel --local-files /tmp/my-selfdownloaded-tarball.tar.gz /tmp/checksums.txt /tmp/manually.downloaded.go.d.binary.tar.gz /tmp/manually.downloaded.go.d.config.tar.gz -``` -Note: `--stable-channel` and `--local-files` overlap, if you use the tarball override the stable channel option is not effective -</details> - -Now that Netdata is installed, be sure to visit our [getting started guide](../../docs/getting-started.md) for a quick -overview of configuring Netdata, enabling plugins, and controlling Netdata's daemon. Or, get the full guided tour of -Netdata's capabilities with our [step-by-step tutorial](../../docs/step-by-step/step-00.md)! - ---- - -## Linux 64bit pre-built static binary - -![](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) - -You can install a pre-compiled static binary of Netdata on any Intel/AMD 64bit Linux system (even those that don't have a package manager, like CoreOS, CirrOS, busybox systems, etc). You can also use these packages on systems with broken or unsupported package managers. - -To install Netdata from a binary package on any Linux distro and any kernel version on **Intel/AMD 64bit** systems, and keep it up to date with our **nightly releases** automatically, run the following: - -```bash -bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh) -``` - -!!! note - Do not use `sudo` for this installer—it will escalate privileges itself if needed. +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](methods/kickstart.md). + +Scroll down for details about [automatic updates](#automatic-updates) or [nightly vs. stable +releases](#nightly-vs-stable-releases). + +When you finish installing Netdata, be sure to visit our [step-by-step tutorial](../../docs/step-by-step/step-00.md) +for a fully-guided tour into Netdata's capabilities and how to configure it according to your needs. + +Or, if you're a monitoring and system administration pro, skip ahead to our [getting started +guide](../../docs/getting-started.md) for a quick overview. + +## 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](../DISTRIBUTIONS.md). + +Below, you can find a few additional installation methods, followed by separate instructions for a variety of unique +operating systems. + +### Alternative methods + +<div class="installer-grid"> + <div class="grid-item"> + <h3><img src="https://user-images.githubusercontent.com/1153921/73030393-c5eb4200-3df6-11ea-9942-436caa3ed100.png" alt="Install with .deb or .rpm packages" />Packages</h3> + <ul> + <li><a href="methods/packages/">Install with <code>.deb</code> or <code>.rpm</code> packages</a></li> + </ul> + </div> + <div class="grid-item"> + <h3><img src="https://user-images.githubusercontent.com/1153921/73030303-94727680-3df6-11ea-963e-6f2cb0ce762c.png" alt="Install with a pre-built static binary for 64-bit systems" />Static binary</h3> + <ul> + <li><a href="methods/kickstart-64/">Install with a pre-built static binary for 64-bit systems</a></li> + </ul> + </div> + <div class="grid-item"> + <h3><img src="https://user-images.githubusercontent.com/1153921/71905478-e36ea980-3170-11ea-94f7-950328ad1bdf.png" alt="Install Netdata on Docker" />Docker</h3> + <ul> + <li><a href="../docker/#run-netdata-with-the-docker-command">Using the <code>docker</code> command</a></li> + <li><a href="../docker/#run-netdata-with-the-docker-command">Using a `docker-compose.yml` file</a></li> + </ul> + </div> + <div class="grid-item"> + <h3><img src="https://user-images.githubusercontent.com/1153921/71960868-c1236d00-31fe-11ea-859e-902d36233e38.png" alt="Install Netdata on Kubernetes" />Kubernetes</h3> + <ul> + <li><a href="https://github.com/netdata/helmchart#netdata-helm-chart-for-kubernetes-deployments">Using a Helm chart</a></li> + </ul> + </div> + <div class="grid-item"> + <h3><img src="https://user-images.githubusercontent.com/1153921/71961672-8cb0b080-3200-11ea-84f8-9139c7434110.png" alt="Install Netdata on macOS" />macOS</h3> + <ul> + <li><a href="methods/macos/#with-homebrew">Homebrew</a></li> + <li><a href="methods/macos/#from-source">Manual installation from source</a></li> + </ul> + </div> + <div class="grid-item"> + <h3><img src="https://user-images.githubusercontent.com/1153921/71961245-a3a2d300-31ff-11ea-89bf-b90e7242d9a5.png" alt="Install Netdata on FreeBSD" />FreeBSD</h3> + <ul> + <li><a href="methods/freebsd/">Installation on FreeBSD</a></li> + </ul> + </div> + <div class="grid-item"> + <h3><img src="https://user-images.githubusercontent.com/1153921/73032280-f1246000-3dfb-11ea-870d-7fbddd9a6f76.png" alt="Install manually from source" />Manual</h3> + <ul> + <li><a href="methods/manual/">Install manually from source</a></li> + </ul> + </div> + <div class="grid-item"> + <h3><img src="https://user-images.githubusercontent.com/1153921/73032239-c89c6600-3dfb-11ea-8224-c8a9f7a50c53.png" alt="Install on offline/air-gapped systems" />Offline</h3> + <ul> + <li><a href="methods/offline/">Install on offline/air-gapped systems</a></li> + </ul> + </div> + <div class="grid-item"> + <h3><img src="https://user-images.githubusercontent.com/1153921/71961918-13fe2400-3201-11ea-9a91-fe6f5b27df0c.png" alt="Install Netdata on PFSense" />PFSense</h3> + <ul> + <li><a href="methods/pfsense/">Installation on PFSense</a></li> + </ul> + </div> + <div class="grid-item"> + <h3><img src="https://user-images.githubusercontent.com/1153921/71962148-853dd700-3201-11ea-9a09-16fdb39e9ee4.png" alt="Install Netdata on Synology" />Synology</h3> + <ul> + <li><a href="methods/synology/">Installation on Synology</a></li> + </ul> + </div> + <div class="grid-item"> + <h3><img src="https://user-images.githubusercontent.com/1153921/72070923-543dcf00-32f3-11ea-8053-d61bc96529b5.png" alt="Install Netdata on Alpine FreeNAS" />FreeNAS</h3> + <ul> + <li><a href="methods/freenas/">Manual installation on FreeNAS</a></li> + </ul> + </div> + <div class="grid-item"> + <h3><img src="https://user-images.githubusercontent.com/1153921/72070921-53a53880-32f3-11ea-80f1-7d00cd8a7906.png" alt="Install Netdata on Alpine Linux" />Alpine</h3> + <ul> + <li><a href="methods/alpine/">Manual installation on Alpine</a></li> + </ul> + </div> +</div> -To learn more about the pros and cons of using *nightly* vs. *stable* releases, see our [notice about the two options](README.md#nightly-vs-stable-releases). - -If your system does not have `bash` installed, open the `More information and advanced uses of the kickstart-static64.sh script` dropdown for instructions to run the installer without `bash`. - -This script installs Netdata at `/opt/netdata`. +## Automatic updates -<details markdown="1"><summary>Click here for more information and advanced use of this command.</summary> +By default, Netdata's installation scripts enable automatic updates for both nightly and stable release channels. -Verify the integrity of the script with this: +If you would prefer to update your Netdata agent manually, you can disable automatic updates by using the `--no-updates` +option when you install or update Netdata using the [automatic one-line installation +script](#automatic-one-line-installation-script). ```bash -[ "dfa84c3b5e6fd8975555d68f46eccdde" = "$(curl -Ss https://my-netdata.io/kickstart-static64.sh | md5sum | cut -d ' ' -f 1)" ] && echo "OK, VALID" || echo "FAILED, INVALID" -``` - -*It should print `OK, VALID` if the script is the one we ship.* - -The `kickstart-static64.sh` script passes all its parameters to `netdata-installer.sh`, so you can add more parameters 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. -- `--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. -- `--local-files`: Used for offline installations. Pass two file paths, one for the tarball and one for the checksum file, to force kickstart run the process using those files. - -Example using all the above parameters: - -```sh -bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh) --dont-wait --dont-start-it --no-updates --stable-channel --local-files /tmp/my-selfdownloaded-tarball.tar.gz /tmp/checksums.txt -``` - -If your shell fails to handle the above one liner, do this: - -```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 -``` - -- The static binary files are kept in repo [binary-packages](https://github.com/netdata/binary-packages). You can download any of the `.run` files, and run it. These files are self-extracting shell scripts built with [makeself](https://github.com/megastep/makeself). -- The target system does **not** need to have bash installed. -- The same files can be used for updates too. -- If the `--local-files` option was not specified, installs `netdata-updater.sh` to `cron.daily`, so your Netdata installation will be updated daily (you will get a message from cron only if the update fails). -- For QA purposes, this installation method lets us know if it succeed or failed. - -</details> - -Now that Netdata is installed, be sure to visit our [getting started guide](../../docs/getting-started.md) for a quick -overview of configuring Netdata, enabling plugins, and controlling Netdata's daemon. Or, get the full guided tour of -Netdata's capabilities with our [step-by-step tutorial](../../docs/step-by-step/step-00.md)! - ---- - -## Run Netdata in a Docker container - -You can [Install Netdata with Docker](../docker/#install-netdata-with-docker). - ---- - -## Install Netdata on Linux manually - -To install the latest git version of Netdata, please follow these 2 steps: - -1. [Prepare your system](#prepare-your-system) - - Install the required packages on your system. - -2. [Install Netdata](#install-netdata) - - Download and install Netdata. You can also update it the same way. - ---- - -### Prepare your system - -Try our experimental automatic requirements installer (no need to be root). This will try to find the packages that should be installed on your system to build and run Netdata. It supports most major Linux distributions released after 2010: - -- **Alpine** Linux and its derivatives - - You have to install `bash` yourself, before using the installer. - -- **Arch** Linux and its derivatives - - You need arch/aur for package Judy. - -- **Gentoo** Linux and its derivatives - -- **Debian** Linux and its derivatives (including **Ubuntu**, **Mint**) - -- **Redhat Enterprise Linux** and its derivatives (including **Fedora**, **CentOS**, **Amazon Machine Image**) - - Please note that for RHEL/CentOS you need - [EPEL](http://www.tecmint.com/how-to-enable-epel-repository-for-rhel-centos-6-5/). - In addition, RHEL/CentOS version 6 also need - [OKay](https://okay.com.mx/blog-news/rpm-repositories-for-centos-6-and-7.html) for package libuv version 1. - -- **SuSe** Linux and its derivatives (including **openSuSe**) - -- **SLE12** Must have your system registered with Suse Customer Center or have the DVD. See [#1162](https://github.com/netdata/netdata/issues/1162) - -Install the packages for having a **basic Netdata installation** (system monitoring and many applications, without `mysql` / `mariadb`, `postgres`, `named`, hardware sensors and `SNMP`): - -```sh -curl -Ss 'https://raw.githubusercontent.com/netdata/netdata/master/packaging/installer/install-required-packages.sh' >/tmp/install-required-packages.sh && bash /tmp/install-required-packages.sh -i netdata -``` - -Install all the required packages for **monitoring everything Netdata can monitor**: - -```sh -curl -Ss 'https://raw.githubusercontent.com/netdata/netdata/master/packaging/installer/install-required-packages.sh' >/tmp/install-required-packages.sh && bash /tmp/install-required-packages.sh -i netdata-all -``` - -If the above do not work for you, please [open a github issue](https://github.com/netdata/netdata/issues/new?title=packages%20installer%20failed&labels=installation%20help&body=The%20experimental%20packages%20installer%20failed.%0A%0AThis%20is%20what%20it%20says:%0A%0A%60%60%60txt%0A%0Aplease%20paste%20your%20screen%20here%0A%0A%60%60%60) with a copy of the message you get on screen. We are trying to make it work everywhere (this is also why the script [reports back](https://github.com/netdata/netdata/issues/2054) success or failure for all its runs). - ---- - -This is how to do it by hand: - -```sh -# Debian / Ubuntu -apt-get install zlib1g-dev uuid-dev libuv1-dev liblz4-dev libjudy-dev libssl-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config curl python - -# Fedora -dnf install zlib-devel libuuid-devel libuv-devel lz4-devel Judy-devel openssl-devel libmnl-devel gcc make git autoconf autoconf-archive autogen automake pkgconfig curl findutils python - -# CentOS / Red Hat Enterprise Linux -yum install autoconf automake curl gcc git libmnl-devel libuuid-devel openssl-devel libuv-devel lz4-devel Judy-devel make nc pkgconfig python zlib-devel - -# openSUSE -zypper install zlib-devel libuuid-devel libuv-devel liblz4-devel judy-devel libopenssl-devel libmnl-devel gcc make git autoconf autoconf-archive autogen automake pkgconfig curl findutils python -``` - -Once Netdata is compiled, to run it the following packages are required (already installed using the above commands): - -| package | description| -|:-----:|-----------| -| `libuuid` | part of `util-linux` for GUIDs management| -| `zlib` | gzip compression for the internal Netdata web server| -| `libuv` | Multi-platform support library with a focus on asynchronous I/O, version 1 or greater| - -*Netdata will fail to start without the above.* - -Netdata plugins and various aspects of Netdata can be enabled or benefit when these are installed (they are optional): - -| package |description| -|:-----:|-----------| -| `bash`|for shell plugins and **alarm notifications**| -| `curl`|for shell plugins and **alarm notifications**| -| `iproute` or `iproute2`|for monitoring **Linux traffic QoS**<br/>use `iproute2` if `iproute` reports as not available or obsolete| -| `python`|for most of the external plugins| -| `python-yaml`|used for monitoring **beanstalkd**| -| `python-beanstalkc`|used for monitoring **beanstalkd**| -| `python-dnspython`|used for monitoring DNS query time| -| `python-ipaddress`|used for monitoring **DHCPd**<br/>this package is required only if the system has python v2. python v3 has this functionality embedded| -| `python-mysqldb`<br/>or<br/>`python-pymysql`|used for monitoring **mysql** or **mariadb** databases<br/>`python-mysqldb` is a lot faster and thus preferred| -| `python-psycopg2`|used for monitoring **postgresql** databases| -| `python-pymongo`|used for monitoring **mongodb** databases| -| `nodejs`|used for `node.js` plugins for monitoring **named** and **SNMP** devices| -| `lm-sensors`|for monitoring **hardware sensors**| -| `libmnl`|for collecting netfilter metrics| -| `netcat`|for shell plugins to collect metrics from remote systems| - -*Netdata will greatly benefit if you have the above packages installed, but it will still work without them.* - -Netdata DB engine can be enabled when these are installed (they are optional): - -| package | description| -|:-----:|-----------| -| `liblz4` | Extremely fast compression algorithm, version r129 or greater| -| `Judy` | General purpose dynamic array| -| `openssl`| Cryptography and SSL/TLS toolkit| - -*Netdata will greatly benefit if you have the above packages installed, but it will still work without them.* - ---- - -### Install Netdata - -Do this to install and run Netdata: - -```sh -# download it - the directory 'netdata' will be created -git clone https://github.com/netdata/netdata.git --depth=100 -cd netdata - -# run script with root privileges to build, install, start Netdata -./netdata-installer.sh -``` - -- If you don't want to run it straight-away, add `--dont-start-it` option. - -- You can also append `--stable-channel` to fetch and install only the official releases from GitHub, instead of the nightly builds. - -- You can |