@cryptotaxi247 / netdata-1 / commits / 439f334e6

Docs: Overhaul of installation documentation (#7841)

* Initial commit to bring new branch up to speed with previous work * Initial commit to bring new branch up to speed with previous work * Pass through for grammar and typos * Pass through for grammar and typos * First additions * Improvements to installation page plus new separate kickstart page * Lots of new pages, lots of improvements * Continued work * Fixing the install grid * Added methods to nav * Fix typo and add kickstart to nav * CSS cleanup * Various cleanup * Cleanup on update/uninstall pages * Add responsiveness to install grid * Update checking of the kickstart files MD5 checksusm. This updates the CI script used to verify the MD5 checksums of the kickstart files as being correct in the documentation to use the new locations for the respective checksums. This is more involved than a simple path update because the existing script assumes that both checksums are listed in the same file, which is no longer the case. Any future updates that move the location of the checksums just need to modify the lines in tests/installer/checksums.sh that start with `check_checksum` to point to the correct files. * Added Alpine package for James * Add packages to top of installation page * Fix for Chris * Telemetry fixes * Trying to fix CI * Changing checksums * Fix CI checks for kickstart checksums. The changed wording was confusing the code that parsed the checksum out of the documentation, this fixes the code to handle this new wording correctly. * Update kickstart-static64 checksum * Update 64 checksum Co-authored-by: Austin S. Hemmelgarn <ahferroin7@gmail.com>

Joel Hans committed Jan 27, 2020 at 14:26 UTC 439f334e678baf92253315d65d374b67dd4b9a16
20 files changed +911 -659
README.md
+3 -3
@@ -138,9 +138,9 @@ The above command will:
138 - Install any required packages on your system (it will ask you to confirm before doing so)
139 - Compile it, install it, and start it.
140
141 -More installation methods and additional options can be found at the [installation page](packaging/installer/README.md).
141 +More installation methods and additional options can be found at the [installation page](packaging/installer/).
142
143 -To try Netdata in a docker container, run this:
143 +To try Netdata in a Docker container, run this:
144
145 ```sh
146 docker run -d --name=netdata \
@@ -155,7 +155,7 @@ docker run -d --name=netdata \
155 netdata/netdata
156 ```
157
158 -For more information about running Netdata with Docker, check the [docker installation page](packaging/docker/).
158 +For more information about running Netdata in Docker, check the [docker installation page](packaging/docker/).
159
160 ![image](https://user-images.githubusercontent.com/2662304/48304090-fd384080-e51b-11e8-80ae-eecb03118dda.png)
161
backends/WALKTHROUGH.md
+3 -3
@@ -57,9 +57,9 @@ command to run (/bin/bash) and then chooses the base container images (centos:la
57 sitting inside the shell of the container.
58
59 After we have entered the shell we can install Netdata. This process could not be easier. If you take a look at [this
60 -link](../packaging/installer/#installation), the Netdata devs give us several one-liners to install Netdata. I have not
61 -had any issues with these one liners and their bootstrapping scripts so far (If you guys run into anything do share).
62 -Run the following command in your container.
60 +link](../packaging/installer/README.md), the Netdata devs give us several one-liners to install Netdata. I have not had
61 +any issues with these one liners and their bootstrapping scripts so far (If you guys run into anything do share). Run
62 +the following command in your container.
63
64 ```sh
65 bash <(curl -Ss https://my-netdata.io/kickstart.sh) --dont-wait
docs/generator/buildyaml.sh
+14 -2
@@ -147,9 +147,21 @@ echo -ne " - 'docs/what-is-netdata.md'
147 - 'docs/why-netdata/immediate-results.md'
148 - Installation:
149 - 'packaging/installer/README.md'
150 - - 'packaging/docker/README.md'
151 - - 'packaging/installer/UPDATE.md'
150 + - Other methods:
151 + - 'packaging/installer/methods/packages.md'
152 + - 'packaging/installer/methods/kickstart.md'
153 + - 'packaging/installer/methods/kickstart-64.md'
154 + - 'packaging/docker/README.md'
155 + - 'packaging/installer/methods/macos.md'
156 + - 'packaging/installer/methods/freebsd.md'
157 + - 'packaging/installer/methods/manual.md'
158 + - 'packaging/installer/methods/offline.md'
159 + - 'packaging/installer/methods/pfsense.md'
160 + - 'packaging/installer/methods/synology.md'
161 + - 'packaging/installer/methods/freenas.md'
162 + - 'packaging/installer/methods/alpine.md'
163 - 'packaging/DISTRIBUTIONS.md'
164 + - 'packaging/installer/UPDATE.md'
165 - 'packaging/installer/UNINSTALL.md'
166 - 'docs/getting-started.md'
167 "
docs/generator/custom/css/netdata.css
+113 -19
@@ -305,12 +305,68 @@ html [data-md-color-primary="blue-grey"] .md-nav--primary .md-nav__title--site {
305 margin: 0;
306 }
307
308 +/* Custom styling for the installation page. */
309 +
310 +.install-nav-buttons {
311 + display: flex;
312 + flex-flow: row wrap;
313 + justify-content: space-around;
314 + margin-top: 1.4rem;
315 +}
316 +
317 +.install-nav-buttons div {
318 + flex: 1;
319 + min-width: 300px;
320 +}
321 +
322 +.install-nav-buttons div:first-of-type {
323 + flex: 1 100%;
324 +}
325 +
326 +.install-nav-buttons div:first-of-type .inner {
327 + max-width: 400px;
328 + margin: 0 auto;
329 + margin-bottom: 1rem;
330 +}
331 +
332 +.install-nav-buttons > div:last-of-type {
333 + margin-left: 2rem;
334 +}
335 +
336 +/* Custom styling for the installation page. */
337 +
338 +.install-nav-buttons {
339 + display: flex;
340 + flex-flow: row wrap;
341 + justify-content: space-around;
342 + margin-top: 1.4rem;
343 +}
344 +
345 +.install-nav-buttons div {
346 + flex: 1;
347 + min-width: 300px;
348 +}
349 +
350 +.install-nav-buttons div:first-of-type {
351 + flex: 1 100%;
352 +}
353 +
354 +.install-nav-buttons div:first-of-type .inner {
355 + max-width: 400px;
356 + margin: 0 auto;
357 + margin-bottom: 1rem;
358 +}
359 +
360 +.install-nav-buttons > div:last-of-type {
361 + margin-left: 2rem;
362 +}
363 +
364 .nav-button {
365 border: 2px solid black;
366 border-radius: 4px;
367 display: block;
368 font-weight: 700;
313 - margin: 0 auto;
369 + margin: 0 auto -0.4rem auto;
370 padding: 0.6rem 0;
371 text-align: center;
372 }
@@ -333,26 +389,13 @@ html [data-md-color-primary="blue-grey"] .md-nav--primary .md-nav__title--site {
389 word-break: normal;
390 }
391
336 -/* Give code blocks a little more line height */
337 -.md-typeset pre {
338 - line-height: 1.6;
392 +/* Make the clipboard button a little darker. */
393 +.md-clipboard::before {
394 + color: #546e7a;
395 }
396
341 -/* Show line numbers. */
342 -[data-linenos]:before {
343 - border-right: .0625rem solid #ddd;
344 - color: #999;
345 - content: attr(data-linenos);
346 - display: inline-block;
347 - margin-left: -1.2rem;
348 - margin-right: .7rem;
349 - padding-left: 1.2rem;
350 -}
351 -
352 -.md-typeset .highlight .hll {
353 - display: inline;
354 - margin: 0;
355 - padding: 0;
397 +.md-clipboard:focus::before {
398 + color: #546e7a;
399 }
400
401 /* Underline links, but not badges/icons. */
@@ -384,4 +427,55 @@ html [data-md-color-primary="blue-grey"] .md-nav--primary .md-nav__title--site {
427 /* Fix the font size of admonition and details sections. */
428 .md-typeset .admonition, .md-typeset details {
429 font-size: 0.75rem;
430 +}
431 +
432 +/*
433 + Installer grid
434 +*/
435 +
436 +/* Installation / OS and method grid */
437 +.installer-grid {
438 + display: grid;
439 + grid-template-columns: repeat(4, [col-start] 1fr);
440 + grid-gap: 2rem;
441 +}
442 +
443 +.grid-item {
444 + grid-column: span 2;
445 + border-radius: 2px;
446 + border: 1px solid black;
447 + padding: 1rem;
448 +}
449 +
450 +@media only screen and (max-width:76.25em) {
451 + .grid-item {
452 + grid-column: span 4;
453 + }
454 +}
455 +
456 +.md-typeset .grid-item img {
457 + border: 0;
458 + display: inline;
459 + margin: 0 1rem 0 0;
460 + max-height: 52px;
461 + vertical-align: middle;
462 +}
463 +
464 +.grid-item h3 {
465 + margin-top: 0;
466 +}
467 +
468 +.grid-item ul {
469 + margin-bottom: 0;
470 +}
471 +
472 +.grid-item ul li {
473 + list-style-type: disclosure-closed;
474 + margin: 0;
475 +}
476 +
477 +.md-typeset .grid-item li a {
478 + border-bottom: 0px !important;
479 + text-decoration: none;
480 + display: inline;
481 }
\ No newline at end of file
docs/step-by-step/step-07.md
+3 -4
@@ -53,10 +53,9 @@ modal](https://user-images.githubusercontent.com/12263278/64876743-be957a00-d647
53
54 If an update is available, you'll see a modal similar to the one above.
55
56 -When you use the [automatic one-line installer script](../../packaging/installer/README.md#one-line-installation),
57 -Netdata will automatically attempt to update every day. If you choose to update it manually, there are [several
58 -well-documented methods](../../packaging/installer/UPDATE.md) to achieve that. However, it is best practice for you to
59 -first go over the [changelog](../../CHANGELOG.md).
56 +When you use the [automatic one-line installer script](../../packaging/installer/README.md) attempt to update every day.
57 +If you choose to update it manually, there are [several well-documented methods](../../packaging/installer/UPDATE.md) to
58 +achieve that. However, it is best practice for you to first go over the [changelog](../../CHANGELOG.md).
59
60 ## Export and import a snapshot
61
packaging/installer/README.md
+133 -592
@@ -1,635 +1,176 @@
1 -# Installation
1 +# Installation guide
2
3 -Netdata is a **monitoring agent**. It is designed to be installed and run on all your systems: **physical** and **virtual** servers, **containers**, even **IoT**.
3 +Netdata is a monitoring agent designed to run on all your systems: physical and virtual servers, containers, even
4 +IoT/edge devices. Netdata runs on Linux, FreeBSD, macOS, Kubernetes, Docker, and all their derivatives.
5
5 -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.
6 +The best way to install Netdata is with our [**automatic one-line installation
7 +script**](#automatic-one-line-installation-script), which works with all Linux distributions, or our [**.deb/rpm
8 +packages**](methods/packages.md), which seamlessly install with your distribution's package manager.
9 +
10 +If you want to install Netdata with Docker, on a Kubernetes cluster, or a different operating system, see [Have a
11 +different operating system, or want to try another
12 +method?](#have-a-different-operating-system-or-want-to-try-another-method)
13
14 Some third parties, such as the packaging teams at various Linux distributions, distribute old, broken, or altered
8 -packages. We recommend you install Netdata using one of the above methods to guarantee you get the latest and
15 +packages. We recommend you install Netdata using one of the methods listed below to guarantee you get the latest
16 checksum-verified packages.
17
18 Starting with v1.12, Netdata collects anonymous usage information by default and sends it to Google Analytics. Read
19 about the information collected, and learn how to-opt, on our [anonymous statistics](../../docs/anonymous-statistics.md)
20 page.
21
15 -The usage statistics are _vital_ for us, as we use them to discover bugs and priortize new features. We thank you for
22 +The usage statistics are _vital_ for us, as we use them to discover bugs and prioritize new features. We thank you for
23 _actively_ contributing to Netdata's future.
24
18 -## Installation methods
19 -
20 -1. [Automatic one line installation](#one-line-installation), easy installation from source, **this is the default**
21 -2. [Install pre-built static binary on any 64bit Linux](#linux-64bit-pre-built-static-binary)
22 -3. [Run Netdata in a docker container](#run-netdata-in-a-docker-container)
23 -4. [Manual installation, step by step](#install-netdata-on-linux-manually)
24 -5. [Install on FreeBSD](#freebsd)
25 -6. [Install on pfSense](#pfsense)
26 -7. [Enable on FreeNAS Corral](#freenas)
27 -8. [Install on macOS (OS X)](#macos)
28 -9. [Install on a Kubernetes cluster](https://github.com/netdata/helmchart#netdata-helm-chart-for-kubernetes-deployments)
29 -10. [Install using binary packages](#binary-packages)
30 -11. See also the list of Netdata [package maintainers](../maintainers) for ASUSTOR NAS, OpenWRT, ReadyNAS, etc.
31 -
32 -## One-line installation
25 +## Automatic one-line installation script
26
27 ![](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)
28
36 -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.
29 +This method is fully automatic on all Linux distributions, including Ubuntu, Debian, Fedora, CentOS, and others.
30
38 -To install Netdata from source, and keep it up to date with our **nightly releases** automatically, run the following:
31 +To install Netdata from source and get _automatic nightly updates_, run the following as your normal user:
32
33 ```bash
34 bash <(curl -Ss https://my-netdata.io/kickstart.sh)
35 ```
36
44 -!!! note
45 - Do not use `sudo` for the one-line installer—it will escalate privileges itself if needed.
46 -
47 -
48 -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).
49 -
50 -<details markdown="1"><summary>Click here for more information and advanced use of the one-line installation script.</summary>
51 -
52 -Verify the integrity of the script with this:
53 -
54 -```bash
55 -[ "952da7868b2c6b8819a7c600047400f5" = "$(curl -Ss https://my-netdata.io/kickstart.sh | md5sum | cut -d ' ' -f 1)" ] && echo "OK, VALID" || echo "FAILED, INVALID"
56 -```
57 -
58 -_It should print `OK, VALID` if the script is the one we ship._
59 -
60 -The `kickstart.sh` script:
61 -
62 -- detects the Linux distro and **installs the required system packages** for building Netdata (will ask for confirmation)
63 -- downloads the latest Netdata source tree to `/usr/src/netdata.git`.
64 -- installs Netdata by running `./netdata-installer.sh` from the source tree.
65 -- 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).
66 -- For QA purposes, this installation method lets us know if it succeed or failed.
67 -
68 -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:
69 -
70 -- `--dont-wait`: Enable automated installs by not prompting for permission to install any required packages.
71 -- `--dont-start-it`: Prevent the installer from starting Netdata automatically.
72 -- `--stable-channel`: Automatically update only on the release of new major versions.
73 -- `--nightly-channel`: Automatically update on every new nightly build.
74 -- `--disable-telemetry`: Opt-out of [anonymous statistics](../../docs/anonymous-statistics.md) we use to make Netdata
75 - better.
76 -- `--no-updates`: Prevent automatic updates of any kind.
77 -- `--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.
78 -
79 -Example using all the above parameters:
80 -
81 -```bash
82 -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
83 -```
84 -Note: `--stable-channel` and `--local-files` overlap, if you use the tarball override the stable channel option is not effective
85 -</details>
86 -
87 -Now that Netdata is installed, be sure to visit our [getting started guide](../../docs/getting-started.md) for a quick
88 -overview of configuring Netdata, enabling plugins, and controlling Netdata's daemon. Or, get the full guided tour of
89 -Netdata's capabilities with our [step-by-step tutorial](../../docs/step-by-step/step-00.md)!
90 -
91 ----
92 -
93 -## Linux 64bit pre-built static binary
94 -
95 -![](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)
96 -
97 -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.
98 -
99 -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:
100 -
101 -```bash
102 -bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh)
103 -```
104 -
105 -!!! note
106 - Do not use `sudo` for this installer—it will escalate privileges itself if needed.
37 +To see more information about this installation script, including how to disable automatic updates, get nightly vs.
38 +stable releases, or disable anonymous statistics, see the [`kickstart.sh` method page](methods/kickstart.md).
39 +
40 +Scroll down for details about [automatic updates](#automatic-updates) or [nightly vs. stable
41 +releases](#nightly-vs-stable-releases).
42 +
43 +When you finish installing Netdata, be sure to visit our [step-by-step tutorial](../../docs/step-by-step/step-00.md)
44 +for a fully-guided tour into Netdata's capabilities and how to configure it according to your needs.
45 +
46 +Or, if you're a monitoring and system administration pro, skip ahead to our [getting started
47 +guide](../../docs/getting-started.md) for a quick overview.
48 +
49 +## Have a different operating system, or want to try another method?
50 +
51 +Netdata works on many different operating systems, each with a few possible installation methods. To see the full list
52 +of approved methods for each operating system/version we support, see our [distribution matrix](../DISTRIBUTIONS.md).
53 +
54 +Below, you can find a few additional installation methods, followed by separate instructions for a variety of unique
55 +operating systems.
56 +
57 +### Alternative methods
58 +
59 +<div class="installer-grid">
60 + <div class="grid-item">
61 + <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>
62 + <ul>
63 + <li><a href="methods/packages/">Install with <code>.deb</code> or <code>.rpm</code> packages</a></li>
64 + </ul>
65 + </div>
66 + <div class="grid-item">
67 + <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>
68 + <ul>
69 + <li><a href="methods/kickstart-64/">Install with a pre-built static binary for 64-bit systems</a></li>
70 + </ul>
71 + </div>
72 + <div class="grid-item">
73 + <h3><img src="https://user-images.githubusercontent.com/1153921/71905478-e36ea980-3170-11ea-94f7-950328ad1bdf.png" alt="Install Netdata on Docker" />Docker</h3>
74 + <ul>
75 + <li><a href="../docker/#run-netdata-with-the-docker-command">Using the <code>docker</code> command</a></li>
76 + <li><a href="../docker/#run-netdata-with-the-docker-command">Using a `docker-compose.yml` file</a></li>
77 + </ul>
78 + </div>
79 + <div class="grid-item">
80 + <h3><img src="https://user-images.githubusercontent.com/1153921/71960868-c1236d00-31fe-11ea-859e-902d36233e38.png" alt="Install Netdata on Kubernetes" />Kubernetes</h3>
81 + <ul>
82 + <li><a href="https://github.com/netdata/helmchart#netdata-helm-chart-for-kubernetes-deployments">Using a Helm chart</a></li>
83 + </ul>
84 + </div>
85 + <div class="grid-item">
86 + <h3><img src="https://user-images.githubusercontent.com/1153921/71961672-8cb0b080-3200-11ea-84f8-9139c7434110.png" alt="Install Netdata on macOS" />macOS</h3>
87 + <ul>
88 + <li><a href="methods/macos/#with-homebrew">Homebrew</a></li>
89 + <li><a href="methods/macos/#from-source">Manual installation from source</a></li>
90 + </ul>
91 + </div>
92 + <div class="grid-item">
93 + <h3><img src="https://user-images.githubusercontent.com/1153921/71961245-a3a2d300-31ff-11ea-89bf-b90e7242d9a5.png" alt="Install Netdata on FreeBSD" />FreeBSD</h3>
94 + <ul>
95 + <li><a href="methods/freebsd/">Installation on FreeBSD</a></li>
96 + </ul>
97 + </div>
98 + <div class="grid-item">
99 + <h3><img src="https://user-images.githubusercontent.com/1153921/73032280-f1246000-3dfb-11ea-870d-7fbddd9a6f76.png" alt="Install manually from source" />Manual</h3>
100 + <ul>
101 + <li><a href="methods/manual/">Install manually from source</a></li>
102 + </ul>
103 + </div>
104 + <div class="grid-item">
105 + <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>
106 + <ul>
107 + <li><a href="methods/offline/">Install on offline/air-gapped systems</a></li>
108 + </ul>
109 + </div>
110 + <div class="grid-item">
111 + <h3><img src="https://user-images.githubusercontent.com/1153921/71961918-13fe2400-3201-11ea-9a91-fe6f5b27df0c.png" alt="Install Netdata on PFSense" />PFSense</h3>
112 + <ul>
113 + <li><a href="methods/pfsense/">Installation on PFSense</a></li>
114 + </ul>
115 + </div>
116 + <div class="grid-item">
117 + <h3><img src="https://user-images.githubusercontent.com/1153921/71962148-853dd700-3201-11ea-9a09-16fdb39e9ee4.png" alt="Install Netdata on Synology" />Synology</h3>
118 + <ul>
119 + <li><a href="methods/synology/">Installation on Synology</a></li>
120 + </ul>
121 + </div>
122 + <div class="grid-item">
123 + <h3><img src="https://user-images.githubusercontent.com/1153921/72070923-543dcf00-32f3-11ea-8053-d61bc96529b5.png" alt="Install Netdata on Alpine FreeNAS" />FreeNAS</h3>
124 + <ul>
125 + <li><a href="methods/freenas/">Manual installation on FreeNAS</a></li>
126 + </ul>
127 + </div>
128 + <div class="grid-item">
129 + <h3><img src="https://user-images.githubusercontent.com/1153921/72070921-53a53880-32f3-11ea-80f1-7d00cd8a7906.png" alt="Install Netdata on Alpine Linux" />Alpine</h3>
130 + <ul>
131 + <li><a href="methods/alpine/">Manual installation on Alpine</a></li>
132 + </ul>
133 + </div>
134 +</div>
135
108 -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).
109 -
110 -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`.
111 -
112 -This script installs Netdata at `/opt/netdata`.
136 +## Automatic updates
137
114 -<details markdown="1"><summary>Click here for more information and advanced use of this command.</summary>
138 +By default, Netdata's installation scripts enable automatic updates for both nightly and stable release channels.
139
116 -Verify the integrity of the script with this:
140 +If you would prefer to update your Netdata agent manually, you can disable automatic updates by using the `--no-updates`
141 +option when you install or update Netdata using the [automatic one-line installation
142 +script](#automatic-one-line-installation-script).
143
144 ```bash
119 -[ "dfa84c3b5e6fd8975555d68f46eccdde" = "$(curl -Ss https://my-netdata.io/kickstart-static64.sh | md5sum | cut -d ' ' -f 1)" ] && echo "OK, VALID" || echo "FAILED, INVALID"
120 -```
121 -
122 -*It should print `OK, VALID` if the script is the one we ship.*
123 -
124 -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:
125 -
126 -- `--dont-wait`: Enable automated installs by not prompting for permission to install any required packages.
127 -- `--dont-start-it`: Prevent the installer from starting Netdata automatically.
128 -- `--stable-channel`: Automatically update only on the release of new major versions.
129 -- `--disable telemetry`: Opt-out of [anonymous statistics](../../docs/anonymous-statistics.md) we use to make Netdata
130 - better.
131 -- `--no-updates`: Prevent automatic updates of any kind.
132 -- `--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.
133 -
134 -Example using all the above parameters:
135 -
136 -```sh
137 -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
138 -```
139 -
140 -If your shell fails to handle the above one liner, do this:
141 -
142 -```sh
143 -# download the script with curl
144 -curl https://my-netdata.io/kickstart-static64.sh >/tmp/kickstart-static64.sh
145 -
146 -# or, download the script with wget
147 -wget -O /tmp/kickstart-static64.sh https://my-netdata.io/kickstart-static64.sh
148 -
149 -# run the downloaded script (any sh is fine, no need for bash)
150 -sh /tmp/kickstart-static64.sh
151 -```
152 -
153 -- 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).
154 -- The target system does **not** need to have bash installed.
155 -- The same files can be used for updates too.
156 -- 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).
157 -- For QA purposes, this installation method lets us know if it succeed or failed.
158 -
159 -</details>
160 -
161 -Now that Netdata is installed, be sure to visit our [getting started guide](../../docs/getting-started.md) for a quick
162 -overview of configuring Netdata, enabling plugins, and controlling Netdata's daemon. Or, get the full guided tour of
163 -Netdata's capabilities with our [step-by-step tutorial](../../docs/step-by-step/step-00.md)!
164 -
165 ----
166 -
167 -## Run Netdata in a Docker container
168 -
169 -You can [Install Netdata with Docker](../docker/#install-netdata-with-docker).
170 -
171 ----
172 -
173 -## Install Netdata on Linux manually
174 -
175 -To install the latest git version of Netdata, please follow these 2 steps:
176 -
177 -1. [Prepare your system](#prepare-your-system)
178 -
179 - Install the required packages on your system.
180 -
181 -2. [Install Netdata](#install-netdata)
182 -
183 - Download and install Netdata. You can also update it the same way.
184 -
185 ----
186 -
187 -### Prepare your system
188 -
189 -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:
190 -
191 -- **Alpine** Linux and its derivatives
192 - - You have to install `bash` yourself, before using the installer.
193 -
194 -- **Arch** Linux and its derivatives
195 - - You need arch/aur for package Judy.
196 -
197 -- **Gentoo** Linux and its derivatives
198 -
199 -- **Debian** Linux and its derivatives (including **Ubuntu**, **Mint**)
200 -
201 -- **Redhat Enterprise Linux** and its derivatives (including **Fedora**, **CentOS**, **Amazon Machine Image**)
202 - - Please note that for RHEL/CentOS you need
203 - [EPEL](http://www.tecmint.com/how-to-enable-epel-repository-for-rhel-centos-6-5/).
204 - In addition, RHEL/CentOS version 6 also need
205 - [OKay](https://okay.com.mx/blog-news/rpm-repositories-for-centos-6-and-7.html) for package libuv version 1.
206 -
207 -- **SuSe** Linux and its derivatives (including **openSuSe**)
208 -
209 -- **SLE12** Must have your system registered with Suse Customer Center or have the DVD. See [#1162](https://github.com/netdata/netdata/issues/1162)
210 -
211 -Install the packages for having a **basic Netdata installation** (system monitoring and many applications, without `mysql` / `mariadb`, `postgres`, `named`, hardware sensors and `SNMP`):
212 -
213 -```sh
214 -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
215 -```
216 -
217 -Install all the required packages for **monitoring everything Netdata can monitor**:
218 -
219 -```sh
220 -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
221 -```
222 -
223 -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).
224 -
225 ----
226 -
227 -This is how to do it by hand:
228 -
229 -```sh
230 -# Debian / Ubuntu
231 -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
232 -
233 -# Fedora
234 -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
235 -
236 -# CentOS / Red Hat Enterprise Linux
237 -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
238 -
239 -# openSUSE
240 -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
241 -```
242 -
243 -Once Netdata is compiled, to run it the following packages are required (already installed using the above commands):
244 -
245 -| package | description|
246 -|:-----:|-----------|
247 -| `libuuid` | part of `util-linux` for GUIDs management|
248 -| `zlib` | gzip compression for the internal Netdata web server|
249 -| `libuv` | Multi-platform support library with a focus on asynchronous I/O, version 1 or greater|
250 -
251 -*Netdata will fail to start without the above.*
252 -
253 -Netdata plugins and various aspects of Netdata can be enabled or benefit when these are installed (they are optional):
254 -
255 -| package |description|
256 -|:-----:|-----------|
257 -| `bash`|for shell plugins and **alarm notifications**|
258 -| `curl`|for shell plugins and **alarm notifications**|
259 -| `iproute` or `iproute2`|for monitoring **Linux traffic QoS**<br/>use `iproute2` if `iproute` reports as not available or obsolete|
260 -| `python`|for most of the external plugins|
261 -| `python-yaml`|used for monitoring **beanstalkd**|
262 -| `python-beanstalkc`|used for monitoring **beanstalkd**|
263 -| `python-dnspython`|used for monitoring DNS query time|
264 -| `python-ipaddress`|used for monitoring **DHCPd**<br/>this package is required only if the system has python v2. python v3 has this functionality embedded|
265 -| `python-mysqldb`<br/>or<br/>`python-pymysql`|used for monitoring **mysql** or **mariadb** databases<br/>`python-mysqldb` is a lot faster and thus preferred|
266 -| `python-psycopg2`|used for monitoring **postgresql** databases|
267 -| `python-pymongo`|used for monitoring **mongodb** databases|
268 -| `nodejs`|used for `node.js` plugins for monitoring **named** and **SNMP** devices|
269 -| `lm-sensors`|for monitoring **hardware sensors**|
270 -| `libmnl`|for collecting netfilter metrics|
271 -| `netcat`|for shell plugins to collect metrics from remote systems|
272 -
273 -*Netdata will greatly benefit if you have the above packages installed, but it will still work without them.*
274 -
275 -Netdata DB engine can be enabled when these are installed (they are optional):
276 -
277 -| package | description|
278 -|:-----:|-----------|
279 -| `liblz4` | Extremely fast compression algorithm, version r129 or greater|
280 -| `Judy` | General purpose dynamic array|
281 -| `openssl`| Cryptography and SSL/TLS toolkit|
282 -
283 -*Netdata will greatly benefit if you have the above packages installed, but it will still work without them.*
284 -
285 ----
286 -
287 -### Install Netdata
288 -
289 -Do this to install and run Netdata:
290 -
291 -```sh
292 -# download it - the directory 'netdata' will be created
293 -git clone https://github.com/netdata/netdata.git --depth=100
294 -cd netdata
295 -
296 -# run script with root privileges to build, install, start Netdata
297 -./netdata-installer.sh
298 -```
299 -
300 -- If you don't want to run it straight-away, add `--dont-start-it` option.
301 -
302 -- You can also append `--stable-channel` to fetch and install only the official releases from GitHub, instead of the nightly builds.
303 -
304 -- You can append `--disable telemetry` to opt-out of [anonymous statistics](../../docs/anonymous-statistics.md) we use
305 - to make Netdata better.
306 -
307 -- If you don't want to install it on the default directories, you can run the installer like this: `./netdata-installer.sh --install /opt`. This one will install Netdata in `/opt/netdata`.
308 -
309 -- If your server does not have access to the internet and you have manually put the installation directory on your server, you will need to pass the option `--disable-go` to the installer. The option will prevent the installer from attempting to download and install `go.d.plugin`.
310 -
311 -Once the installer completes, the file `/etc/netdata/netdata.conf` will be created (if you changed the installation directory, the configuration will appear in that directory too).
312 -
313 -You can edit this file to set options. One common option to tweak is `history`, which controls the size of the memory database Netdata will use. By default is `3600` seconds (an hour of data at the charts) which makes Netdata use about 10-15MB of RAM (depending on the number of charts detected on your system). Check **\[[Memory Requirements]]**.
314 -
315 -To apply the changes you made, you have to restart Netdata.
316 -
317 ----
318 -
319 -### Binary Packages
320 -
321 -![](https://raw.githubusercontent.com/netdata/netdata/master/web/gui/images/packaging-beta-tag.svg?sanitize=true)
322 -
323 -We provide our own flavour of binary packages for the most common operating systems that comply with .RPM and .DEB packaging formats.
324 -
325 -We have currently released packages following the .RPM format with version [1.16.0](https://github.com/netdata/netdata/releases/tag/v1.16.0).
326 -We have planned to release packages following the .DEB format with version [1.17.0](https://github.com/netdata/netdata/releases/tag/v1.17.0).
327 -Early adopters may experiment with our .DEB formatted packages using our nightly releases. Our current packaging infrastructure provider is [Package Cloud](https://packagecloud.io).
328 -
329 -Netdata is committed to support installation of our solution to all operating systems. This is a constant battle for Netdata, as we strive to automate and make things easier for our users. For the operating system support matrix, please visit our [distributions](../../packaging/DISTRIBUTIONS.md) support page.
330 -
331 -We provide two separate repositories, one for our stable releases and one for our nightly releases.
332 -
333 -1. Stable releases: Our stable production releases are hosted in [netdata/netdata](https://packagecloud.io/netdata/netdata) repository of package cloud
334 -2. Nightly releases: Our latest releases are hosted in [netdata/netdata-edge](https://packagecloud.io/netdata/netdata-edge) repository of package cloud
335 -
336 -Visit the repository pages and follow the quick set-up instructions to get started.
337 -
338 ----
339 -
340 -## Other Systems
341 -
342 -##### FreeBSD
343 -
344 -You can install Netdata from ports or packages collection.
345 -
346 -This is how to install the latest Netdata version from sources on FreeBSD:
347 -
348 -```sh
349 -# install required packages
350 -pkg install bash e2fsprogs-libuuid git curl autoconf automake pkgconf pidof Judy liblz4 libuv json-c
351 -
352 -# download Netdata
353 -git clone https://github.com/netdata/netdata.git --depth=100
354 -
355 -# install Netdata in /opt/netdata
356 -cd netdata
357 -./netdata-installer.sh --install /opt
358 -```
359 -
360 -##### pfSense
361 -
362 -To install Netdata on pfSense, run the following commands (within a shell or under the **Diagnostics/Command** prompt within the pfSense web interface).
363 -
364 -Note that the first four packages are downloaded from the pfSense repository for maintaining compatibility with pfSense, Netdata, Judy and Python are downloaded from the FreeBSD repository.
365 -
366 -```sh
367 -pkg install pkgconf
368 -pkg install bash
369 -pkg install e2fsprogs-libuuid
370 -pkg install libuv
371 -pkg add http://pkg.freebsd.org/FreeBSD:11:amd64/latest/All/Judy-1.0.5_2.txz
372 -pkg add http://pkg.freebsd.org/FreeBSD:11:amd64/latest/All/python37-3.7.6.txz
373 -ln -s /usr/local/lib/libjson-c.so /usr/local/lib/libjson-c.so.4
374 -pkg add http://pkg.freebsd.org/FreeBSD:11:amd64/latest/All/netdata-1.19.0.txz
375 -```
376 -**Note:** If you receive a ` Not Found` error during the last two commands above, you will either need to manually look in the [repo folder](http://pkg.freebsd.org/FreeBSD:11:amd64/latest/All/) for the latest available package and use its URL instead, or you can try manually changing the netdata version in the URL to the latest version.
377 -
378 -You must edit `/usr/local/etc/netdata/netdata.conf` and change `bind to = 127.0.0.1` to `bind to = 0.0.0.0`.
379 -
380 -To start Netdata manually, run `service netdata onestart`
381 -
382 -Visit the Netdata dashboard to confirm it's working: `http://<pfsenseIP>:19999`
383 -
384 -To start Netdata automatically every boot, add `service netdata onestart` as a Shellcmd entry within the pfSense web interface under **Services/Shellcmd**. You'll need to install the Shellcmd package beforehand under **System/Package Manager/Available Packages**. The Shellcmd Type should be set to `Shellcmd`.
385 -![](https://i.imgur.com/wcKiPe1.png)
386 -Alternatively more information can be found in <https://doc.pfsense.org/index.php/Installing_FreeBSD_Packages>, for achieving the same via the command line and scripts.
387 -
388 -If you experience an issue with `/usr/bin/install` being absent in pfSense 2.3 or earlier, update pfSense or use a workaround from <https://redmine.pfsense.org/issues/6643>
389 -
390 -**Note:** In pfSense, the Netdata configuration files are located under `/usr/local/etc/netdata`
391 -
392 -##### FreeNAS
393 -
394 -On FreeNAS-Corral-RELEASE (>=10.0.3 and <11.3), Netdata is pre-installed.
395 -
396 -To use Netdata, the service will need to be enabled and started from the FreeNAS **[CLI](https://github.com/freenas/cli)**.
397 -
398 -To enable the Netdata service:
399 -
400 -```sh
401 -service netdata config set enable=true
402 -```
403 -
404 -To start the Netdata service:
405 -
406 -```sh
407 -service netdata start
408 -```
409 -
410 -##### macOS
411 -
412 -Netdata on macOS still has limited charts, but external plugins do work.
413 -
414 -You can either install Netdata with [Homebrew](https://brew.sh/)
415 -
416 -```sh
417 -brew install netdata
418 -```
419 -
420 -or from source:
421 -
422 -```sh
423 -# install Xcode Command Line Tools
424 -xcode-select --install
425 -```
426 -
427 -click `Install` in the software update popup window, then
428 -
429 -```sh
430 -# install HomeBrew package manager
431 -/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
432 -
433 -# install required packages
434 -brew install ossp-uuid autoconf automake pkg-config
435 -
436 -# download Netdata
437 -git clone https://github.com/netdata/netdata.git --depth=100
438 -
439 -# install Netdata in /usr/local/netdata
440 -cd netdata
441 -sudo ./netdata-installer.sh --install /usr/local
442 -```
443 -
444 -The installer will also install a startup plist to start Netdata when your Mac boots.
445 -
446 -**Note:** Should you wish to install Netdata with TLS support:
447 -1. Install OpenSSL via brew by executing `brew install openssl`
448 -2. Run the installer with the extra CFLAGS and LDFLAGS, since your OpenSSL installation is not automatically symlinked to `/usr/local`
449 -
450 -```sh
451 -# install Netdata in /usr/local/netdata
452 -cd netdata
453 -CFLAGS="-I$(brew --prefix)/opt/openssl/include" LDFLAGS="${LDFLAGS} -L$(brew --prefix)/opt/openssl/lib" sudo -E ./netdata-installer.sh --install /usr/local
454 -```
455 -
456 -
457 -##### Alpine 3.x
458 -
459 -Execute these commands to install Netdata in Alpine Linux 3.x:
460 -
461 -```sh
462 -# install required packages
463 -apk add alpine-sdk bash curl zlib-dev util-linux-dev libmnl-dev gcc make git autoconf automake pkgconfig python logrotate
464 -
465 -# if you plan to run node.js Netdata plugins
466 -apk add nodejs
467 -
468 -# download Netdata - the directory 'netdata' will be created
469 -git clone https://github.com/netdata/netdata.git --depth=100
470 -cd netdata
471 -
472 -
473 -# build it, install it, start it
474 -./netdata-installer.sh
475 -
476 -
477 -# make Netdata start at boot
478 -echo -e "#!/usr/bin/env bash\n/usr/sbin/netdata" >/etc/local.d/netdata.start
479 -chmod 755 /etc/local.d/netdata.start
480 -
481 -# make Netdata stop at shutdown
482 -echo -e "#!/usr/bin/env bash\nkillall netdata" >/etc/local.d/netdata.stop
483 -chmod 755 /etc/local.d/netdata.stop
484 -
485 -# enable the local service to start automatically
486 -rc-update add local
487 -```
488 -
489 -##### Synology
490 -
491 -The documentation previously recommended installing the Debian Chroot package from the Synology community package sources and then running Netdata from within the chroot. This does not work, as the chroot environment does not have access to `/proc`, and therefore exposes very few metrics to Netdata. Additionally, [this issue](https://github.com/SynoCommunity/spksrc/issues/2758), still open as of 2018/06/24, indicates that the Debian Chroot package is not suitable for DSM versions greater than version 5 and may corrupt system libraries and render the NAS unable to boot.
492 -
493 -The good news is that the 64-bit static installer works fine if your NAS is one that uses the amd64 architecture. It will install the content into `/opt/netdata`, making future removal safe and simple.
494 -
495 -When Netdata is first installed, it will run as *root*. This may or may not be acceptable for you, and since other installations run it as the *netdata* user, you might wish to do the same. This requires some extra work:
496 -
497 -1. Creat a group `netdata` via the Synology group interface. Give it no access to anything.
498 -2. Create a user `netdata` via the Synology user interface. Give it no access to anything and a random password. Assign the user to the `netdata` group. Netdata will chuid to this user when running.
499 -3. Change ownership of the following directories, as defined in [Netdata Security](../../docs/netdata-security.md#security-design):
500 -
501 -```sh
502 -chown -R root:netdata /opt/netdata/usr/share/netdata
503 -chown -R netdata:netdata /opt/netdata/var/lib/netdata /opt/netdata/var/cache/netdata
504 -chown -R netdata:root /opt/netdata/var/log/netdata
145 +bash <(curl -Ss https://my-netdata.io/kickstart.sh) --no-updates
146 ```
147
507 -Additionally, as of 2018/06/24, the Netdata installer doesn't recognize DSM as an operating system, so no init script is installed. You'll have to do this manually:
508 -
509 -1. Add [this file](https://gist.github.com/oskapt/055d474d7bfef32c49469c1b53e8225f) as `/etc/rc.netdata`. Make it executable with `chmod 0755 /etc/rc.netdata`.
510 -2. Edit `/etc/rc.local` and add a line calling `/etc/rc.netdata` to have it start on boot:
511 -
512 -```
513 -# Netdata startup
514 -[ -x /etc/rc.netdata ] && /etc/rc.netdata start
515 -```
148 +With automatic updates disabled, you can choose exactly when and how you [update Netdata](UPDATE.md).
149
150 ## Nightly vs. stable releases
151
519 -The Netdata team maintains two releases of the Netdata agent: **nightly** and **stable**. By default, Netdata's installation scripts will give you **automatic, nightly** updates, as that is our recommended configuration.
152 +The Netdata team maintains two releases of the Netdata agent: **nightly** and **stable**. By default, Netdata's
153 +installation scripts will give you **automatic, nightly** updates, as that is our recommended configuration.
154
521 -**Nightly**: We create nightly builds every 24 hours. They contain fully-tested code that fixes bugs or security flaws, or introduces new features to Netdata. Every nightly release is a candidate for then becoming a stable release—when we're ready, we simply change the release tags on GitHub. That means nightly releases are stable and proven to function correctly in the vast majority of Netdata use cases. That's why nightly is the *best choice for most Netdata users*.
155 +**Nightly**: We create nightly builds every 24 hours. They contain fully-tested code that fixes bugs or security flaws,
156 +or introduces new features to Netdata. Every nightly release is a candidate for then becoming a stable release—when
157 +we're ready, we simply change the release tags on GitHub. That means nightly releases are stable and proven to function
158 +correctly in the vast majority of Netdata use cases. That's why nightly is the _best choice for most Netdata users_.
159
523 -**Stable**: We create stable releases whenever we believe the code has reached a major milestone. Most often, stable releases correlate with the introduction of new, significant features. Stable releases might be a better choice for those who run Netdata in *mission-critical production systems*, as updates will come more infrequently, and only after the community helps fix any bugs that might have been introduced in previous releases.
160 +**Stable**: We create stable releases whenever we believe the code has reached a major milestone. Most often, stable
161 +releases correlate with the introduction of new, significant features. Stable releases might be a better choice for
162 +those who run Netdata in _mission-critical production systems_, as updates will come more infrequently, and only after
163 +the community helps fix any bugs that might have been introduced in previous releases.
164
165 **Pros of using nightly releases:**
166
527 -- Get the latest features and bugfixes as soon as they're available
167 +- Get the latest features and bug fixes as soon as they're available
168 - Receive security-related fixes immediately
169 - Use stable, fully-tested code that's always improving
170 - Leverage the same Netdata experience our community is using
171
172 **Pros of using stable releases:**
173
534 -- Protect yourself from the rare instance when major bugs slip through our testing and negatively affect a Netdata installation
174 +- Protect yourself from the rare instance when major bugs slip through our testing and negatively affect a Netdata
175 + installation
176 - Retain more control over the Netdata version you use
536 -
537 -## Offline installations
538 -
539 -You can install Netdata on systems without internet access, but you need to take
540 -a few extra steps to make it work.
541 -
542 -By default, the `kickstart.sh` and `kickstart-static64.sh` download Netdata
543 -assets, like the precompiled binary and a few dependencies, using the system's
544 -internet connection, but you can also supply these files from the local filesystem.
545 -
546 -First, download the required files. If you're using `kickstart.sh`, you need the
547 -Netdata tarball, the checksums, the go.d plugin binary, and the go.d plugin
548 -configuration. If you're using `kickstart-static64.sh`, you need only the
549 -Netdata tarball and checksums.
550 -
551 -Download the files you need to a system of yours that's connected to the
552 -internet. You can use the commands below, or visit the [latest Netdata release
553 -page](https://github.com/netdata/netdata/releases/latest) and [latest go.d
554 -plugin release page](https://github.com/netdata/go.d.plugin/releases) to
555 -download the required files manually.
556 -
557 -#### kickstart.sh
558 -```bash
559 -cd /tmp
560 -
561 -curl -s https://my-netdata.io/kickstart.sh > kickstart.sh
562 -
563 -# Netdata tarball
564 -curl -s https://api.github.com/repos/netdata/netdata/releases/latest | grep "browser_download_url.*tar.gz" | cut -d '"' -f 4 | wget -qi -
565 -
566 -# Netdata checksums
567 -curl -s https://api.github.com/repos/netdata/netdata/releases/latest | grep "browser_download_url.*txt" | cut -d '"' -f 4 | wget -qi -
568 -
569 -# Netdata dependency handling script
570 -curl -s https://raw.githubusercontent.com/netdata/netdata/master/packaging/installer/install-required-packages.sh | wget -qi -
571 -
572 -# go.d plugin
573 -# For binaries for OS types and architectures not listed on [go.d releases](https://github.com/netdata/go.d.plugin/releases/latest), kindly open a github issue and we will do our best to serve your request
574 -export OS=$(uname -s | tr '[:upper:]' '[:lower:]') ARCH=$(uname -m | sed -e 's/i386/386/g' -e 's/i686/386/g' -e 's/x86_64/amd64/g' -e 's/aarch64/arm64/g' -e 's/armv64/arm64/g' -e 's/armv6l/arm/g' -e 's/armv7l/arm/g' -e 's/armv5tel/arm/g') && curl -s https://api.github.com/repos/netdata/go.d.plugin/releases/latest | grep "browser_download_url.*${OS}-${ARCH}.tar.gz" | cut -d '"' -f 4 | wget -qi -
575 -
576 -# go.d configuration
577 -curl -s https://api.github.com/repos/netdata/go.d.plugin/releases/latest | grep "browser_download_url.*config.tar.gz" | cut -d '"' -f 4 | wget -qi -
578 -```
579 -
580 -#### kickstart-static64.sh
581 -```bash
582 -cd /tmp
583 -
584 -curl -s https://my-netdata.io/kickstart-static64.sh > kickstart-static64.sh
585 -
586 -# Netdata static64 tarball
587 -curl -s https://api.github.com/repos/netdata/netdata/releases/latest | grep "browser_download_url.*gz.run" | cut -d '"' -f 4 | wget -qi -
588 -
589 -# Netdata checksums
590 -curl -s https://api.github.com/repos/netdata/netdata/releases/latest | grep "browser_download_url.*txt" | cut -d '"' -f 4 | wget -qi -
591 -```
592 -
593 -Move downloaded files to the `/tmp` directory on the offline system in whichever way
594 -your defined policy allows (if any).
595 -
596 -Now you can run either the `kickstart.sh` or `kickstart-static64.sh` scripts
597 -using the `--local-files` option. This option requires you to specify
598 -the location and names of the files you just downloaded.
599 -
600 -!!! note When using `--local-files`, the `kickstart.sh` or
601 - `kickstart-static64.sh` scripts won't download any Netdata assets from the
602 - internet. But, you may still need a connection to install dependencies using
603 - your system's package manager. The scripts will warn you if your system
604 - doesn't have all the dependencies.
605 -
606 -```bash
607 -# kickstart.sh
608 -bash kickstart.sh --local-files /tmp/netdata-version-number-here.tar.gz /tmp/sha256sums.txt /tmp/go.d-binary-filename.tar.gz /tmp/config.tar.gz /tmp/install-required-packages.sh
609 -
610 -# kickstart-static64.sh
611 -bash kickstart-static64.sh --local-files /tmp/netdata-version-number-here.gz.run /tmp/sha256sums.txt
612 -```
613 -
614 -Now that you're finished with your offline installation, you can move on to our [getting started
615 -guide](../../docs/getting-started.md) for a quick overview of configuring Netdata, enabling plugins, and controlling
616 -Netdata's daemon. Or, get the full guided tour of Netdata's capabilities with our [step-by-step
617 -tutorial](../../docs/step-by-step/step-00.md)!
618 -
619 -## Automatic updates
620 -
621 -By default, Netdata's installation scripts enable automatic updates for both nightly and stable release channels.
622 -
623 -If you would prefer to manually update your Netdata agent, you can disable automatic updates by using the `--no-updates` option when you install or update Netdata using the [one-line installation script](#one-line-installation).
624 -
625 -```bash
626 -# kickstart.sh
627 -bash <(curl -Ss https://my-netdata.io/kickstart.sh) --no-updates
628 -
629 -# kickstart-static64.sh
630 -bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh) --no-updates
631 -```
632 -
633 -With automatic updates disabled, you can choose exactly when and how you [update Netdata](UPDATE.md).
634 -
635 -[![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%2Finstaller%2FREADME&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)](<>)
packaging/installer/UNINSTALL.md
+10 -12
@@ -1,11 +1,9 @@
1 -# Uninstalling Netdata
2 -
3 -Our self-contained uninstaller is able to remove Netdata installations created with shell installer.
4 -It doesn't need any other Netdata repository files to be run.
5 -All it needs is an `.environment` file, which is created during installation (with shell installer)
6 -and put in `${NETDATA_USER_CONFIG_DIR}/.environment` (by default `/etc/netdata/.environment`).
7 -That file contains some parameters which are passed to our installer
8 -and which are needed during uninstallation process.
1 +# Uninstall Netdata
2 +
3 +Our self-contained uninstaller is able to remove Netdata installations created with shell installer. It doesn't need any
4 +other Netdata repository files to be run. All it needs is an `.environment` file, which is created during installation
5 +(with shell installer) and put in `${NETDATA_USER_CONFIG_DIR}/.environment` (by default `/etc/netdata/.environment`).
6 +That file contains some parameters which are passed to our installer and which are needed during uninstallation process.
7 Mainly two parameters are needed:
8
9 ```sh
@@ -29,8 +27,8 @@ NETDATA_ADDED_TO_GROUPS="<additional groups>" # Additional groups for a user ru
27 ${NETDATA_PREFIX}/usr/libexec/netdata/netdata-uninstaller.sh --yes --env <environment_file>
28 ```
29
32 -Note: Existing installations may still need to download the file if it's not present.
33 -To execute uninstall in that case, run the following commands:
30 +Note: Existing installations may still need to download the file if it's not present. To execute uninstall in that case,
31 +run the following commands:
32
33 ```sh
34 wget https://raw.githubusercontent.com/netdata/netdata/master/packaging/installer/netdata-uninstaller.sh
@@ -40,7 +38,7 @@ chmod +x ./netdata-uninstaller.sh
38
39 The default `environment_file` is `/etc/netdata/.environment`.
40
43 -Note: This uninstallation method assumes previous installation with `netdata-installer.sh` or the kickstart script.
44 -Currently using it when Netdata was installed by a package manager can work or cause unexpected results.
41 +> Note: This uninstallation method assumes previous installation with `netdata-installer.sh` or the kickstart script.
42 +> Currently using it when Netdata was installed by a package manager can work or cause unexpected results.
43
44 [![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%2Finstaller%2FUNINSTALL&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)](<>)
packaging/installer/UPDATE.md
+23 -13
@@ -1,8 +1,9 @@
1 -# Updating Netdata after its installation
1 +# Update Netdata
2
3 ![image8](https://cloud.githubusercontent.com/assets/2662304/14253735/536f4580-fa95-11e5-9f7b-99112b31a5d7.gif)
4
5 -We suggest to keep your Netdata updated. We are actively developing it and you should always update to the latest version.
5 +We suggest to keep your Netdata updated. We are actively developing it and you should always update to the latest
6 +version.
7
8 The update procedure depends on how you installed it:
9
@@ -10,7 +11,10 @@ The update procedure depends on how you installed it:
11
12 ### Manual update to get the latest git commit
13
13 -Netdata versions older than `v1.12.0-rc2-52` had a `netdata-updater.sh` script in the root directory of the source code, which has now been deprecated. The manual process that works for all versions to get the latest commit in git is to use the `netdata-installer.sh`. The installer preserves your custom configuration and updates the information of the installation in the `.environment` file under the user configuration directory.
14 +Netdata versions older than `v1.12.0-rc2-52` had a `netdata-updater.sh` script in the root directory of the source code,
15 +which has now been deprecated. The manual process that works for all versions to get the latest commit in git is to use
16 +the `netdata-installer.sh`. The installer preserves your custom configuration and updates the information of the
17 +installation in the `.environment` file under the user configuration directory.
18
19 ```sh
20 # go to the git downloaded directory
@@ -23,13 +27,13 @@ git pull
27 sudo ./netdata-installer.sh
28 ```
29
26 -_Netdata will be restarted with the new version._
27 -
28 -Keep in mind, Netdata may now have new features, or certain old features may now behave differently. So pay some attention to it after updating.
30 +Netdata will be restarted with the new version. Keep in mind, Netdata may now have new features, or certain old features
31 +may now behave differently. So pay some attention to it after updating.
32
33 ### Manual update to get the latest nightly build
34
32 -The `kickstart.sh` and `kickstart-static64.sh` one-liners will do a one-time update to the latest nightly build, if executed as follows:
35 +The `kickstart.sh` and `kickstart-static64.sh` one-liners will do a one-time update to the latest nightly build, if
36 +executed as follows:
37
38 ```sh
39 # kickstart.sh
@@ -41,17 +45,23 @@ bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh) --no-updates
45
46 ### Auto-update
47
44 -_Please, consider the risks of running an auto-update. Something can always go wrong. Keep an eye on your installation, and run a manual update if something ever fails._
48 +_Please, consider the risks of running an auto-update. Something can always go wrong. Keep an eye on your installation,
49 +and run a manual update if something ever fails._
50
46 -Calling the `netdata-installer.sh` with the `--auto-update` or `-u` option will create the `netdata-updater` script under
47 -either `/etc/cron.daily/`, or `/etc/periodic/daily/`. Whenever the `netdata-updater` is executed, it checks if a newer nightly build is available and then handles the download, installation and Netdata restart.
51 +Calling the `netdata-installer.sh` with the `--auto-update` or `-u` option will create the `netdata-updater` script
52 +under either `/etc/cron.daily/`, or `/etc/periodic/daily/`. Whenever the `netdata-updater` is executed, it checks if a
53 +newer nightly build is available and then handles the download, installation and Netdata restart.
54
49 -Note that after Jan 2019, the `kickstart.sh` one-liner `bash <(curl -Ss https://my-netdata.io/kickstart.sh)` calls the `netdata-installer.sh` with the auto-update option. So if you just run the one-liner without options once, your Netdata will be kept auto-updated.
55 +Note that after Jan 2019, the `kickstart.sh` one-liner `bash <(curl -Ss https://my-netdata.io/kickstart.sh)` calls the
56 +`netdata-installer.sh` with the auto-update option. So if you just run the one-liner without options once, your Netdata
57 +will be kept auto-updated.
58
59 ## You downloaded a binary package
60
53 -If you installed it from a binary package, the best way is to **obtain a newer copy** from the source you got it in the first place.
61 +If you installed it from a binary package, the best way is to **obtain a newer copy** from the source you got it in the
62 +first place.
63
55 -If a newer version of Netdata is not available from the source you got it, we suggest to uninstall the version you have and follow the [installation](README.md) instructions for installing a fresh version of Netdata.
64 +If a newer version of Netdata is not available from the source you got it, we suggest to uninstall the version you have
65 +and follow the [installation](README.md) instructions for installing a fresh version of Netdata.
66
67 [![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%2Finstaller%2FUPDATE&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)](<>)
packaging/installer/methods/alpine.md new
+29
@@ -0,0 +1,29 @@
1 +# Install Netdata on Alpine 3.x
2 +
3 +Execute these commands to install Netdata in Alpine Linux 3.x:
4 +
5 +```sh
6 +# install required packages
7 +apk add alpine-sdk bash curl libuv-dev zlib-dev util-linux-dev libmnl-dev gcc make git autoconf automake pkgconfig python logrotate
8 +
9 +# if you plan to run node.js Netdata plugins
10 +apk add nodejs
11 +
12 +# download Netdata - the directory 'netdata' will be created
13 +git clone https://github.com/netdata/netdata.git --depth=100
14 +cd netdata
15 +
16 +# build it, install it, start it
17 +./netdata-installer.sh
18 +
19 +# make Netdata start at boot
20 +echo -e "#!/usr/bin/env bash\n/usr/sbin/netdata" >/etc/local.d/netdata.start
21 +chmod 755 /etc/local.d/netdata.start
22 +
23 +# make Netdata stop at shutdown
24 +echo -e "#!/usr/bin/env bash\nkillall netdata" >/etc/local.d/netdata.stop
25 +chmod 755 /etc/local.d/netdata.stop
26 +
27 +# enable the local service to start automatically
28 +rc-update add local
29 +```
packaging/installer/methods/freebsd.md new
+17
@@ -0,0 +1,17 @@
1 +# Install Netdata on FreeBSD
2 +
3 +You can install Netdata from either the `ports` or `packages` collections.
4 +
5 +This is how to install the latest Netdata version from source on FreeBSD:
6 +
7 +```sh
8 +# install required packages
9 +pkg install bash e2fsprogs-libuuid git curl autoconf automake pkgconf pidof Judy liblz4 libuv json-c
10 +
11 +# download Netdata
12 +git clone https://github.com/netdata/netdata.git --depth=100
13 +
14 +# install Netdata in /opt/netdata
15 +cd netdata
16 +./netdata-installer.sh --install /opt
17 +```
packaging/installer/methods/freenas.md new
+17
@@ -0,0 +1,17 @@
1 +# Install Netdata on FreeNAS
2 +
3 +On FreeNAS-Corral-RELEASE (>=10.0.3 and <11.3), Netdata is pre-installed.
4 +
5 +To use Netdata, the service will need to be enabled and started from the FreeNAS [CLI](https://github.com/freenas/cli).
6 +
7 +To enable the Netdata service:
8 +
9 +```sh
10 +service netdata config set enable=true
11 +```
12 +
13 +To start the Netdata service:
14 +
15 +```sh
16 +service netdata start
17 +```
packaging/installer/methods/kickstart-64.md new
+82
@@ -0,0 +1,82 @@
1 +# Install Netdata with kickstart-static64.sh
2 +
3 +![](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)
4 +
5 +This page covers detailed instructions on using and configuring the installation script named `kickstart-static64.sh`.
6 +
7 +This method uses a pre-compiled static binary to install Netdata on any Intel/AMD 64bit Linux system and on any Linux
8 +distribution, even those with a broken or unsupported package manager.
9 +
10 +To install Netdata from a binary package and get _automatic nightly updates_, run the following as your normal user:
11 +
12 +```bash
13 +bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh)
14 +```
15 +
16 +> This script installs Netdata at `/opt/netdata`.
17 +
18 +> See our [installation guide](../README.md) for details about [automatic updates](../README.md#automatic-updates) or
19 +> [nightly vs. stable releases](../README.md#nightly-vs-stable-releases).
20 +
21 +## What does `kickstart-static64.sh` do?
22 +
23 +The `kickstart.sh` script does the following after being downloaded and run:
24 +
25 +- Detects the Linux distribution and **installs the required system packages** for building Netdata. Unless you added
26 + the `--dont-wait` option, it will ask for your permission first.
27 +- Downloads the latest Netdata binary from the [binary-packages](https://github.com/netdata/binary-packages)
28 + repository. You can also run any of these `.run` files with [makeself](https://github.com/megastep/makeself).
29 +- Installs Netdata by running `./netdata-installer.sh` from the source tree, including any options you might have
30 + added.
31 +- Installs `netdata-updater.sh` to `cron.daily` to enable automatic updates, unless you added the `--no-updates`
32 + option.
33 +- Prints a message about whether the insallation succeeded for failed for QA purposes.
34 +
35 +If your shell fails to handle the above one-liner, you can download and run the `kickstart-static64.sh` script manually.
36 +
37 +```sh
38 +# download the script with curl
39 +curl https://my-netdata.io/kickstart-static64.sh >/tmp/kickstart-static64.sh
40 +
41 +# or, download the script with wget
42 +wget -O /tmp/kickstart-static64.sh https://my-netdata.io/kickstart-static64.sh
43 +
44 +# run the downloaded script (any sh is fine, no need for bash)
45 +sh /tmp/kickstart-static64.sh
46 +```
47 +
48 +## Optional parameters to alter your installation
49 +
50 +The `kickstart-static64.sh` script passes all its parameters to `netdata-installer.sh`, which you can use to customize
51 +your installation. Here are a few important parameters:
52 +
53 +- `--dont-wait`: Enable automated installs by not prompting for permission to install any required packages.
54 +- `--dont-start-it`: Prevent the installer from starting Netdata automatically.
55 +- `--stable-channel`: Automatically update only on the release of new major versions.
56 +- `--nightly-channel`: Automatically update on every new nightly build.
57 +- `--disable-telemetry`: Opt-out of [anonymous statistics](../../../docs/anonymous-statistics.md) we use to make
58 + Netdata better.
59 +- `--no-updates`: Prevent automatic updates of any kind.
60 +- `--local-files`: Used for [offline installations](offline.md). Pass four file paths: the Netdata
61 + tarball, the checksum file, the go.d plugin tarball, and the go.d plugin config tarball, to force kickstart run the
62 + process using those files. This option conflicts with the `--stable-channel` option. If you set this _and_
63 + `--stable-channel`, Netdata will use the local files.
64 +
65 +## Verify script integrity
66 +
67 +To use `md5sum` to verify the intregity of the `kickstart-static64.sh` script you will download using the one-line
68 +command above, run the following:
69 +
70 +```bash
71 +[ "dfa84c3b5e6fd8975555d68f46eccdde" = "$(curl -Ss https://my-netdata.io/kickstart-static64.sh | md5sum | cut -d ' ' -f 1)" ] && echo "OK, VALID" || echo "FAILED, INVALID"
72 +```
73 +
74 +If the script is valid, this command will return `OK, VALID`.
75 +
76 +## What's next?
77 +
78 +When you finish installing Netdata, be sure to visit our [step-by-step tutorial](../../../docs/step-by-step/step-00.md)
79 +for a fully-guided tour into Netdata's capabilities and how to configure it according to your needs.
80 +
81 +Or, if you're a monitoring and system administration pro, skip ahead to our [getting started
82 +guide](../../../docs/getting-started.md) for a quick overview.
packaging/installer/methods/kickstart.md new
+65
@@ -0,0 +1,65 @@
1 +# Install Netdata with kickstart.sh
2 +
3 +![](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)
4 +
5 +This page covers detailed instructions on using and configuring the automatic one-line installation script named
6 +`kickstart.sh`.
7 +
8 +This method is fully automatic on all Linux distributions. To install Netdata from source and get _automatic nightly
9 +updates_, run the following as your normal user:
10 +
11 +```bash
12 +bash <(curl -Ss https://my-netdata.io/kickstart.sh)
13 +```
14 +
15 +> See our [installation guide](../README.md) for details about [automatic updates](../README.md#automatic-updates) or
16 +> [nightly vs. stable releases](../README.md#nightly-vs-stable-releases).
17 +
18 +## What does `kickstart.sh` do?
19 +
20 +The `kickstart.sh` script does the following after being downloaded and run using `bash`:
21 +
22 +- Detects the Linux distribution and **installs the required system packages** for building Netdata. Unless you added
23 + the `--dont-wait` option, it will ask for your permission first.
24 +- Downloads the latest Netdata source tree to `/usr/src/netdata.git`.
25 +- Installs Netdata by running `./netdata-installer.sh` from the source tree, using any [optional
26 + parameters](#optional-parameters-to-alter-your-installation) you have specified.
27 +- Installs `netdata-updater.sh` to `cron.daily`, so your Netdata installation will be updated with new nightly
28 + versions, unless you override that with an [optional parameter](#optional-parameters-to-alter-your-installation).
29 +- Prints a message whether installation succeeded or failed for QA purposes.
30 +
31 +## Optional parameters to alter your installation
32 +
33 +The `kickstart.sh` script passes all its parameters to `netdata-installer.sh`, which you can use to customize your
34 +installation. Here are a few important parameters:
35 +
36 +- `--dont-wait`: Enable automated installs by not prompting for permission to install any required packages.
37 +- `--dont-start-it`: Prevent the installer from starting Netdata automatically.
38 +- `--stable-channel`: Automatically update only on the release of new major versions.
39 +- `--nightly-channel`: Automatically update on every new nightly build.
40 +- `--disable-telemetry`: Opt-out of [anonymous statistics](../../../docs/anonymous-statistics.md) we use to make
41 + Netdata better.
42 +- `--no-updates`: Prevent automatic updates of any kind.
43 +- `--local-files`: Used for [offline installations](offline.md). Pass four file paths: the Netdata
44 + tarball, the checksum file, the go.d plugin tarball, and the go.d plugin config tarball, to force kickstart run the
45 + process using those files. This option conflicts with the `--stable-channel` option. If you set this _and_
46 + `--stable-channel`, Netdata will use the local files.
47 +
48 +## Verify script integrity
49 +
50 +To use `md5sum` to verify the intregity of the `kickstart.sh` script you will download using the one-line command above,
51 +run the following:
52 +
53 +```bash
54 +[ "952da7868b2c6b8819a7c600047400f5" = "$(curl -Ss https://my-netdata.io/kickstart.sh | md5sum | cut -d ' ' -f 1)" ] && echo "OK, VALID" || echo "FAILED, INVALID"
55 +```
56 +
57 +If the script is valid, this command will return `OK, VALID`.
58 +
59 +## What's next?
60 +
61 +When you finish installing Netdata, be sure to visit our [step-by-step tutorial](../../../docs/step-by-step/step-00.md)
62 +for a fully-guided tour into Netdata's capabilities and how to configure it according to your needs.
63 +
64 +Or, if you're a monitoring and system administration pro, skip ahead to our [getting started
65 +guide](../../../docs/getting-started.md) for a quick overview.
packaging/installer/methods/macos.md new
+47
@@ -0,0 +1,47 @@
1 +# Install Netdata on macOS
2 +
3 +Netdata on macOS still has limited charts, but external plugins do work.
4 +
5 +## With Homebrew
6 +
7 +You can either install Netdata with [Homebrew](https://brew.sh/)
8 +
9 +```sh
10 +brew install netdata
11 +```
12 +
13 +## From source
14 +
15 +or from source:
16 +
17 +```sh
18 +# install Xcode Command Line Tools
19 +xcode-select --install
20 +```
21 +
22 +click `Install` in the software update popup window, then
23 +
24 +```sh
25 +# install HomeBrew package manager
26 +/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
27 +
28 +# install required packages
29 +brew install ossp-uuid autoconf automake pkg-config
30 +
31 +# download Netdata
32 +git clone https://github.com/netdata/netdata.git --depth=100
33 +
34 +# install Netdata in /usr/local/netdata
35 +cd netdata
36 +sudo ./netdata-installer.sh --install /usr/local
37 +```
38 +
39 +The installer will also install a startup plist to start Netdata when your Mac boots.
40 +
41 +## What's next?
42 +
43 +When you finish installing Netdata, be sure to visit our [step-by-step tutorial](../../../docs/step-by-step/step-00.md)
44 +for a fully-guided tour into Netdata's capabilities and how to configure it according to your needs.
45 +
46 +Or, if you're a monitoring and system administration pro, skip ahead to our [getting started
47 +guide](../../../docs/getting-started.md) for a quick overview.
packaging/installer/methods/manual.md new
+152
@@ -0,0 +1,152 @@
1 +# Install Netdata on Linux manually
2 +
3 +To install the latest git version of Netdata, please follow these 2 steps:
4 +
5 +1. [Prepare your system](#prepare-your-system)
6 +
7 + Install the required packages on your system.
8 +
9 +2. [Install Netdata](#install-netdata)
10 +
11 + Download and install Netdata. You can also update it the same way.
12 +
13 +## Prepare your system
14 +
15 +Try our experimental automatic requirements installer (no need to be root). This will try to find the packages that
16 +should be installed on your system to build and run Netdata. It supports most major Linux distributions released after
17 +2010:
18 +
19 +- **Alpine** Linux and its derivatives
20 + - You have to install `bash` yourself, before using the installer.
21 +
22 +- **Arch** Linux and its derivatives
23 + - You need arch/aur for package Judy.
24 +
25 +- **Gentoo** Linux and its derivatives
26 +
27 +- **Debian** Linux and its derivatives (including **Ubuntu**, **Mint**)
28 +
29 +- **Redhat Enterprise Linux** and its derivatives (including **Fedora**, **CentOS**, **Amazon Machine Image**)
30 + - Please note that for RHEL/CentOS you need
31 + [EPEL](http://www.tecmint.com/how-to-enable-epel-repository-for-rhel-centos-6-5/).
32 + In addition, RHEL/CentOS version 6 also need
33 + [OKay](https://okay.com.mx/blog-news/rpm-repositories-for-centos-6-and-7.html) for package libuv version 1.
34 +
35 +- **SuSe** Linux and its derivatives (including **openSuSe**)
36 +
37 +- **SLE12** Must have your system registered with Suse Customer Center or have the DVD. See
38 + [#1162](https://github.com/netdata/netdata/issues/1162)
39 +
40 +Install the packages for having a **basic Netdata installation** (system monitoring and many applications, without `mysql` / `mariadb`, `postgres`, `named`, hardware sensors and `SNMP`):
41 +
42 +```sh
43 +curl -Ss 'https://raw.githubusercontent.com/netdata/netdata-demo-site/master/install-required-packages.sh' >/tmp/install-required-packages.sh && bash /tmp/install-required-packages.sh -i netdata
44 +```
45 +
46 +Install all the required packages for **monitoring everything Netdata can monitor**:
47 +
48 +```sh
49 +curl -Ss 'https://raw.githubusercontent.com/netdata/netdata-demo-site/master/install-required-packages.sh' >/tmp/install-required-packages.sh && bash /tmp/install-required-packages.sh -i netdata-all
50 +```
51 +
52 +If the above do not work for you, please [open a github
53 +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)
54 +with a copy of the message you get on screen. We are trying to make it work everywhere (this is also why the script
55 +[reports back](https://github.com/netdata/netdata/issues/2054) success or failure for all its runs).
56 +
57 +---
58 +
59 +This is how to do it by hand:
60 +
61 +```sh
62 +# Debian / Ubuntu
63 +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
64 +
65 +# Fedora
66 +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
67 +
68 +# CentOS / Red Hat Enterprise Linux
69 +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
70 +
71 +# openSUSE
72 +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
73 +```
74 +
75 +Once Netdata is compiled, to run it the following packages are required (already installed using the above commands):
76 +
77 +| package | description|
78 +|:-----:|-----------|
79 +| `libuuid` | part of `util-linux` for GUIDs management|
80 +| `zlib` | gzip compression for the internal Netdata web server|
81 +| `libuv` | Multi-platform support library with a focus on asynchronous I/O, version 1 or greater|
82 +
83 +*Netdata will fail to start without the above.*
84 +
85 +Netdata plugins and various aspects of Netdata can be enabled or benefit when these are installed (they are optional):
86 +
87 +| package |description|
88 +|:-----:|-----------|
89 +| `bash`|for shell plugins and **alarm notifications**|
90 +| `curl`|for shell plugins and **alarm notifications**|
91 +| `iproute` or `iproute2`|for monitoring **Linux traffic QoS**<br/>use `iproute2` if `iproute` reports as not available or obsolete|
92 +| `python`|for most of the external plugins|
93 +| `python-yaml`|used for monitoring **beanstalkd**|
94 +| `python-beanstalkc`|used for monitoring **beanstalkd**|
95 +| `python-dnspython`|used for monitoring DNS query time|
96 +| `python-ipaddress`|used for monitoring **DHCPd**<br/>this package is required only if the system has python v2. python v3 has this functionality embedded|
97 +| `python-mysqldb`<br/>or<br/>`python-pymysql`|used for monitoring **mysql** or **mariadb** databases<br/>`python-mysqldb` is a lot faster and thus preferred|
98 +| `python-psycopg2`|used for monitoring **postgresql** databases|
99 +| `python-pymongo`|used for monitoring **mongodb** databases|
100 +| `nodejs`|used for `node.js` plugins for monitoring **named** and **SNMP** devices|
101 +| `lm-sensors`|for monitoring **hardware sensors**|
102 +| `libmnl`|for collecting netfilter metrics|
103 +| `netcat`|for shell plugins to collect metrics from remote systems|
104 +
105 +*Netdata will greatly benefit if you have the above packages installed, but it will still work without them.*
106 +
107 +Netdata DB engine can be enabled when these are installed (they are optional):
108 +
109 +| package | description|
110 +|:-----:|-----------|
111 +| `liblz4` | Extremely fast compression algorithm, version r129 or greater|
112 +| `Judy` | General purpose dynamic array|
113 +| `openssl`| Cryptography and SSL/TLS toolkit|
114 +
115 +*Netdata will greatly benefit if you have the above packages installed, but it will still work without them.*
116 +
117 +---
118 +
119 +### Install Netdata
120 +
121 +Do this to install and run Netdata:
122 +
123 +```sh
124 +# download it - the directory 'netdata' will be created
125 +git clone https://github.com/netdata/netdata.git --depth=100
126 +cd netdata
127 +
128 +# run script with root privileges to build, install, start Netdata
129 +./netdata-installer.sh
130 +```
131 +
132 +- If you don't want to run it straight-away, add `--dont-start-it` option.
133 +
134 +- You can also append `--stable-channel` to fetch and install only the official releases from GitHub, instead of the nightly builds.
135 +
136 +- If you don't want to install it on the default directories, you can run the installer like this: `./netdata-installer.sh --install /opt`. This one will install Netdata in `/opt/netdata`.
137 +
138 +- If your server does not have access to the internet and you have manually put the installation directory on your server, you will need to pass the option `--disable-go` to the installer. The option will prevent the installer from attempting to download and install `go.d.plugin`.
139 +
140 +Once the installer completes, the file `/etc/netdata/netdata.conf` will be created (if you changed the installation directory, the configuration will appear in that directory too).
141 +
142 +You can edit this file to set options. One common option to tweak is `history`, which controls the size of the memory database Netdata will use. By default is `3600` seconds (an hour of data at the charts) which makes Netdata use about 10-15MB of RAM (depending on the number of charts detected on your system). Check **\[[Memory Requirements]]**.
143 +
144 +To apply the changes you made, you have to restart Netdata.
145 +
146 +## What's next?
147 +
148 +When you finish installing Netdata, be sure to visit our [step-by-step tutorial](../../../docs/step-by-step/step-00.md)
149 +for a fully-guided tour into Netdata's capabilities and how to configure it according to your needs.
150 +
151 +Or, if you're a monitoring and system administration pro, skip ahead to our [getting started
152 +guide](../../../docs/getting-started.md) for a quick overview.
packaging/installer/methods/offline.md new
+76
@@ -0,0 +1,76 @@
1 +# Install Netdata on offline systems
2 +
3 +You can install Netdata on systems without internet access, but you need to take a few extra steps to make it work.
4 +
5 +By default, the `kickstart.sh` and `kickstart-static64.sh` download Netdata assets, like the precompiled binary and a
6 +few dependencies, using the system's internet connection, but you can also supply these files from the local filesystem.
7 +
8 +First, download the required files. If you're using `kickstart.sh`, you need the Netdata tarball, the checksums, the
9 +go.d plugin binary, and the go.d plugin configuration. If you're using `kickstart-static64.sh`, you need only the
10 +Netdata tarball and checksums.
11 +
12 +Download the files you need to a system of yours that's connected to the internet. You can use the commands below, or
13 +visit the [latest Netdata release page](https://github.com/netdata/netdata/releases/latest) and [latest go.d plugin
14 +release page](https://github.com/netdata/go.d.plugin/releases) to download the required files manually.
15 +
16 +**If you're using `kickstart.sh`**, use the following commands:
17 +
18 +```bash
19 +cd /tmp
20 +
21 +curl -s https://my-netdata.io/kickstart.sh > kickstart.sh
22 +
23 +# Netdata tarball
24 +curl -s https://api.github.com/repos/netdata/netdata/releases/latest | grep "browser_download_url.*tar.gz" | cut -d '"' -f 4 | wget -qi -
25 +
26 +# Netdata checksums
27 +curl -s https://api.github.com/repos/netdata/netdata/releases/latest | grep "browser_download_url.*txt" | cut -d '"' -f 4 | wget -qi -
28 +
29 +# Netdata dependency handling script
30 +curl -s https://raw.githubusercontent.com/netdata/netdata-demo-site/master/install-required-packages.sh | wget -qi -
31 +
32 +# go.d plugin
33 +# For binaries for OS types and architectures not listed on [go.d releases](https://github.com/netdata/go.d.plugin/releases/latest), kindly open a github issue and we will do our best to serve your request
34 +export OS=$(uname -s | tr '[:upper:]' '[:lower:]') ARCH=$(uname -m | sed -e 's/i386/386/g' -e 's/i686/386/g' -e 's/x86_64/amd64/g' -e 's/aarch64/arm64/g' -e 's/armv64/arm64/g' -e 's/armv6l/arm/g' -e 's/armv7l/arm/g' -e 's/armv5tel/arm/g') && curl -s https://api.github.com/repos/netdata/go.d.plugin/releases/latest | grep "browser_download_url.*${OS}-${ARCH}.tar.gz" | cut -d '"' -f 4 | wget -qi -
35 +
36 +# go.d configuration
37 +curl -s https://api.github.com/repos/netdata/go.d.plugin/releases/latest | grep "browser_download_url.*config.tar.gz" | cut -d '"' -f 4 | wget -qi -
38 +```
39 +
40 +**If you're using `kickstart-static64.sh`**, use the following commands:
41 +
42 +```bash
43 +cd /tmp
44 +
45 +curl -s https://my-netdata.io/kickstart-static64.sh > kickstart-static64.sh
46 +
47 +# Netdata static64 tarball
48 +curl -s https://api.github.com/repos/netdata/netdata/releases/latest | grep "browser_download_url.*gz.run" | cut -d '"' -f 4 | wget -qi -
49 +
50 +# Netdata checksums
51 +curl -s https://api.github.com/repos/netdata/netdata/releases/latest | grep "browser_download_url.*txt" | cut -d '"' -f 4 | wget -qi -
52 +```
53 +
54 +Move downloaded files to the `/tmp` directory on the offline system in whichever way your defined policy allows (if
55 +any).
56 +
57 +Now you can run either the `kickstart.sh` or `kickstart-static64.sh` scripts using the `--local-files` option. This
58 +option requires you to specify the location and names of the files you just downloaded.
59 +
60 +> When using `--local-files`, the `kickstart.sh` or `kickstart-static64.sh` scripts won't download any Netdata assets
61 +> from the internet. But, you may still need a connection to install dependencies using your system's package manager.
62 +> The scripts will warn you if your system doesn't have all the dependencies.
63 +
64 +```bash
65 +# kickstart.sh
66 +bash kickstart.sh --local-files /tmp/netdata-version-number-here.tar.gz /tmp/sha256sums.txt /tmp/go.d-binary-filename.tar.gz /tmp/config.tar.gz /tmp/install-required-packages.sh
67 +
68 +# kickstart-static64.sh
69 +bash kickstart-static64.sh --local-files /tmp/netdata-version-number-here.gz.run /tmp/sha256sums.txt
70 +```
71 +
72 +Now that Netdata is installed, be sure to visit our [getting started guide](../../../docs/getting-started.md) for a
73 +quick overview of configuring Netdata, enabling plugins, and controlling Netdata's daemon.
74 +
75 +Or, get the full guided tour of Netdata's capabilities with our [step-by-step
76 +tutorial](../../../docs/step-by-step/step-00.md)!
packaging/installer/methods/packages.md new
+33
@@ -0,0 +1,33 @@
1 +# Install Netdata with .deb/.rpm packages
2 +
3 +![](https://raw.githubusercontent.com/netdata/netdata/master/web/gui/images/packaging-beta-tag.svg?sanitize=true)
4 +
5 +We provide our own flavour of binary packages for the most common operating systems that comply with .RPM and .DEB
6 +packaging formats.
7 +
8 +We have currently released packages following the .RPM format with version
9 +[1.16.0](https://github.com/netdata/netdata/releases/tag/v1.16.0). We have planned to release packages following the
10 +.DEB format with version [1.17.0](https://github.com/netdata/netdata/releases/tag/v1.17.0). Early adopters may
11 +experiment with our .DEB formatted packages using our nightly releases. Our current packaging infrastructure provider is
12 +[Package Cloud](https://packagecloud.io).
13 +
14 +Netdata is committed to support installation of our solution to all operating systems. This is a constant battle for
15 +Netdata, as we strive to automate and make things easier for our users. For the operating system support matrix, please
16 +visit our [distributions](../../DISTRIBUTIONS.md) support page.
17 +
18 +We provide two separate repositories, one for our stable releases and one for our nightly releases.
19 +
20 +1. Stable releases: Our stable production releases are hosted in
21 + [netdata/netdata](https://packagecloud.io/netdata/netdata) repository of package cloud
22 +2. Nightly releases: Our latest releases are hosted in
23 + [netdata/netdata-edge](https://packagecloud.io/netdata/netdata-edge) repository of package cloud
24 +
25 +Visit the repository pages and follow the quick set-up instructions to get started.
26 +
27 +## What's next?
28 +
29 +When you finish installing Netdata, be sure to visit our [step-by-step tutorial](../../../docs/step-by-step/step-00.md)
30 +for a fully-guided tour into Netdata's capabilities and how to configure it according to your needs.
31 +
32 +Or, if you're a monitoring and system administration pro, skip ahead to our [getting started
33 +guide](../../../docs/getting-started.md) for a quick overview.
packaging/installer/methods/pfsense.md new
+40
@@ -0,0 +1,40 @@
1 +# Install Netdata on pfSense
2 +
3 +To install Netdata on pfSense, run the following commands (within a shell or under the **Diagnostics/Command** prompt
4 +within the pfSense web interface).
5 +
6 +Note that the first four packages are downloaded from the pfSense repository for maintaining compatibility with pfSense,
7 +Netdata, Judy and Python are downloaded from the FreeBSD repository.
8 +
9 +```sh
10 +pkg install pkgconf
11 +pkg install bash
12 +pkg install e2fsprogs-libuuid
13 +pkg install libuv
14 +pkg add http://pkg.freebsd.org/FreeBSD:11:amd64/latest/All/Judy-1.0.5_2.txz
15 +pkg add http://pkg.freebsd.org/FreeBSD:11:amd64/latest/All/python36-3.6.9.txz
16 +ln -s /usr/local/lib/libjson-c.so /usr/local/lib/libjson-c.so.4
17 +pkg add http://pkg.freebsd.org/FreeBSD:11:amd64/latest/All/netdata-1.17.1.txz
18 +```
19 +
20 +**Note:** If you receive a `Not Found` error during the last two commands above, you will either need to manually look
21 +in the [repo folder](http://pkg.freebsd.org/FreeBSD:11:amd64/latest/All/) for the latest available package and use its
22 +URL instead, or you can try manually changing the netdata version in the URL to the latest version.
23 +
24 +You must edit `/usr/local/etc/netdata/netdata.conf` and change `bind to = 127.0.0.1` to `bind to = 0.0.0.0`.
25 +
26 +To start Netdata manually, run `service netdata onestart`
27 +
28 +Visit the Netdata dashboard to confirm it's working: `http://<pfsenseIP>:19999`
29 +
30 +To start Netdata automatically every boot, add `service netdata onestart` as a Shellcmd entry within the pfSense web
31 +interface under **Services/Shellcmd**. You'll need to install the Shellcmd package beforehand under **System/Package
32 +Manager/Available Packages**. The Shellcmd Type should be set to `Shellcmd`.
33 +![](https://i.imgur.com/wcKiPe1.png) Alternatively more information can be found in
34 +<https://doc.pfsense.org/index.php/Installing_FreeBSD_Packages>, for achieving the same via the command line and
35 +scripts.
36 +
37 +If you experience an issue with `/usr/bin/install` being absent in pfSense 2.3 or earlier, update pfSense or use a
38 +workaround from <https://redmine.pfsense.org/issues/6643>
39 +
40 +**Note:** In pfSense, the Netdata configuration files are located under `/usr/local/etc/netdata`.
packaging/installer/methods/synology.md new
+38
@@ -0,0 +1,38 @@
1 +# Install Netdata on Synology
2 +
3 +The documentation previously recommended installing the Debian Chroot package from the Synology community package
4 +sources and then running Netdata from within the chroot. This does not work, as the chroot environment does not have
5 +access to `/proc`, and therefore exposes very few metrics to Netdata. Additionally, [this
6 +issue](https://github.com/SynoCommunity/spksrc/issues/2758), still open as of 2018/06/24, indicates that the Debian
7 +Chroot package is not suitable for DSM versions greater than version 5 and may corrupt system libraries and render the
8 +NAS unable to boot.
9 +
10 +The good news is that the 64-bit static installer works fine if your NAS is one that uses the amd64 architecture. It
11 +will install the content into `/opt/netdata`, making future removal safe and simple.
12 +
13 +When Netdata is first installed, it will run as _root_. This may or may not be acceptable for you, and since other
14 +installations run it as the `netdata` user, you might wish to do the same. This requires some extra work:
15 +
16 +1. Creat a group `netdata` via the Synology group interface. Give it no access to anything.
17 +2. Create a user `netdata` via the Synology user interface. Give it no access to anything and a random password. Assign
18 + the user to the `netdata` group. Netdata will chuid to this user when running.
19 +3. Change ownership of the following directories, as defined in [Netdata
20 + Security](../../../docs/netdata-security.md#security-design):
21 +
22 +```sh
23 +chown -R root:netdata /opt/netdata/usr/share/netdata
24 +chown -R netdata:netdata /opt/netdata/var/lib/netdata /opt/netdata/var/cache/netdata
25 +chown -R netdata:root /opt/netdata/var/log/netdata
26 +```
27 +
28 +Additionally, as of 2018/06/24, the Netdata installer doesn't recognize DSM as an operating system, so no init script is
29 +installed. You'll have to do this manually:
30 +
31 +1. Add [this file](https://gist.github.com/oskapt/055d474d7bfef32c49469c1b53e8225f) as `/etc/rc.netdata`. Make it
32 + executable with `chmod 0755 /etc/rc.netdata`.
33 +2. Edit `/etc/rc.local` and add a line calling `/etc/rc.netdata` to have it start on boot:
34 +
35 +```conf
36 +# Netdata startup
37 +[ -x /etc/rc.netdata ] && /etc/rc.netdata start
38 +```
tests/installer/checksums.sh
+13 -11
@@ -7,6 +7,7 @@
7 #
8 # Author : Pawel Krupa (pawel@netdata.cloud)
9 # Author : Pavlos Emm. Katsoulakis (paul@netdata.cloud)
10 +# Author : Austin S. Hemmelgarn (austin@netdata.cloud)
11 set -e
12
13 # If we are not in netdata git repo, at the top level directory, fail
@@ -18,14 +19,12 @@ if [ -n "$CWD" ] || [ "${TOP_LEVEL}" != "netdata" ]; then
19 exit 1
20 fi
21
21 -README_DOC="packaging/installer/README.md"
22 -
23 -for file in kickstart.sh kickstart-static64.sh; do
24 - README_MD5=$(grep "$file" $README_DOC | grep md5sum | cut -d '"' -f2)
25 - KICKSTART_URL="https://my-netdata.io/$file"
26 - KICKSTART="packaging/installer/$file"
22 +check_file() {
23 + README_MD5=$(grep "$1" "$2" | grep md5sum | grep curl | cut -d '"' -f2)
24 + KICKSTART_URL="https://my-netdata.io/$1"
25 + KICKSTART="packaging/installer/$1"
26 KICKSTART_MD5="$(md5sum "${KICKSTART}" | cut -d' ' -f1)"
28 - CALCULATED_MD5="$(curl -Ss ${KICKSTART_URL} | md5sum | cut -d ' ' -f 1)"
27 + CALCULATED_MD5="$(curl -Ss "${KICKSTART_URL}" | md5sum | cut -d ' ' -f 1)"
28
29 # Conditionally run the website validation
30 if [ -z "${LOCAL_ONLY}" ]; then
@@ -38,15 +37,18 @@ for file in kickstart.sh kickstart-static64.sh; do
37 fi
38 fi
39
41 - echo "Validating documentation for $file"
40 + echo "Validating documentation for $1"
41 if [ "$KICKSTART_MD5" != "$README_MD5" ]; then
43 - echo "Invalid checksum for $file in $README_DOC."
42 + echo "Invalid checksum for $1 in $2."
43 echo "checksum in docs: $README_MD5"
44 echo "current checksum: $KICKSTART_MD5"
45 exit 2
46 else
48 - echo "$file MD5Sum is well documented"
47 + echo "$1 MD5Sum is well documented"
48 fi
49 +}
50 +
51 +check_file kickstart.sh packaging/installer/methods/kickstart.md
52 +check_file kickstart-static64.sh packaging/installer/methods/kickstart-64.md
53
51 -done
54 echo "No problems found, exiting succesfully!"