summaryrefslogtreecommitdiffstats
path: root/packaging/installer/methods
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 11:19:16 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-07-24 09:53:24 +0000
commitb5f8ee61a7f7e9bd291dd26b0585d03eb686c941 (patch)
treed4d31289c39fc00da064a825df13a0b98ce95b10 /packaging/installer/methods
parentAdding upstream version 1.44.3. (diff)
downloadnetdata-b5f8ee61a7f7e9bd291dd26b0585d03eb686c941.tar.xz
netdata-b5f8ee61a7f7e9bd291dd26b0585d03eb686c941.zip
Adding upstream version 1.46.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'packaging/installer/methods')
-rw-r--r--packaging/installer/methods/ansible.md10
-rw-r--r--packaging/installer/methods/aws.md14
-rw-r--r--packaging/installer/methods/azure.md14
-rw-r--r--packaging/installer/methods/freebsd.md12
-rw-r--r--packaging/installer/methods/gcp.md14
-rw-r--r--packaging/installer/methods/kickstart.md167
-rw-r--r--packaging/installer/methods/kubernetes.md10
-rw-r--r--packaging/installer/methods/macos.md28
-rw-r--r--packaging/installer/methods/manual.md18
-rw-r--r--packaging/installer/methods/methods.md12
-rw-r--r--packaging/installer/methods/offline.md6
-rw-r--r--packaging/installer/methods/packages.md23
-rw-r--r--packaging/installer/methods/source.md162
-rw-r--r--packaging/installer/methods/synology.md27
-rw-r--r--packaging/installer/methods/systems.md4
15 files changed, 246 insertions, 275 deletions
diff --git a/packaging/installer/methods/ansible.md b/packaging/installer/methods/ansible.md
index 6ce4e8f0..0aadeff9 100644
--- a/packaging/installer/methods/ansible.md
+++ b/packaging/installer/methods/ansible.md
@@ -10,7 +10,7 @@ learn_rel_path: "Installation/Install on specific environments"
# Deploy Netdata with Ansible
-Netdata's [one-line kickstart](https://github.com/netdata/netdata/blob/master/packaging/installer/README.md#install-on-linux-with-one-line-installer) is zero-configuration, highly adaptable, and compatible with tons
+Netdata's [one-line kickstart](/packaging/installer/README.md#install-on-linux-with-one-line-installer) is zero-configuration, highly adaptable, and compatible with tons
of different operating systems and Linux distributions. You can use it on bare metal, VMs, containers, and everything
in-between.
@@ -103,9 +103,9 @@ two different SSH keys supplied by AWS.
### Edit the `vars/main.yml` file
-In order to connect your node(s) to your Space in Netdata Cloud, and see all their metrics in real-time in [composite
-charts](https://github.com/netdata/netdata/blob/master/docs/visualize/overview-infrastructure.md) or perform [Metric
-Correlations](https://github.com/netdata/netdata/blob/master/docs/cloud/insights/metric-correlations.md), you need to set the `claim_token`
+In order to connect your node(s) to your Space in Netdata Cloud, and see all their metrics in real-time in composite
+charts or perform [Metric
+Correlations](/docs/metric-correlations.md), you need to set the `claim_token`
and `claim_room` variables.
To find your `claim_token` and `claim_room`, go to Netdata Cloud, then click on your Space's name in the top navigation,
@@ -130,7 +130,7 @@ hostname of the node, the playbook disables that local dashboard by setting `web
security boost by not allowing any unwanted access to the local dashboard.
You can read more about this decision, or other ways you might lock down the local dashboard, in our [node security
-doc](https://github.com/netdata/netdata/blob/master/docs/netdata-security.md).
+doc](/docs/security-and-privacy-design/README.md).
> Curious about why Netdata's dashboard is open by default? Read our [blog
> post](https://www.netdata.cloud/blog/netdata-agent-dashboard/) on that zero-configuration design decision.
diff --git a/packaging/installer/methods/aws.md b/packaging/installer/methods/aws.md
index c0b92a03..8648a8f0 100644
--- a/packaging/installer/methods/aws.md
+++ b/packaging/installer/methods/aws.md
@@ -11,12 +11,12 @@ learn_rel_path: "Installation/Install on specific environments"
Netdata is fully compatible with Amazon Web Services (AWS).
You can install Netdata on cloud instances to monitor the apps/services running there, or use
-multiple instances in a [parent-child streaming](https://github.com/netdata/netdata/blob/master/streaming/README.md) configuration.
+multiple instances in a [parent-child streaming](/src/streaming/README.md) configuration.
## Recommended installation method
The best installation method depends on the instance's operating system, distribution, and version. For Linux instances,
-we recommend the [`kickstart.sh` automatic installation script](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/kickstart.md).
+we recommend the [`kickstart.sh` automatic installation script](/packaging/installer/methods/kickstart.md).
If you have issues with Netdata after installation, look to the sections below to find the issue you're experiencing,
followed by the solution for your provider.
@@ -41,11 +41,11 @@ command from a remote system, and it fails, it's likely that a firewall is block
Another option is to put Netdata behind web server, which will proxy requests through standard HTTP/HTTPS ports
(80/443), which are likely already open on your instance. We have a number of guides available:
-- [Apache](https://github.com/netdata/netdata/blob/master/docs/Running-behind-apache.md)
-- [Nginx](https://github.com/netdata/netdata/blob/master/docs/Running-behind-nginx.md)
-- [Caddy](https://github.com/netdata/netdata/blob/master/docs/Running-behind-caddy.md)
-- [HAProxy](https://github.com/netdata/netdata/blob/master/docs/Running-behind-haproxy.md)
-- [lighttpd](https://github.com/netdata/netdata/blob/master/docs/Running-behind-lighttpd.md)
+- [Apache](/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/Running-behind-apache.md)
+- [Nginx](/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/Running-behind-nginx.md)
+- [Caddy](/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/Running-behind-caddy.md)
+- [HAProxy](/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/Running-behind-haproxy.md)
+- [lighttpd](/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/Running-behind-lighttpd.md)
Sign in to the [AWS console](https://console.aws.amazon.com/) and navigate to the EC2 dashboard. Click on the **Security
Groups** link in the navigation, beneath the **Network & Security** heading. Find the Security Group your instance
diff --git a/packaging/installer/methods/azure.md b/packaging/installer/methods/azure.md
index 4c39a00a..94590eec 100644
--- a/packaging/installer/methods/azure.md
+++ b/packaging/installer/methods/azure.md
@@ -11,12 +11,12 @@ learn_rel_path: "Installation/Install on specific environments"
Netdata is fully compatible with Azure.
You can install Netdata on cloud instances to monitor the apps/services running there, or use
-multiple instances in a [parent-child streaming](https://github.com/netdata/netdata/blob/master/streaming/README.md) configuration.
+multiple instances in a [parent-child streaming](/src/streaming/README.md) configuration.
## Recommended installation method
The best installation method depends on the instance's operating system, distribution, and version. For Linux instances,
-we recommend the [`kickstart.sh` automatic installation script](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/kickstart.md).
+we recommend the [`kickstart.sh` automatic installation script](/packaging/installer/methods/kickstart.md).
If you have issues with Netdata after installation, look to the sections below to find the issue you're experiencing,
followed by the solution for your provider.
@@ -41,11 +41,11 @@ command from a remote system, and it fails, it's likely that a firewall is block
Another option is to put Netdata behind web server, which will proxy requests through standard HTTP/HTTPS ports
(80/443), which are likely already open on your instance. We have a number of guides available:
-- [Apache](https://github.com/netdata/netdata/blob/master/docs/Running-behind-apache.md)
-- [Nginx](https://github.com/netdata/netdata/blob/master/docs/Running-behind-nginx.md)
-- [Caddy](https://github.com/netdata/netdata/blob/master/docs/Running-behind-caddy.md)
-- [HAProxy](https://github.com/netdata/netdata/blob/master/docs/Running-behind-haproxy.md)
-- [lighttpd](https://github.com/netdata/netdata/blob/master/docs/Running-behind-lighttpd.md)
+- [Apache](/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/Running-behind-apache.md)
+- [Nginx](/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/Running-behind-nginx.md)
+- [Caddy](/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/Running-behind-caddy.md)
+- [HAProxy](/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/Running-behind-haproxy.md)
+- [lighttpd](/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/Running-behind-lighttpd.md)
Sign in to the [Azure portal](https://portal.azure.com) and open the virtual machine running Netdata. Click on the
**Networking** link beneath the **Settings** header, then click on the **Add inbound security rule** button.
diff --git a/packaging/installer/methods/freebsd.md b/packaging/installer/methods/freebsd.md
index 21670cdc..3a33d2e9 100644
--- a/packaging/installer/methods/freebsd.md
+++ b/packaging/installer/methods/freebsd.md
@@ -28,19 +28,17 @@ Please respond in the affirmative for any relevant prompts during the installati
## Install Netdata
-The simplest method is to use the single line [kickstart script](https://learn.netdata.cloud/docs/agent/packaging/installer/methods/kickstart)
+The simplest method is to use the single line [kickstart script](/packaging/installer/methods/kickstart.md)
If you have a Netdata cloud account then clicking on the **Connect Nodes** button will generate the kickstart command you should use. Use the command from the "Linux" tab, it should look something like this:
```sh
-wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh --claim-token <CLAIM_TOKEN> --claim-url https://app.netdata.cloud
+wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh && sh /tmp/netdata-kickstart.sh --claim-token <CLAIM_TOKEN> --claim-url https://app.netdata.cloud
```
Please respond in the affirmative for any relevant prompts during the installation process.
Once the installation is completed, you should be able to start monitoring the FreeBSD server using Netdata.
-![image](https://user-images.githubusercontent.com/24860547/202489210-3c5a3346-8f53-4b7b-9832-f9383b34d864.png)
-
Netdata can also be installed via [FreeBSD ports](https://www.freshports.org/net-mgmt/netdata).
## Manual installation
@@ -86,11 +84,9 @@ cd /opt/netdata/usr/libexec/netdata/ && ./netdata-updater.sh
You can now access the Netdata dashboard by navigating to `http://NODE:19999`, replacing `NODE` with the IP address or hostname of your system.
-![image](https://user-images.githubusercontent.com/2662304/48304090-fd384080-e51b-11e8-80ae-eecb03118dda.png)
-
Starting with v1.30, Netdata collects anonymous usage information by default and sends it to a self hosted PostHog instance within the Netdata infrastructure. To read
more about the information collected and how to opt-out, check the [anonymous statistics
-page](https://github.com/netdata/netdata/blob/master/docs/anonymous-statistics.md).
+page](/docs/netdata-agent/configuration/anonymous-telemetry-events.md).
## Updating the Agent on FreeBSD
If you have not passed the `--auto-update` or `-u` parameter for the installer to enable automatic updating, repeat the last step to update Netdata whenever a new version becomes available.
@@ -134,7 +130,7 @@ The following options are mutually exclusive and specifiy special operations oth
- `--uninstall`: Uninstall an existing installation of Netdata. Fails if there is no existing install.
- `--claim-only`: If there is an existing install, only try to claim it without attempting to update it. If there is no existing install, install and claim Netdata normally.
- `--repositories-only`: Only install repository configuration packages instead of doing a full install of Netdata. Automatically sets --native-only.
-- `--prepare-offline-install-source`: Instead of insallling the agent, prepare a directory that can be used to install on another system without needing to download anything. See our [offline installation documentation](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/offline.md) for more info.
+- `--prepare-offline-install-source`: Instead of insallling the agent, prepare a directory that can be used to install on another system without needing to download anything. See our [offline installation documentation](/packaging/installer/methods/offline.md) for more info.
Additionally, the following environment variables may be used to further customize how the script runs (most users
should not need to use special values for any of these):
diff --git a/packaging/installer/methods/gcp.md b/packaging/installer/methods/gcp.md
index 0b16b109..5003decb 100644
--- a/packaging/installer/methods/gcp.md
+++ b/packaging/installer/methods/gcp.md
@@ -12,12 +12,12 @@ learn_rel_path: "Installation/Install on specific environments"
Netdata is fully compatible with the Google Cloud Platform (GCP).
You can install Netdata on cloud instances to monitor the apps/services running there, or use
-multiple instances in a [parent-child streaming](https://github.com/netdata/netdata/blob/master/streaming/README.md) configuration.
+multiple instances in a [parent-child streaming](/src/streaming/README.md) configuration.
## Recommended installation method
The best installation method depends on the instance's operating system, distribution, and version. For Linux instances,
-we recommend the [`kickstart.sh` automatic installation script](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/kickstart.md).
+we recommend the [`kickstart.sh` automatic installation script](/packaging/installer/methods/kickstart.md).
If you have issues with Netdata after installation, look to the sections below to find the issue you're experiencing,
followed by the solution for your provider.
@@ -42,11 +42,11 @@ command from a remote system, and it fails, it's likely that a firewall is block
Another option is to put Netdata behind web server, which will proxy requests through standard HTTP/HTTPS ports
(80/443), which are likely already open on your instance. We have a number of guides available:
-- [Apache](https://github.com/netdata/netdata/blob/master/docs/Running-behind-apache.md)
-- [Nginx](https://github.com/netdata/netdata/blob/master/docs/Running-behind-nginx.md)
-- [Caddy](https://github.com/netdata/netdata/blob/master/docs/Running-behind-caddy.md)
-- [HAProxy](https://github.com/netdata/netdata/blob/master/docs/Running-behind-haproxy.md)
-- [lighttpd](https://github.com/netdata/netdata/blob/master/docs/Running-behind-lighttpd.md)
+- [Apache](/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/Running-behind-apache.md)
+- [Nginx](/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/Running-behind-nginx.md)
+- [Caddy](/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/Running-behind-caddy.md)
+- [HAProxy](/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/Running-behind-haproxy.md)
+- [lighttpd](/docs/netdata-agent/configuration/running-the-netdata-agent-behind-a-reverse-proxy/Running-behind-lighttpd.md)
To add a firewall rule, go to the [Firewall rules page](https://console.cloud.google.com/networking/firewalls/list) and
diff --git a/packaging/installer/methods/kickstart.md b/packaging/installer/methods/kickstart.md
index b21f4dde..a525cc70 100644
--- a/packaging/installer/methods/kickstart.md
+++ b/packaging/installer/methods/kickstart.md
@@ -1,13 +1,3 @@
-<!--
-title: "Install Netdata with kickstart.sh"
-description: "The kickstart.sh script installs Netdata from source, including all dependencies required to connect to Netdata Cloud, with a single command."
-custom_edit_url: "https://github.com/netdata/netdata/edit/master/packaging/installer/methods/kickstart.md"
-sidebar_label: "One line installer (kickstart.sh)"
-learn_status: "Published"
-learn_rel_path: "Installation/Installation methods"
-sidebar_position: 10
--->
-
import { OneLineInstallWget, OneLineInstallCurl } from '@site/src/components/OneLineInstall/'
import { Install, InstallBox } from '@site/src/components/Install/'
import Tabs from '@theme/Tabs';
@@ -19,28 +9,13 @@ import TabItem from '@theme/TabItem';
`kickstart.sh` is the recommended way of installing Netdata.
-This script works on all Linux distributions and macOS environments, by detecting the optimal method of installing Netdata directly to the operating system (it will never install a docker image of Netdata - to run Netdata in a container [check Installing with Docker](https://learn.netdata.cloud/docs/installing/docker)).
-
-If you are installing on macOS, make sure to check the [install documentation for macOS](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/macos.md) before continuing.
-
-
-## Verify script integrity
-
-To use `md5sum` to verify the integrity of the `kickstart.sh` script you will download using the one-line command above,
-run the following:
-
-```bash
-[ "<checksum-will-be-added-in-documentation-processing>" = "$(curl -Ss https://my-netdata.io/kickstart.sh | md5sum | cut -d ' ' -f 1)" ] && echo "OK, VALID" || echo "FAILED, INVALID"
-```
-
-If the script is valid, this command will return `OK, VALID`.
-
+This script works on all Linux distributions and macOS environments, by detecting the optimal method of installing Netdata directly to the operating system.
## Installation
> :bulb: Tip
>
-> If you are unsure whether you want nightly or stable releases, read the [installation guide](https://github.com/netdata/netdata/blob/master/packaging/installer/README.md#nightly-vs-stable-releases).
+> If you are unsure whether you want nightly or stable releases, read the [related section](/packaging/installer/README.md#nightly-vs-stable-releases) of our Documentation, detailing the pros and cons of each release type.
To install Netdata, run the following as your normal user:
@@ -58,10 +33,20 @@ To install Netdata, run the following as your normal user:
</Tabs>
> :bookmark_tabs: Note
->
+>
> If you plan to also connect the node to Netdata Cloud, make sure to replace `YOUR_CLAIM_TOKEN` with the claim token of your space,
-> and `YOUR_ROOM_ID` with the ID of the room you are willing to connect the node to.
+> and `YOUR_ROOM_ID` with the ID of the Room you are willing to connect the node to.
+## Verify script integrity
+
+To use `md5sum` to verify the integrity of the `kickstart.sh` script you will download using the one-line command above,
+run the following:
+
+```bash
+[ "@KICKSTART_CHECKSUM@" = "$(curl -Ss https://get.netdata.cloud/kickstart.sh | md5sum | cut -d ' ' -f 1)" ] && echo "OK, VALID" || echo "FAILED, INVALID"
+```
+
+If the script is valid, this command will return `OK, VALID`.
## What does `kickstart.sh` do?
@@ -78,6 +63,116 @@ The `kickstart.sh` script does the following after being downloaded and run usin
versions, unless you override that with an [optional parameter](#optional-parameters-to-alter-your-installation).
- Prints a message whether installation succeeded or failed for QA purposes.
+## Start stop or restart the Netdata Agent
+
+You will most often need to _restart_ the Agent to load new or edited configuration files.
+
+> **Note**
+> Stopping or restarting the Netdata Agent will cause gaps in stored metrics until the `netdata` process initiates collectors and the database engine.
+>
+> You do not need to restart the Netdata Agent between changes to health configuration files, see the relevant section on [reloading health configuration](/src/health/REFERENCE.md#reload-health-configuration).
+
+### Using `systemctl` or `service`
+
+This is the recommended way to start, stop, or restart the Netdata daemon.
+
+- To **start** Netdata, run `sudo systemctl start netdata`.
+- To **stop** Netdata, run `sudo systemctl stop netdata`.
+- To **restart** Netdata, run `sudo systemctl restart netdata`.
+
+If the above commands fail, or you know that you're using a non-systemd system, try using the `service` command:
+
+- Starting: `sudo service netdata start`.
+- Stopping: `sudo service netdata stop`.
+- Restarting: `sudo service netdata restart`.
+
+### Using the `netdata` command
+
+Use the `netdata` command, typically located at `/usr/sbin/netdata`, to start the Netdata daemon:
+
+```bash
+sudo netdata
+```
+
+If you start the daemon this way, close it with `sudo killall netdata`.
+
+### Shutdown using `netdatacli`
+
+The Netdata Agent also comes with a [CLI tool](/src/cli/README.md) capable of performing shutdowns. Start the Agent back up using your preferred method listed above.
+
+```bash
+sudo netdatacli shutdown-agent
+```
+
+## Starting Netdata at boot
+
+In the `system` directory you can find scripts and configurations for the
+various distros.
+
+### systemd
+
+The installer already installs `netdata.service` if it detects a systemd system.
+
+To install `netdata.service` by hand, run:
+
+```sh
+# stop Netdata
+killall netdata
+
+# copy netdata.service to systemd
+cp system/netdata.service /etc/systemd/system/
+
+# let systemd know there is a new service
+systemctl daemon-reload
+
+# enable Netdata at boot
+systemctl enable netdata
+
+# start Netdata
+systemctl start netdata
+```
+
+### init.d
+
+In the system directory you can find `netdata-lsb`. Copy it to the proper place according to your distribution's documentation. For Ubuntu, this can be done via running the following commands as root.
+
+```sh
+# copy the Netdata startup file to /etc/init.d
+cp system/netdata-lsb /etc/init.d/netdata
+
+# make sure it is executable
+chmod +x /etc/init.d/netdata
+
+# enable it
+update-rc.d netdata defaults
+```
+
+### openrc / Gentoo Linux
+
+In the `system` directory you can find `netdata-openrc`. Copy it to the proper
+place according to your distribution documentation.
+
+### CentOS / Red Hat Enterprise Linux
+
+For older versions of RHEL/CentOS that don't have systemd, an init script is included in the system directory. This can be installed by running the following commands as root.
+
+```sh
+# copy the Netdata startup file to /etc/init.d
+cp system/netdata-init-d /etc/init.d/netdata
+
+# make sure it is executable
+chmod +x /etc/init.d/netdata
+
+# enable it
+chkconfig --add netdata
+```
+
+_There have been some recent work on the init script, see the following PR <https://github.com/netdata/netdata/pull/403>_
+
+### Other operating systems
+
+You can start Netdata by running it from `/etc/rc.local` or your system's equivalent.
+
## Optional parameters to alter your installation
The `kickstart.sh` script accepts a number of optional parameters to control how the installation process works:
@@ -145,9 +240,9 @@ By default, the kickstart script will provide a Netdata agent installation that
- `--claim-url`
Specify a URL to use when connecting to the cloud. Defaults to `https://app.netdata.cloud`. Use this option to change the Netdata Cloud URL to point to your Netdata Cloud installation.
- `--claim-rooms`
- Specify a comma-separated list of tokens for each War Room this node should appear in.
+ Specify a comma-separated list of tokens for each Room this node should appear in.
- `--claim-proxy`
- Specify a proxy to use when connecting to the cloud in the form of `http://[user:pass@]host:ip` for an HTTP(S) proxy. See [connecting through a proxy](https://github.com/netdata/netdata/blob/master/claim/README.md#connect-through-a-proxy) for details.
+ Specify a proxy to use when connecting to the cloud in the form of `http://[user:pass@]host:ip` for an HTTP(S) proxy. See [connecting through a proxy](/src/claim/README.md#connect-through-a-proxy) for details.
- `--claim-only`
If there is an existing install, only try to claim it without attempting to update it. If there is no existing install, install and claim Netdata normally.
- `--require-cloud`
@@ -177,11 +272,12 @@ By default, the agent is sending anonymous telemetry data to help us take identi
Uninstall an existing installation of Netdata. Fails if there is no existing install.
### other options
+
- `--dry-run`
Show what the installer would do, but don’t actually do any of it.
- `--dont-start-it`
Don’t auto-start the daemon after installing. This parameter is not guaranteed to work.
-- `--override-distro`
+- `--distro-override`
Override the distro detection logic and assume the system is using a specific Linux distribution and release. Takes a single argument consisting of the values of the `ID`, `VERSION_ID`, and `VERSION_CODENAME` fields from `/etc/os-release` for the desired distribution.
The following options are mutually exclusive and specify special operations other than trying to install Netdata normally or update an existing install:
@@ -189,7 +285,7 @@ The following options are mutually exclusive and specify special operations othe
- `--repositories-only`
Only install repository configuration packages instead of doing a full install of Netdata. Automatically sets --native-only.
- `--prepare-offline-install-source`
- Instead of insallling the agent, prepare a directory that can be used to install on another system without needing to download anything. See our [offline installation documentation](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/offline.md) for more info.
+ Instead of insallling the agent, prepare a directory that can be used to install on another system without needing to download anything. See our [offline installation documentation](/packaging/installer/methods/offline.md) for more info.
### environment variables
@@ -204,10 +300,9 @@ should not need to use special values for any of these):
those to work, or have a different tool to do the same thing on your system, you can specify it here.
- `DISABLE_TELEMETRY`: If set to a value other than 0, behave as if `--disable-telemetry` was specified.
-
## Native packages
-We publish official DEB/RPM packages for a number of common Linux distributions as part of our releases and nightly
+We publish [official DEB/RPM packages](/packaging/installer/methods/packages.md) for a number of common Linux distributions as part of our releases and nightly
builds. These packages are available for 64-bit x86 systems. Depending on the distribution and release they may
also be available for 32-bit x86, ARMv7, and AArch64 systems. If a native package is available, it will be used as the
default installation method. This allows you to handle Netdata updates as part of your usual system update procedure.
@@ -217,7 +312,7 @@ you can do so by adding `--native-only` to the options you pass to the installer
## Static builds
-We publish pre-built static builds of Netdata for Linux systems. Currently, these are published for 64-bit x86, ARMv7,
+We publish pre-built [static builds](/packaging/makeself/README.md) of Netdata for Linux systems. Currently, these are published for 64-bit x86, ARMv7,
AArch64, and POWER8+ hardware. These static builds are able to operate in a mostly self-contained manner and only
require a POSIX compliant shell and a supported init system. These static builds install under `/opt/netdata`. If
you are on a platform which we provide static builds for but do not provide native packages for, a static build
diff --git a/packaging/installer/methods/kubernetes.md b/packaging/installer/methods/kubernetes.md
index 17cb9f5e..6a0dee98 100644
--- a/packaging/installer/methods/kubernetes.md
+++ b/packaging/installer/methods/kubernetes.md
@@ -3,14 +3,14 @@ import TabItem from '@theme/TabItem';
# Install Netdata on Kubernetes
-This document details how to install Netdata on an existing Kubernetes (k8s) cluster, and connect it to Netdata Cloud. Read our [Kubernetes visualizations](https://github.com/netdata/netdata/blob/master/docs/cloud/visualize/kubernetes.md) documentation, to see what you will get.
+This document details how to install Netdata on an existing Kubernetes (k8s) cluster, and connect it to Netdata Cloud. Read our [Kubernetes visualizations](/docs/dashboards-and-charts/kubernetes-tab.md) documentation, to see what you will get.
The [Netdata Helm chart](https://github.com/netdata/helmchart/blob/master/charts/netdata/README.md) installs one `parent` pod for storing metrics and managing alert notifications, plus an additional
`child` pod for every node in the cluster, responsible for collecting metrics from the node, Kubernetes control planes,
pods/containers, and [supported application-specific
metrics](https://github.com/netdata/helmchart#service-discovery-and-supported-services).
-### Prerequisites
+## Prerequisites
To deploy Kubernetes monitoring with Netdata, you need:
@@ -97,7 +97,7 @@ On an existing installation, in order to connect it to Netdata Cloud you will ne
> :bookmark_tabs: Note
>
> Make sure to replace `YOUR_CLAIM_TOKEN` with the claim token of your space,
- > and `YOUR_ROOM_ID` with the ID of the room you are willing to connect to.
+ > and `YOUR_ROOM_ID` with the ID of the Room you are willing to connect to.
These settings connect your `parent`/`child` nodes to Netdata Cloud and store more metrics in the nodes' time-series databases.
@@ -191,10 +191,10 @@ helm upgrade netdata netdata/netdata
## What's next?
-[Start Kubernetes monitoring](https://github.com/netdata/netdata/blob/master/docs/cloud/visualize/kubernetes.md) in Netdata Cloud, which comes with meaningful visualizations out of the box.
+[Start Kubernetes monitoring](/docs/dashboards-and-charts/kubernetes-tab.md) in Netdata Cloud, which comes with meaningful visualizations out of the box.
### Related reference documentation
-- [Netdata Cloud · Kubernetes monitoring](https://github.com/netdata/netdata/blob/master/docs/cloud/visualize/kubernetes.md)
+- [Netdata Cloud · Kubernetes monitoring](/docs/dashboards-and-charts/kubernetes-tab.md)
- [Netdata Helm chart](https://github.com/netdata/helmchart)
- [Netdata service discovery](https://github.com/netdata/agent-service-discovery/)
diff --git a/packaging/installer/methods/macos.md b/packaging/installer/methods/macos.md
index 480a4128..31aaebf9 100644
--- a/packaging/installer/methods/macos.md
+++ b/packaging/installer/methods/macos.md
@@ -9,8 +9,8 @@ learn_rel_path: "Installation/Install on specific environments"
# Install Netdata on macOS
Netdata works on macOS, albeit with some limitations.
-The number of charts displaying system metrics is limited, but you can use any of Netdata's [external plugins](https://github.com/netdata/netdata/blob/master/collectors/plugins.d/README.md) to monitor any services you might have installed on your macOS system.
-You could also use a macOS system as the parent node in a [streaming configuration](https://github.com/netdata/netdata/blob/master/streaming/README.md).
+The number of charts displaying system metrics is limited, but you can use any of Netdata's [external plugins](/src/collectors/plugins.d/README.md) to monitor any services you might have installed on your macOS system.
+You could also use a macOS system as the parent node in a [streaming configuration](/src/streaming/README.md).
You can install Netdata in one of the three following ways:
@@ -21,39 +21,39 @@ You can install Netdata in one of the three following ways:
Each of these installation option requires [Homebrew](https://brew.sh/) for handling dependencies.
> The Netdata Homebrew package is community-created and -maintained.
-> Community-maintained packages _may_ receive support from Netdata, but are only a best-effort affair. Learn more about [Netdata's platform support policy](https://github.com/netdata/netdata/blob/master/packaging/PLATFORM_SUPPORT.md).
+> Community-maintained packages _may_ receive support from Netdata, but are only a best-effort affair. Learn more about [Netdata's platform support policy](/docs/netdata-agent/versions-and-platforms.md).
## Install Netdata with our automatic one-line installation script
**Local Netdata Agent installation**
-To install Netdata using our automatic [kickstart](https://github.com/netdata/netdata/blob/master/packaging/installer/README.md#automatic-one-line-installation-script) open a new terminal and run:
+To install Netdata using our automatic [kickstart](/packaging/installer/README.md#automatic-one-line-installation-script) open a new terminal and run:
```bash
-curl https://my-netdata.io/kickstart.sh > /tmp/netdata-kickstart.sh && sh /tmp/netdata-kickstart.sh
+curl https://get.netdata.cloud/kickstart.sh > /tmp/netdata-kickstart.sh && sh /tmp/netdata-kickstart.sh
```
The Netdata Agent is installed under `/usr/local/netdata`. Dependencies are handled via Homebrew.
**Automatically connect to Netdata Cloud during installation**
-The `kickstart.sh` script accepts additional parameters to automatically [connect](https://github.com/netdata/netdata/blob/master/claim/README.md) your node to Netdata
+The `kickstart.sh` script accepts additional parameters to automatically [connect](/src/claim/README.md) your node to Netdata
Cloud immediately after installation. Find the `token` and `rooms` strings by [signing in to Netdata
Cloud](https://app.netdata.cloud/sign-in?cloudRoute=/spaces), then clicking on **Connect Nodes** in the [Spaces management
-area](https://github.com/netdata/netdata/blob/master/docs/cloud/manage/organize-your-infrastrucutre-invite-your-team.md#netdata-cloud-spaces).
+area](/docs/netdata-cloud/organize-your-infrastructure-invite-your-team.md#netdata-cloud-spaces).
- `--claim-token`: Specify a unique claiming token associated with your Space in Netdata Cloud to be used to connect to the node
after the install.
-- `--claim-rooms`: Specify a comma-separated list of tokens for each War Room this node should appear in.
+- `--claim-rooms`: Specify a comma-separated list of tokens for each Room this node should appear in.
- `--claim-proxy`: Specify a proxy to use when connecting to the cloud in the form of `http://[user:pass@]host:ip` for an HTTP(S) proxy.
- See [connecting through a proxy](https://github.com/netdata/netdata/blob/master/claim/README.md#connect-through-a-proxy) for details.
+ See [connecting through a proxy](/src/claim/README.md#connect-through-a-proxy) for details.
- `--claim-url`: Specify a URL to use when connecting to the cloud. Defaults to `https://app.netdata.cloud`.
For example:
```bash
-curl https://my-netdata.io/kickstart.sh > /tmp/netdata-kickstart.sh && sh /tmp/netdata-kickstart.sh --install-prefix /usr/local/ --claim-token TOKEN --claim-rooms ROOM1,ROOM2 --claim-url https://app.netdata.cloud
+curl https://get.netdata.cloud/kickstart.sh > /tmp/netdata-kickstart.sh && sh /tmp/netdata-kickstart.sh --install-prefix /usr/local/ --claim-token TOKEN --claim-rooms ROOM1,ROOM2 --claim-url https://app.netdata.cloud
```
The Netdata Agent is installed under `/usr/local/netdata` on your machine. Your machine will also show up as a node in your Netdata Cloud.
-If you experience issues while claiming your node, follow the steps in our [Troubleshooting](https://github.com/netdata/netdata/blob/master/claim/README.md#troubleshooting) documentation.
+If you experience issues while claiming your node, follow the steps in our [Troubleshooting](/src/claim/README.md#troubleshooting) documentation.
## Install Netdata via Homebrew
### For macOS Intel
@@ -79,10 +79,6 @@ Homebrew will place your Netdata configuration directory at `/opt/homebrew/etc/n
Use the `edit-config` script and the files in this directory to configure Netdata. For reference, you can find stock configuration files at `/opt/homebrew/Cellar/netdata/{NETDATA_VERSION}/lib/netdata/conf.d/`.
-
-
-Skip on ahead to the [What's next?](#whats-next) section to find links to helpful post-installation guides.
-
## Install Netdata from source
We don't recommend installing Netdata from source on macOS, as it can be difficult to configure and install dependencies manually.
@@ -94,7 +90,7 @@ We don't recommend installing Netdata from source on macOS, as it can be difficu
```
2. Click **Install** on the Software Update popup window that appears.
-3. Use the same terminal session to install some of Netdata's prerequisites using Homebrew. If you don't want to use [Netdata Cloud](https://github.com/netdata/netdata/blob/master/docs/quickstart/infrastructure.md), you can omit `cmake`.
+3. Use the same terminal session to install some of Netdata's prerequisites using Homebrew. If you don't want to use [Netdata Cloud](/docs/netdata-cloud/README.md), you can omit `cmake`.
```bash
brew install ossp-uuid autoconf automake pkg-config libuv lz4 json-c openssl libtool cmake
diff --git a/packaging/installer/methods/manual.md b/packaging/installer/methods/manual.md
index 269b67c1..31bc392e 100644
--- a/packaging/installer/methods/manual.md
+++ b/packaging/installer/methods/manual.md
@@ -23,7 +23,7 @@ To install the latest git version of Netdata, please follow these 2 steps:
## Prepare your system
Before you begin, make sure that your repo and the repo's submodules are clean from any previous builds and up to date.
-Otherwise, [perform a cleanup](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/manual.md#perform-a-cleanup-in-your-netdata-repo)
+Otherwise, [perform a cleanup](/packaging/installer/methods/manual.md#perform-a-cleanup-in-your-netdata-repo)
Use our automatic requirements installer (_no need to be `root`_), which attempts to find the packages that
should be installed on your system to build and run Netdata. It supports a large variety of major Linux distributions
@@ -40,7 +40,7 @@ and other operating systems and is regularly tested. You can find this tool [her
- Please note that for RHEL/CentOS you need
[EPEL](http://www.tecmint.com/how-to-enable-epel-repository-for-rhel-centos-6-5/).
In addition, RHEL/CentOS version 6 also need
- [OKay](https://okay.com.mx/blog-news/rpm-repositories-for-centos-6-and-7.html) for package libuv version 1.
+ [OKay](https://okay.com.mx) for package libuv version 1.
- CentOS 8 / RHEL 8 requires a bit of extra work. See the dedicated section below.
- **SUSE** Linux and its derivatives (including **openSUSE**)
@@ -140,7 +140,7 @@ required if manually installing packages.
CentOS 6.x:
- Enable the EPEL repo
-- Enable the additional repo from [okay.network](https://okay.network/blog-news/rpm-repositories-for-centos-6-and-7.html)
+- Enable the additional repo from [okay.network](https://okay.network)
And install the minimum required dependencies.
@@ -154,7 +154,7 @@ CentOS 8.x:
- Enable the PowerTools repo
- Enable the EPEL repo
-- Enable the Extra repo from [OKAY](https://okay.network/blog-news/rpm-repositories-for-centos-6-and-7.html)
+- Enable the Extra repo from [OKAY](https://okay.network)
And install the minimum required dependencies:
@@ -205,22 +205,22 @@ cd netdata
- `--dont-start-it`: Prevent the installer from starting Netdata automatically.
- `--stable-channel`: Automatically update only on the release of new major versions.
- `--nightly-channel`: Automatically update on every new nightly build.
-- `--disable-telemetry`: Opt-out of [anonymous statistics](https://github.com/netdata/netdata/blob/master/docs/anonymous-statistics.md) we use to make
+- `--disable-telemetry`: Opt-out of [anonymous statistics](/docs/netdata-agent/configuration/anonymous-telemetry-events.md) we use to make
Netdata better.
- `--no-updates`: Prevent automatic updates of any kind.
- `--reinstall`: If an existing install is detected, reinstall instead of trying to update it. Note that this
cannot be used to change installation types.
-- `--local-files`: Used for [offline installations](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/offline.md). Pass four file paths: the Netdata
+- `--local-files`: Used for [offline installations](/packaging/installer/methods/offline.md). Pass four file paths: the Netdata
tarball, the checksum file, the go.d plugin tarball, and the go.d plugin config tarball, to force kickstart run the
process using those files. This option conflicts with the `--stable-channel` option. If you set this _and_
`--stable-channel`, Netdata will use the local files.
### Connect node to Netdata Cloud during installation
-Unlike the [`kickstart.sh`](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/kickstart.md), the `netdata-installer.sh` script does
-not allow you to automatically [connect](https://github.com/netdata/netdata/blob/master/claim/README.md) your node to Netdata Cloud immediately after installation.
+Unlike the [`kickstart.sh`](/packaging/installer/methods/kickstart.md), the `netdata-installer.sh` script does
+not allow you to automatically [connect](/src/claim/README.md) your node to Netdata Cloud immediately after installation.
-See the [connect to cloud](https://github.com/netdata/netdata/blob/master/claim/README.md) doc for details on connecting a node with a manual installation of Netdata.
+See the [connect to cloud](/src/claim/README.md) doc for details on connecting a node with a manual installation of Netdata.
### 'nonrepresentable section on output' errors
diff --git a/packaging/installer/methods/methods.md b/packaging/installer/methods/methods.md
index f9ca2253..bc6e879a 100644
--- a/packaging/installer/methods/methods.md
+++ b/packaging/installer/methods/methods.md
@@ -12,15 +12,15 @@ sidebar_position: 30
Netdata can be installed:
-- [As a DEB/RPM package](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/packages.md)
-- [As a static binary](https://github.com/netdata/netdata/blob/master/packaging/makeself/README.md)
-- [From a git checkout](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/manual.md)
-- [As a docker container](https://github.com/netdata/netdata/blob/master/packaging/docker/README.md)
+- [As a DEB/RPM package](/packaging/installer/methods/packages.md)
+- [As a static binary](/packaging/makeself/README.md)
+- [From a git checkout](/packaging/installer/methods/manual.md)
+- [As a docker container](/packaging/docker/README.md)
-The [one line installer kickstart.sh](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/kickstart.md)
+The [one line installer kickstart.sh](/packaging/installer/methods/kickstart.md)
picks the most appropriate method out of the first three for any system
and is the recommended installation method, if you don't use containers.
`kickstart.sh` can also be used for
-[offline installation](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/offline.md),
+[offline installation](/packaging/installer/methods/offline.md),
suitable for air-gapped systems.
diff --git a/packaging/installer/methods/offline.md b/packaging/installer/methods/offline.md
index f2b6cc41..83155848 100644
--- a/packaging/installer/methods/offline.md
+++ b/packaging/installer/methods/offline.md
@@ -31,13 +31,13 @@ be as a regular user from any internet connected system that has the following t
To prepare the offline installation source, simply run:
```bash
-wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh --prepare-offline-install-source ./netdata-offline
+wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh && sh /tmp/netdata-kickstart.sh --prepare-offline-install-source ./netdata-offline
```
or
```bash
-curl https://my-netdata.io/kickstart.sh > /tmp/netdata-kickstart.sh && sh /tmp/netdata-kickstart.sh --prepare-offline-install-source ./netdata-offline
+curl https://get.netdata.cloud/kickstart.sh > /tmp/netdata-kickstart.sh && sh /tmp/netdata-kickstart.sh --prepare-offline-install-source ./netdata-offline
```
> The exact name used for the directory does not matter, you can specify any other name you want in place of `./netdata-offline`.
@@ -54,6 +54,6 @@ target system. This can be done in any manner you like, as long as filenames are
After copying the files, simply run the `install.sh` script located in the
offline install source directory. It accepts all the [same options as the kickstart
-script](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/kickstart.md#optional-parameters-to-alter-your-installation) for further
+script](/packaging/installer/methods/kickstart.md#optional-parameters-to-alter-your-installation) for further
customization of the installation, though it will default to not enabling automatic updates (as they are not
supported on offline installs).
diff --git a/packaging/installer/methods/packages.md b/packaging/installer/methods/packages.md
index d49e2139..90556c1a 100644
--- a/packaging/installer/methods/packages.md
+++ b/packaging/installer/methods/packages.md
@@ -8,20 +8,18 @@ learn_rel_path: "Installation/Installation methods"
sidebar_position: 20
-->
-# Install Netdata using native DEB/RPM packages.
+# Install Netdata using native DEB/RPM packages
For most common Linux distributions that use either DEB or RPM packages, Netdata provides pre-built native packages
for current releases in-line with
-our [official platform support policy](https://github.com/netdata/netdata/blob/master/packaging/PLATFORM_SUPPORT.md).
+our [official platform support policy](/docs/netdata-agent/versions-and-platforms.md).
These packages will be used by default when attempting to install on a supported platform using our
-[kickstart.sh installer script](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/kickstart.md).
+[kickstart.sh installer script](/packaging/installer/methods/kickstart.md).
When using the kickstart script, you can force usage of native DEB or RPM packages by passing the option
`--native-only` when invoking the script. This will cause it to only attempt to use native packages for the install,
and fail if it cannot do so.
-
-
> ### Note
>
> In July 2022, we switched hosting of our native packages from Package Cloud to self-hosted repositories.
@@ -31,10 +29,9 @@ and fail if it cannot do so.
> When selecting a repository configuration package, note that the version 2 packages provide configuration for
> our self-hosted repositories, and then version 1 packages provide configuration for Package Cloud.
+## Manual setup of RPM packages
-## Manual setup of RPM packages.
-
-Netdata’s official RPM repositories are hosted at https://repo.netdata.cloud/repos. We provide four groups of
+Netdata’s official RPM repositories are hosted at <https://repo.netdata.cloud/repos>. We provide four groups of
repositories at that top level:
- `stable`: Contains packages for stable releases of the Netdata Agent.
@@ -55,14 +52,14 @@ Under each of those directories is a directory for each supported release of tha
directory for each supported CPU architecture which contains the actual repository.
For example, for stable release packages for RHEL 9 on 64-bit x86, the full URL for the repository would be
-https://repo.netdata.cloud/repos/stable/el/9/x86_64/
+<https://repo.netdata.cloud/repos/stable/el/9/x86_64/>
Our RPM packages and repository metadata are signed using a GPG key with a user name of ‘Netdatabot’. The
current key fingerprint is `6588FDD7B14721FE7C3115E6F9177B5265F56346`. The associated public key can be fetched from
`https://repo.netdata.cloud/netdatabot.gpg.key`.
If you are explicitly configuring a system to use our repositories, the recommended setup is to download the
-appropriate repository configuration package from https://repo.netdata.cloud/repos/repoconfig and install it
+appropriate repository configuration package from <https://repo.netdata.cloud/repos/repoconfig> and install it
directly on the target system using the system package manager. This will ensure any packages needed to use the
repository are also installed, and will help enable a seamless transition if we ever need to change our infrastructure.
@@ -73,9 +70,9 @@ repository are also installed, and will help enable a seamless transition if we
> repository _should_ be pulled in automatically by our repository config packages, but if it is not you may need
> to manually install `epel-release` to be able to successfully install the Netdata packages.
-## Manual setup of DEB packages.
+## Manual setup of DEB packages
-Netdata’s official DEB repositories are hosted at https://repo.netdata.cloud/repos. We provide four groups of
+Netdata’s official DEB repositories are hosted at <https://repo.netdata.cloud/repos>. We provide four groups of
repositories at that top level:
- `stable`: Contains packages for stable releases of the Netdata Agent.
@@ -105,7 +102,7 @@ current key fingerprint is `6588FDD7B14721FE7C3115E6F9177B5265F56346`. The assoc
`https://repo.netdata.cloud/netdatabot.gpg.key`.
If you are explicitly configuring a system to use our repositories, the recommended setup is to download the
-appropriate repository configuration package from https://repo.netdata.cloud/repos/repoconfig and install it
+appropriate repository configuration package from <https://repo.netdata.cloud/repos/repoconfig> and install it
directly on the target system using the system package manager. This will ensure any packages needed to use the
repository are also installed, and will help enable a seamless transition if we ever need to change our infrastructure.
diff --git a/packaging/installer/methods/source.md b/packaging/installer/methods/source.md
index 8f34218a..c6ff6e6f 100644
--- a/packaging/installer/methods/source.md
+++ b/packaging/installer/methods/source.md
@@ -13,7 +13,7 @@ sidebar_position: 100
These instructions are for advanced users and distribution package
maintainers. Unless this describes you, you almost certainly want
to follow [our guide for manually installing Netdata from a git
-checkout](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/manual.md) instead.
+checkout](/packaging/installer/methods/manual.md) instead.
## Required dependencies
@@ -23,11 +23,15 @@ to build and run successfully:
- libuuid
- libuv version 1.0 or newer
- zlib
-- GNU autoconf
-- GNU automake
+- CMake 3.13 or newer
- GCC or Xcode (Clang is known to have issues in certain configurations, see [Using Clang](#using-clang))
-- A version of `make` compatible with GNU automake
-- Git (we use git in the build system to generate version info, don't need a full install, just a working `git show` command)
+- Ninja or Make (Ninja is preferred as it results in significantly faster builds)
+- Git (we use git in the build system to generate version info, you don't need a full install, just a working `git show` command)
+
+The following additional dependencies are also needed, but will be prepared automatically by CMake if they are not available on the build system.
+
+- libyaml
+- JSON-C
Additionally, the following build time features require additional dependencies:
@@ -38,66 +42,36 @@ Additionally, the following build time features require additional dependencies:
- OpenSSL 1.0 or newer (LibreSSL _amy_ work, but is largely untested).
- Netdata Cloud support:
- A working internet connection
- - A recent version of CMake
- OpenSSL 1.0.2 or newer _or_ LibreSSL 3.0.0 or newer.
- - JSON-C (may be provided by the user as shown below, or by the system)
- - protobuf (Google Protocol Buffers) and protoc compiler
+ - protobuf (Google Protocol Buffers) and protoc compiler. If protobuf is not available on the system,
+ CMake can be instructed to fetch and build a usable version for Netdata.
+- Netdata Go collectors:
+ - Go 1.21 or newer
## Preparing the source tree
-Certain features in Netdata require custom versions of specific libraries,
-which the the build system will link statically into Netdata. These
-libraries and their header files must be copied into specific locations
-in the source tree to be used.
-
-Before you begin, make sure that your repo and the repo's submodules are clean from any previous builds and up to date.
-Otherwise, [perform a cleanup](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/manual.md#perform-a-cleanup-in-your-netdata-repo)
+Netdata uses Git submodules for some of it’s components, which must be fetched prior to building Netdata. If you
+are using a source tarball published by the Netdata project, then these are included. If you are using a checkout
+of the Git repository, you may need to explicitly fetch and update the submodules using `git submodule update
+--init --recursive`.
### Netdata cloud
-#### JSON-C
-
-Netdata requires the use of JSON-C for JSON parsing when using Netdata
-Cloud. Netdata is able to use a system-provided copy of JSON-C, but
-some systems may not provide it. If your system does not provide JSON-C,
-you can do the following to prepare a copy for the build system:
-
-1. Verify the tag that Netdata expects to be used by checking the contents
- of `packaging/jsonc.version` in your Netdata sources.
-2. Obtain the sources for that version by either:
- - Navigating to https://github.com/json-c/json-c and downloading
- and unpacking the source code archive for that release.
- - Cloning the repository with `git` and checking out the required tag.
-3. Prepare the JSON-C sources by running `cmake -DBUILD_SHARED_LIBS=OFF .`
- in the JSON-C source directory.
-4. Build JSON-C by running `make` in the JSON-C source directory.
-5. In the Netdata source directory, create a directory called
- `externaldeps/jsonc`.
-6. Copy `libjson-c.a` from the JSON-C source directory to
- `externaldeps/jsonc/libjson-c.a` in the Netdata source tree.
-7. Copy all of the header files (`*.h`) from the JSON-C source directory
- to `externaldeps/jsonc/json-c` in the Netdata source tree.
-
## Building Netdata
Once the source tree has been prepared, Netdata is ready to be configured
-and built. Netdata currently uses GNU autotools as it's primary build
-system. To build Netdata this way:
+and built. Netdata uses CMake for configuration, and strongly prefers
+the use of an external build directory. To configure and build Netdata:
-1. Run `autoreconf -ivf` in the Netdata source tree.
-2. Run `./configure` in the Netdata source tree.
-3. Run `make` in the Netdata source tree.
+1. Run `cmake -S . -B build -G Ninja` in the source tree. `build` can be replaced with whatever path you want for the build directory. If you wish to use Make instead of Ninja for the build, remove the `-G Ninja` from the command.
+2. Run `cmake --build build`, where `build` is the build directory. CMake’s `--parallel` option can be used to control the number of build jobs that are used.
+3. Run `cmake --install build`, where `build` is the build directory.
### Configure options
-Netdata provides a number of build time configure options. This section
-lists some of the ones you are most likely to need:
-
-- `--prefix`: Specify the prefix under which Netdata will be installed.
-- `--with-webdir`: Specify a path relative to the prefix in which to
- install the web UI files.
-- `--disable-cloud`: Disables all Netdata Cloud functionality for
- this build.
+Netdata’s CMake build infrastructure intentionally does very little auto-detection, and requires most components
+to be explicitly enabled or disabled. A full list of available configuration options for a given version of Netdata,
+with help descriptions, can be seen by running `cmake -LH` in the source tree.
### Using Clang
@@ -123,92 +97,6 @@ A full featured install of Netdata requires some additional components
which must be built and installed separately from the main Netdata
agent. All of these should be handled _after_ installing Netdata itself.
-### React dashboard
-
-The above build steps include a deprecated web UI for Netdata that lacks
-support for Netdata Cloud. To get a fully featured dashboard, you must
-install our new React dashboard.
-
-#### Installing the pre-built React dashboard
-
-We provide pre-built archives of the React dashboard for each release
-(these are also used during our normal install process). To use one
-of these:
-
-1. Verify the release version that Netdata expects to be used by checking
- the contents of `packaging/dashboard.version` in your Netdata sources.
-2. Go to https://github.com/netdata/dashboard/releases and download the
- `dashboard.tar.gz` file for the required release.
-3. Unpack the downloaded archive to a temporary directory.
-4. Copy the contents of the `build` directory from the extracted
- archive to `/usr/share/netdata/web` or the equivalent location for
- your build of Netdata. This _will_ overwrite some files in the target
- location.
-
-#### Building the React dashboard locally
-
-Alternatively, you may wish to build the React dashboard locally. Doing
-so requires a recent version of Node.JS with a working install of
-NPM. Once you have the required tools, do the following:
-
-1. Verify the release version that Netdata expects to be used by checking
- the contents of `packaging/dashboard.version` in your Netdata sources.
-2. Obtain the sources for that version by either:
- - Navigating to https://github.com/netdata/dashboard and downloading
- and unpacking the source code archive for that release.
- - Cloning the repository with `git` and checking out the required tag.
-3. Run `npm install` in the dashboard source tree.
-4. Run `npm run build` in the dashboard source tree.
-5. Copy the contents of the `build` directory just like step 4 of
- installing the pre-built React dashboard.
-
-### Go collectors
-
-A number of the collectors for Netdata are written in Go instead of C,
-and are developed in a separate repository from the mian Netdata code.
-An installation without these collectors is still usable, but will be
-unable to collect metrics for a number of network services the system
-may be providing. You can either install a pre-built copy of these
-collectors, or build them locally.
-
-#### Installing the pre-built Go collectors
-
-We provide pre-built binaries of the Go collectors for all the platforms
-we officially support. To use one of these:
-
-1. Verify the release version that Netdata expects to be used by checking
- the contents of `packaging/go.d.version` in your Netdata sources.
-2. Go to https://github.com/netdata/go.d.plugin/releases, select the
- required release, and download the `go.d.plugin-*.tar.gz` file
- for your system type and CPu architecture and the `config.tar.gz`
- configuration file archive.
-3. Extract the `go.d.plugin-*.tar.gz` archive into a temporary
- location, and then copy the single file in the archive to
- `/usr/libexec/netdata/plugins.d` or the equivalent location for your
- build of Netdata and rename it to `go.d.plugin`.
-4. Extract the `config.tar.gz` archive to a temporarylocation and then
- copy the contents of the archive to `/etc/netdata` or the equivalent
- location for your build of Netdata.
-
-#### Building the Go collectors locally
-
-Alternatively, you may wish to build the Go collectors locally
-yourself. Doing so requires a working installation of Golang 1.13 or
-newer. Once you have the required tools, do the following:
-
-1. Verify the release version that Netdata expects to be used by checking
- the contents of `packaging/go.d.version` in your Netdata sources.
-2. Obtain the sources for that version by either:
- - Navigating to https://github.com/netdata/go.d.plugin and downloading
- and unpacking the source code archive for that release.
- - Cloning the repository with `git` and checking out the required tag.
-3. Run `make` in the go.d.plugin source tree.
-4. Copy `bin/godplugin` to `/usr/libexec/netdata/plugins.d` or th
- equivalent location for your build of Netdata and rename it to
- `go.d.plugin`.
-5. Copy the contents of the `config` directory to `/etc/netdata` or the
- equivalent location for your build of Netdata.
-
### eBPF collector
On Linux systems, Netdata has support for using the kernel's eBPF
diff --git a/packaging/installer/methods/synology.md b/packaging/installer/methods/synology.md
index 3910859b..742b3abb 100644
--- a/packaging/installer/methods/synology.md
+++ b/packaging/installer/methods/synology.md
@@ -18,7 +18,7 @@ learn_rel_path: "Installation/Install on specific environments"
The good news is that our
-[one-line installation script](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/kickstart.md)
+[one-line installation script](/packaging/installer/methods/kickstart.md)
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.
@@ -27,23 +27,22 @@ will install the content into `/opt/netdata`, making future removal safe and sim
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:
-1. Create a group `netdata` via the Synology group interface. Give it no access to anything.
-2. Create a user `netdata` via the Synology user interface. Give it no access to anything and a random password. Assign
+1. Create a group `netdata` via the Synology group interface. Give it no access to anything.
+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.
-3. Change ownership of the following directories, as defined in
- [Netdata Security](https://github.com/netdata/netdata/blob/master/docs/netdata-security.md#security-design):
+3. Change ownership of the following directories:
-```sh
-chown -R root:netdata /opt/netdata/usr/share/netdata
-chown -R netdata:netdata /opt/netdata/var/lib/netdata /opt/netdata/var/cache/netdata
-chown -R netdata:root /opt/netdata/var/log/netdata
-```
+ ```sh
+ chown -R root:netdata /opt/netdata/usr/share/netdata
+ chown -R netdata:netdata /opt/netdata/var/lib/netdata /opt/netdata/var/cache/netdata
+ chown -R netdata:root /opt/netdata/var/log/netdata
+ ```
4. Restart Netdata
-```sh
-/etc/rc.netdata restart
-```
+ ```sh
+ /etc/rc.netdata restart
+ ```
## Create startup script
@@ -59,6 +58,6 @@ installed. You'll have to do this manually:
[ -x /etc/rc.netdata ] && /etc/rc.netdata start
```
-3. Make sure `/etc/rc.netdata` is executable: `chmod 0755 /etc/rc.netdata`.
+3. Make sure `/etc/rc.local` is executable: `chmod 0755 /etc/rc.local`.
diff --git a/packaging/installer/methods/systems.md b/packaging/installer/methods/systems.md
index e53c4f4a..8715a57a 100644
--- a/packaging/installer/methods/systems.md
+++ b/packaging/installer/methods/systems.md
@@ -11,8 +11,8 @@ learn_rel_path: "Installation/Install on specific environments"
This category contains specific instructions for some popular environments.
If you have a standard environment that is not yet listed here, just use the
-[one line installer kickstart.sh](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/kickstart.md)
+[one line installer kickstart.sh](/packaging/installer/methods/kickstart.md)
If your environment is somewhat old or unusual, check our
-[platform support policy](https://github.com/netdata/netdata/blob/master/packaging/PLATFORM_SUPPORT.md).
+[platform support policy](/docs/netdata-agent/versions-and-platforms.md).