Netdata

From ArchWiki

netdata is a system for distributed real-time performance and health monitoring. netdata is created by the group that also created FireHOL and FireQOS.

netdata is designed to permanently run on all systems (physical and virtual servers, containers, IoT devices), without disrupting their core function.

Netdata allows to create dashboards of multiple servers, which stream on the fly the data from them to the browser. This functionality is called cloud and available through their website. This service is free of charge.

Installation

Install the netdata package. The installation package includes go.d.plugin.

Start/enable the netdata service.

Configuration

Netdata reads its configuration file from /etc/netdata/netdata.conf. This configuration file is not needed by default. Netdata works with the default settings without it, but it does allow you to adapt the general behavior of Netdata. You can find all these settings (and their default values) by accessing the http://localhost:19999/netdata.conf URL.

The plugins folders is at /usr/lib/netdata and their configuration at /usr/lib/netdata/conf.d.

Enable cloud connection

The cloud functionality allows you to visit the metrics of multiple nodes via a stream through the website of the Netdata company. To enable this connection you have to connect your local instance by logging into the website and generate a token (and a room-id). To establish a permanent connection to the cloud for streaming of the metrics run the following command in a terminal:

# netdata-claim.sh  -token=abcdefg -rooms=abcdefg-abcdefg

Disable cloud integration

To hide all Netdata Cloud advertisements and connection attempts:

/var/lib/netdata/cloud.d/cloud.conf
[global]
    enabled = no

If the /var/lib/netdata/cloud.d/ folder does not exist (which is the case if Netdata was just installed without starting it for the first time), create it:

# mkdir -p /var/lib/netdata/cloud.d
# chown -R netdata:netdata /var/lib/netdata

Behind a web server

netdata can be run behind another web server (proxy) and you can configure it accordingly. The netdata documentation has examples for Apache, Nginx, lighttpd, haproxy and caddy.

Built-in web server

netdata is accessible at http://localhost:19999/ by default.

To enable remote IPv4 (0.0.0.0) and IPv6 ([::]) access, edit /etc/netdata/netdata.conf:

[web]
    bind to = 0.0.0.0 [::]

Telemetry

Netdata collects anonymous usage information through its own infrastructure and via PostHog by default. To opt out of this telemetry functionality, create the following configuration file:

# touch /etc/netdata/.opt-out-from-anonymous-statistics

More details on the data gathered can be found here.

Optimization

netdata can be optimized for different scenarios.[1]

See also