Docs: Standardize links between documentation (#8638)
* Trying out some absolute-ish links * Try one out on installer * Testing logic * Trying out some more links * Fixing links * Fix links in python collectors * Changed a bunch more links * Fix build errors * Another push of links * Fix build error and add more links * Complete first pass * Fix final broken links * Fix links to files * Fix for Netlify * Two more fixes
Joel Hans committed
Apr 14, 2020 at 10:26 UTC
e99692f145f710930723081d2e5bbf8868be2080
155 files changed
+949
-708
README.md
+46
-45
@@ -102,7 +102,7 @@ We provide Docker images for the most common architectures. These are statistics
102
### Registry
103
104
When you install multiple Netdata, they are integrated into **one distributed application**, via a [Netdata
105
-registry](registry/README.md). This is a web browser feature and it allows us to count the number of unique users and
105
+registry](/registry/README.md). This is a web browser feature and it allows us to count the number of unique users and
106
unique Netdata servers installed. The following information comes from the global public Netdata registry we run:
107
108
[ page.
139
+about the information collected, and learn how to-opt, on our [anonymous statistics](/docs/anonymous-statistics.md) page.
140
141
The usage statistics are _vital_ for us, as we use them to discover bugs and prioritize new features. We thank you for
142
_actively_ contributing to Netdata's future.
143
144
-To learn more about the pros and cons of using _nightly_ vs. _stable_ releases, see our [notice about the two options](packaging/installer/README.md#nightly-vs-stable-releases).
144
+To learn more about the pros and cons of using _nightly_ vs. _stable_ releases, see our [notice about the two options](/packaging/installer/README.md#nightly-vs-stable-releases).
145
146
The above command will:
147
148
- Install any required packages on your system (it will ask you to confirm before doing so)
149
- Compile it, install it, and start it.
150
151
-More installation methods and additional options can be found at the [installation page](packaging/installer/).
151
+More installation methods and additional options can be found at the [installation
152
+page](/packaging/installer/README.md).
153
154
To try Netdata in a Docker container, run this:
155
@@ -165,7 +166,7 @@ docker run -d --name=netdata \
166
netdata/netdata
167
```
168
168
-For more information about running Netdata in Docker, check the [docker installation page](packaging/docker/).
169
+For more information about running Netdata in Docker, check the [docker installation page](/packaging/docker/README.md).
170
171

172
@@ -242,12 +243,12 @@ This is how it works:
243
244
| Function | Description | Documentation |
245
| :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------- |
245
-| **Collect** | Multiple independent data collection workers are collecting metrics from their sources using the optimal protocol for each application and push the metrics to the database. Each data collection worker has lockless write access to the metrics it collects. | [`collectors`](collectors/README.md) |
246
-| **Store** | Metrics are first stored in RAM in a custom database engine that then "spills" historical metrics to disk for efficient long-term metrics storage. | [`database`](database/README.md) |
247
-| **Check** | A lockless independent watchdog is evaluating **health checks** on the collected metrics, triggers alarms, maintains a health transaction log and dispatches alarm notifications. | [`health`](health/README.md) |
248
-| **Stream** | A lockless independent worker is streaming metrics, in full detail and in real-time, to remote Netdata servers, as soon as they are collected. | [`streaming`](streaming/README.md) |
249
-| **Archive** | A lockless independent worker is down-sampling the metrics and pushes them to **backend** time-series databases. | [`backends`](backends/README.md) |
250
-| **Query** | Multiple independent workers are attached to the [internal web server](web/server/README.md), servicing API requests, including [data queries](web/api/queries/README.md). | [`web/api`](web/api/README.md) |
246
+| **Collect** | Multiple independent data collection workers are collecting metrics from their sources using the optimal protocol for each application and push the metrics to the database. Each data collection worker has lockless write access to the metrics it collects. | [`collectors`](/collectors/README.md) |
247
+| **Store** | Metrics are first stored in RAM in a custom database engine that then "spills" historical metrics to disk for efficient long-term metrics storage. | [`database`](/database/README.md) |
248
+| **Check** | A lockless independent watchdog is evaluating **health checks** on the collected metrics, triggers alarms, maintains a health transaction log and dispatches alarm notifications. | [`health`](/health/README.md) |
249
+| **Stream** | A lockless independent worker is streaming metrics, in full detail and in real-time, to remote Netdata servers, as soon as they are collected. | [`streaming`](/streaming/README.md) |
250
+| **Archive** | A lockless independent worker is down-sampling the metrics and pushes them to **backend** time-series databases. | [`backends`](/backends/README.md) |
251
+| **Query** | Multiple independent workers are attached to the [internal web server](/web/server/README.md), servicing API requests, including [data queries](/web/api/queries/README.md). | [`web/api`](/web/api/README.md) |
252
253
The result is a highly efficient, low-latency system, supporting multiple readers and one writer on each metric.
254
@@ -287,17 +288,17 @@ This is what you should expect from Netdata:
288
289
- **Sophisticated alerting** - Netdata comes with hundreds of alarms **out of the box**! It supports dynamic
290
thresholds, hysteresis, alarm templates, multiple role-based notification methods, and more.
290
-- **Notifications**: [alerta.io](health/notifications/alerta/), [amazon sns](health/notifications/awssns/),
291
- [discordapp.com](health/notifications/discord/), [email](health/notifications/email/),
292
- [flock.com](health/notifications/flock/), [hangouts](health/notifications/hangouts/),
293
- [irc](health/notifications/irc/), [kavenegar.com](health/notifications/kavenegar/),
294
- [messagebird.com](health/notifications/messagebird/), [pagerduty.com](health/notifications/pagerduty/),
295
- [prowl](health/notifications/prowl/), [pushbullet.com](health/notifications/pushbullet/),
296
- [pushover.net](health/notifications/pushover/), [rocket.chat](health/notifications/rocketchat/),
297
- [slack.com](health/notifications/slack/), [smstools3](health/notifications/smstools3/),
298
- [syslog](health/notifications/syslog/), [telegram.org](health/notifications/telegram/),
299
- [twilio.com](health/notifications/twilio/), [web](health/notifications/web/) and [custom
300
- notifications](health/notifications/custom/).
291
+- **Notifications**: [alerta.io](/health/notifications/alerta/), [amazon sns](/health/notifications/awssns/),
292
+ [discordapp.com](/health/notifications/discord/), [email](/health/notifications/email/),
293
+ [flock.com](/health/notifications/flock/), [hangouts](/health/notifications/hangouts/),
294
+ [irc](/health/notifications/irc/), [kavenegar.com](/health/notifications/kavenegar/),
295
+ [messagebird.com](/health/notifications/messagebird/), [pagerduty.com](/health/notifications/pagerduty/),
296
+ [prowl](health/notifications/prowl/), [pushbullet.com](/health/notifications/pushbullet/),
297
+ [pushover.net](health/notifications/pushover/), [rocket.chat](/health/notifications/rocketchat/),
298
+ [slack.com](/health/notifications/slack/), [smstools3](/health/notifications/smstools3/),
299
+ [syslog](/health/notifications/syslog/), [telegram.org](/health/notifications/telegram/),
300
+ [twilio.com](/health/notifications/twilio/), [web](/health/notifications/web/) and [custom
301
+ notifications](/health/notifications/custom/).
302
303
### Integrations
304
@@ -317,7 +318,7 @@ This is what you should expect from Netdata:
318
- **Visual anomaly detection** - Our UI/UX emphasizes the relationships between charts so you can better detect
319
anomalies visually.
320
- **Embeddable** - Charts can be embedded on your web pages, wikis and blogs. You can even use [Atlassian's Confluence
320
- as a monitoring dashboard](web/gui/confluence/).
321
+ as a monitoring dashboard](/web/gui/confluence/README.md).
322
- **Customizable** - You can build custom dashboards using simple HTML. No JavaScript needed!
323
324
### Positive and negative values
@@ -350,7 +351,7 @@ _Charts are panned by dragging them with the mouse. Charts can be zoomed in/out
351
mouse pointer is over a chart._
352
353
> The visible time-frame (pan and zoom) is propagated from Netdata server to Netdata server when navigating via the
353
-> [My nodes menu](registry/README.md).
354
+> [My nodes menu](/registry/README.md).
355
356
### Highlighted time-frame
357
@@ -363,21 +364,22 @@ _A highlighted time-frame can be given by pressing `Alt` + `mouse selection` on
364
same range on all charts._
365
366
> Highlighted ranges are propagated from Netdata server to Netdata server, when navigating via the [My nodes
366
-> menu](registry/README.md).
367
+> menu](/registry/README.md).
368
369
## What Netdata monitors
370
371
Netdata can collect metrics from 200+ popular services and applications, on top of dozens of system-related metrics
372
jocs, such as CPU, memory, disks, filesystems, networking, and more. We call these **collectors**, and they're managed
372
-by [**plugins**](collectors/plugins.d/), which support a variety of programming languages, including Go and Python.
373
+by [**plugins**](/collectors/plugins.d/README.md), which support a variety of programming languages, including Go and
374
+Python.
375
376
Popular collectors include **Nginx**, **Apache**, **MySQL**, **statsd**, **cgroups** (containers, Docker, Kubernetes,
377
LXC, and more), **Traefik**, **web server `access.log` files**, and much more.
378
377
-See the **full list of [supported collectors](collectors/COLLECTORS.md)**.
379
+See the **full list of [supported collectors](/collectors/COLLECTORS.md)**.
380
381
Netdata's data collection is **extensible**, which means you can monitor anything you can get a metric for. You can even
380
-write a collector for your custom application using our [plugin API](collectors/plugins.d/README.md).
382
+write a collector for your custom application using our [plugin API](/collectors/plugins.d/README.md).
383
384
## Documentation
385
@@ -386,25 +388,25 @@ repository itself in Markdown (`.md`) files. You can find all our documentation
388
389
Here is a quick list of notable documents:
390
389
-| Directory | Description |
390
-| :------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------- |
391
-| [`installer`](packaging/installer/) | Instructions to install Netdata on your systems. |
392
-| [`docker`](packaging/docker/) | Instructions to install Netdata using docker. |
393
-| [`daemon`](daemon/) | Information about the Netdata daemon and its configuration. |
394
-| [`collectors`](collectors/) | Information about data collection plugins. |
395
-| [`health`](health/) | How Netdata's health monitoring works, how to create your own alarms and how to configure alarm notification methods. |
396
-| [`streaming`](streaming/) | How to build hierarchies of Netdata servers, by streaming metrics between them. |
397
-| [`backends`](backends/) | Long term archiving of metrics to industry-standard time-series databases, like `prometheus`, `graphite`, `opentsdb`. |
398
-| [`web/api`](web/api/) | Learn how to query the Netdata API and the queries it supports. |
399
-| [`web/api/badges`](web/api/badges/) | Learn how to generate badges (SVG images) from live data. |
400
-| [`web/gui/custom`](web/gui/custom/) | Learn how to create custom Netdata dashboards. |
401
-| [`web/gui/confluence`](web/gui/confluence/) | Learn how to create Netdata dashboards on Atlassian's Confluence. |
391
+| Directory | Description |
392
+| :---------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------- |
393
+| [`installer`](/packaging/installer/README.md) | Instructions to install Netdata on your systems. |
394
+| [`docker`](/packaging/docker/README.md) | Instructions to install Netdata using docker. |
395
+| [`daemon`](/daemon/README.md) | Information about the Netdata daemon and its configuration. |
396
+| [`collectors`](/collectors/README.md) | Information about data collection plugins. |
397
+| [`health`](/health/README.md) | How Netdata's health monitoring works, how to create your own alarms and how to configure alarm notification methods. |
398
+| [`streaming`](/streaming/README.md) | How to build hierarchies of Netdata servers, by streaming metrics between them. |
399
+| [`backends`](/backends/README.md) | Long term archiving of metrics to industry-standard time-series databases, like `prometheus`, `graphite`, `opentsdb`. |
400
+| [`web/api`](/web/api/README.md) | Learn how to query the Netdata API and the queries it supports. |
401
+| [`web/api/badges`](/web/api/badges/README.md) | Learn how to generate badges (SVG images) from live data. |
402
+| [`web/gui/custom`](/web/gui/custom/README.md) | Learn how to create custom Netdata dashboards. |
403
+| [`web/gui/confluence`](/web/gui/confluence/README.md) | Learn how to create Netdata dashboards on Atlassian's Confluence. |
404
405
You can also check all the other directories. Most of them have plenty of documentation.
406
407
## Community
408
407
-We welcome [contributions](CONTRIBUTING.md). Feel free to join the team!
409
+We welcome [contributions](/CONTRIBUTING.md). Feel free to join the team!
410
411
To report bugs or get help, use [GitHub's issues](https://github.com/netdata/netdata/issues).
412
@@ -413,15 +415,14 @@ You can also find Netdata on:
415
- [Facebook](https://www.facebook.com/linuxnetdata/)
416
- [Twitter](https://twitter.com/linuxnetdata)
417
- [StackShare](https://stackshare.io/netdata)
416
-- [LinkedIn](https://www.linkedin.com/company/my-netdata.io/)
418
- [Product Hunt](https://www.producthunt.com/posts/netdata-monitoring-agent/)
419
- [Repology](https://repology.org/metapackage/netdata/versions)
420
421
## License
422
422
-Netdata is [GPLv3+](LICENSE).
423
+Netdata is [GPLv3+](/LICENSE).
424
424
-Netdata re-distributes other open-source tools and libraries. Please check the [third party licenses](REDISTRIBUTED.md).
425
+Netdata re-distributes other open-source tools and libraries. Please check the [third party licenses](/REDISTRIBUTED.md).
426
427
## Is it any good?
428
REDISTRIBUTED.md
+2
-2
@@ -10,7 +10,7 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/REDISTRIBUTED.md
10
Netdata copyright info:
11
Copyright 2016-2018, Costa Tsaousis.
12
Copyright 2018, Netdata Inc.
13
- Released under [GPL v3 or later](LICENSE).
13
+ Released under [GPL v3 or later](https://raw.githubusercontent.com/netdata/netdata/master/LICENSE).
14
15
Netdata uses SPDX license tags to identify the license for its files.
16
Individual licenses referenced in the tags are available on the [SPDX project site](http://spdx.org/licenses/).
@@ -163,7 +163,7 @@ connectivity is not available.
163
Copyright (c) 2014 Lucas Garron
164
[MIT License](https://github.com/lgarron/clipboard-polyfill/blob/master/LICENSE.md)
165
166
-- [Utilities for writing code that runs on Python 2 and 3](collectors/python.d.plugin/python_modules/urllib3/packages/six.py)
166
+- [Utilities for writing code that runs on Python 2 and 3](https://raw.githubusercontent.com/netdata/netdata/master/collectors/python.d.plugin/python_modules/urllib3/packages/six.py)
167
168
Copyright (c) 2010-2015 Benjamin Peterson
169
[MIT License](https://github.com/benjaminp/six/blob/master/LICENSE)
backends/README.md
+7
-8
@@ -36,7 +36,8 @@ So, although Netdata collects metrics every second, it can send to the backend s
36
37
metrics are sent to a document db, `JSON` formatted.
38
39
- - **prometheus** is described at [prometheus page](prometheus/) since it pulls data from Netdata.
39
+ - **prometheus** is described at [prometheus page](/backends/prometheus/README.md) since it pulls data from
40
+ Netdata.
41
42
- **prometheus remote write** (a binary snappy-compressed protocol buffer encoding over HTTP used by
43
**Elasticsearch**, **Gnocchi**, **Graphite**, **InfluxDB**, **Kafka**, **OpenTSDB**, **PostgreSQL/TimescaleDB**,
@@ -44,10 +45,10 @@ So, although Netdata collects metrics every second, it can send to the backend s
45
providers](https://prometheus.io/docs/operating/integrations/#remote-endpoints-and-storage))
46
47
metrics are labeled in the format, which is used by Netdata for the [plaintext prometheus
47
- protocol](prometheus/). Notes on using the remote write backend are [here](prometheus/remote_write/).
48
+ protocol](/backends/prometheus/README.md). Notes on using the remote write backend are [here](/backends/prometheus/remote_write/README.md).
49
49
- - **TimescaleDB** via [community-built connector](TIMESCALE.md) that takes JSON streams from a Netdata client
50
- and writes them to a TimescaleDB table.
50
+ - **TimescaleDB** via [community-built connector](/backends/TIMESCALE.md) that takes JSON streams from a Netdata
51
+ client and writes them to a TimescaleDB table.
52
53
- **AWS Kinesis Data Streams**
54
@@ -143,14 +144,14 @@ from your Netdata):
144
When multiple servers are defined, Netdata will try the next one when the first one fails. This allows you to
145
load-balance different servers: give your backend servers in different order on each Netdata.
146
146
- Netdata also ships [`nc-backend.sh`](nc-backend.sh), a script that can be used as a fallback backend to save the
147
+ Netdata also ships `nc-backend.sh`, a script that can be used as a fallback backend to save the
148
metrics to disk and push them to the time-series database when it becomes available again. It can also be used to
149
monitor / trace / debug the metrics Netdata generates.
150
151
For kinesis backend `destination` should be set to an AWS region (for example, `us-east-1`).
152
153
The MongoDB backend doesn't use the `destination` option for its configuration. It uses the `mongodb.conf`
153
- [configuration file](../backends/mongodb/) instead.
154
+ [configuration file](/backends/mongodb/README.md) instead.
155
156
- `data source = as collected`, or `data source = average`, or `data source = sum`, selects the kind of data that will
157
be sent to the backend.
@@ -222,8 +223,6 @@ Netdata provides 5 charts:
223
224
## alarms
225
225
-The latest version of the alarms configuration for monitoring the backend is [here](../health/health.d/backend.conf)
226
-
226
Netdata adds 4 alarms:
227
228
1. `backend_last_buffering`, number of seconds since the last successful buffering of backend data
backends/opentsdb/README.md
+1
-1
@@ -24,7 +24,7 @@ change the `destination = localhost:4242` line accordingly.
24
As of [v1.16.0](https://github.com/netdata/netdata/releases/tag/v1.16.0), Netdata can send metrics to OpenTSDB using
25
TLS/SSL. Unfortunately, OpenTDSB does not support encrypted connections, so you will have to configure a reverse proxy
26
to enable HTTPS communication between Netdata and OpenTSBD. You can set up a reverse proxy with
27
-[Nginx](../../docs/Running-behind-nginx.md).
27
+[Nginx](/docs/Running-behind-nginx.md).
28
29
After your proxy is configured, make the following changes to `netdata.conf`:
30
backends/prometheus/README.md
+1
-1
@@ -19,7 +19,7 @@ are starting at a fresh ubuntu shell (whether you'd like to follow along in a VM
19
20
### Installing Netdata
21
22
-There are number of ways to install Netdata according to [Installation](../../packaging/installer/). The suggested way
22
+There are number of ways to install Netdata according to [Installation](/packaging/installer/README.md). The suggested way
23
of installing the latest Netdata and keep it upgrade automatically. Using one line installation:
24
25
```sh
cli/README.md
+1
-1
@@ -30,6 +30,6 @@ reload-claiming-state
30
Reload agent claiming state from disk.
31
```
32
33
-Those commands are the same that can be sent to netdata via [signals](../daemon/README.md#command-line-options).
33
+Those commands are the same that can be sent to netdata via [signals](/daemon/README.md#command-line-options).
34
35
[](<>)
collectors/COLLECTORS.md
+3
-3
@@ -12,9 +12,9 @@ Netdata uses collectors to help you gather metrics from your favorite applicatio
12
real-time, interactive charts. The following list includes collectors for both internal system metrics, and external
13
apps/services metrics.
14
15
-Read more about collectors and how to enable them in our [collectors documentation](README.md), or use the [collector
16
-quickstart](QUICKSTART.md) to figure out how to collect metrics from your favorite app/service with auto-detection and
17
-minimal configuration.
15
+Read more about collectors and how to enable them in our [collectors documentation](/collectors/README.md), or use the
16
+[collector quickstart](/collectors/QUICKSTART.md) to figure out how to collect metrics from your favorite app/service
17
+with auto-detection and minimal configuration.
18
19
If you don't see the app/service you'd like to monitor here, check out our [GitHub
20
issues](https://github.com/netdata/netdata/issues). Use the search bar to look for previous discussions about that
collectors/QUICKSTART.md
+4
-3
@@ -115,8 +115,9 @@ entry in the menu and new interactive charts!
115
Collector not working? Learn about collector troubleshooting in our [collector
116
reference](REFERENCE.md#troubleshoot-a-collector).
117
118
-View our [collectors tutorials](README.md#tutorials) to get specific instructions on enabling new and popular
119
-collectors.
118
+View our [collectors tutorials](/collectors/README.md#tutorials) to get specific instructions on enabling new and
119
+popular collectors.
120
121
Finally, learn more advanced collector features, such as disabling plugins or developing a custom collector, in our
122
-[internal plugin API](REFERENCE.md#internal-plugins-api) or our [external plugin docs](plugins.d/README.md).
122
+[internal plugin API](/collectors/REFERENCE.md#internal-plugins-api) or our [external plugin
123
+docs](/collectors/plugins.d/README.md).
collectors/README.md
+17
-16
@@ -9,45 +9,46 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/collectors/READM
9
10
Netdata can collect metrics from hundreds of different sources, be they internal data created by the system itself, or
11
external data created by services or applications. To see _all_ of the sources Netdata collects from, view our [list of
12
-supported collectors](COLLECTORS.md), and then view our [quickstart guide](QUICKSTART.md) to get up-and-running.
12
+supported collectors](/collectors/COLLECTORS.md), and then view our [quickstart guide](/collectors/QUICKSTART.md) to get
13
+up-and-running.
14
15
There are two essential points to understand about how collecting metrics works in Netdata:
16
17
- All collectors are **installed by default** with every installation of Netdata. You do not need to install
18
collectors manually to collect metrics from new sources.
18
-- Upon startup, Netdata will **auto-detect** any application or service that has a [collector](COLLECTORS.md), as long
19
- as both the collector and the app/service are configured correctly.
19
+- Upon startup, Netdata will **auto-detect** any application or service that has a
20
+ [collector](/collectors/COLLECTORS.md), as long as both the collector and the app/service are configured correctly.
21
22
Most users will want to enable a new Netdata collector for their app/service. For those details, see our [quickstart
22
-guide](QUICKSTART.md).
23
+guide](/collectors/QUICKSTART.md).
24
25
## Take your next steps with collectors
26
26
-[Collectors quickstart](QUICKSTART.md)
27
+[Collectors quickstart](/collectors/QUICKSTART.md)
28
28
-[Supported collectors list](COLLECTORS.md)
29
+[Supported collectors list](/collectors/COLLECTORS.md)
30
30
-[Collectors configuration reference](REFERENCE.md)
31
+[Collectors configuration reference](/collectors/REFERENCE.md)
32
33
## Tutorials
34
34
-[Monitor Nginx or Apache web server log files with Netdata](../docs/tutorials/collect-apache-nginx-web-logs.md)
35
+[Monitor Nginx or Apache web server log files with Netdata](/docs/tutorials/collect-apache-nginx-web-logs.md)
36
36
-[Monitor CockroadchDB metrics with Netdata](../docs/tutorials/monitor-cockroachdb.md)
37
+[Monitor CockroadchDB metrics with Netdata](/docs/tutorials/monitor-cockroachdb.md)
38
38
-[Monitor Unbound DNS servers with Netdata](../docs/tutorials/collect-unbound-metrics.md)
39
+[Monitor Unbound DNS servers with Netdata](/docs/tutorials/collect-unbound-metrics.md)
40
40
-[Monitor a Hadoop cluster with Netdata](../docs/tutorials/monitor-hadoop-cluster.md)
41
+[Monitor a Hadoop cluster with Netdata](/docs/tutorials/monitor-hadoop-cluster.md)
42
43
## Related features
44
44
-**[Dashboards](../web/README.md)**: Vizualize your newly-collect metrics in real-time using Netdata's [built-in
45
-dashboard](../web/gui/README.md).
45
+**[Dashboards](/web/README.md)**: Vizualize your newly-collect metrics in real-time using Netdata's [built-in
46
+dashboard](/web/gui/README.md).
47
47
-**[Backends](../backends/README.md)**: Extend our built-in [database engine](), which supports long-term metrics
48
-storage, by archiving metrics to like Graphite, Prometheus, MongoDB, TimescaleDB, and more.
48
+**[Backends](/backends/README.md)**: Extend our built-in [database engine](/database/engine/README.md), which supports
49
+long-term metrics storage, by archiving metrics to like Graphite, Prometheus, MongoDB, TimescaleDB, and more.
50
50
-**[Exporting](../exporting/README.md)**: An experimental refactoring of our backends system with a modular system and
51
+**[Exporting](/exporting/README.md)**: An experimental refactoring of our backends system with a modular system and
52
support for exporting metrics to multiple systems simultaneously.
53
54
[](<>)
collectors/REFERENCE.md
+4
-4
@@ -35,8 +35,8 @@ independent processes in a variety of programming languages based on their purpo
35
MySQL database, among many others.
36
37
For most users, enabling individual collectors for the application/service you're interested in is far more important
38
-than knowing which plugin it uses. See our [collectors list](COLLECTORS.md) to see whether your favorite app/service has
39
-a collector, and then read the [collectors quickstart](QUICKSTART.md) and the documentation for that specific collector
38
+than knowing which plugin it uses. See our [collectors list](/collectors/COLLECTORS.md) to see whether your favorite app/service has
39
+a collector, and then read the [collectors quickstart](/collectors/QUICKSTART.md) and the documentation for that specific collector
40
to figure out how to enable it.
41
42
There are three types of plugins:
@@ -48,7 +48,7 @@ There are three types of plugins:
48
independent processes. They communicate with the daemon via pipes.
49
- **Plugin orchestrators**, which are external plugins that instead support a number of **modules**. Modules are a
50
type of collector. We have a few plugin orchestrators available for those who want to develop their own collectors,
51
- but focus most of our efforts on the [Go plugin](go.d.plugin/README.md).
51
+ but focus most of our efforts on the [Go plugin](/collectors/go.d.plugin/README.md).
52
53
## Enable, configure, and disable modules
54
@@ -59,7 +59,7 @@ However, there are cases that auto-detection fails. Usually, the reason is that
59
allow Netdata to connect. In most of the cases, allowing the user `netdata` from `localhost` to connect and collect
60
metrics, will automatically enable data collection for the application in question (it will require a Netdata restart).
61
62
-View our [collectors quickstart](QUICKSTART.md) for explict details on enabling and configuring collector modules.
62
+View our [collectors quickstart](/collectors/QUICKSTART.md) for explict details on enabling and configuring collector modules.
63
64
## Troubleshoot a collector
65
collectors/apps.plugin/README.md
+9
-13
@@ -14,7 +14,7 @@ for every process found running.
14
15
Since Netdata needs to present this information in charts and track them through time,
16
instead of presenting a `top` like list, `apps.plugin` uses a pre-defined list of **process groups**
17
-to which it assigns all running processes. This list is [customizable](apps_groups.conf) and Netdata
17
+to which it assigns all running processes. This list is customizable via `apps_groups.conf`, and Netdata
18
ships with a good default for most cases (to edit it on your system run `/etc/netdata/edit-config apps_groups.conf`).
19
20
So, `apps.plugin` builds a process tree (much like `ps fax` does in Linux), and groups
@@ -22,7 +22,7 @@ processes together (evaluating both child and parent processes) so that the resu
22
a predefined set of members (of course, only process groups found running are reported).
23
24
> If you find that `apps.plugin` categorizes standard applications as `other`, we would be
25
-> glad to accept pull requests improving the [defaults](apps_groups.conf) shipped with Netdata.
25
+> glad to accept pull requests improving the defaults shipped with Netdata in `apps_groups.conf`.
26
27
Unlike traditional process monitoring tools (like `top`), `apps.plugin` is able to account the resource
28
utilization of exit processes. Their utilization is accounted at their currently running parents.
@@ -67,7 +67,7 @@ Each of these sections provides the same number of charts:
67
68
The above are reported:
69
70
-- For **Applications** per [target configured](apps_groups.conf).
70
+- For **Applications** per target configured.
71
- For **Users** per username or UID (when the username is not available).
72
- For **User Groups** per groupname or GID (when groupname is not available).
73
@@ -97,8 +97,7 @@ its CPU resources will be cut in half, and data collection will be once every 2
97
98
## Configuration
99
100
-The configuration file is `/etc/netdata/apps_groups.conf` (the default is [here](apps_groups.conf)).
101
-To edit it on your system run `/etc/netdata/edit-config apps_groups.conf`.
100
+The configuration file is `/etc/netdata/apps_groups.conf`. To edit it on your system, run `/etc/netdata/edit-config apps_groups.conf`.
101
102
The configuration file works accepts multiple lines, each having this format:
103
@@ -224,7 +223,7 @@ Examples below for process group `sql`:
223
- Open Pipes 
224
- Open Sockets 
225
227
-For more information about badges check [Generating Badges](../../web/api/badges)
226
+For more information about badges check [Generating Badges](/web/api/badges/README.md)
227
228
## Comparison with console tools
229
@@ -358,9 +357,7 @@ So, the `ssh` session is using 95% CPU time.
357
358
Why `ssh`?
359
361
-`apps.plugin` groups all processes based on its configuration file
362
-[`/etc/netdata/apps_groups.conf`](apps_groups.conf)
363
-(to edit it on your system run `/etc/netdata/edit-config apps_groups.conf`).
360
+`apps.plugin` groups all processes based on its configuration file.
361
The default configuration has nothing for `bash`, but it has for `sshd`, so Netdata accumulates
362
all ssh sessions to a dimension on the charts, called `ssh`. This includes all the processes in
363
the process tree of `sshd`, **including the exited children**.
@@ -375,10 +372,9 @@ the process tree of `sshd`, **including the exited children**.
372
Netdata reads `/proc/<pid>/stat` for all processes, once per second and extracts `utime` and
373
`stime` (user and system cpu utilization), much like all the console tools do.
374
378
-But it [also extracts `cutime` and `cstime`](https://github.com/netdata/netdata/blob/62596cc6b906b1564657510ca9135c08f6d4cdda/src/apps_plugin.c#L636-L642)
379
-that account the user and system time of the exit children of each process. By keeping a map in
380
-memory of the whole process tree, it is capable of assigning the right time to every process,
381
-taking into account all its exited children.
375
+But it also extracts `cutime` and `cstime` that account the user and system time of the exit children of each process.
376
+By keeping a map in memory of the whole process tree, it is capable of assigning the right time to every process, taking
377
+into account all its exited children.
378
379
It is tricky, since a process may be running for 1 hour and once it exits, its parent should not
380
receive the whole 1 hour of cpu time in just 1 second - you have to subtract the cpu time that has
collectors/cgroups.plugin/README.md
+1
-1
@@ -105,7 +105,7 @@ For this mapping Netdata provides 2 configuration options:
105
106
The whole point for the additional pattern list, is to limit the number of times the script will be called. Without this pattern list, the script might be called thousands of times, depending on the number of cgroups available in the system.
107
108
-The above pattern list is matched against the path of the cgroup. For matched cgroups, Netdata calls the script [cgroup-name.sh](cgroup-name.sh.in) to get its name. This script queries `docker`, or applies heuristics to find give a name for the cgroup.
108
+The above pattern list is matched against the path of the cgroup. For matched cgroups, Netdata calls the script [cgroup-name.sh](https://raw.githubusercontent.com/netdata/netdata/master/collectors/cgroups.plugin/cgroup-name.sh.in) to get its name. This script queries `docker`, or applies heuristics to find give a name for the cgroup.
109
110
### charts with zero metrics
111
collectors/charts.d.plugin/README.md
+5
-5
@@ -62,11 +62,11 @@ For a module called `X`, the following criteria must be met:
62
the collector cannot be used).
63
64
- `X_create()` - creates the Netdata charts, following the standard Netdata plugin guides as described in
65
- **[External Plugins](../plugins.d/)** (commands `CHART` and `DIMENSION`).
65
+ **[External Plugins](/collectors/plugins.d/README.md)** (commands `CHART` and `DIMENSION`).
66
The return value does matter: 0 = OK, 1 = FAILED.
67
68
- `X_update()` - collects the values for the defined charts, following the standard Netdata plugin guides
69
- as described in **[External Plugins](../plugins.d/)** (commands `BEGIN`, `SET`, `END`).
69
+ as described in **[External Plugins](/collectors/plugins.d/README.md)** (commands `BEGIN`, `SET`, `END`).
70
The return value also matters: 0 = OK, 1 = FAILED.
71
72
5. The following global variables are available to be set:
@@ -74,7 +74,7 @@ For a module called `X`, the following criteria must be met:
74
75
The module script may use more functions or variables. But all of them must begin with `X_`.
76
77
-The standard Netdata plugin variables are also available (check **[External Plugins](../plugins.d/)**).
77
+The standard Netdata plugin variables are also available (check **[External Plugins](/collectors/plugins.d/README.md)**).
78
79
### X_check()
80
@@ -88,7 +88,7 @@ connect to a local mysql database to find out if it can read the values it needs
88
### X_create()
89
90
The purpose of the BASH function `X_create()` is to create the charts and dimensions using the standard Netdata
91
-plugin guides (**[External Plugins](../plugins.d/)**).
91
+plugin guides (**[External Plugins](/collectors/plugins.d/README.md)**).
92
93
`X_create()` will be called just once and only after `X_check()` was successful.
94
You can however call it yourself when there is need for it (for example to add a new dimension to an existing chart).
@@ -98,7 +98,7 @@ A non-zero return value will disable the collector.
98
### X_update()
99
100
`X_update()` will be called repeatedly every `X_update_every` seconds, to collect new values and send them to Netdata,
101
-following the Netdata plugin guides (**[External Plugins](../plugins.d/)**).
101
+following the Netdata plugin guides (**[External Plugins](/collectors/plugins.d/README.md)**).
102
103
The function will be called with one parameter: microseconds since the last time it was run. This value should be
104
appended to the `BEGIN` statement of every chart updated by the collector script.
collectors/charts.d.plugin/ap/README.md
+1
-1
@@ -84,7 +84,7 @@ Station 40:b8:37:5a:ed:5e (on wlan0)
84
## Configuration
85
86
Edit the `charts.d/ap.conf` configuration file using `edit-config` from the your agent's [config
87
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
87
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
88
89
```bash
90
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/charts.d.plugin/apcupsd/README.md
+1
-1
@@ -12,7 +12,7 @@ Monitors different APC UPS models and retrieves status information using `apcacc
12
## Configuration
13
14
Edit the `charts.d/apcupsd.conf` configuration file using `edit-config` from the your agent's [config
15
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
15
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
16
17
```bash
18
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/charts.d.plugin/libreswan/README.md
+1
-1
@@ -23,7 +23,7 @@ The following charts are created, **per tunnel**:
23
## Configuration
24
25
Edit the `charts.d/libreswan.conf` configuration file using `edit-config` from the your agent's [config
26
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
26
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
27
28
```bash
29
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/charts.d.plugin/nut/README.md
+1
-1
@@ -52,7 +52,7 @@ The following charts will be created:
52
## Configuration
53
54
Edit the `charts.d/nut.conf` configuration file using `edit-config` from the your agent's [config
55
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
55
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
56
57
```bash
58
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/charts.d.plugin/opensips/README.md
+1
-1
@@ -10,7 +10,7 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/collectors/chart
10
## Configuration
11
12
Edit the `charts.d/opensips.conf` configuration file using `edit-config` from the your agent's [config
13
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
13
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
14
15
```bash
16
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/charts.d.plugin/sensors/README.md
+2
-2
@@ -8,7 +8,7 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/collectors/chart
8
# Linux machine sensors monitoring with Netdata
9
10
> THIS MODULE IS OBSOLETE.
11
-> USE [THE PYTHON ONE](../../python.d.plugin/sensors) - IT SUPPORTS MULTIPLE JOBS AND IT IS MORE EFFICIENT
11
+> USE [THE PYTHON ONE](/collectors/python.d.plugin/sensors) - IT SUPPORTS MULTIPLE JOBS AND IT IS MORE EFFICIENT
12
>
13
> Unlike the python one, this module can collect temperature on RPi.
14
@@ -34,7 +34,7 @@ One chart for every sensor chip found and each of the above will be created.
34
## Configuration
35
36
Edit the `charts.d/sensors.conf` configuration file using `edit-config` from the your agent's [config
37
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
37
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
38
39
```bash
40
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/diskspace.plugin/README.md
+1
-1
@@ -39,6 +39,6 @@ Charts can be enabled/disabled for every mount separately:
39
# inodes usage = auto
40
```
41
42
-> for disks performance monitoring, see the `proc` plugin, [here](../proc.plugin/#monitoring-disks)
42
+> for disks performance monitoring, see the `proc` plugin, [here](/collectors/proc.plugin/README.md#monitoring-disks)
43
44
[](<>)
collectors/ebpf_process.plugin/README.md
+6
-6
@@ -71,9 +71,9 @@ commands. You can also configure your system's `/etc/fstab` configuration to mou
71
72
eBPF collection is only enabled if you install Netdata with the `--enable-ebpf` option.
73
74
-If you installed via the [one-line installation script](../../packaging/installer/README.md), [64-bit
75
-binary](../../packaging/installer/methods/kickstart-64.md), or [manually](../../packaging/installer/methods/manual.md),
76
-you can append the `--enable-ebpf` option when you reinstall.
74
+If you installed via the [one-line installation script](/packaging/installer/README.md), [64-bit
75
+binary](/packaging/installer/methods/kickstart-64.md), or [manually](/packaging/installer/methods/manual.md), you can
76
+append the `--enable-ebpf` option when you reinstall.
77
78
For example, if you used the one-line installation script, you can reinstall Netdata with the following:
79
@@ -214,6 +214,6 @@ Because eBPF monitoring is complex, we are evaluating the performance of this ne
214
conditions, across various system loads, and when monitoring complex applications.
215
216
Our [initial testing](https://github.com/netdata/netdata/issues/8195) shows the performance of the eBPF collector is
217
-nearly identical to our [apps.plugin collector](../apps.plugin/), despite collecting and displaying much more
218
-sophisticated metrics. You can now use the eBPF to gather deeper insights without affecting the performance of your
219
-complex applications at any load.
217
+nearly identical to our [apps.plugin collector](/collectors/apps.plugin/README.md), despite collecting and displaying
218
+much more sophisticated metrics. You can now use the eBPF to gather deeper insights without affecting the performance of
219
+your complex applications at any load.
collectors/fping.plugin/README.md
+1
-1
@@ -44,7 +44,7 @@ fping_opts="-R -b 56 -i 1 -r 0 -t 5000"
44
## alarms
45
46
Netdata will automatically attach a few alarms for each host.
47
-Check the [latest versions of the fping alarms](../../health/health.d/fping.conf)
47
+Check the [latest versions of the fping alarms](https://raw.githubusercontent.com/netdata/netdata/master/health/health.d/fping.conf)
48
49
## Additional Tips
50
collectors/ioping.plugin/README.md
+1
-1
@@ -44,7 +44,7 @@ ioping_opts="-T 1000000 -R"
44
## alarms
45
46
Netdata will automatically attach a few alarms for each host.
47
-Check the [latest versions of the ioping alarms](../../health/health.d/ioping.conf)
47
+Check the [latest versions of the ioping alarms](https://raw.githubusercontent.com/netdata/netdata/master/health/health.d/ioping.conf)
48
49
## Multiple ioping Plugins With Different Settings
50
collectors/node.d.plugin/README.md
+3
-4
@@ -40,19 +40,18 @@ collectors in node.js. It also manages all its data collectors (placed in `/usr/
40
instance of node, thus lowering the memory footprint of data collection.
41
42
Of course, there can be independent plugins written in node.js (placed in `/usr/libexec/netdata/plugins`).
43
-These will have to be developed using the guidelines of **[External Plugins](../plugins.d/)**.
43
+These will have to be developed using the guidelines of **[External Plugins](/collectors/plugins.d/README.md)**.
44
45
To run `node.js` plugins you need to have `node` installed in your system.
46
47
In some older systems, the package named `node` is not node.js. It is a terminal emulation program called `ax25-node`.
48
In this case the node.js package may be referred as `nodejs`. Once you install `nodejs`, we suggest to link
49
`/usr/bin/nodejs` to `/usr/bin/node`, so that typing `node` in your terminal, opens node.js.
50
-For more information check the **\[[Installation]]** guide.
50
51
## configuring `node.d.plugin`
52
53
`node.d.plugin` can work even without any configuration. Its default configuration file is
55
-[/etc/netdata/node.d.conf](node.d.conf) (to edit it on your system run `/etc/netdata/edit-config node.d.conf`).
54
+`node.d.conf`. To edit it on your system, run `/etc/netdata/edit-config node.d.conf`.
55
56
## configuring `node.d.plugin` modules
57
@@ -234,6 +233,6 @@ The `service` object defines a set of functions to allow you send information to
233
---
234
235
_FIXME: document an operational node.d.plugin data collector - the best example is the
237
-[snmp collector](snmp/snmp.node.js)_
236
+[snmp collector](https://raw.githubusercontent.com/netdata/netdata/master/collectors/node.d.plugin/snmp/snmp.node.js)_
237
238
[](<>)
collectors/plugins.d/README.md
+19
-16
@@ -14,18 +14,18 @@ from external processes, thus allowing Netdata to use **external plugins**.
14
15
|plugin|language|O/S|description|
16
|:----:|:------:|:-:|:----------|
17
-|[apps.plugin](../apps.plugin/)|`C`|linux, freebsd|monitors the whole process tree on Linux and FreeBSD and breaks down system resource usage by **process**, **user** and **user group**.|
18
-|[charts.d.plugin](../charts.d.plugin/)|`BASH`|all|a **plugin orchestrator** for data collection modules written in `BASH` v4+.|
19
-|[cups.plugin](../cups.plugin/)|`C`|all|monitors **CUPS**|
20
-|[fping.plugin](../fping.plugin/)|`C`|all|measures network latency, jitter and packet loss between the monitored node and any number of remote network end points.|
21
-|[ioping.plugin](../ioping.plugin/)|`C`|all|measures disk latency.|
22
-|[freeipmi.plugin](../freeipmi.plugin/)|`C`|linux|collects metrics from enterprise hardware sensors, on Linux servers.|
23
-|[nfacct.plugin](../nfacct.plugin/)|`C`|linux|collects netfilter firewall, connection tracker and accounting metrics using `libmnl` and `libnetfilter_acct`.|
24
-|[xenstat.plugin](../xenstat.plugin/)|`C`|linux|collects XenServer and XCP-ng metrics using `lxenstat`.|
25
-|[perf.plugin](../perf.plugin/)|`C`|linux|collects CPU performance metrics using performance monitoring units (PMU).|
26
-|[node.d.plugin](../node.d.plugin/)|`node.js`|all|a **plugin orchestrator** for data collection modules written in `node.js`.|
27
-|[python.d.plugin](../python.d.plugin/)|`python`|all|a **plugin orchestrator** for data collection modules written in `python` v2 or v3 (both are supported).|
28
-|[slabinfo.plugin](../slabinfo.plugin/)|`C`|linux|collects kernel internal cache objects (SLAB) metrics.|
17
+|[apps.plugin](/collectors/apps.plugin/README.md)|`C`|linux, freebsd|monitors the whole process tree on Linux and FreeBSD and breaks down system resource usage by **process**, **user** and **user group**.|
18
+|[charts.d.plugin](/collectors/charts.d.plugin/README.md)|`BASH`|all|a **plugin orchestrator** for data collection modules written in `BASH` v4+.|
19
+|[cups.plugin](/collectors/cups.plugin/README.md)|`C`|all|monitors **CUPS**|
20
+|[fping.plugin](/collectors/fping.plugin/README.md)|`C`|all|measures network latency, jitter and packet loss between the monitored node and any number of remote network end points.|
21
+|[ioping.plugin](/collectors/ioping.plugin/README.md)|`C`|all|measures disk latency.|
22
+|[freeipmi.plugin](/collectors/freeipmi.plugin/README.md)|`C`|linux|collects metrics from enterprise hardware sensors, on Linux servers.|
23
+|[nfacct.plugin](/collectors/nfacct.plugin/README.md)|`C`|linux|collects netfilter firewall, connection tracker and accounting metrics using `libmnl` and `libnetfilter_acct`.|
24
+|[xenstat.plugin](/collectors/xenstat.plugin/README.md)|`C`|linux|collects XenServer and XCP-ng metrics using `lxenstat`.|
25
+|[perf.plugin](/collectors/perf.plugin/README.md)|`C`|linux|collects CPU performance metrics using performance monitoring units (PMU).|
26
+|[node.d.plugin](/collectors/node.d.plugin/README.md)|`node.js`|all|a **plugin orchestrator** for data collection modules written in `node.js`.|
27
+|[python.d.plugin](/collectors/python.d.plugin/README.md)|`python`|all|a **plugin orchestrator** for data collection modules written in `python` v2 or v3 (both are supported).|
28
+|[slabinfo.plugin](/collectors/slabinfo.plugin/README.md)|`C`|linux|collects kernel internal cache objects (SLAB) metrics.|
29
30
Plugin orchestrators may also be described as **modular plugins**. They are modular since they accept custom made modules to be included. Writing modules for these plugins is easier than accessing the native Netdata API directly. You will find modules already available for each orchestrator under the directory of the particular modular plugin (e.g. under python.d.plugin for the python orchestrator).
31
Each of these modular plugins has each own methods for defining modules. Please check the examples and their documentation.
@@ -64,7 +64,7 @@ Plugins can create any number of charts with any number of dimensions each. Each
64
65
Netdata will supply the environment variables `NETDATA_USER_CONFIG_DIR` (for user supplied) and `NETDATA_STOCK_CONFIG_DIR` (for Netdata supplied) configuration files to identify the directory where configuration files are stored. It is up to the plugin to read the configuration it needs.
66
67
-The `netdata.conf` section [plugins] section contains a list of all the plugins found at the system where Netdata runs, with a boolean setting to enable them or not.
67
+The `netdata.conf` section `[plugins]` section contains a list of all the plugins found at the system where Netdata runs, with a boolean setting to enable them or not.
68
69
Example:
70
@@ -385,15 +385,18 @@ or do not output the line at all.
385
386
## Modular Plugins
387
388
-1. **python**, use `python.d.plugin`, there are many examples in the [python.d directory](../python.d.plugin/)
388
+1. **python**, use `python.d.plugin`, there are many examples in the [python.d
389
+ directory](/collectors/python.d.plugin/README.md)
390
391
python is ideal for Netdata plugins. It is a simple, yet powerful way to collect data, it has a very small memory footprint, although it is not the most CPU efficient way to do it.
392
392
-2. **node.js**, use `node.d.plugin`, there are a few examples in the [node.d directory](../node.d.plugin/)
393
+2. **node.js**, use `node.d.plugin`, there are a few examples in the [node.d
394
+ directory](/collectors/node.d.plugin/README.md)
395
396
node.js is the fastest scripting language for collecting data. If your plugin needs to do a lot of work, compute values, etc, node.js is probably the best choice before moving to compiled code. Keep in mind though that node.js is not memory efficient; it will probably need more RAM compared to python.
397
396
-3. **BASH**, use `charts.d.plugin`, there are many examples in the [charts.d directory](../charts.d.plugin/)
398
+3. **BASH**, use `charts.d.plugin`, there are many examples in the [charts.d
399
+ directory](/collectors/charts.d.plugin/README.md)
400
401
BASH is the simplest scripting language for collecting values. It is the less efficient though in terms of CPU resources. You can use it to collect data quickly, but extensive use of it might use a lot of system resources.
402
collectors/proc.plugin/README.md
+1
-1
@@ -307,7 +307,7 @@ By default Netdata will enable monitoring metrics only when they are not zero. I
307
308
There are several alarms defined in `health.d/net.conf`.
309
310
-The tricky ones are `inbound packets dropped` and `inbound packets dropped ratio`. They have quite a strict policy so that they warn users about possible issues. These alarms can be annoying for some network configurations. It is especially true for some bonding configurations if an interface is a slave or a bonding interface itself. If it is expected to have a certain number of drops on an interface for a certain network configuration, a separate alarm with different triggering thresholds can be created or the existing one can be disabled for this specific interface. It can be done with the help of the [families](../../health/REFERENCE.md#alarm-line-families) line in the alarm configuration. For example, if you want to disable the `inbound packets dropped` alarm for `eth0`, set `families: !eth0 *` in the alarm definition for `template: inbound_packets_dropped`.
310
+The tricky ones are `inbound packets dropped` and `inbound packets dropped ratio`. They have quite a strict policy so that they warn users about possible issues. These alarms can be annoying for some network configurations. It is especially true for some bonding configurations if an interface is a slave or a bonding interface itself. If it is expected to have a certain number of drops on an interface for a certain network configuration, a separate alarm with different triggering thresholds can be created or the existing one can be disabled for this specific interface. It can be done with the help of the [families](/health/REFERENCE.md#alarm-line-families) line in the alarm configuration. For example, if you want to disable the `inbound packets dropped` alarm for `eth0`, set `families: !eth0 *` in the alarm definition for `template: inbound_packets_dropped`.
311
312
#### configuration
313
collectors/python.d.plugin/README.md
+4
-2
@@ -81,7 +81,8 @@ Writing new python module is simple. You just need to remember to include 5 majo
81
82
If you plan to submit the module in a PR, make sure and go through the [PR checklist for new modules](#pull-request-checklist-for-python-plugins) beforehand to make sure you have updated all the files you need to.
83
84
-For a quick start, you can look at the [example plugin](example/example.chart.py).
84
+For a quick start, you can look at the [example
85
+plugin](https://raw.githubusercontent.com/netdata/netdata/master/collectors/python.d.plugin/example/example.chart.py).
86
87
### Global variables `ORDER` and `CHART`
88
@@ -204,7 +205,8 @@ For additional security it uses python `subprocess.Popen` (without `shell=True`
205
206
_Examples: `apache`, `nginx`, `tomcat`_
207
207
-_Multiple Endpoints (urls) Examples: [`rabbitmq`](rabbitmq/README.md) (simpler) , [`elasticsearch`](elasticsearch/README.md) (threaded)_
208
+_Multiple Endpoints (urls) Examples: [`rabbitmq`](/collectors/python.d.plugin/rabbitmq/README.md) (simpler) ,
209
+[`elasticsearch`](/collectors/python.d.plugin/elasticsearch/README.md) (threaded)_
210
211
212
_Variables from config file_: `url`, `user`, `pass`.
collectors/python.d.plugin/adaptec_raid/README.md
+1
-1
@@ -45,7 +45,7 @@ adaptec_raid: yes
45
```
46
47
Edit the `python.d/adaptec_raid.conf` configuration file using `edit-config` from the your agent's [config
48
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
48
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
49
50
```bash
51
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/am2320/README.md
+1
-1
@@ -22,7 +22,7 @@ It produces the following charts:
22
## Configuration
23
24
Edit the `python.d/am2320.conf` configuration file using `edit-config` from the your agent's [config
25
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
25
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
26
27
```bash
28
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/apache/README.md
+1
-1
@@ -53,7 +53,7 @@ It produces the following charts:
53
## Configuration
54
55
Edit the `python.d/apache.conf` configuration file using `edit-config` from the your agent's [config
56
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
56
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
57
58
```bash
59
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/beanstalk/README.md
+1
-1
@@ -113,7 +113,7 @@ Provides server and tube-level statistics.
113
## Configuration
114
115
Edit the `python.d/beanstalk.conf` configuration file using `edit-config` from the your agent's [config
116
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
116
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
117
118
```bash
119
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/bind_rndc/README.md
+1
-1
@@ -59,7 +59,7 @@ It produces:
59
## Configuration
60
61
Edit the `python.d/bind_rndc.conf` configuration file using `edit-config` from the your agent's [config
62
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
62
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
63
64
```bash
65
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/boinc/README.md
+1
-1
@@ -14,7 +14,7 @@ It provides charts tracking the total number of tasks and active tasks, as well
14
## Configuration
15
16
Edit the `python.d/boinc.conf` configuration file using `edit-config` from the your agent's [config
17
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
17
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
18
19
```bash
20
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/ceph/README.md
+1
-1
@@ -29,7 +29,7 @@ Monitors the ceph cluster usage and consumption data of a server, and produces:
29
## Configuration
30
31
Edit the `python.d/ceph.conf` configuration file using `edit-config` from the your agent's [config
32
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
32
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
33
34
```bash
35
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/chrony/README.md
+1
-1
@@ -24,7 +24,7 @@ Verify that user Netdata can execute `chronyc tracking`. If necessary, update `/
24
## Configuration
25
26
Edit the `python.d/chrony.conf` configuration file using `edit-config` from the your agent's [config
27
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
27
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
28
29
```bash
30
cd /etc/netdata # Replace this path with your Netdata config directory, if different, if different
collectors/python.d.plugin/couchdb/README.md
+1
-1
@@ -21,7 +21,7 @@ Monitors vital statistics of a local Apache CouchDB 2.x server, including:
21
## Configuration
22
23
Edit the `python.d/couchdb.conf` configuration file using `edit-config` from the your agent's [config
24
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
24
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
25
26
```bash
27
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/dns_query_time/README.md
+1
-1
@@ -18,7 +18,7 @@ It produces one aggregate chart or one chart per DNS server, showing the query t
18
## Configuration
19
20
Edit the `python.d/dns_query_time.conf` configuration file using `edit-config` from the your agent's [config
21
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
21
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
22
23
```bash
24
cd /etc/netdata # Replace this path with your Netdata config directory, if different, if different
collectors/python.d.plugin/dnsdist/README.md
+1
-1
@@ -53,7 +53,7 @@ Collects load-balancer performance and health metrics, and draws the following c
53
## Configuration
54
55
Edit the `python.d/dnsdist.conf` configuration file using `edit-config` from the your agent's [config
56
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
56
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
57
58
```bash
59
cd /etc/netdata # Replace this path with your Netdata config directory, if different, if different
collectors/python.d.plugin/dockerd/README.md
+1
-1
@@ -30,7 +30,7 @@ Following charts are drawn:
30
## Configuration
31
32
Edit the `python.d/dockerd.conf` configuration file using `edit-config` from the your agent's [config
33
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
33
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
34
35
```bash
36
cd /etc/netdata # Replace this path with your Netdata config directory, if different, if different
collectors/python.d.plugin/dovecot/README.md
+1
-1
@@ -79,7 +79,7 @@ Module gives information with following charts:
79
## Configuration
80
81
Edit the `python.d/dovecot.conf` configuration file using `edit-config` from the your agent's [config
82
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
82
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
83
84
```bash
85
cd /etc/netdata # Replace this path with your Netdata config directory, if different, if different
collectors/python.d.plugin/elasticsearch/README.md
+1
-1
@@ -68,7 +68,7 @@ It produces:
68
## Configuration
69
70
Edit the `python.d/elasticsearch.conf` configuration file using `edit-config` from the your agent's [config
71
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
71
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
72
73
```bash
74
cd /etc/netdata # Replace this path with your Netdata config directory, if different, if different
collectors/python.d.plugin/energid/README.md
+1
-1
@@ -50,7 +50,7 @@ long daemon startup.
50
## Configuration
51
52
Edit the `python.d/energid.conf` configuration file using `edit-config` from the your agent's [config
53
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
53
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
54
55
```bash
56
cd /etc/netdata # Replace this path with your Netdata config directory, if different, if different
collectors/python.d.plugin/fail2ban/README.md
+1
-1
@@ -18,7 +18,7 @@ It produces one chart with multiple lines (one line per jail)
18
## Configuration
19
20
Edit the `python.d/fail2ban.conf` configuration file using `edit-config` from the your agent's [config
21
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
21
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
22
23
```bash
24
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/freeradius/README.md
+1
-1
@@ -54,7 +54,7 @@ It produces:
54
## Configuration
55
56
Edit the `python.d/freeradius.conf` configuration file using `edit-config` from the your agent's [config
57
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
57
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
58
59
```bash
60
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/gearman/README.md
+1
-1
@@ -28,7 +28,7 @@ It produces:
28
## Configuration
29
30
Edit the `python.d/gearman.conf` configuration file using `edit-config` from the your agent's [config
31
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
31
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
32
33
```bash
34
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/go_expvar/README.md
+9
-11
@@ -116,9 +116,8 @@ the use of `netdata`s `go_expvar` module.
116
117
### Using Netdata go_expvar module
118
119
-The `go_expvar` module is disabled by default. To enable it, edit [`python.d.conf`](../python.d.conf)
120
-(to edit it on your system run `/etc/netdata/edit-config python.d.conf`), and change the `go_expvar`
121
-variable to `yes`:
119
+The `go_expvar` module is disabled by default. To enable it, edit `python.d.conf` (to edit it on your system run
120
+`/etc/netdata/edit-config python.d.conf`), and change the `go_expvar` variable to `yes`:
121
122
```
123
# Enable / Disable python.d.plugin modules
@@ -134,10 +133,9 @@ go_expvar: yes
133
...
134
```
135
137
-Next, we need to edit the module configuration file (found at [`/etc/netdata/python.d/go_expvar.conf`](go_expvar.conf) by default)
138
-(to edit it on your system run `/etc/netdata/edit-config python.d/go_expvar.conf`).
139
-The module configuration consists of jobs, where each job can be used to monitor a separate Go application.
140
-Let's see a sample job configuration:
136
+Next, we need to edit the module configuration file (found at `/etc/netdata/python.d/go_expvar.conf` by default) (to
137
+edit it on your system run `/etc/netdata/edit-config python.d/go_expvar.conf`). The module configuration consists of
138
+jobs, where each job can be used to monitor a separate Go application. Let's see a sample job configuration:
139
140
```
141
# /etc/netdata/python.d/go_expvar.conf
@@ -212,8 +210,8 @@ See [this issue](https://github.com/netdata/netdata/pull/1902#issuecomment-28449
210
211
Please see these two links to the official Netdata documentation for more information about the values:
212
215
-- [External plugins - charts](../../plugins.d/#chart)
216
-- [Chart variables](../#global-variables-order-and-chart)
213
+- [External plugins - charts](/collectors/plugins.d/README.md#chart)
214
+- [Chart variables](/collectors/python.d.plugin/README.md#global-variables-order-and-chart)
215
216
**Line definitions**
217
@@ -236,7 +234,7 @@ hidden: False
234
```
235
236
Please see the following link for more information about the options and their default values:
239
-[External plugins - dimensions](../../plugins.d/#dimension)
237
+[External plugins - dimensions](/collectors/plugins.d/README.md#dimension)
238
239
Apart from top-level expvars, this plugin can also parse expvars stored in a multi-level map;
240
All dicts in the resulting JSON document are then flattened to one level.
@@ -258,7 +256,7 @@ the first defined key wins and all subsequent keys with the same name are ignore
256
## Configuration
257
258
Edit the `python.d/go_expvar.conf` configuration file using `edit-config` from the your agent's [config
261
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
259
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
260
261
```bash
262
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/haproxy/README.md
+1
-1
@@ -38,7 +38,7 @@ It produces:
38
## Configuration
39
40
Edit the `python.d/hapxory.conf` configuration file using `edit-config` from the your agent's [config
41
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
41
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
42
43
```bash
44
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/hddtemp/README.md
+1
-1
@@ -17,7 +17,7 @@ It produces one chart **Temperature** with dynamic number of dimensions (one per
17
## Configuration
18
19
Edit the `python.d/hddtemp.conf` configuration file using `edit-config` from the your agent's [config
20
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
20
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
21
22
```bash
23
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/hpssa/README.md
+1
-1
@@ -40,7 +40,7 @@ hpssa: yes
40
```
41
42
Edit the `python.d/hpssa.conf` configuration file using `edit-config` from the your agent's [config
43
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
43
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
44
45
```bash
46
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/httpcheck/README.md
+1
-1
@@ -27,7 +27,7 @@ Following charts are drawn per job:
27
## Configuration
28
29
Edit the `python.d/httpcheck.conf` configuration file using `edit-config` from the your agent's [config
30
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
30
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
31
32
```bash
33
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/icecast/README.md
+1
-1
@@ -22,7 +22,7 @@ It produces the following charts:
22
## Configuration
23
24
Edit the `python.d/icecast.conf` configuration file using `edit-config` from the your agent's [config
25
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
25
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
26
27
```bash
28
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/ipfs/README.md
+1
-1
@@ -21,7 +21,7 @@ Collects [IPFS](https://ipfs.io) basic information like file system bandwidth, p
21
## Configuration
22
23
Edit the `python.d/ipfs.conf` configuration file using `edit-config` from the your agent's [config
24
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
24
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
25
26
```bash
27
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/isc_dhcpd/README.md
+1
-1
@@ -31,7 +31,7 @@ It produces:
31
## Configuration
32
33
Edit the `python.d/isc_dhcpd.conf` configuration file using `edit-config` from the your agent's [config
34
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
34
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
35
36
```bash
37
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/litespeed/README.md
+1
-1
@@ -54,7 +54,7 @@ It produces:
54
## Configuration
55
56
Edit the `python.d/litespeed.conf` configuration file using `edit-config` from the your agent's [config
57
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
57
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
58
59
```bash
60
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/logind/README.md
+1
-1
@@ -43,7 +43,7 @@ command: '/path/to/other/command'
43
```
44
45
Edit the `python.d/logind.conf` configuration file using `edit-config` from the your agent's [config
46
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
46
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
47
48
```bash
49
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/megacli/README.md
+1
-1
@@ -50,7 +50,7 @@ megacli: yes
50
```
51
52
Edit the `python.d/megacli.conf` configuration file using `edit-config` from the your agent's [config
53
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
53
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
54
55
```bash
56
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/memcached/README.md
+1
-1
@@ -77,7 +77,7 @@ Collects memory-caching system performance metrics. It reads server response to
77
## Configuration
78
79
Edit the `python.d/memcached.conf` configuration file using `edit-config` from the your agent's [config
80
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
80
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
81
82
```bash
83
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/mongodb/README.md
+1
-1
@@ -185,7 +185,7 @@ db.createUser({
185
## Configuration
186
187
Edit the `python.d/mongodb.conf` configuration file using `edit-config` from the your agent's [config
188
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
188
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
189
190
```bash
191
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/monit/README.md
+1
-1
@@ -29,7 +29,7 @@ Monit monitoring module. Data is grabbed from stats XML interface (exists for a
29
## Configuration
30
31
Edit the `python.d/monit.conf` configuration file using `edit-config` from the your agent's [config
32
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
32
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
33
34
```bash
35
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/mysql/README.md
+1
-1
@@ -338,7 +338,7 @@ This module will produce following charts (if data is available):
338
## Configuration
339
340
Edit the `python.d/mysql.conf` configuration file using `edit-config` from the your agent's [config
341
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
341
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
342
343
```bash
344
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/nginx/README.md
+1
-1
@@ -40,7 +40,7 @@ It produces following charts:
40
## Configuration
41
42
Edit the `python.d/nginx.conf` configuration file using `edit-config` from the your agent's [config
43
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
43
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
44
45
```bash
46
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/nginx_plus/README.md
+1
-1
@@ -143,7 +143,7 @@ For every cache:
143
## Configuration
144
145
Edit the `python.d/nginx_plus.conf` configuration file using `edit-config` from the your agent's [config
146
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
146
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
147
148
```bash
149
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/ntpd/README.md
+1
-1
@@ -51,7 +51,7 @@ It produces:
51
## Configuration
52
53
Edit the `python.d/ntpd.conf` configuration file using `edit-config` from the your agent's [config
54
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
54
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
55
56
```bash
57
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/nvidia_smi/README.md
+1
-1
@@ -44,7 +44,7 @@ It produces:
44
## Configuration
45
46
Edit the `python.d/nvidia_smi.conf` configuration file using `edit-config` from the your agent's [config
47
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
47
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
48
49
```bash
50
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/openldap/README.md
+1
-1
@@ -57,7 +57,7 @@ Statistics are taken from LDAP monitoring interface. Manual page, slapd-monitor(
57
## Configuration
58
59
Edit the `python.d/openldap.conf` configuration file using `edit-config` from the your agent's [config
60
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
60
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
61
62
```bash
63
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/oracledb/README.md
+1
-1
@@ -67,7 +67,7 @@ GRANT SELECT_CATALOG_ROLE TO netdata;
67
## Configuration
68
69
Edit the `python.d/oracledb.conf` configuration file using `edit-config` from the your agent's [config
70
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
70
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
71
72
```bash
73
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/ovpn_status_log/README.md
+1
-1
@@ -32,7 +32,7 @@ It produces:
32
## Configuration
33
34
Edit the `python.d/ovpn_status_log.conf` configuration file using `edit-config` from the your agent's [config
35
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
35
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
36
37
```bash
38
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/phpfpm/README.md
+1
-1
@@ -28,7 +28,7 @@ It produces following charts:
28
## Configuration
29
30
Edit the `python.d/phpfpm.conf` configuration file using `edit-config` from the your agent's [config
31
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
31
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
32
33
```bash
34
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/portcheck/README.md
+1
-1
@@ -26,7 +26,7 @@ Following charts are drawn per host:
26
## Configuration
27
28
Edit the `python.d/portcheck.conf` configuration file using `edit-config` from the your agent's [config
29
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
29
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
30
31
```bash
32
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/postgres/README.md
+1
-3
@@ -72,7 +72,7 @@ Following charts are drawn:
72
## Configuration
73
74
Edit the `python.d/postgres.conf` configuration file using `edit-config` from the your agent's [config
75
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
75
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
76
77
```bash
78
cd /etc/netdata # Replace this path with your Netdata config directory, if different
@@ -95,8 +95,6 @@ tcp:
95
port : 5432
96
```
97
98
-For all available options please see module [configuration file](postgres.conf).
99
-
98
---
99
100
[](<>)
collectors/python.d.plugin/powerdns/README.md
+1
-1
@@ -85,7 +85,7 @@ Powerdns charts:
85
## Configuration
86
87
Edit the `python.d/powerdns.conf` configuration file using `edit-config` from the your agent's [config
88
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
88
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
89
90
```bash
91
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/proxysql/README.md
+1
-1
@@ -75,7 +75,7 @@ It produces:
75
## Configuration
76
77
Edit the `python.d/proxysql.conf` configuration file using `edit-config` from the your agent's [config
78
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
78
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
79
80
```bash
81
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/puppet/README.md
+1
-1
@@ -34,7 +34,7 @@ Following charts are drawn:
34
## Configuration
35
36
Edit the `python.d/puppet.conf` configuration file using `edit-config` from the your agent's [config
37
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
37
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
38
39
```bash
40
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/rabbitmq/README.md
+1
-1
@@ -73,7 +73,7 @@ Per Vhost charts:
73
## Configuration
74
75
Edit the `python.d/rabbitmq.conf` configuration file using `edit-config` from the your agent's [config
76
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
76
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
77
78
```bash
79
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/redis/README.md
+1
-1
@@ -40,7 +40,7 @@ Following charts are drawn:
40
## Configuration
41
42
Edit the `python.d/redis.conf` configuration file using `edit-config` from the your agent's [config
43
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
43
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
44
45
```bash
46
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/rethinkdbs/README.md
+1
-1
@@ -31,7 +31,7 @@ Following charts are drawn:
31
## Configuration
32
33
Edit the `python.d/rethinkdbs.conf` configuration file using `edit-config` from the your agent's [config
34
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
34
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
35
36
```bash
37
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/retroshare/README.md
+1
-1
@@ -23,7 +23,7 @@ This module produces the following charts:
23
## Configuration
24
25
Edit the `python.d/retroshare.conf` configuration file using `edit-config` from the your agent's [config
26
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
26
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
27
28
```bash
29
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/riakkv/README.md
+1
-1
@@ -104,7 +104,7 @@ listed
104
## Configuration
105
106
Edit the `python.d/riakkv.conf` configuration file using `edit-config` from the your agent's [config
107
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
107
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
108
109
```bash
110
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/samba/README.md
+1
-1
@@ -83,7 +83,7 @@ samba: yes
83
```
84
85
Edit the `python.d/samba.conf` configuration file using `edit-config` from the your agent's [config
86
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
86
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
87
88
```bash
89
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/sensors/README.md
+1
-1
@@ -14,7 +14,7 @@ Charts are created dynamically.
14
## Configuration
15
16
Edit the `python.d/sensors.conf` configuration file using `edit-config` from the your agent's [config
17
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
17
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
18
19
```bash
20
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/smartd_log/README.md
+1
-1
@@ -107,7 +107,7 @@ Otherwise, all the smartd `.csv` files may get written to `/var/lib/smartmontool
107
## Configuration
108
109
Edit the `python.d/smartd_log.conf` configuration file using `edit-config` from the your agent's [config
110
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
110
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
111
112
```bash
113
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/spigotmc/README.md
+1
-1
@@ -19,7 +19,7 @@ the data returned by the `tps` or `list` console commands.
19
## Configuration
20
21
Edit the `python.d/spigotmc.conf` configuration file using `edit-config` from the your agent's [config
22
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
22
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
23
24
```bash
25
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/springboot/README.md
+4
-2
@@ -102,7 +102,7 @@ Please refer [Spring Boot Actuator: Production-ready Features](https://docs.spri
102
## Usage
103
104
Edit the `python.d/springboot.conf` configuration file using `edit-config` from the your agent's [config
105
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
105
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
106
107
```bash
108
cd /etc/netdata # Replace this path with your Netdata config directory, if different
@@ -139,6 +139,8 @@ You can disable the default charts by set `defaults.<chart-id>: false`.
139
140
The dimension name of extras charts should replace `.` to `_`.
141
142
-Please check [springboot.conf](springboot.conf) for more examples.
142
+Please check
143
+[springboot.conf](https://raw.githubusercontent.com/netdata/netdata/master/collectors/python.d.plugin/springboot/springboot.conf)
144
+for more examples.
145
146
[](<>)
collectors/python.d.plugin/squid/README.md
+1
-1
@@ -36,7 +36,7 @@ It produces following charts:
36
## Configuration
37
38
Edit the `python.d/squid.conf` configuration file using `edit-config` from the your agent's [config
39
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
39
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
40
41
```bash
42
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/tomcat/README.md
+1
-1
@@ -31,7 +31,7 @@ Charts:
31
## Configuration
32
33
Edit the `python.d/tomcat.conf` configuration file using `edit-config` from the your agent's [config
34
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
34
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
35
36
```bash
37
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/tor/README.md
+1
-1
@@ -24,7 +24,7 @@ It produces only one chart:
24
## Configuration
25
26
Edit the `python.d/tor.conf` configuration file using `edit-config` from the your agent's [config
27
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
27
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
28
29
```bash
30
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/traefik/README.md
+1
-1
@@ -49,7 +49,7 @@ It produces:
49
## Configuration
50
51
Edit the `python.d/traefik.conf` configuration file using `edit-config` from the your agent's [config
52
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
52
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
53
54
```bash
55
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/uwsgi/README.md
+1
-1
@@ -30,7 +30,7 @@ Following charts are drawn:
30
## Configuration
31
32
Edit the `python.d/uwsgi.conf` configuration file using `edit-config` from the your agent's [config
33
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
33
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
34
35
```bash
36
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/varnish/README.md
+1
-1
@@ -44,7 +44,7 @@ For every disk (SMF):
44
## Configuration
45
46
Edit the `python.d/varnish.conf` configuration file using `edit-config` from the your agent's [config
47
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
47
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
48
49
```bash
50
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/w1sensor/README.md
+1
-1
@@ -17,7 +17,7 @@ Charts are created dynamically based on the number of detected sensors.
17
## Configuration
18
19
Edit the `python.d/w1sensor.conf` configuration file using `edit-config` from the your agent's [config
20
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
20
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
21
22
```bash
23
cd /etc/netdata # Replace this path with your Netdata config directory, if different
collectors/python.d.plugin/web_log/README.md
+5
-5
@@ -37,14 +37,14 @@ If Netdata is installed on a system running a web server, it will detect it and
37
## Configuration
38
39
Edit the `python.d/web_log.conf` configuration file using `edit-config` from the your agent's [config
40
-directory](../../../docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
40
+directory](/docs/step-by-step/step-04.md#find-your-netdataconf-file), which is typically at `/etc/netdata`.
41
42
```bash
43
cd /etc/netdata # Replace this path with your Netdata config directory, if different
44
sudo ./edit-config python.d/web_log.conf
45
```
46
47
-[**netdata**](https://my-netdata.io/) has a powerful `web_log` plugin, capable of incrementally parsing any number of web server log files. This plugin is automatically started with [**netdata**](https://my-netdata.io/) and comes, pre-configured, for finding web server log files on popular distributions. Its configuration is at [`/etc/netdata/python.d/web_log.conf`](web_log.conf), like this:
47
+[**netdata**](https://my-netdata.io/) has a powerful `web_log` plugin, capable of incrementally parsing any number of web server log files. This plugin is automatically started with [**netdata**](https://my-netdata.io/) and comes, pre-configured, for finding web server log files on popular distributions. Its configuration is at `/etc/netdata/python.d/web_log.conf`, like this:
48
49
```yaml
50
nginx_log:
@@ -121,7 +121,7 @@ This is a nice view of the traffic the web server is receiving and is sending.
121
122
What is important to know for this chart, is that the bandwidth used for each request and response is accounted at the time the log is written. Since [**netdata**](https://my-netdata.io/) refreshes this chart every single second, you may have unrealistic spikes is the size of the requests or responses is too big. The reason is simple: a response may have needed 1 minute to be completed, but all the bandwidth used during that minute for the specific response will be accounted at the second the log line is written.
123
124
-As the legend on the chart suggests, you can use FireQoS to setup QoS on the web server ports and IPs to accurately measure the bandwidth the web server is using. Actually, [there may be a few more reasons to install QoS on your servers](../../tc.plugin/#tcplugin)...
124
+As the legend on the chart suggests, you can use FireQoS to setup QoS on the web server ports and IPs to accurately measure the bandwidth the web server is using. Actually, [there may be a few more reasons to install QoS on your servers](/collectors/tc.plugin/README.md#tcplugin)...
125
126
**Bandwidth** KB/s
127
@@ -202,7 +202,7 @@ The last charts are about the unique IPs accessing your web server.
202
203
## Alarms
204
205
-The magic of [**netdata**](https://my-netdata.io/) is that all metrics are collected per second, and all metrics can be used or correlated to provide real-time alarms. Out of the box, [**netdata**](https://my-netdata.io/) automatically attaches the [following alarms](../../../health/health.d/web_log.conf) to all `web_log` charts (i.e. to all log files configured, individually):
205
+The magic of [**netdata**](https://my-netdata.io/) is that all metrics are collected per second, and all metrics can be used or correlated to provide real-time alarms. Out of the box, [**netdata**](https://my-netdata.io/) automatically attaches the following alarms] to all `web_log` charts (i.e. to all log files configured, individually):
206
207
| alarm|description|minimum<br/>requests|warning|critical|
208
|:----|-----------|:------------------:|:-----:|:------:|
@@ -215,6 +215,6 @@ The magic of [**netdata**](https://my-netdata.io/) is that all metrics are colle
215
216
The column `minimum requests` state the minimum number of requests required for the alarm to be evaluated. We found that when the site is receiving requests above this rate, these alarms are pretty accurate (i.e. no false-positives).
217
218
-[**netdata**](https://my-netdata.io/) alarms are user configurable. Sample config files can be found under directory `health/health.d` of the [Netdata GitHub repository](https://github.com/netdata/netdata/). So, even [`web_log` alarms can be adapted to your needs](../../../health/health.d/web_log.conf).
218
+Netdata alarms are user-configurable. Sample config files can be found under directory `health/health.d` of the [Netdata GitHub repository](https://github.com/netdata/netdata/).
219
220
[](<>)
collectors/tc.plugin/README.md
+3
-3
@@ -15,9 +15,9 @@ Netdata monitors `tc` QoS classes for all interfaces.
15
16
If you also use [FireQOS](http://firehol.org/tutorial/fireqos-new-user/) it will collect interface and class names.
17
18
-There is a [shell helper](tc-qos-helper.sh.in) for this (all parsing is done by the plugin in `C` code - this shell script is just a configuration for the command to run to get `tc` output).
18
+There is a [shell helper](https://raw.githubusercontent.com/netdata/netdata/master/collectors/tc.plugin/tc-qos-helper.sh.in) for this (all parsing is done by the plugin in `C` code - this shell script is just a configuration for the command to run to get `tc` output).
19
20
-The source of the tc plugin is [here](plugin_tc.c). It is somewhat complex, because a state machine was needed to keep track of all the `tc` classes, including the pseudo classes tc dynamically creates.
20
+The source of the tc plugin is [here](https://raw.githubusercontent.com/netdata/netdata/master/collectors/tc.plugin/plugin_tc.c). It is somewhat complex, because a state machine was needed to keep track of all the `tc` classes, including the pseudo classes tc dynamically creates.
21
22
## Motivation
23
@@ -69,7 +69,7 @@ QoS is about 2 features:
69
70
When your system is under a DDoS attack, it will get a lot more bandwidth compared to the one it can handle and probably your applications will crash. Setting a limit on the inbound traffic using QoS, will protect your servers (throttle the requests) and depending on the size of the attack may allow your legitimate users to access the server, while the attack is taking place.
71
72
- Using QoS together with a [SYNPROXY](../../collectors/proc.plugin/README.md) will provide a great degree of protection against most DDoS attacks. Actually when I wrote that article, a few folks tried to DDoS the Netdata demo site to see in real-time the SYNPROXY operation. They did not do it right, but anyway a great deal of requests reached the Netdata server. What saved Netdata was QoS. The Netdata demo server has QoS installed, so the requests were throttled and the server did not even reach the point of resource starvation. Read about it [here](../../collectors/proc.plugin/README.md).
72
+ Using QoS together with a [SYNPROXY](/collectors/proc.plugin/README.md) will provide a great degree of protection against most DDoS attacks. Actually when I wrote that article, a few folks tried to DDoS the Netdata demo site to see in real-time the SYNPROXY operation. They did not do it right, but anyway a great deal of requests reached the Netdata server. What saved Netdata was QoS. The Netdata demo server has QoS installed, so the requests were throttled and the server did not even reach the point of resource starvation. Read about it [here](/collectors/proc.plugin/README.md).
73
74
On top of all these, QoS is extremely light. You will configure it once, and this is it. It will not bother you again and it will not use any noticeable CPU resources, especially on application and database servers.
75
daemon/README.md
+4
-4
@@ -12,7 +12,7 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/daemon/README.md
12
- You can start Netdata by executing it with `/usr/sbin/netdata` (the installer will also start it).
13
14
- You can stop Netdata by killing it with `killall netdata`. You can stop and start Netdata at any point. When
15
- exiting, the [database engine](../database/engine/README.md) saves metrics to `/var/cache/netdata/dbengine/` so that
15
+ exiting, the [database engine](/database/engine/README.md) saves metrics to `/var/cache/netdata/dbengine/` so that
16
it can continue when started again.
17
18
Access to the web site, for all graphs, is by default on port `19999`, so go to:
@@ -192,7 +192,7 @@ The command line options of the Netdata 1.10.0 version are the following:
192
- USR2 Reload health configuration.
193
```
194
195
-You can send commands during runtime via [netdatacli](../cli).
195
+You can send commands during runtime via [netdatacli](/cli/README.md).
196
197
## Log files
198
@@ -485,8 +485,8 @@ When you compile Netdata with debugging:
485
2. a lot of code is added all over netdata, to log debug messages to `/var/log/netdata/debug.log`. However, nothing is
486
printed by default. Netdata allows you to select which sections of Netdata you want to trace. Tracing is activated
487
via the config option `debug flags`. It accepts a hex number, to enable or disable specific sections. You can find
488
- the options supported at [log.h](../libnetdata/log/log.h). They are the `D_*` defines. The value
489
- `0xffffffffffffffff` will enable all possible debug flags.
488
+ the options supported at [log.h](https://raw.githubusercontent.com/netdata/netdata/master/libnetdata/log/log.h).
489
+ They are the `D_*` defines. The value `0xffffffffffffffff` will enable all possible debug flags.
490
491
Once Netdata is compiled with debugging and tracing is enabled for a few sections, the file `/var/log/netdata/debug.log`
492
will contain the messages.
daemon/config/README.md
+34
-31
@@ -11,17 +11,18 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/daemon/config/RE
11
<details markdown="1"><summary>The daemon configuration file is read from `/etc/netdata/netdata.conf`.</summary>
12
Depending on your installation method, Netdata will have been installed either directly under `/`, or under `/opt/netdata`. The paths mentioned here and in the documentation in general assume that your installation is under `/`. If it is not, you will find the exact same paths under `/opt/netdata` as well. (i.e. `/etc/netdata` will be `/opt/netdata/etc/netdata`).</details>
13
14
-This config file **is not needed by default**. Netdata works fine out of the box without it. But it does allow you to adapt the general behavior of Netdata, in great detail. You can find all these settings, with their default values, by accessing the URL `https://netdata.server.hostname:19999/netdata.conf`. For example check the configuration file of [netdata.firehol.org](http://netdata.firehol.org/netdata.conf). HTTP access to this file is limited by default to private IPs, via the [web server access lists](../../web/server/#access-lists).
14
+This config file **is not needed by default**. Netdata works fine out of the box without it. But it does allow you to adapt the general behavior of Netdata, in great detail. You can find all these settings, with their default values, by accessing the URL `https://netdata.server.hostname:19999/netdata.conf`. For example check the configuration file of [netdata.firehol.org](http://netdata.firehol.org/netdata.conf). HTTP access to this file is limited by default to private IPs, via the [web server access lists](/web/server/README.md#access-lists).
15
16
`netdata.conf` has sections stated with `[section]`. You will see the following sections:
17
18
-1. `[global]` to [configure](#global-section-options) the [Netdata daemon](../).
19
-2. `[web]` to [configure the web server](../../web/server).
20
-3. `[plugins]` to [configure](#plugins-section-options) which [collectors](../../collectors) to use and PATH settings.
21
-4. `[health]` to [configure](#health-section-options) general settings for [health monitoring](../../health)
22
-5. `[registry]` for the [Netdata registry](../../registry).
23
-6. `[backend]` to set up [streaming and replication](../../streaming) options.
24
-7. `[statsd]` for the general settings of the [stats.d.plugin](../../collectors/statsd.plugin).
18
+1. `[global]` to [configure](#global-section-options) the [Netdata daemon](/daemon/README.md).
19
+2. `[web]` to [configure the web server](/web/server/README.md).
20
+3. `[plugins]` to [configure](#plugins-section-options) which [collectors](/collectors/README.md) to use and PATH
21
+ settings.
22
+4. `[health]` to [configure](#health-section-options) general settings for [health monitoring](/health/README.md)
23
+5. `[registry]` for the [Netdata registry](/registry/README.md).
24
+6. `[backend]` to set up [streaming and replication](/streaming/README.md) options.
25
+7. `[statsd]` for the general settings of the [stats.d.plugin](/collectors/statsd.plugin/README.md).
26
8. `[plugin:NAME]` sections for each collector plugin, under the comment [Per plugin configuration](#per-plugin-configuration).
27
9. `[CHART_NAME]` sections for each chart defined, under the comment [Per chart configuration](#per-chart-configuration).
28
@@ -49,16 +50,16 @@ Please note that your data history will be lost if you have modified `history` p
50
51
| setting|default|info|||
52
|:-----:|:-----:|:---|---|---|
52
-| process scheduling policy|`keep`|See [Netdata process scheduling policy](../#netdata-process-scheduling-policy)|||
53
+| process scheduling policy|`keep`|See [Netdata process scheduling policy](/daemon/README.md#netdata-process-scheduling-policy)|||
54
| OOM score|`1000`|See [OOM score](../#oom-score)|||
54
-| glibc malloc arena max for plugins|`1`|See [Virtual memory](../#virtual-memory).|||
55
-| glibc malloc arena max for Netdata|`1`|See [Virtual memory](../#virtual-memory).|||
55
+| glibc malloc arena max for plugins|`1`|See [Virtual memory](/daemon/README.md#virtual-memory).|||
56
+| glibc malloc arena max for Netdata|`1`|See [Virtual memory](/daemon/README.md#virtual-memory).|||
57
| hostname|auto-detected|The hostname of the computer running Netdata.|||
57
-| history|`3996`| Used with `memory mode = save/map/ram/alloc`, not the default `memory mode = dbengine`. This number reflects the number of entries the `netdata` daemon will by default keep in memory for each chart dimension. This setting can also be configured per chart. Check [Memory Requirements](../../database/README.md#database) for more information. |||
58
-| update every|`1`|The frequency in seconds, for data collection. For more information see [Performance](../../docs/Performance.md#performance).|||
58
+| history|`3996`| Used with `memory mode = save/map/ram/alloc`, not the default `memory mode = dbengine`. This number reflects the number of entries the `netdata` daemon will by default keep in memory for each chart dimension. This setting can also be configured per chart. Check [Memory Requirements](/database/README.md) for more information. |||
59
+| update every|`1`|The frequency in seconds, for data collection. For more information see [Performance](/docs/Performance.md).|||
60
| config directory|`/etc/netdata`|The directory configuration files are kept.|||
61
| stock config directory|`/usr/lib/netdata/conf.d`||||
61
-| log directory|`/var/log/netdata`|The directory in which the [log files](../#log-files) are kept.|||
62
+| log directory|`/var/log/netdata`|The directory in which the [log files](/daemon/README.md#log-files) are kept.|||
63
| web files directory|`/usr/share/netdata/web`|The directory the web static files are kept.|||
64
| cache directory|`/var/cache/netdata`|The directory the memory database will be stored if and when Netdata exits. Netdata will re-read the database when it will start again, to continue from the same point.|||
65
| lib directory|`/var/lib/netdata`|Contains the alarm log and the Netdata instance guid.|||
@@ -68,27 +69,27 @@ Please note that your data history will be lost if you have modified `history` p
69
| page cache size | 32 | Determines the amount of RAM in MiB that is dedicated to caching Netdata metric values. |||
70
| dbengine disk space | 256 | Determines the amount of disk space in MiB that is dedicated to storing Netdata metric values and all related metadata describing them |||
71
| host access prefix||This is used in docker environments where /proc, /sys, etc have to be accessed via another path. You may also have to set SYS_PTRACE capability on the docker for this work. Check [issue 43](https://github.com/netdata/netdata/issues/43).|
71
-| memory deduplication (ksm)|`yes`|When set to `yes`, Netdata will offer its in-memory round robin database to kernel same page merging (KSM) for deduplication. For more information check [Memory Deduplication - Kernel Same Page Merging - KSM](../../database/#ksm)|||
72
+| memory deduplication (ksm)|`yes`|When set to `yes`, Netdata will offer its in-memory round robin database to kernel same page merging (KSM) for deduplication. For more information check [Memory Deduplication - Kernel Same Page Merging - KSM](/database/README.md#ksm)|||
73
| TZ environment variable|`:/etc/localtime`|Where to find the timezone|||
74
| timezone|auto-detected|The timezone retrieved from the environment variable|||
74
-| debug flags|`0x0000000000000000`|Bitmap of debug options to enable. For more information check [Tracing Options](../#debugging).|||
75
-| debug log|`/var/log/netdata/debug.log`|The filename to save debug information. This file will not be created if debugging is not enabled. You can also set it to `syslog` to send the debug messages to syslog, or `none` to disable this log. For more information check [Tracing Options](../#debugging).|||
75
+| debug flags|`0x0000000000000000`|Bitmap of debug options to enable. For more information check [Tracing Options](/daemon/README.md#debugging).|||
76
+| debug log|`/var/log/netdata/debug.log`|The filename to save debug information. This file will not be created if debugging is not enabled. You can also set it to `syslog` to send the debug messages to syslog, or `none` to disable this log. For more information check [Tracing Options](/daemon/README.md#debugging).|||
77
| error log|`/var/log/netdata/error.log`|The filename to save error messages for Netdata daemon and all plugins (`stderr` is sent here for all Netdata programs, including the plugins). You can also set it to `syslog` to send the errors to syslog, or `none` to disable this log.|||
78
| access log|`/var/log/netdata/access.log`|The filename to save the log of web clients accessing Netdata charts. You can also set it to `syslog` to send the access log to syslog, or `none` to disable this log.|||
79
| errors flood protection period|`1200`|UNUSED - Length of period (in sec) during which the number of errors should not exceed the `errors to trigger flood protection`.|||
80
| errors to trigger flood protection|`200`|UNUSED - Number of errors written to the log in `errors flood protection period` sec before flood protection is activated.|||
81
| run as user|`netdata`|The user Netdata will run as.|||
82
| pthread stack size|auto-detected||||
82
-| cleanup obsolete charts after seconds|`3600`|See [monitoring ephemeral containers](../../collectors/cgroups.plugin/#monitoring-ephemeral-containers), also sets the timeout for cleaning up obsolete dimensions|||
83
+| cleanup obsolete charts after seconds|`3600`|See [monitoring ephemeral containers](/collectors/cgroups.plugin/README.md#monitoring-ephemeral-containers), also sets the timeout for cleaning up obsolete dimensions|||
84
| gap when lost iterations above|`1`||||
85
| cleanup orphan hosts after seconds|`3600`|How long to wait until automatically removing from the DB a remote Netdata host (slave) that is no longer sending data.|||
85
-| delete obsolete charts files|`yes`|See [monitoring ephemeral containers](../../collectors/cgroups.plugin/#monitoring-ephemeral-containers), also affects the deletion of files for obsolete dimensions|||
86
+| delete obsolete charts files|`yes`|See [monitoring ephemeral containers](/collectors/cgroups.plugin/README.md#monitoring-ephemeral-containers), also affects the deletion of files for obsolete dimensions|||
87
| delete orphan hosts files|`yes`|Set to `no` to disable non-responsive host removal.|||
88
| enable zero metrics|`no`|Set to `yes` to show charts when all their metrics are zero.|||
89
90
### [web] section options
91
91
-Refer to the [web server documentation](../../web/server)
92
+Refer to the [web server documentation](/web/server/README.md)
93
94
### [plugins] section options
95
@@ -108,9 +109,10 @@ Additionally, there will be the following options:
109
110
This section controls the general behavior of the health monitoring capabilities of Netdata.
111
111
-Specific alarms are configured in per-collector config files under the `health.d` directory. For more info, see [health monitoring](../../health/#health-monitoring).
112
+Specific alarms are configured in per-collector config files under the `health.d` directory. For more info, see [health
113
+monitoring](/health/README.md).
114
113
-[Alarm notifications](../../health/notifications/#netdata-alarm-notifications) are configured in `health_alarm_notify.conf`.
115
+[Alarm notifications](/health/notifications/README.md) are configured in `health_alarm_notify.conf`.
116
117
| setting|default|info|
118
|:-----:|:-----:|:---|
@@ -125,11 +127,11 @@ Specific alarms are configured in per-collector config files under the `health.d
127
128
### [registry] section options
129
128
-To understand what this section is and how it should be configured, please refer to the [registry documentation](../../registry).
130
+To understand what this section is and how it should be configured, please refer to the [registry documentation](/registry/README.md).
131
132
### [backend]
133
132
-Refer to the [streaming and replication](../../streaming) documentation.
134
+Refer to the [streaming and replication](/streaming/README.md) documentation.
135
136
## Per-plugin configuration
137
@@ -137,7 +139,8 @@ The configuration options for plugins appear in sections following the pattern `
139
140
### Internal plugins
141
140
-Most internal plugins will provide additional options. Check [Internal Plugins](../../collectors/) for more information.
142
+Most internal plugins will provide additional options. Check [Internal Plugins](/collectors/README.md) for more
143
+information.
144
145
Please note, that by default Netdata will enable monitoring metrics for disks, memory, and network only when they are not zero. If they are constantly zero they are ignored. Metrics that will start having values, after Netdata is started, will be detected and charts will be automatically added to the dashboard (a refresh of the dashboard is needed for them to appear though). Use `yes` instead of `auto` in plugin configuration sections to enable these charts permanently. You can also set the `enable zero metrics` option to `yes` in the `[global]` section which enables charts with zero metrics for all internal Netdata plugins.
146
@@ -147,7 +150,7 @@ External plugins will have only 2 options at `netdata.conf`:
150
151
| setting | default | info |
152
| :-----:|:-----:|:---|
150
-| update every | the value of `[global].update every` setting|The frequency in seconds the plugin should collect values. For more information check [Performance](../../docs/Performance.md#performance).|
153
+| update every | the value of `[global].update every` setting|The frequency in seconds the plugin should collect values. For more information check [Performance](/docs/Performance.md#performance).|
154
| command options | _empty_ | Additional command line options to pass to the plugin.|
155
156
External plugins that need additional configuration may support a dedicated file in `/etc/netdata`. Check their documentation.
@@ -158,7 +161,7 @@ In this area of `netdata.conf` you can find configuration options for individual
161
following the pattern `[NAME]`.
162
163
Using the settings and values under these sections, you can control all aspects of a specific chart. You can change its
161
-title, make it appear higher in Netdata's [menu](../../web/gui/README.md#menus), tweak its dimensions, and much more.
164
+title, make it appear higher in Netdata's [menu](/web/gui/README.md#menus), tweak its dimensions, and much more.
165
166
To find the name of a given chart, and thus the name of its section in `netdata.conf`, look at the top-left corner of a
167
chart:
@@ -175,12 +178,12 @@ that is information about lines that begin with `dim`, which affect a chart's di
178
| `enabled` | A boolean (`yes` or `no`) that explicitly enables or disables the chart in question. |
179
| `cache directory` | The directory where cache files for this plugin, if needed, are stored. |
180
| `chart type` | Defines what type of chart to display. It can be `line`, `area`, or `stacked`. If empty or missing, `line` will be used. |
178
-| `type` | Uniquely identify which [menu](../../web/gui/README.md#menus) on the Netdata dashboard this chart should appear under. Some examples include `system` (**System**), `disk` (**Disks**), `net` (**Network Interfaces**), and `netdata` (**Netdata Monitoring**). |
179
-| `family` | Change the chart's [family](../../web/README.md#families) from its default. For example, you could force a disk space chart to collect metrics for family `sdb` instead of family `sda`. |
181
+| `type` | Uniquely identify which [menu](/web/gui/README.md#menus) on the Netdata dashboard this chart should appear under. Some examples include `system` (**System**), `disk` (**Disks**), `net` (**Network Interfaces**), and `netdata` (**Netdata Monitoring**). |
182
+| `family` | Change the chart's [family](/web/README.md#families) from its default. For example, you could force a disk space chart to collect metrics for family `sdb` instead of family `sda`. |
183
| `units` | Text for the label of the vertical axis of the chart. This means all dimensions should have the same unit of measurement. |
181
-| `context` | Change the default [context](../../web/README.md#contexts) of the chart. Changing this setting will affect what metrics and metrics the chart displays, and which alarms are attached to it. |
184
+| `context` | Change the default [context](/web/README.md#contexts) of the chart. Changing this setting will affect what metrics and metrics the chart displays, and which alarms are attached to it. |
185
| `priority` | Define where the chart should appear on the Netdata dashboard. Lower values equal higher priority, so a priority of `1` will place the chart highest, while a priority of `9999999` would place the chart at the bottom of the Netdata dashboard. |
183
-| `name` | The name of the chart that appears in the top-left corner, after the chart's title. You can also use this name when writing [health entities](../../health/REFERENCE.md#health-entity-reference). |
186
+| `name` | The name of the chart that appears in the top-left corner, after the chart's title. You can also use this name when writing [health entities](/health/REFERENCE.md#health-entity-reference). |
187
| `title` | The text that appears above the chart in the Netdata dashboard. |
188
189
### Dimension settings
database/README.md
+12
-12
@@ -10,12 +10,12 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/database/README.
10
Netdata is fully capable of long-term metrics storage, at per-second granularity, via its default database engine
11
(`dbengine`). But to remain as flexible as possible, Netdata supports a number of types of metrics storage:
12
13
-1. `dbengine`, (the default) data are in database files. The [Database Engine](engine/) works like a traditional
14
- database. There is some amount of RAM dedicated to data caching and indexing and the rest of the data reside
15
- compressed on disk. The number of history entries is not fixed in this case, but depends on the configured disk
16
- space and the effective compression ratio of the data stored. This is the **only mode** that supports changing the
17
- data collection update frequency (`update_every`) **without losing** the previously stored metrics. For more details
18
- see [here](engine/).
13
+1. `dbengine`, (the default) data are in database files. The [Database Engine](/database/engine/README.md) works like a
14
+ traditional database. There is some amount of RAM dedicated to data caching and indexing and the rest of the data
15
+ reside compressed on disk. The number of history entries is not fixed in this case, but depends on the configured
16
+ disk space and the effective compression ratio of the data stored. This is the **only mode** that supports changing
17
+ the data collection update frequency (`update_every`) **without losing** the previously stored metrics. For more
18
+ details see [here](/database/engine/README.md).
19
20
2. `ram`, data are purely in memory. Data are never saved on disk. This mode uses `mmap()` and supports [KSM](#ksm).
21
@@ -60,7 +60,7 @@ seconds. This will **cut in half** both CPU and RAM resources consumed by Netdat
60
weak devices you might have to use `update every = 5` and `history = 720` (still 1 hour of data, but 1/5 of the CPU and
61
RAM resources).
62
63
-You can also disable [data collection plugins](../collectors) you don't need. Disabling such plugins will also free both
63
+You can also disable [data collection plugins](/collectors/README.md) you don't need. Disabling such plugins will also free both
64
CPU and RAM resources.
65
66
## Running a dedicated central Netdata server
@@ -148,15 +148,15 @@ There is another memory mode to help overcome the memory size problem. What is *
148
149
### dbengine
150
151
-In this mode, the database of Netdata is stored in database files. The [Database Engine](engine/) works like a
152
-traditional database. There is some amount of RAM dedicated to data caching and indexing and the rest of the data reside
153
-compressed on disk. The number of history entries is not fixed in this case, but depends on the configured disk space
154
-and the effective compression ratio of the data stored.
151
+In this mode, the database of Netdata is stored in database files. The [Database Engine](/database/engine/README.md)
152
+works like a traditional database. There is some amount of RAM dedicated to data caching and indexing and the rest of
153
+the data reside compressed on disk. The number of history entries is not fixed in this case, but depends on the
154
+configured disk space and the effective compression ratio of the data stored.
155
156
We suggest to use **this** mode on nodes that also run other applications. The Database Engine uses direct I/O to avoid
157
polluting the OS filesystem caches and does not generate excessive I/O traffic so as to create the minimum possible
158
interference with other applications. Using memory mode `dbengine` we can overcome most memory restrictions. For more
159
-details see [here](engine/).
159
+details see [here](/database/engine/README.md).
160
161
## KSM
162
database/engine/README.md
+1
-1
@@ -46,7 +46,7 @@ can select the memory mode for localhost by editing netdata.conf and setting:
46
```
47
48
For setting the memory mode for the rest of the nodes you should look at
49
-[streaming](../../streaming/).
49
+[streaming](/streaming/README.md).
50
51
The `history` configuration option is meaningless for `memory mode = dbengine` and is ignored for any metrics being
52
stored in the DB engine.
docs/Add-more-charts-to-netdata.md
+3
-3
@@ -7,10 +7,10 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/Add-more-ch
7
8
# Add more charts to Netdata
9
10
-This file has been deprecated. Please see our [collectors docs](../collectors/README.md) or the collectors [quickstart
11
-guide](../collectors/QUICKSTART.md) for more information.
10
+This file has been deprecated. Please see our [collectors docs](/collectors/README.md) or the collectors [quickstart
11
+guide](/collectors/QUICKSTART.md) for more information.
12
13
## Available data collection modules
14
15
-See the [list of supported collectors](../collectors/COLLECTORS.md) to see all the sources Netdata can collect metrics
15
+See the [list of supported collectors](/collectors/COLLECTORS.md) to see all the sources Netdata can collect metrics
16
from.
docs/Performance.md
+8
-8
@@ -32,15 +32,15 @@ For most server systems, with a few hundred charts and a few thousand dimensions
32
33
To prove Netdata scalability, check issue [#1323](https://github.com/netdata/netdata/issues/1323#issuecomment-265501668) where Netdata collects 95.000 metrics per second, with 12% CPU utilization of a single core!
34
35
-In embedded systems, if the Netdata daemon is using a lot of CPU without any web clients accessing it, you should lower the data collection frequency. To set the data collection frequency, edit `/etc/netdata/netdata.conf` and set `update_every` to a higher number (this is the frequency in seconds data are collected for all charts: higher number of seconds = lower frequency, the default is 1 for per second data collection). You can also set this frequency per module or chart. Check the [daemon configuration](../daemon/config) for plugins and charts. For specific modules, the configuration needs to be changed in:
35
+In embedded systems, if the Netdata daemon is using a lot of CPU without any web clients accessing it, you should lower the data collection frequency. To set the data collection frequency, edit `/etc/netdata/netdata.conf` and set `update_every` to a higher number (this is the frequency in seconds data are collected for all charts: higher number of seconds = lower frequency, the default is 1 for per second data collection). You can also set this frequency per module or chart. Check the [daemon configuration](/daemon/config/README.md) for plugins and charts. For specific modules, the configuration needs to be changed in:
36
37
-- `python.d.conf` for [python](../collectors/python.d.plugin/#pythondplugin)
38
-- `node.d.conf` for [nodejs](../collectors/node.d.plugin/#nodedplugin)
39
-- `charts.d.conf` for [bash](../collectors/charts.d.plugin/#chartsdplugin)
37
+- `python.d.conf` for [python](/collectors/python.d.plugin/README.md)
38
+- `node.d.conf` for [nodejs](/collectors/node.d.plugin/README.md)
39
+- `charts.d.conf` for [bash](/collectors/charts.d.plugin/README.md)
40
41
## Plugins
42
43
-If a plugin is using a lot of CPU, you should lower its update frequency, or if you wrote it, re-factor it to be more CPU efficient. Check [External Plugins](../collectors/plugins.d/) for more details on writing plugins.
43
+If a plugin is using a lot of CPU, you should lower its update frequency, or if you wrote it, re-factor it to be more CPU efficient. Check [External Plugins](/collectors/plugins.d/README.md) for more details on writing plugins.
44
45
## CPU consumption when web clients are accessing dashboards
46
@@ -55,7 +55,7 @@ To lower the CPU utilization of Netdata when clients are accessing the dashboard
55
## Monitoring a heavily-loaded system
56
57
While running, Netdata does not depend much on disk I/O aside from writing to log files and the [database
58
-engine](../database/engine/README.md) "spilling" historical metrics to disk when it uses all its available RAM.
58
+engine](/database/engine/README.md) "spilling" historical metrics to disk when it uses all its available RAM.
59
60
Under a heavy system load, plugins that need disk may stop and show gaps during heavy system load, but the Netdata
61
daemon itself should be able to work and collect values from `/proc` and `/sys` and serve web clients accessing it.
@@ -159,7 +159,7 @@ In this section you can select which modules of the `proc` plugin you need. All
159
...
160
```
161
162
-Refer to the [proc.plugins documentation](../collectors/proc.plugin/) for the list and description of all the proc plugin modules.
162
+Refer to the [proc.plugins documentation](/collectors/proc.plugin/README.md) for the list and description of all the proc plugin modules.
163
164
### 3. Lower internal plugin update frequency
165
@@ -196,7 +196,7 @@ following settings in the `[global]` section of `netdata.conf`:
196
# dbengine disk space = 256
197
```
198
199
-See the [database engine documentation](../database/engine/README.md) or our [tutorial on metrics
199
+See the [database engine documentation](/database/engine/README.md) or our [tutorial on metrics
200
retention](tutorials/longer-metrics-storage.md) for more details on lowering the database engine's memory requirements.
201
202
### 6. Disable gzip compression of responses
docs/Running-behind-apache.md
+1
-1
@@ -354,7 +354,7 @@ If your apache server is not on localhost, you can set:
354
355
*note: Netdata v1.9+ support `allow connections from`*
356
357
-`allow connections from` accepts [Netdata simple patterns](../libnetdata/simple_pattern/) to match against the connection IP address.
357
+`allow connections from` accepts [Netdata simple patterns](/libnetdata/simple_pattern/README.md) to match against the connection IP address.
358
359
## prevent the double access.log
360
docs/Running-behind-nginx.md
+5
-2
@@ -165,7 +165,9 @@ Using the above, you access Netdata on the backend servers, like this:
165
166
### Encrypt the communication between Nginx and Netdata
167
168
-In case Netdata's web server has been [configured to use TLS](../web/server/#enabling-tls-support), it is necessary to specify inside the Nginx configuration that the final destination is using TLS. To do this, please, append the following parameters in your `nginx.conf`
168
+In case Netdata's web server has been [configured to use TLS](/web/server/README.md#enabling-tls-support), it is
169
+necessary to specify inside the Nginx configuration that the final destination is using TLS. To do this, please, append
170
+the following parameters in your `nginx.conf`
171
172
```conf
173
proxy_set_header X-Forwarded-Proto https;
@@ -238,7 +240,8 @@ If your Nginx server is not on localhost, you can set:
240
241
*note: Netdata v1.9+ support `allow connections from`*
242
241
-`allow connections from` accepts [Netdata simple patterns](../libnetdata/simple_pattern/) to match against the connection IP address.
243
+`allow connections from` accepts [Netdata simple patterns](/libnetdata/simple_pattern/README.md) to match against the
244
+connection IP address.
245
246
## Prevent the double access.log
247
docs/anonymous-statistics.md
+2
-2
@@ -84,13 +84,13 @@ installation, including manual, offline, and macOS installations. Create the fil
84
.opt-out-from-anonymous-statistics` from your Netdata configuration directory.
85
86
**Pass the option `--disable-telemetry` to any of the installer scripts in the [installation
87
-docs](../packaging/installer/README.md).** You can append this option during the initial installation or a manual
87
+docs](/packaging/installer/README.md).** You can append this option during the initial installation or a manual
88
update. You can also export the environment variable `DO_NOT_TRACK` with a non-zero or non-empty value
89
(e.g: `export DO_NOT_TRACK=1`).
90
91
When using Docker, **set your `DO_NOT_TRACK` environment variable to `1`.** You can set this variable with the following
92
command: `export DO_NOT_TRACK=1`. When creating a container using Netdata's [Docker
93
-image](../packaging/docker/README.md#run-netdata-with-the-docker-command) for the first time, this variable will disable
93
+image](/packaging/docker/README.md#run-netdata-with-the-docker-command) for the first time, this variable will disable
94
the anonymous statistics script inside of the container.
95
96
Each of these opt-out processes does the following:
docs/configuration-guide.md
+36
-36
@@ -15,7 +15,7 @@ Depending on your installation method, Netdata will have been installed either d
15
16
Under that directory you will see the following:
17
18
-- `netdata.conf` is [the main configuration file](../daemon/config/README.md#daemon-configuration)
18
+- `netdata.conf` is [the main configuration file](/daemon/config/README.md#daemon-configuration)
19
- `edit-config` is an sh script that you can use to easily and safely edit the configuration. Just run it to see its
20
usage.
21
- Other directories, initially empty, where your custom configurations for alarms and collector plugins/modules will
@@ -23,21 +23,21 @@ Under that directory you will see the following:
23
- `orig` is a symbolic link to the directory `/usr/lib/netdata/conf.d`, which contains the stock configurations for
24
everything not included in `netdata.conf`:
25
- `health_alarm_notify.conf` is where you configure how and to who Netdata will send [alarm
26
- notifications](../health/notifications/README.md#netdata-alarm-notifications).
26
+ notifications](/health/notifications/README.md#netdata-alarm-notifications).
27
- `health.d` is the directory that contains the alarm triggers for [health
28
- monitoring](../health/README.md#health-monitoring). It contains one .conf file per collector.
29
- - The [modular plugin orchestrators](../collectors/plugins.d/README.md#external-plugins-overview) have:
28
+ monitoring](/health/README.md#health-monitoring). It contains one .conf file per collector.
29
+ - The [modular plugin orchestrators](/collectors/plugins.d/README.md#external-plugins-overview) have:
30
- One config file each, mainly to turn their modules on and off: `python.d.conf` for
31
- [python](../collectors/python.d.plugin/README.md#pythondplugin), `node.d.conf` for
32
- [nodejs](../collectors/node.d.plugin/README.md#nodedplugin) and `charts.d.conf` for
33
- [bash](../collectors/charts.d.plugin/README.md#chartsdplugin) modules.
31
+ [python](/collectors/python.d.plugin/README.md#pythondplugin), `node.d.conf` for
32
+ [nodejs](/collectors/node.d.plugin/README.md#nodedplugin) and `charts.d.conf` for
33
+ [bash](/collectors/charts.d.plugin/README.md#chartsdplugin) modules.
34
- One directory each, where the module-specific configuration files can be found.
35
- `stream.conf` is where you configure [streaming and
36
- replication](../streaming/README.md#streaming-and-replication)
36
+ replication](/streaming/README.md#streaming-and-replication)
37
- `stats.d` is a directory under which you can add .conf files to add [synthetic
38
- charts](../collectors/statsd.plugin/README.md#synthetic-statsd-charts).
38
+ charts](/collectors/statsd.plugin/README.md#synthetic-statsd-charts).
39
- Individual collector plugin config files, such as `fping.conf` for the [fping
40
- plugin](../collectors/fping.plugin/) and `apps_groups.conf` for the [apps plugin](../collectors/apps.plugin/)
40
+ plugin](/collectors/fping.plugin/) and `apps_groups.conf` for the [apps plugin](/collectors/apps.plugin/)
41
42
So there are many configuration files to control every aspect of Netdata's behavior. It can be overwhelming at first,
43
but you won't have to deal with any of them, unless you have specific things you need to change. The following HOWTO
@@ -47,7 +47,7 @@ will guide you on how to customize your Netdata, based on what you want to do.
47
48
### Persist my configuration
49
50
-In <http://localhost:19999/netdata.conf>, you will see the following two parameters:
50
+In `http://localhost:19999/netdata.conf`, you will see the following two parameters:
51
52
```bash
53
# config directory = /etc/netdata
@@ -63,28 +63,28 @@ it there.
63
#### Increase the long-term metrics retention period
64
65
Increase the values for the `page cache size` and `dbengine disk space` settings in the [`[global]`
66
-section](../daemon/config/README.md#global-section-options) of `netdata.conf`. Read our tutorial on [increasing
67
-long-term metrics storage](tutorials/longer-metrics-storage.md) and the [memory requirements for the database
68
-engine](../database/engine/README.md#memory-requirements).
66
+section](/daemon/config/README.md#global-section-options) of `netdata.conf`. Read our tutorial on [increasing
67
+long-term metrics storage](/docs/tutorials/longer-metrics-storage.md) and the [memory requirements for the database
68
+engine](/database/engine/README.md#memory-requirements).
69
70
#### Reduce the data collection frequency
71
72
-Increase `update every` in [netdata.conf \[global\]](../daemon/config/README.md#global-section-options). This is another
72
+Increase `update every` in [netdata.conf \[global\]](/daemon/config/README.md#global-section-options). This is another
73
way to increase your metrics retention period, but at a lower resolution than the default 1s.
74
75
#### Modify how a chart is displayed
76
77
In `netdata.conf` under `# Per chart configuration` you will find several [\[CHART_NAME\]
78
-sections](../daemon/config/README.md#per-chart-configuration), where you can control all aspects of a specific chart.
78
+sections](/daemon/config/README.md#per-chart-configuration), where you can control all aspects of a specific chart.
79
80
#### Disable a collector
81
82
-Entire plugins can be turned off from the [netdata.conf \[plugins\]](../daemon/config/README.md#plugins-section-options)
82
+Entire plugins can be turned off from the [netdata.conf \[plugins\]](/daemon/config/README.md#plugins-section-options)
83
section. To disable specific modules of a plugin orchestrator, you need to edit one of the following:
84
85
-- `python.d.conf` for [python](../collectors/python.d.plugin/README.md)
86
-- `node.d.conf` for [nodejs](../collectors/node.d.plugin/README.md)
87
-- `charts.d.conf` for [bash](../collectors/charts.d.plugin/README.md)
85
+- `python.d.conf` for [python](/collectors/python.d.plugin/README.md)
86
+- `node.d.conf` for [nodejs](/collectors/node.d.plugin/README.md)
87
+- `charts.d.conf` for [bash](/collectors/charts.d.plugin/README.md)
88
89
#### Show charts with zero metrics
90
@@ -101,16 +101,16 @@ internal Netdata plugins.
101
102
You can add a new alarm definition either by editing an existing stock alarm config file under `health.d` (e.g.
103
`/etc/netdata/edit-config health.d/load.conf`), or by adding a new `.conf` file under `/etc/netdata/health.d`. The
104
-documentation on how to define an alarm is in [health monitoring](../health/README.md). It is
104
+documentation on how to define an alarm is in [health monitoring](/health/README.md). It is
105
suggested to look at some of the stock alarm definitions, so you can ensure you understand how the various options work.
106
107
#### Turn off all alarms and notifications
108
109
-Just set `enabled = no` in the [netdata.conf \[health\]](../daemon/config/README.md#health-section-options) section
109
+Just set `enabled = no` in the [netdata.conf \[health\]](/daemon/config/README.md#health-section-options) section
110
111
#### Modify or disable a specific alarm
112
113
-The `health.d` directory that contains the alarm triggers for [health monitoring](../health/README.md). It has
113
+The `health.d` directory that contains the alarm triggers for [health monitoring](/health/README.md). It has
114
one .conf file per collector. You can easily find the .conf file you will need to modify, by looking for the "source"
115
line on the table that appears on the right side of an alarm on the Netdata gui.
116
@@ -121,12 +121,12 @@ to run `/etc/netdata/edit-config health.d/cpu.conf` and look for alarm at line 4
121
122
As stated at the top of the .conf file, **you can disable an alarm notification by setting the 'to' line to: silent**.
123
To modify how the alarm gets triggered, we suggest that you go through the guide on [health
124
-monitoring](../health/README.md#health-monitoring).
124
+monitoring](/health/README.md#health-monitoring).
125
126
#### Receive notifications using my preferred method
127
128
You only need to configure `health_alarm_notify.conf`. To learn how to do it, read first [alarm
129
-notifications](../health/notifications/README.md#netdata-alarm-notifications) and then open the submenu `Supported
129
+notifications](/health/notifications/README.md#netdata-alarm-notifications) and then open the submenu `Supported
130
Notifications` under `Alarm notifications` in the documentation to find the specific page on your preferred notification
131
method.
132
@@ -134,39 +134,39 @@ method.
134
135
#### Change the Netdata web server access lists
136
137
-You have several options under the [netdata.conf \[web\]](../web/server/README.md#access-lists) section.
137
+You have several options under the [netdata.conf \[web\]](/web/server/README.md#access-lists) section.
138
139
#### Stop sending info to registry.my-netdata.io
140
141
You will need to configure the `[registry]` section in `netdata.conf`. First read the [registry
142
-documentation](../registry/). In it, are instructions on how to [run your own
143
-registry](../registry/README.md#run-your-own-registry).
142
+documentation](/registry/). In it, are instructions on how to [run your own
143
+registry](/registry/README.md#run-your-own-registry).
144
145
#### Change the IP address/port Netdata listens to
146
147
The settings are under the `[web]` section. Look at the [web server
148
-documentation](../web/server/README.md#binding-netdata-to-multiple-ports) for more info.
148
+documentation](/web/server/README.md#binding-netdata-to-multiple-ports) for more info.
149
150
### System resource usage
151
152
#### Reduce the resources Netdata uses
153
154
-The page on [Netdata performance](Performance.md) has an excellent guide on how to reduce the Netdata cpu/disk/RAM
155
-utilization to levels suitable even for the weakest [IoT devices](netdata-for-IoT.md).
154
+The page on [Netdata performance](/docs/Performance.md) has an excellent guide on how to reduce the Netdata cpu/disk/RAM
155
+utilization to levels suitable even for the weakest [IoT devices](/docs/netdata-for-IoT.md).
156
157
#### Change when Netdata saves metrics to disk
158
159
-[netdata.conf \[global\]](../daemon/config/README.md#global-section-options): `memory mode`
159
+[netdata.conf \[global\]](/daemon/config/README.md#global-section-options): `memory mode`
160
161
#### Prevent Netdata from getting immediately killed when my server runs out of memory
162
163
-You can change the Netdata [OOM score](../daemon/README.md#oom-score) in `[global]`.
163
+You can change the Netdata [OOM score](/daemon/README.md#oom-score) in `[global]`.
164
165
### Other
166
167
#### Move Netdata directories
168
169
-The various directory paths are in [netdata.conf \[global\]](../daemon/config/README.md#global-section-options).
169
+The various directory paths are in [netdata.conf \[global\]](/daemon/config/README.md#global-section-options).
170
171
## How Netdata configuration works
172
@@ -190,7 +190,7 @@ wrote there, is not used.
190
191
Unix prefers regular expressions. But they are just too hard, too cryptic to use, write and understand.
192
193
-So, Netdata supports [simple patterns](../libnetdata/simple_pattern/).
193
+So, Netdata supports [simple patterns](/libnetdata/simple_pattern/README.md).
194
195
## Netdata labels
196
@@ -198,7 +198,7 @@ Beginning with 1.20, Netdata accepts user-defined **host labels**. These labels
198
labels]`.
199
200
Read more about how these labels work and why they're an effective way to organize complex infrasturctures in our
201
-tutorial: [Use host labels to organize systems, metrics, and alarms](tutorials/using-host-labels.md).
201
+tutorial: [Use host labels to organize systems, metrics, and alarms](/docs/tutorials/using-host-labels.md).
202
203
To define a label inside this section, some rules needs to be followed, or Netdata will reject the label. The following
204
restrictions are applied for label names:
docs/contributing/contributing-documentation.md
+3
-4
@@ -12,8 +12,8 @@ We welcome contributions to Netdata's already extensive documentation, which we
12
repository](https://github.com/netdata/netdata) on GitHub.
13
14
Like all contributing to all other aspects of Netdata, we ask that anyone who wants to help with documentation read and
15
-abide by the [Contributor Convenant Code of Conduct](https://docs.netdata.cloud/code_of_conduct/) and follow the
16
-instructions outlined in our [Contributing document](../../CONTRIBUTING.md).
15
+abide by the [Contributor Convenant Code of Conduct](/CODE_OF_CONDUCT.md) and follow the
16
+instructions outlined in our [Contributing document](/CONTRIBUTING.md).
17
18
We also ask you to read our [documentation style guide](style-guide.md), which, while not complete, will give you some
19
guidance on how we write and organize our documentation.
@@ -116,8 +116,7 @@ folder and either name it `README.md` for generic documentation, or with another
116
117
At the root of the Netdata repository is a `docs/` folder. Inside this folder we place documentation that does not have
118
a direct relationship to a specific component of Netdata. It's where we house our [getting started
119
-guide](../../docs/getting-started.md), guides on [running Netdata behind Nginx](../../docs/Running-behind-nginx.md), and
120
-more.
119
+guide](/docs/getting-started.md), guides on [running Netdata behind Nginx](/docs/Running-behind-nginx.md), and more.
120
121
If the documentation you're working on doesn't have a direct relaionship to a component of Netdata, it can be placed in
122
this `docs/` folder.
docs/generator/checklinks.sh
+27
@@ -112,6 +112,33 @@ ck_netdata_relative () {
112
dbg " - # (#somelink)"
113
testinternal "$f" "$f" "$rlnk"
114
;;
115
+ /* )
116
+ # Handle links in Markdown files that begin with `/`.
117
+ dbg " - # (/path/filename.md) -> htmldoc (/path/filename/)"
118
+ # For links that end in `.md`.
119
+ if [[ $rlnk =~ ^(.*)/(.*).md$ ]] ; then
120
+ testf "$f" ".$rlnk"
121
+
122
+ if [ "${BASH_REMATCH[2]}" = "README" ] ; then
123
+ s="${BASH_REMATCH[1]}/"
124
+ else
125
+ s="${BASH_REMATCH[1]}/${BASH_REMATCH[2]}/"
126
+ fi
127
+ fi
128
+ # For links that end in `.md#...`.
129
+ if [[ $lnk =~ ^(.*)/(.*).md#(.*)$ ]] ; then
130
+ TRGT=".${BASH_REMATCH[1]}/${BASH_REMATCH[2]}.md"
131
+ LNK="#${BASH_REMATCH[3]}"
132
+ testf "$f" "$TRGT"
133
+ testinternal "$f" "$TRGT" "$LNK"
134
+
135
+ if [ "${BASH_REMATCH[2]}" = "README" ] ; then
136
+ s="${BASH_REMATCH[1]}/#${BASH_REMATCH[3]}"
137
+ else
138
+ s="${BASH_REMATCH[1]}/${BASH_REMATCH[2]}/#${BASH_REMATCH[3]}"
139
+ fi
140
+ fi
141
+ ;;
142
*/ )
143
dbg " - # (path/)"
144
TRGT="$fpath/${rlnk}README.md"
docs/getting-started.md
+35
-34
@@ -1,7 +1,7 @@
1
<!--
2
---
3
title: "Getting started guide"
4
-date: 2020-03-11
4
+date: 2020-04-06
5
custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/getting-started.md
6
---
7
-->
@@ -15,10 +15,10 @@ Netdata can collect thousands of metrics in real-time and use its database for l
15
configuration, but there are some valuable things to know to get the most out of Netdata based on your needs.
16
17
We'll skip right into some technical details, so if you're brand-new to monitoring the health and performance of systems
18
-and applications, our [**step-by-step tutorial**](step-by-step/step-00.md) might be a better fit.
18
+and applications, our [**step-by-step tutorial**](/docs/step-by-step/step-00.md) might be a better fit.
19
20
-> If you haven't installed Netdata yet, visit the [installation instructions](../packaging/installer) for details,
21
-> including our one-liner script, which automatically installs Netdata on almost all Linux distributions.
20
+> If you haven't installed Netdata yet, visit the [installation instructions](/packaging/installer/README.md) for
21
+> details, including our one-liner script, which automatically installs Netdata on almost all Linux distributions.
22
23
## Access the dashboard
24
@@ -33,9 +33,9 @@ dashboard](https://user-images.githubusercontent.com/1153921/63463901-fcb9c800-c
33
34
**What's next?**:
35
36
-- Read more about the [standard Netdata dashboard](../web/gui/).
37
-- Learn all the specifics of [using charts](../web/README.md#using-charts) or the differences between [charts,
38
- context, and families](../web/README.md#charts-contexts-families).
36
+- Read more about the [standard Netdata dashboard](/web/gui/).
37
+- Learn all the specifics of [using charts](/web/README.md#using-charts) or the differences between [charts,
38
+ context, and families](/web/README.md#charts-contexts-families).
39
40
## Configuration basics
41
@@ -56,10 +56,10 @@ Once you save your changes, [restart Netdata](#start-stop-and-restart-netdata) t
56
57
- [Change how long Netdata stores metrics](#change-how-long-netdata-stores-metrics) by changing the `page cache size`
58
and `dbengine disk space` settings in `netdata.conf`.
59
-- Move Netdata's dashboard to a [different port](https://docs.netdata.cloud/web/server/) or enable TLS/HTTPS
59
+- Move Netdata's dashboard to a [different port](/web/server/) or enable TLS/HTTPS
60
encryption.
61
-- See all the `netdata.conf` options in our [daemon configuration documentation](../daemon/config/).
62
-- Run your own [registry](../registry/README.md#run-your-own-registry).
61
+- See all the `netdata.conf` options in our [daemon configuration documentation](/daemon/config/).
62
+- Run your own [registry](/registry/README.md#run-your-own-registry).
63
64
## Change how long Netdata stores metrics
65
@@ -70,13 +70,14 @@ configuration keeps RAM usage low while allowing for long-term, on-disk metrics
70
You can tweak this custom _database engine_ to store a much larger dataset than your system's available RAM,
71
particularly if you allow Netdata to use slightly more RAM and disk space than the default configuration.
72
73
-Read our tutorial, [**Changing how long Netdata stores metrics**](../docs/tutorials/longer-metrics-storage.md), to learn
73
+Read our tutorial, [**Changing how long Netdata stores metrics**](/docs/tutorials/longer-metrics-storage.md), to learn
74
more.
75
76
**What's next?**:
77
78
-- Learn more about the [memory requirements for the database engine](../database/engine/README.md#memory-requirements)
79
- to understand how much RAM/disk space you should commit to storing historical metrics.
78
+- Learn more about the [memory requirements for the database
79
+ engine](/database/engine/README.md#memory-requirements) to understand how much RAM/disk space you should commit
80
+ to storing historical metrics.
81
82
## Collect data from more sources
83
@@ -89,8 +90,8 @@ Netdata](#start-stop-and-restart-netdata).
90
91
However, auto-detection only works if you installed the source using its standard installation procedure. If Netdata
92
isn't collecting metrics after a restart, your source probably isn't configured correctly. Look at the [external plugin
92
-documentation](../collectors/plugins.d/) to find the appropriate module for your source. Those pages will contain more
93
-information about how to configure your source for auto-detection.
93
+documentation](/collectors/plugins.d/) to find the appropriate module for your source. Those pages will contain
94
+more information about how to configure your source for auto-detection.
95
96
Some modules, like `chrony`, are disabled by default and must be enabled manually for auto-detection to work.
97
@@ -156,12 +157,12 @@ changes based on your particular Nginx setup.
157
158
**What's next?**:
159
159
-- Look at the [full list of data collection modules](../collectors/COLLECTORS.md)
160
+- Look at the [full list of data collection modules](/collectors/COLLECTORS.md)
161
to configure your sources for auto-detection and monitoring.
161
-- Improve the [performance](Performance.md) of Netdata on low-memory systems.
162
+- Improve the [performance](/docs/Performance.md) of Netdata on low-memory systems.
163
- Configure `systemd` to expose [systemd services
163
- utilization](../collectors/cgroups.plugin/README.md#monitoring-systemd-services) metrics automatically.
164
-- [Reconfigure individual charts](../daemon/config/README.md#per-chart-configuration) in `netdata.conf`.
164
+ utilization](/collectors/cgroups.plugin/README.md#monitoring-systemd-services) metrics automatically.
165
+- [Reconfigure individual charts](/daemon/config/README.md#per-chart-configuration) in `netdata.conf`.
166
167
## Health monitoring and alarms
168
@@ -186,19 +187,19 @@ Find the `SEND_EMAIL="YES"` line and change it to `SEND_EMAIL="NO"`.
187
188
**What's next?**:
189
189
-- Follow the [health quickstart](../health/QUICKSTART.md) to locate and edit existing health entities, and then create
190
- your own.
191
-- See all the alarm options via the [health configuration reference](../health/REFERENCE.md).
192
-- Add a new notification method, like [Slack](../health/notifications/slack/).
190
+- Follow the [health quickstart](/health/QUICKSTART.md) to locate and edit existing health entities, and then
191
+ create your own.
192
+- See all the alarm options via the [health configuration reference](/health/REFERENCE.md).
193
+- Add a new notification method, like [Slack](/health/notifications/slack/).
194
195
## Monitoring multiple systems with Netdata
196
197
If you have Netdata installed on multiple systems, you can have them all appear in the **My nodes** menu at the top-left
198
corner of the dashboard.
199
199
-To show all your servers in that menu, you need to [register for or sign in](../docs/netdata-cloud/signing-in.md) to
200
-[Netdata Cloud](../docs/netdata-cloud/) from each system. Each system will then appear in the **My nodes** menu, which
201
-you can use to navigate between your systems quickly.
200
+To show all your servers in that menu, you need to [register for or sign in](/docs/netdata-cloud/signing-in.md) to
201
+[Netdata Cloud](/docs/netdata-cloud/README.md) from each system. Each system will then appear in the **My nodes** menu, which you
202
+can use to navigate between your systems quickly.
203
204

@@ -211,9 +212,9 @@ You can now seamlessly track performance anomalies across your entire infrastruc
212
213
**What's next?**:
214
214
-- Read up on how the [Netdata Cloud registry works](../registry/), and what kind of data it stores and sends to your
215
- web browser.
216
-- Familiarize yourself with the [Nodes View](../docs/netdata-cloud/nodes-view.md)
215
+- Read up on how the [Netdata Cloud registry works](/registry/), and what kind of data it stores and sends to
216
+ your web browser.
217
+- Familiarize yourself with the [Nodes View](/docs/netdata-cloud/nodes-view.md)
218
219
## Start, stop, and restart Netdata
220
@@ -238,11 +239,11 @@ added all your systems to the **My nodes** menu, you've just gotten started with
239
240
Take a look at some more advanced features and configurations:
241
241
-- Centralize Netdata metrics from many systems with [streaming](../streaming)
242
-- Enable long-term archiving of Netdata metrics via [backends](../backends) to time-series databases.
243
-- Improve security by putting Netdata behind an [Nginx proxy with SSL](Running-behind-nginx.md).
242
+- Centralize Netdata metrics from many systems with [streaming](/streaming/README.md)
243
+- Enable long-term archiving of Netdata metrics via [backends](/backends/README.md) to time-series databases.
244
+- Improve security by putting Netdata behind an [Nginx proxy with SSL](/docs/Running-behind-nginx.md).
245
245
-Or, learn more about how you can contribute to [Netdata core](../CONTRIBUTING.md) or our
246
-[documentation](../docs/contributing/contributing-documentation.md)!
246
+Or, learn more about how you can contribute to [Netdata core](/CONTRIBUTING.md) or our
247
+[documentation](/docs/contributing/contributing-documentation.md)!
248
249
[](<>)
docs/netdata-cloud/README.md
+8
-6
@@ -9,20 +9,22 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-clo
9
10
Netdata Cloud is core to our ongoing mission to provide real-time, distributed health monitoring and performance troubleshooting. It's the foundation of an ecosystem of tools that will help you build more extraordinary infrastructures.
11
12
-Netdata Cloud is also the next iteration of our global Netdata registry. For technical information about how our registries work, what information they store, and how your web browser "talks" to both, visit our [registry documentation](../../registry).
12
+Netdata Cloud is also the next iteration of our global Netdata registry. For technical information about how our registries work, what information they store, and how your web browser "talks" to both, visit our [registry documentation](/registry/README.md).
13
14
Learn more about the future of Netdata Cloud on our [announcement post](https://blog.netdata.cloud/posts/netdata-cloud-announcement/).
15
16
## Registering for or signing in to Netdata Cloud
17
18
-**If you're ready to register for a new Netdata Cloud account, or sign in to your existing Netdata Cloud account, visit our [signing in guide](signing-in.md) for details.**
18
+**If you're ready to register for a new Netdata Cloud account, or sign in to your existing Netdata Cloud account, visit our [signing in guide](/docs/netdata-cloud/signing-in.md) for details.**
19
20
-!!! attention "Private registries and Netdata Cloud"
21
- If you're running a private registry and are interested in trying out Netdata Cloud as a replacement for your private registry, read [our notice](signing-in.md#private-registries-and-netdata-cloud) about transitioning from a private registry to our Netdata Cloud registry.
20
+> If you're running a private registry and are interested in trying out Netdata Cloud as a replacement for your private
21
+> registry, read [our notice](/docs/netdata-cloud/signing-in.md#private-registries-and-netdata-cloud) about
22
+> transitioning from a private registry to our Netdata Cloud registry.
23
24
## Netdata Cloud features
25
25
-Netdata Cloud currently enables two features: the **My nodes** in the top-left corner of the Netdata dashboard, and the [**Nodes View**](nodes-view.md).
26
+Netdata Cloud currently enables two features: the **My nodes** in the top-left corner of the Netdata dashboard, and the
27
+[**Nodes View**](/docs/netdata-cloud/nodes-view.md).
28
29
We have an aggressive roadmap of new features, such as Workspaces for different parts of your infrastructure, Rooms to collaborate with colleagues, and the ability to receive alarms from any number of distributed Netdata agents in a single place. Read more about our proposed features [here](https://blog.netdata.cloud/posts/netdata-cloud-announcement/#what-features-will-netdata-cloud-offer).
30
@@ -44,7 +46,7 @@ Again, we expect that the vast majority of Netdata's users won't need these feat
46
47
## Running Netdata without Netdata Cloud
48
47
-Netdata Cloud is entirely optional. The application will never force you to create a Netdata Cloud account or associate nodes with the public registries. But, if you choose not to use Netdata Cloud, you will be missing out on the [Nodes View](nodes-view.md) and other upcoming features.
49
+Netdata Cloud is entirely optional. The application will never force you to create a Netdata Cloud account or associate nodes with the public registries. But, if you choose not to use Netdata Cloud, you will be missing out on the [Nodes View](/docs/netdata-cloud/nodes-view.md) and other upcoming features.
50
51
## Running Netdata Cloud on-premises or as a hosted instance
52
docs/netdata-cloud/nodes-view.md
+1
-1
@@ -156,7 +156,7 @@ Please view [this comment on issue #6318](https://github.com/netdata/netdata/iss
156
157
## Services available in the Nodes View
158
159
-The following tables elaborate on which services will appear in the Nodes View. Alerts from [other collectors](../../collectors/README.md), when entered an alarm status, will show up in the _Alarms_ tab despite not appearing
159
+The following tables elaborate on which services will appear in the Nodes View. Alerts from [other collectors](/collectors/README.md), when entered an alarm status, will show up in the _Alarms_ tab despite not appearing in the
160
161
### Databases
162
docs/netdata-cloud/signing-in.md
+20
-9
@@ -7,14 +7,19 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/netdata-clo
7
8
# Registration and signing in
9
10
-To use the features of [Netdata Cloud](README.md), you must first register an account with Netdata Cloud and associate your first Netdata node with the Netdata Cloud [registry](../../registry/README.md). **Netdata Cloud is entirely free for all Netdata users**, and does not store any metrics created by your machines. You keep your data—Netdata Cloud just connects it all together.
10
+To use the features of [Netdata Cloud](/docs/netdata-cloud/README.md), you must first register an account with Netdata
11
+Cloud and associate your first Netdata node with the Netdata Cloud [registry](/registry/README.md). **Netdata Cloud is
12
+entirely free for all Netdata users**, and does not store any metrics created by your machines. You keep your
13
+data—Netdata Cloud just connects it all together.
14
12
-!!! attention "Opting-in to Netdata Cloud"
13
- By [signing in](signing-in.md) to Netdata Cloud, you opt-in to let Netdata Cloud receive and store the information described [here](../../registry/README.md#what-data-does-the-registry-store). We never store the metrics collected by Netdata agents, just machine GUIDs, person GUID, URLs, and account information.
15
+> By [signing in](/docs/netdata-cloud/signing-in.md) to Netdata Cloud, you opt-in to let Netdata Cloud receive and store
16
+> the information described [here](/registry/README.md#what-data-does-the-registry-store). We never store the metrics
17
+> collected by Netdata agents, just machine GUIDs, person GUID, URLs, and account information.
18
19
## Registering a Netdata Cloud account
20
17
-There is only one prerequisite to using Netdata Cloud: A working Netdata agent. If you don't have a running Netdata agent yet, check out the [installation guides](../../packaging/installer/) for more information.
21
+There is only one prerequisite to using Netdata Cloud: A working Netdata agent. If you don't have a running Netdata
22
+agent yet, check out the [installation guides](/packaging/installer/README.md) for more information.
23
24
To begin, visit the web dashboard of your Netdata agent by navigating your browser of choice to `http://SERVER-IP:19999`. You’ll see a dashboard much like this:
25
@@ -49,7 +54,7 @@ A second route can be found in the Nodes List—the drop-down menu in the top-le
54
55

56
52
-If you agree to use Netdata Cloud over your private registry, and opt-in to let Netdata Cloud receive and store the information described [here](../../registry/README.md#what-data-does-the-registry-store), you should click the **Sign in** button again. If not, click the **Cancel** button to continue using your private registry.
57
+If you agree to use Netdata Cloud over your private registry, and opt-in to let Netdata Cloud receive and store the information described [here](/registry/README.md#what-data-does-the-registry-store), you should click the **Sign in** button again. If not, click the **Cancel** button to continue using your private registry.
58
59
60
### Choosing your registration or sign in method
@@ -112,15 +117,21 @@ Please view [this comment on issue #6318](https://github.com/netdata/netdata/iss
117
118
## Private registries and Netdata Cloud
119
115
-If you use a [private registry](../../registry/README.md#run-your-own-registry), and sign in to Netdata Cloud, you'll be using the Netdata Cloud registry in addition to your private registry.
120
+If you use a [private registry](/registry/README.md#run-your-own-registry), and sign in to Netdata Cloud, you'll be using the Netdata Cloud registry in addition to your private registry.
121
122
Clicking the **Sign in** button on the Netdata dashboard will display a modal window warning you about the synchronization of your private registry's entries to the Netdata Cloud's registry.
123
124

125
121
-If your company's data policies don't allow storing information about your nodes on the Netdata Cloud registry, you should click the **Cancel** button and continue using your private registry. You'll be able to access the Nodes List in the top-left corner of a Netdata dashboard, but you won't be able to use the [Nodes View](nodes-view.md) feature within Netdata Cloud, or any of the [additional features](https://blog.netdata.cloud/posts/netdata-cloud-announcement/#what-features-will-netdata-cloud-offer) on our roadmap. You can also sign up for the waiting list for the [hosted and/or on-premises versions of Netdata Cloud](README.md#running-netdata-cloud-on-premises-or-as-a-hosted-instance) that we're working on.
126
+If your company's data policies don't allow storing information about your nodes on the Netdata Cloud registry, you
127
+should click the **Cancel** button and continue using your private registry. You'll be able to access the Nodes List in
128
+the top-left corner of a Netdata dashboard, but you won't be able to use the [Nodes View](nodes-view.md) feature within
129
+Netdata Cloud, or any of the [additional
130
+features](https://blog.netdata.cloud/posts/netdata-cloud-announcement/#what-features-will-netdata-cloud-offer) on our
131
+roadmap. You can also sign up for the waiting list for the [hosted and/or on-premises versions of Netdata
132
+Cloud](/docs/netdata-cloud/README.md#running-netdata-cloud-on-premises-or-as-a-hosted-instance) that we're working on.
133
123
-If you agree to use Netdata Cloud over your private registry, and opt-in to let Netdata Cloud receive and store the information described [here](../../registry/README.md#what-data-does-the-registry-store), you should click the **Sign in** button again to continue the registration/sign in process.
134
+If you agree to use Netdata Cloud over your private registry, and opt-in to let Netdata Cloud receive and store the information described [here](/registry/README.md#what-data-does-the-registry-store), you should click the **Sign in** button again to continue the registration/sign in process.
135
136
### Returning to your private registry
137
@@ -131,7 +142,7 @@ You can sign out in two ways:
142
1. **From a node's dashboard**: In the top-right corner you will find a dropdown menu with your email address. Click that and then click the **Sign Out** button.
143
2. **From Netdata Cloud**: Click on your profile picture in the top-right corner and then click on the **Sign Out** button.
144
134
-Signing out from Netdata Cloud and returning to your private registry *does not remove* the [information stored](../../registry/README.md#what-data-does-the-registry-store) about your nodes or account details.
145
+Signing out from Netdata Cloud and returning to your private registry *does not remove* the [information stored](/registry/README.md#what-data-does-the-registry-store) about your nodes or account details.
146
147
But, upon signout, your Nodes List on all dashboards will once more be populated by your private registry and not Netdata Cloud.
148
docs/netdata-security.md
+2
-2
@@ -196,12 +196,12 @@ Of course, there are many more methods you could use to protect Netdata:
196
197
### Registry or how to not send any information to a third party server
198
199
-The default configuration uses a public registry under registry.my-netdata.io (more information about the registry here: [mynetdata-menu-item](../registry/) ). Please be aware that if you use that public registry, you submit the following information to a third party server:
199
+The default configuration uses a public registry under registry.my-netdata.io (more information about the registry here: [mynetdata-menu-item](/registry/README.md) ). Please be aware that if you use that public registry, you submit the following information to a third party server:
200
201
- The url where you open the web-ui in the browser (via http request referrer)
202
- The hostnames of the Netdata servers
203
204
-If sending this information to the central Netdata registry violates your security policies, you can configure Netdat to [run your own registry](../registry/#run-your-own-registry).
204
+If sending this information to the central Netdata registry violates your security policies, you can configure Netdat to [run your own registry](/registry/README.md#run-your-own-registry).
205
206
### Opt-out of anonymous statistics
207
docs/step-by-step/step-00.md
+3
-3
@@ -19,7 +19,7 @@ completely new to Netdata, or have never tried health monitoring/performance tro
19
tutorial is perfect for you.
20
21
If you have monitoring experience, or would rather get straight into configuring Netdata to your needs, you can jump
22
-straight into code and configurations with our [getting started guide](../getting-started.md).
22
+straight into code and configurations with our [getting started guide](/docs/getting-started.md).
23
24
> This tutorial contains instructions for Netdata installed on a Linux system. Many of the instructions will work on
25
> other supported operating systems, like FreeBSD and macOS, but we can't make any guarantees.
@@ -46,7 +46,7 @@ The easiest way to install Netdata on a Linux system is our `kickstart.sh` one-l
46
and let it take care of the rest.
47
48
This script will install Netdata from source, keep it up to date with nightly releases, connects to the Netdata
49
-[registry](../../registry/README.md), and sends [_anonymous statistics_](../anonymous-statistics.md) about how you use
49
+[registry](/registry/README.md), and sends [_anonymous statistics_](/docs/anonymous-statistics.md) about how you use
50
Netdata. We use this information to better understand how we can improve the Netdata experience for all our users.
51
52
```bash
@@ -57,7 +57,7 @@ Once finished, you'll have Netdata installed, and you'll be set up to get _night
57
improvements, and bugfixes.
58
59
If this method doesn't work for you, or you want to use a different process, visit our [installation
60
-documentation](../../packaging/installer/README.md) for details.
60
+documentation](/packaging/installer/README.md) for details.
61
62
## Netdata fundamentals
63
docs/step-by-step/step-01.md
+1
-1
@@ -141,7 +141,7 @@ easy!
141
We'll cover this quickly, as you're probably eager to get on with using Netdata itself.
142
143
We don't want to lock you in to using Netdata by itself, and forever. By supporting [archiving to
144
-backends](../../backends/README.md) like Graphite, Prometheus, OpenTSDB, MongoDB, and others, you can use Netdata _in
144
+backends](/backends/README.md) like Graphite, Prometheus, OpenTSDB, MongoDB, and others, you can use Netdata _in
145
conjunction_ with software that might seem like our competitors.
146
147
We don't want to "wage war" with another monitoring solution, whether it's commercial, open-source, or anything in
docs/step-by-step/step-02.md
+6
-6
@@ -13,8 +13,8 @@ working with the dashboard directly.
13
14
This step-by-step guide assumes you've already installed Netdata on a system of yours. If you haven't yet, hop back over
15
to ["step 0"](step-00.md#before-we-get-started) for information about our one-line installer script. Or, view the
16
-[installation docs](../../packaging/installer) to learn more. Once you have Netdata installed, you can hop back over
17
-here and dig in.
16
+[installation docs](/packaging/installer/README.md) to learn more. Once you have Netdata installed, you can hop back
17
+over here and dig in.
18
19
## What you'll learn in this step
20
@@ -69,7 +69,7 @@ what it's collecting. If you run Netdata on many different systems using differe
69
menus and submenus may look a little different for each one.
70
71
To learn more about menus, see our documentation about [navigating the standard
72
-dashboard](../../web/gui/README.md#menus).
72
+dashboard](/web/gui/README.md#menus).
73
74
> ❗ By default, Netdata only creates and displays charts if the metrics are _not zero_. So, you may be missing some
75
> charts, menus, and submenus if those charts have zero metrics. You can change this by changing the **Which dimensions
@@ -119,7 +119,7 @@ looking at its name or hovering over the chart's date.
119
It's important to understand these differences, as Netdata uses charts, dimensions, families, and contexts to create
120
health alarms and configure collectors. To read even more about the differences between all these elements of the
121
dashboard, and how they affect other parts of Netdata, read our [dashboards
122
-documentation](../../web/README.md#charts-contexts-families).
122
+documentation](/web/README.md#charts-contexts-families).
123
124
## Interact with charts
125
@@ -129,7 +129,7 @@ Netdata's charts are fully interactive. You can pan through historical metrics,
129
timeframes for further analysis, resize charts, and more.
130
131
Best of all, Whenever you use a chart in this way, Netdata synchronizes all the other charts to match it. This even
132
-applies across different Netdata agents if you connect them using the [**My nodes** menu](../../registry/README.md)!
132
+applies across different Netdata agents if you connect them using the [**My nodes** menu](/registry/README.md)!
133
134

@@ -165,7 +165,7 @@ chart to its original height, double-click the same icon.
165

167
168
-To learn more about other options and chart interactivity, read our [dashboard documentation](../../web/README.md).
168
+To learn more about other options and chart interactivity, read our [dashboard documentation](/web/README.md).
169
170
## See raised alarms and the alarm log
171
docs/step-by-step/step-03.md
+4
-7
@@ -15,13 +15,13 @@ You might be thinking, "So, now I have to remember all these IP addresses, and t
15
manually, to move from one system to another? Maybe I should just make a bunch of bookmarks. What's a few more tabs
16
on top of the hundred I have already? 🤬"
17
18
-We get it. That's why we built [Netdata Cloud](../netdata-cloud/README.md), which connects many distributed agents
18
+We get it. That's why we built [Netdata Cloud](/docs/netdata-cloud/README.md), which connects many distributed agents
19
together for a seamless experience when monitoring multiple systems.
20
21
All without remembering IPs or making a bunch of bookmarks.
22
23
> If you're interested in streaming the metrics from one Netdata agent to another, that's unfortunately not part of this
24
-> tutorial. You'll want to reference our [streaming documentation](../../streaming/README.md) when you're finished with
24
+> tutorial. You'll want to reference our [streaming documentation](/streaming/README.md) when you're finished with
25
> these steps.
26
27
Even if you don't have multiple systems right now, keep reading. The instructions to follow will show you how to test
@@ -42,9 +42,6 @@ In this step of the Netdata guid, we'll talk about the following:
42
We built Netdata Cloud to give users a way to bridge the gap between many distributed agents running concurrently, all
43
without creating a centralized database for all your systems' metrics.
44
45
-> Read more: [_Introducing Netdata Cloud: our vision for distributed health and performance
46
-> monitoring_](https://blog.netdata.cloud/posts/netdata-cloud-announcement/).
47
-
45
Netdata Cloud gives you a better way to observe and take action on slowdowns, anomalies, or outages in your systems and
46
applications. It connects all your Netdata agents through your _web browser_, allowing you to move between different
47
nodes quickly and use the Nodes View to see a handful or hundreds of Netdata-monitored nodes on a single screen.
@@ -120,7 +117,7 @@ Nodes View is a feature built in to Netdata Cloud that offers a different interf
117
multiple nodes.
118
119
> Learn more about all the features within Nodes View and what charts/metrics are represented there in our
123
-> [documentation](../netdata-cloud/nodes-view.md).
120
+> [documentation](/docs/netdata-cloud/nodes-view.md).
121
122
You can visit Nodes View by navigating to `https://netdata.cloud/console` in your browser. Or, you can click on the
123
**Nodes View** button in any Netdata dashboard. If you're not logged in to Netdata Cloud yet, you'll be asked to log in
@@ -139,7 +136,7 @@ overview** sidebar.
136
mp4](https://user-images.githubusercontent.com/1153921/65067327-192a2100-d93b-11e9-9824-80e142ac62c5.gif)
137
138
You can also view raised alarms and see real-time metrics from a [select number of
142
-services/applications](../netdata-cloud/nodes-view.md#services-available-in-the-nodes-view) using the various tabs
139
+services/applications](/docs/netdata-cloud/nodes-view.md#services-available-in-the-nodes-view) using the various tabs
140
available in the node overview sidebar.
141
142
If you add a large number of nodes to the Nodes View, you may want to look into the different view and sorting options.
docs/step-by-step/step-04.md
+3
-3
@@ -45,7 +45,7 @@ In the system represented by the screenshot, the line reads: `config directory =
45
`netdata.conf`, and all the other configuration files, can be found at `/etc/netdata`.
46
47
> For more details on where your Netdata config directory is, take a look at our [installation
48
-> instructions](../../packaging/installer/).
48
+> instructions](/packaging/installer/README.md).
49
50
For the rest of this tutorial, we'll assume you're editing files or running scripts from _within_ your **Netdata
51
configuration directory**.
@@ -126,8 +126,8 @@ Once you're done, restart Netdata and refresh the dashboard. Say hello to your r
126
netdata.conf](https://user-images.githubusercontent.com/1153921/65470784-86e5b980-de21-11e9-87bf-fabec7989738.gif)
127
128
Netdata has dozens upon dozens of options you can change. To see them all, read our [daemon
129
-configuration](../../daemon/config/), or hop into our popular tutorial on [increasing long-term metrics
130
-storage](../tutorials/longer-metrics-storage.md).
129
+configuration](/daemon/config/README.md), or hop into our popular tutorial on [increasing long-term metrics
130
+storage](/docs/tutorials/longer-metrics-storage.md).
131
132
## What's next?
133
docs/step-by-step/step-05.md
+13
-14
@@ -71,15 +71,15 @@ the `warn` and `crit` lines to the values of your choosing. For example:
71
crit: $this > (($status == $CRITICAL) ? (75) : (85))
72
```
73
74
-You _can_ [restart Netdata](../getting-started.md#start-stop-and-restart-netdata) to enable your tune, but you can also
75
-send a signal to Netdata to reload _only_ the health monitoring component.
74
+You _can_ [restart Netdata](/docs/getting-started.md#start-stop-and-restart-netdata) to enable your tune, but you can
75
+also send a signal to Netdata to reload _only_ the health monitoring component.
76
77
```bash
78
killall -USR2 netdata
79
```
80
81
You can also tune any other aspect of the default alarms. To better understand how each line in a health entity works,
82
-read our [health documentation](../../health/).
82
+read our [health documentation](/health/README.md).
83
84
### Silence an individual alarm
85
@@ -175,11 +175,10 @@ These lines will trigger a warning if that average RAM usage goes above 80%, and
175
176
> ❗ Most default Netdata alarms come with more complicated `warn` and `crit` lines. You may have noticed the line `warn:
177
> $this > (($status >= $WARNING) ? (75) : (85))` in one of the health entity examples above, which is an example of
178
-> using the [conditional operator for
179
-> hysteresis](https://docs.netdata.cloud/health/reference/#special-use-of-the-conditional-operator). Hysteresis is used
180
-> to keep Netdata from triggering a ton of alerts if the metric being tracked quickly goes above and then falls below
181
-> the threshold. For this very simple example, we'll skip hysteresis, but recommend implementing it in your future
182
-> health entities.
178
+> using the [conditional operator for hysteresis](/health/REFERENCE.md#special-use-of-the-conditional-operator).
179
+> Hysteresis is used to keep Netdata from triggering a ton of alerts if the metric being tracked quickly goes above and
180
+> then falls below the threshold. For this very simple example, we'll skip hysteresis, but recommend implementing it in
181
+> your future health entities.
182
183
Finish off with the `info` line, which creates a description of the alarm that will then appear in any
184
[notification](#enable-netdatas-notification-systems) you set up. This line is optional, but it has value—think of it as
@@ -215,8 +214,8 @@ stress -m 1 --vm-bytes 8G --vm-keep
214
```
215
216
Netdata is capable of understanding much more complicated entities. To better understand how they work, read the [health
218
-documentation](../../health/README.md), look at some [examples](../../health/REFERENCE.md#example-alarms), and open the
219
-files containing the default entities on your system.
217
+documentation](/health/README.md), look at some [examples](/health/REFERENCE.md#example-alarms), and open the files
218
+containing the default entities on your system.
219
220
## Enable Netdata's notification systems
221
@@ -224,7 +223,7 @@ Health alarms, while great on their own, are pretty useless without some way of
223
That's why Netdata comes with a notification system that supports more than a dozen services, such as email, Slack,
224
Discord, PagerDuty, Twilio, Amazon SNS, and much more.
225
227
-To see all the supported systems, visit our [notifications documentation](../../health/notifications/).
226
+To see all the supported systems, visit our [notifications documentation](/health/notifications/).
227
228
We'll cover email and Slack notifications here, but with this knowledge you should be able to enable any other type of
229
notifications instead of or in addition to these.
@@ -330,9 +329,9 @@ applications.
329
To further configure your email or Slack notification setup, or to enable other notification systems, check out the
330
following documentation:
331
333
-- [Email notifications](../../health/notifications/email/)
334
-- [Slack notifications](../../health/notifications/slack/)
335
-- [Netdata's notification system](../../health/notifications/)
332
+- [Email notifications](/health/notifications/email/README.md)
333
+- [Slack notifications](/health/notifications/slack/README.md)
334
+- [Netdata's notification system](/health/notifications/README.md)
335
336
## What's next?
337
docs/step-by-step/step-06.md
+7
-7
@@ -10,14 +10,14 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/step-by-ste
10
When Netdata _starts_, it auto-detects dozens of **data sources**, such as database servers, web servers, and more.
11
12
To auto-detect and collect metrics from a source you just installed, you need to [restart
13
-Netdata](../getting-started.md#start-stop-and-restart-netdata).
13
+Netdata](/docs/getting-started.md#start-stop-and-restart-netdata).
14
15
However, auto-detection only works if you installed the source using its standard installation
16
procedure. If Netdata isn't collecting metrics after a restart, your source probably isn't configured
17
correctly.
18
19
-Check out the [collectors that come pre-installed with Netdata](../../collectors/COLLECTORS.md) to find the module for
20
-the source you want to monitor.
19
+Check out the [collectors that come pre-installed with Netdata](/collectors/COLLECTORS.md) to find the module for the
20
+source you want to monitor.
21
22
## What you'll learn in this step
23
@@ -39,9 +39,9 @@ are organized and manged by plugins. **Internal** plugins collect system metrics
39
non-system metrics, and **orchestrator** plugins group individal collectors together based on the programming language
40
they were built in.
41
42
-These modules are primarily written in [Go](../../collectors/go.d.plugin/) (`go.d`) and
43
-[Python](../../collectors/python.d.plugin/), although some use [Bash](../../collectors/charts.d.plugin/) (`charts.d`) or
44
-[Node.js](../../collectors/node.d.plugin/) (`node.d`).
42
+These modules are primarily written in [Go](/collectors/go.d.plugin/README.md) (`go.d`) and
43
+[Python](/collectors/python.d.plugin/README.md), although some use [Bash](/collectors/charts.d.plugin/README.md)
44
+(`charts.d`) or [Node.js](/collectors/node.d.plugin/README.md) (`node.d`).
45
46
## Enable and disable plugins
47
@@ -102,7 +102,7 @@ Next, edit your `/etc/nginx/sites-enabled/default` file to include a `location`
102
```
103
104
Restart Netdata using `service netdata restart` or the [correct
105
-alternative](../getting-started.md#start-stop-and-restart-netdata) for your system, and Netdata will auto-detect
105
+alternative](/docs/getting-started.md#start-stop-and-restart-netdata) for your system, and Netdata will auto-detect
106
metrics from your Nginx web server!
107
108
While not necessary for most auto-detection and collection purposes, you can also configure the Nginx collector itself
docs/step-by-step/step-07.md
+4
-4
@@ -10,7 +10,7 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/step-by-ste
10
Welcome to the seventh step of the Netdata guide!
11
12
This step of the guide aims to get you more familiar with the features of the dashboard not previously mentioned in
13
-[step 2](step-02.md).
13
+[step 2](/docs/step-by-step/step-02.md).
14
15
## What you'll learn in this step
16
@@ -60,9 +60,9 @@ modal](https://user-images.githubusercontent.com/12263278/64876743-be957a00-d647
60
61
If an update is available, you'll see a modal similar to the one above.
62
63
-When you use the [automatic one-line installer script](../../packaging/installer/README.md) attempt to update every day.
64
-If you choose to update it manually, there are [several well-documented methods](../../packaging/installer/UPDATE.md) to
65
-achieve that. However, it is best practice for you to first go over the [changelog](../../CHANGELOG.md).
63
+When you use the [automatic one-line installer script](/packaging/installer/README.md) attempt to update every day. If
64
+you choose to update it manually, there are [several well-documented methods](/packaging/installer/UPDATE.md) to achieve
65
+that. However, it is best practice for you to first go over the [changelog](/CHANGELOG.md).
66
67
## Export and import a snapshot
68
docs/step-by-step/step-08.md
+4
-4
@@ -147,7 +147,7 @@ charts on a single page.
147
### The chart unique ID (required)
148
149
You need to specify the unique ID of a chart to show it on your custom dashboard. If you forgot how to find the unique
150
-ID, head back over to [step 2](step-02.md#understand-charts-dimensions-families-and-contexts) for a
150
+ID, head back over to [step 2](/docs/step-by-step/step-02.md#understand-charts-dimensions-families-and-contexts) for a
151
re-introduction.
152
153
You can then put this unique ID into a `<div>` element with the `data-netdata` attribute. Put this in the `<body>` of
@@ -387,9 +387,9 @@ In this guide, you learned the fundamentals of building a custom Netdata dashboa
387
charts to your `custom-dashboard.html`, change the charts that are already there, and size them according to your needs.
388
389
Of course, the custom dashboarding features covered here are just the beginning. Be sure to read up on our [custom
390
-dashboard documentation](../../web/gui/custom/) for details on how you can use other chart libraries, pull metrics from
391
-multiple Netdata agents, and choose which dimensions a given chart shows.
390
+dashboard documentation](/web/gui/custom/README.md) for details on how you can use other chart libraries, pull metrics
391
+from multiple Netdata agents, and choose which dimensions a given chart shows.
392
393
Next, you'll learn how to store long-term historical metrics in Netdata!
394
395
-[Next: Long-term metrics storage →](step-09.md)
395
+[Next: Long-term metrics storage →](/docs/step-by-step/step-09.md)
docs/step-by-step/step-09.md
+8
-8
@@ -7,7 +7,7 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/step-by-ste
7
8
# Step 9. Long-term metrics storage
9
10
-By default, Netdata stores metrics in a custom database we call the [database engine](../../database/engine/), which
10
+By default, Netdata stores metrics in a custom database we call the [database engine](/database/engine/README.md), which
11
stores recent metrics in your system's RAM and "spills" historical metrics to disk. By using both RAM and disk, the
12
database engine helps you store a much larger dataset than the amount of RAM your system has.
13
@@ -55,8 +55,8 @@ the database engine to use. The higher those values, the more metrics Netdata wi
55
every second.
56
57
> Before you make changes, we recommended you read up on the [database
58
-> engine's](../../database/engine/README.md#memory-requirements) to ensure you don't overwhelm your system. Out of
59
-> memory errors are no fun!
58
+> engine's](/database/engine/README.md#memory-requirements) to ensure you don't overwhelm your system. Out of memory
59
+> errors are no fun!
60
61
```conf
62
[global]
@@ -65,7 +65,7 @@ every second.
65
dbengine disk space = 512
66
```
67
68
-After you've made your changes, [restart Netdata](../getting-started.md#start-stop-and-restart-netdata).
68
+After you've made your changes, [restart Netdata](/docs/getting-started.md#start-stop-and-restart-netdata).
69
70
To confirm the database engine is working, go to your Netdata dashboard and click on the **Netdata Monitoring** menu on
71
the right-hand side. You can find `dbengine` metrics after `queries`.
@@ -78,8 +78,8 @@ Dashboard](https://user-images.githubusercontent.com/12263278/64781383-9c71fe00-
78
You can archive all the metrics collected by Netdata to what we call **backends**. The supported backends include
79
Graphite, OpenTSDB, Prometheus, AWS Kinesis Data Streams, MongoDB, and the list is always growing.
80
81
-As we said in [step 1](step-01.md), we have only complimentary systems, not competitors! We're happy to support these
82
-archiving methods and are always working to improve them.
81
+As we said in [step 1](/docs/step-by-step/step-01.md), we have only complimentary systems, not competitors! We're happy
82
+to support these archiving methods and are always working to improve them.
83
84
A lot of Netdata users archive their metrics to one of these backends for long-term storage or further analysis. Since
85
Netdata collects so many metrics every second, they can quickly overload small devices or even big servers that are
@@ -161,14 +161,14 @@ database = netdata
161
collection = netdata_metrics
162
```
163
164
-[Restart](../getting-started.md#start-stop-and-restart-netdata) Netdata to enable the MongoDB backend. Click on the
164
+[Restart](/docs/getting-started.md#start-stop-and-restart-netdata) Netdata to enable the MongoDB backend. Click on the
165
**Netdata Montioring** menu and check out the **backend** sub-menu. You should start seeing these charts fill up with
166
data about your MongoDB backend!
167
168

169
170
If you'd like to try connecting Netdata to another backend, such as Prometheus or OpenTSDB, read our [backends
171
-documentation](../../backends/README.md).
171
+documentation](/backends/README.md).
172
173
## What's next?
174
docs/step-by-step/step-10.md
+3
-3
@@ -209,9 +209,9 @@ You're a real sysadmin now!
209
210
If you want to configure your Nginx proxy further, check out the following:
211
212
-- [Running Netdata behind Nginx](../Running-behind-nginx.md)
213
-- [High-performance Netdata](../high-performance-netdata.md)
214
-- [Enabling TLS on Netdata's dashboard](../../web/server/README.md#enabling-tls-support)
212
+- [Running Netdata behind Nginx](/docs/Running-behind-nginx.md)
213
+- [High-performance Netdata](/docs/high-performance-netdata.md)
214
+- [Enabling TLS on Netdata's dashboard](/web/server/README.md#enabling-tls-support)
215
216
And... you're _almost_ done with the Netdata tutorial.
217
docs/step-by-step/step-99.md
+1
-1
@@ -46,6 +46,6 @@ If that feels like too much possibility to you, why not one of these options:
46
- Share your experience with Netdata and this tutorial. Be sure to [@mention](https://twitter.com/linuxnetdata) us on
47
Twitter!
48
- Contribute to what we do. Browse our [open issues](https://github.com/netdata/netdata/issues) and check out out
49
- [contributions doc](../../CONTRIBUTING.md) for ideas of how you can pitch in.
49
+ [contributions doc](/CONTRIBUTING.md) for ideas of how you can pitch in.
50
51
We can't wait to see what you monitor next! Bon voyage! ⛵
docs/tutorials/collect-apache-nginx-web-logs.md
+6
-6
@@ -15,14 +15,14 @@ you can better understand what's happening on your infrastructure. Too many bad
15
few small SVG icons. Too many requsests? Time to batten down the hatches—it's a DDoS.
16
17
Netdata has been capable of monitoring web log files for quite some time, thanks for the [weblog python.d
18
-module](../../collectors/python.d.plugin/web_log/README.md), but we recently refactored this module in Go, and that
19
-effort comes with a ton of improvements.
18
+module](/collectors/python.d.plugin/web_log/README.md), but we recently refactored this module in Go, and that effort
19
+comes with a ton of improvements.
20
21
You can now use the [LTSV log format](http://ltsv.org/), track TLS and cipher usage, and the whole parser is faster than
22
ever. In one test on a system with SSD storage, the collector consistently parsed the logs for 200,000 requests in
23
200ms, using ~30% of a single core. To learn more about these improvements, see our [v1.19 release post](https://blog.netdata.cloud/posts/release-1.19/).
24
25
-The [go.d plugin](https://github.com/netdata/go.d.plugin/tree/master/modules/weblog) is currently compatible with
25
+The [go.d plugin](/collectors/go.d.plugin/modules/weblog/README.md) is currently compatible with
26
[Nginx](https://nginx.org/en/) and [Apache](https://httpd.apache.org/).
27
28
This tutorial will walk you through using the new Go-based web log collector to turn the logs these web servers
@@ -130,7 +130,7 @@ web server's access log and begin showing real-time charts!
130
The web log collector is capable of parsing custom Nginx and Apache log formats and presenting them as charts, but we'll
131
leave that topic for a separate tutorial.
132
133
-We do have [extensive documentation](../../collectors/go.d.plugin/modules/weblog/#custom-log-format) on how to build
133
+We do have [extensive documentation](/collectors/go.d.plugin/modules/weblog/README.md#custom-log-format) on how to build
134
custom parsing for Nginx and Apache logs.
135
136
## Tweak web log collector alarms
@@ -148,12 +148,12 @@ You can also edit this file directly with `edit-config`:
148
```
149
150
For more information about editing the defaults or writing new alarm entities, see our [health monitoring
151
-documentation](../../health/README.md).
151
+documentation](/health/README.md).
152
153
## What's next?
154
155
Now that you have web log collection up and running, we recommend you take a look at the documentation for our
156
-[python.d](../../collectors/python.d.plugin/web_log/README.md) for some ideas of how you can turn these rather "boring"
156
+[python.d](/collectors/python.d.plugin/web_log/README.md) for some ideas of how you can turn these rather "boring"
157
logs into powerful real-time tools for keeping your servers happy.
158
159
Don't forget to give GitHub user [Wing924](https://github.com/Wing924) a big 👍 for his hard work in starting up the Go
docs/tutorials/longer-metrics-storage.md
+5
-5
@@ -12,8 +12,8 @@ long term?
12
13
Many people think Netdata can only store about an hour's worth of real-time metrics, but that's simply not true any
14
more. With the right settings, Netdata is quite capable of efficiently storing hours or days worth of historical,
15
-per-second metrics without having to rely on a [backend](../../backends/) or [exporting
16
-connector](../../exporting/README.md).
15
+per-second metrics without having to rely on a [backend](/backends/README.md) or [exporting
16
+connector](/exporting/README.md).
17
18
This tutorial gives two options for configuring Netdata to store more metrics. **We recommend the default [database
19
engine](#using-the-database-engine)**, but you can stick with or switch to the round-robin database if you prefer.
@@ -65,7 +65,7 @@ Based on our testing, these default settings will retain about a day's worth of
65
more historical metrics.
66
67
But before you change these options too dramatically, read up on the [database engine's memory
68
-footprint](../../database/engine/README.md#memory-requirements).
68
+footprint](/database/engine/README.md#memory-requirements).
69
70
With the database engine active, you can back up your `/var/cache/netdata/dbengine/` folder to another location for
71
redundancy.
@@ -158,9 +158,9 @@ Now that you have either configured database engine or round-robin database engi
158
probably want to see it in action!
159
160
For more information about how to pan charts to view historical metrics, see our documentation on [using
161
-charts](../../web/README.md#using-charts).
161
+charts](/web/README.md#using-charts).
162
163
-And if you'd now like to reduce Netdata's resource usage, view our [performance guide](../../docs/Performance.md) for
163
+And if you'd now like to reduce Netdata's resource usage, view our [performance guide](/docs/Performance.md) for
164
our best practices on optimization.
165
166
[](<>)
docs/tutorials/monitor-cockroachdb.md
+1
-1
@@ -111,7 +111,7 @@ cd /etc/netdata/ # Replace with your Netdata configuration directory, if not /et
111
```
112
113
For more information about editing the defaults or writing new alarm entities, see our health monitoring [quickstart
114
-guide](../../health/QUICKSTART.md).
114
+guide](/health/QUICKSTART.md).
115
116
## What's next?
117
docs/tutorials/monitor-hadoop-cluster.md
+3
-3
@@ -25,8 +25,8 @@ alternative, like the guide available from
25
26
For more specifics on the collection modules used in this tutorial, read the respective pages in our documentation:
27
28
-- [HDFS](../../collectors/go.d.plugin/modules/hdfs/README.md)
29
-- [Zookeeper](../../collectors/go.d.plugin/modules/zookeeper/README.md)
28
+- [HDFS](/collectors/go.d.plugin/modules/hdfs/README.md)
29
+- [Zookeeper](/collectors/go.d.plugin/modules/zookeeper/README.md)
30
31
## Set up your HDFS and Zookeeper installations
32
@@ -188,7 +188,7 @@ sudo /etc/netdata/edit-config health.d/zookeeper.conf
188
```
189
190
For more information about editing the defaults or writing new alarm entities, see our [health monitoring
191
-documentation](../../health/README.md).
191
+documentation](/health/README.md).
192
193
## What's next?
194
docs/tutorials/using-host-labels.md
+14
-14
@@ -29,7 +29,7 @@ sudo ./edit-config netdata.conf
29
```
30
31
Create a new `[host labels]` section defining a new host label and its value for the system in question. Make sure not
32
-to violate any of the [host label naming rules](../configuration-guide.md#netdata-labels).
32
+to violate any of the [host label naming rules](/docs/configuration-guide.md#netdata-labels).
33
34
```conf
35
[host labels]
@@ -101,9 +101,9 @@ slave system. It's a vastly simplified way of accessing critical information abo
101
102
> ⚠️ Because automatic labels for slave nodes are accessible via API calls, and contain sensitive information like
103
> kernel and operating system versions, you should secure streaming connections with SSL. See the [streaming
104
-> documentation](../..//streaming/README.md#securing-streaming-communications) for details. You may also want to use
105
-> [access lists](../../web/server/README.md#access-lists) or [expose the API only to LAN/localhost
106
-> connections](../netdata-security.md#expose-netdata-only-in-a-private-lan).
104
+> documentation](/streaming/README.md#securing-streaming-communications) for details. You may also want to use
105
+> [access lists](/web/server/README.md#access-lists) or [expose the API only to LAN/localhost
106
+> connections](/docs/netdata-security.md#expose-netdata-only-in-a-private-lan).
107
108
You can also use `_is_master`, `_is_slave`, and any other host labels in both health entities and metrics exporting.
109
Speaking of which...
@@ -154,11 +154,11 @@ Or when ephemeral Docker nodes are involved:
154
```
155
156
Of course, there are many more possibilities for intuitively organizing your systems with host labels. See the [health
157
-documentation](../../health/REFERENCE.md#alarm-line-host-labels) for more details, and then get creative!
157
+documentation](/health/REFERENCE.md#alarm-line-host-labels) for more details, and then get creative!
158
159
## Host labels in metrics exporting
160
161
-If you have enabled any metrics exporting via our experimental [exporters](../../exporting/README.md), any new host
161
+If you have enabled any metrics exporting via our experimental [exporters](/exporting/README.md), any new host
162
labels you created manually are sent to the destination database alongside metrics. You can change this behavior by
163
editing `exporting.conf`, and you can even send automatically-generated labels on with exported metrics.
164
@@ -183,7 +183,7 @@ send automatic labels = yes
183
```
184
185
By applying labels to exported metrics, you can more easily parse historical metrics with the labels applied. To learn
186
-more about exporting, read the [documentation](../../exporting/README.md).
186
+more about exporting, read the [documentation](/exporting/README.md).
187
188
## What's next?
189
@@ -195,15 +195,15 @@ the Netdata team first kicked off this work.
195
It should be noted that while the Netdata dashboard does not expose either user-configured or automatic host labels, API
196
queries _do_ showcase this information. As always, we recommend you secure Netdata
197
198
-- [Expose Netdata only in a private LAN](../netdata-security.md#expose-netdata-only-in-a-private-lan)
199
-- [Enable TLS/SSL for web/API requests](../../web/server/README.md#enabling-tls-support)
198
+- [Expose Netdata only in a private LAN](/docs/netdata-security.md#expose-netdata-only-in-a-private-lan)
199
+- [Enable TLS/SSL for web/API requests](/web/server/README.md#enabling-tls-support)
200
- Put Netdata behind a proxy
201
- [Use an authenticating web server in proxy
202
- mode](../netdata-security.md#use-an-authenticating-web-server-in-proxy-mode)
203
- - [Nginx proxy](../Running-behind-nginx.md)
204
- - [Apache proxy](../Running-behind-apache.md)
205
- - [Lighttpd](../Running-behind-lighttpd.md)
206
- - [Caddy](../Running-behind-caddy.md)
202
+ mode](/docs/netdata-security.md#use-an-authenticating-web-server-in-proxy-mode)
203
+ - [Nginx proxy](/docs/Running-behind-nginx.md)
204
+ - [Apache proxy](/docs/Running-behind-apache.md)
205
+ - [Lighttpd](/docs/Running-behind-lighttpd.md)
206
+ - [Caddy](/docs/Running-behind-caddy.md)
207
208
If you have issues or questions around using host labels, don't hesitate to [file an
209
issue](https://github.com/netdata/netdata/issues/new?labels=bug%2C+needs+triage&template=bug_report.md) on GitHub. We're
docs/what-is-netdata.md
+285
-89
@@ -1,61 +1,177 @@
1
<!--
2
---
3
title: "What is Netdata?"
4
-date: 2020-03-31
4
+date: 2020-04-07
5
custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/what-is-netdata.md
6
---
7
-->
8
9
-# What is Netdata?
9
+# Netdata [](https://travis-ci.com/netdata/netdata) [](https://bestpractices.coreinfrastructure.org/projects/2231) [](https://www.gnu.org/licenses/gpl-3.0) [](<>)
10
11
-[](https://travis-ci.com/netdata/netdata) [](https://bestpractices.coreinfrastructure.org/projects/2231) [](https://www.gnu.org/licenses/gpl-3.0) [](<>)
12
-
13
-[](https://codeclimate.com/github/netdata/netdata) [](https://www.codacy.com/app/netdata/netdata?utm_source=github.com&utm_medium=referral&utm_content=netdata/netdata&utm_campaign=Badge_Grade) [](https://lgtm.com/projects/g/netdata/netdata/context:cpp) [](https://lgtm.com/projects/g/netdata/netdata/context:javascript) [](https://lgtm.com/projects/g/netdata/netdata/context:python)
11
+[](https://codeclimate.com/github/netdata/netdata)
13
+[](https://www.codacy.com/app/netdata/netdata?utm_source=github.com&utm_medium=referral&utm_content=netdata/netdata&utm_campaign=Badge_Grade)
15
+[](https://lgtm.com/projects/g/netdata/netdata/context:cpp)
17
+[](https://lgtm.com/projects/g/netdata/netdata/context:javascript)
19
+[](https://lgtm.com/projects/g/netdata/netdata/context:python)
21
22
---
23
17
-**Netdata** is **distributed, real-time, performance and health monitoring for systems and applications**. It is a highly optimized monitoring agent you install on all your systems and containers.
24
+Netdata is **distributed, real-time performance and health monitoring** for systems and applications. It is a
25
+highly-optimized monitoring agent you install on all your systems and containers.
26
+
27
+Netdata provides **unparalleled insights**, in **real-time**, of everything happening on the systems it's running on
28
+(including web servers, databases, applications), using **highly interactive web dashboards**.
29
+
30
+A highly-efficient database **stores long-term historical metrics for days, weeks, or months**, all at 1-second
31
+granularity. Run this long-term storage autonomously, or integrate Netdata with your existing monitoring toolchains
32
+(Prometheus, Graphite, OpenTSDB, Kafka, Grafana, and more).
33
19
-Netdata provides **unparalleled insights**, **in real-time**, of everything happening on the systems it runs (including web servers, databases, applications), using **highly interactive web dashboards**. It can run autonomously, without any third party components, or it can be integrated to existing monitoring tool chains (Prometheus, Graphite, OpenTSDB, Kafka, Grafana, etc).
34
+Netdata is **fast** and **efficient**, designed to permanently run on all systems (**physical** and **virtual** servers,
35
+**containers**, **IoT** devices), without disrupting their core function.
36
21
-_Netdata is **fast** and **efficient**, designed to permanently run on all systems (**physical** & **virtual** servers, **containers**, **IoT** devices), without disrupting their core function._
37
+Netdata is **free, open-source software** and it currently runs on **Linux**, **FreeBSD**, and **macOS**, along with
38
+other systems derived from them, such as **Kubernetes** and **Docker**.
39
23
-Netdata is **free, open-source software** and it currently runs on **Linux**, **FreeBSD**, and **macOS**.
40
+Netdata is not hosted by the CNCF but is the 3rd most starred open-source project in the [Cloud Native Computing
41
+Foundation (CNCF) landscape](https://landscape.cncf.io/format=card-mode&grouping=no&sort=stars).
42
43
---
44
27
-## How it looks
45
+People get **addicted to Netdata**. Once you use it on your systems, **there is no going back**! _You've been warned..._
46
+
47
+
48
+
49
+[](https://twitter.com/intent/tweet?text=Netdata,%20real-time%20performance%20and%20health%20monitoring,%20done%20right!&url=https://my-netdata.io/&via=linuxnetdata&hashtags=netdata,monitoring)
51
29
-The following animated image, shows the top part of a typical Netdata dashboard.
52
+## Contents
53
31
-
54
+1. [What does it look like?](#what-does-it-look-like) - Take a quick tour through the dashboard
55
+2. [Our userbase](#user-base) - Enterprises we help monitor and our userbase
56
+3. [Quickstart](#quickstart) - How to try it now on your systems
57
+4. [Why Netdata](#why-netdata) - Why people love Netdata and how it compares with other solutions
58
+5. [How Netdata works](#how-it-works) - A high-level diagram of how Netdata works
59
+6. [Infographic](#infographic) - Everything about Netdata in a single graphic
60
+7. [Features](#features) - How you'll use Netdata on your systems
61
+8. [Visualization](#visualization) - Learn about visual anomaly detection
62
+9. [What Netdata monitors](#what-netdata-monitors) - See which apps/services Netdata auto-detects
63
+10. [Documentation](#documentation) - Read the documentation
64
+11. [Community](#community) - Discuss Netdata with others and get support
65
+12. [License](#license) - Check Netdata's licencing
66
+13. [Is it any good?](#is-it-any-good) - Yes.
67
+14. [Is it awesome?](#is-it-awesome) - Yes.
68
33
-_A typical Netdata dashboard, in 1:1 timing. Charts can be panned by dragging them, zoomed in/out with `SHIFT` + `mouse wheel`, an area can be selected for zoom-in with `SHIFT` + `mouse selection`. Netdata is highly interactive and **real-time**, optimized to get the work done!_
69
+## What does it look like?
70
35
-> _We have a few online demos to experience it live: [https://www.netdata.cloud](https://www.netdata.cloud/#live-demo)_
71
+The following animated GIF shows the top part of a typical Netdata dashboard.
72
+
73
+
75
+
76
+> A typical Netdata dashboard, in 1:1 timing. Charts can be panned by dragging them, zoomed in/out with `SHIFT` + `mouse
77
+> wheel`, an area can be selected for zoom-in with `SHIFT` + `mouse selection`. Netdata is highly interactive,
78
+> **real-time**, and optimized to get the work done!
79
+
80
+Want to see Netdata live? Check out any of our [live demos](https://www.netdata.cloud/#live-demo).
81
82
## User base
83
39
-Netdata is used by hundreds of thousands of users all over the world.
40
-Check our [GitHub watchers list](https://github.com/netdata/netdata/watchers).
41
-You will find people working for **Amazon**, **Atos**, **Baidu**, **Cisco Systems**, **Citrix**, **Deutsche Telekom**, **DigitalOcean**,
42
-**Elastic**, **EPAM Systems**, **Ericsson**, **Google**, **Groupon**, **Hortonworks**, **HP**, **Huawei**,
43
-**IBM**, **Microsoft**, **NewRelic**, **Nvidia**, **Red Hat**, **SAP**, **Selectel**, **TicketMaster**,
44
-**Vimeo**, and many more!
84
+Netdata is used by hundreds of thousands of users all over the world. Check our [GitHub watchers
85
+list](https://github.com/netdata/netdata/watchers). You will find people working for **Amazon**, **Atos**, **Baidu**,
86
+**Cisco Systems**, **Citrix**, **Deutsche Telekom**, **DigitalOcean**, **Elastic**, **EPAM Systems**, **Ericsson**,
87
+**Google**, **Groupon**, **Hortonworks**, **HP**, **Huawei**, **IBM**, **Microsoft**, **NewRelic**, **Nvidia**, **Red
88
+Hat**, **SAP**, **Selectel**, **TicketMaster**, **Vimeo**, and many more!
89
90
### Docker pulls
91
48
-We provide docker images for the most common architectures. These are statistics reported by docker hub:
92
+We provide Docker images for the most common architectures. These are statistics reported by Docker Hub:
93
50
-[](https://hub.docker.com/r/netdata/netdata/) [](https://hub.docker.com/r/firehol/netdata/) [](https://hub.docker.com/r/titpetric/netdata/)
94
+[](https://hub.docker.com/r/netdata/netdata/)
96
+[](https://hub.docker.com/r/firehol/netdata/)
98
+[](https://hub.docker.com/r/titpetric/netdata/)
100
101
### Registry
102
54
-When you install multiple Netdata, they are integrated into **one distributed application**, via a [Netdata registry](../registry/). This is a web browser feature and it allows us to count the number of unique users and unique Netdata servers installed. The following information comes from the global public Netdata registry we run:
103
+When you install multiple Netdata, they are integrated into **one distributed application**, via a [Netdata
104
+registry](/registry/README.md). This is a web browser feature and it allows us to count the number of unique users and
105
+unique Netdata servers installed. The following information comes from the global public Netdata registry we run:
106
+
107
+[](https://registry.my-netdata.io/#menu_netdata_submenu_registry)
109
+[](https://registry.my-netdata.io/#menu_netdata_submenu_registry)
111
+[](https://registry.my-netdata.io/#menu_netdata_submenu_registry)
113
+
114
+_In the last 24 hours:_<br/> [](https://registry.my-netdata.io/#menu_netdata_submenu_registry)
116
+[](https://registry.my-netdata.io/#menu_netdata_submenu_registry)
118
+[](https://registry.my-netdata.io/#menu_netdata_submenu_registry)
120
+
121
+## Quickstart
122
+
123
+
124
+
125
+
126
+To install Netdata from source on any Linux system (physical, virtual, container, IoT, edge) and keep it up to date with
127
+our **nightly releases** automatically, run the following:
128
+
129
+```bash
130
+# make sure you run `bash` for your shell
131
+bash
132
+
133
+# install Netdata directly from GitHub source
134
+bash <(curl -Ss https://my-netdata.io/kickstart.sh)
135
+```
136
+
137
+Starting with v1.12, Netdata collects anonymous usage information by default and sends it to Google Analytics. Read
138
+about the information collected, and learn how to-opt, on our [anonymous statistics](/docs/anonymous-statistics.md) page.
139
+
140
+The usage statistics are _vital_ for us, as we use them to discover bugs and prioritize new features. We thank you for
141
+_actively_ contributing to Netdata's future.
142
+
143
+To learn more about the pros and cons of using _nightly_ vs. _stable_ releases, see our [notice about the two options](/packaging/installer/README.md#nightly-vs-stable-releases).
144
+
145
+The above command will:
146
56
-[](https://registry.my-netdata.io/#menu_netdata_submenu_registry) [](https://registry.my-netdata.io/#menu_netdata_submenu_registry) [](https://registry.my-netdata.io/#menu_netdata_submenu_registry)
147
+- Install any required packages on your system (it will ask you to confirm before doing so)
148
+- Compile it, install it, and start it.
149
58
-_in the last 24 hours:_<br/> [](https://registry.my-netdata.io/#menu_netdata_submenu_registry) [](https://registry.my-netdata.io/#menu_netdata_submenu_registry) [](https://registry.my-netdata.io/#menu_netdata_submenu_registry)
150
+More installation methods and additional options can be found at the [installation
151
+page](/packaging/installer/README.md).
152
+
153
+To try Netdata in a Docker container, run this:
154
+
155
+```sh
156
+docker run -d --name=netdata \
157
+ -p 19999:19999 \
158
+ -v /etc/passwd:/host/etc/passwd:ro \
159
+ -v /etc/group:/host/etc/group:ro \
160
+ -v /proc:/host/proc:ro \
161
+ -v /sys:/host/sys:ro \
162
+ -v /var/run/docker.sock:/var/run/docker.sock:ro \
163
+ --cap-add SYS_PTRACE \
164
+ --security-opt apparmor=unconfined \
165
+ netdata/netdata
166
+```
167
+
168
+For more information about running Netdata in Docker, check the [docker installation page](/packaging/docker/README.md).
169
+
170
+
171
+
172
+From Netdata v1.12 and above, anonymous usage information is collected by default and sent to Google Analytics. To read
173
+more about the information collected and how to opt-out, check the [anonymous statistics
174
+page](/docs/anonymous-statistics.md).
175
176
## Why Netdata
177
@@ -63,55 +179,59 @@ Netdata has a quite different approach to monitoring.
179
180
Netdata is a monitoring agent you install on all your systems. It is:
181
66
-- a **metrics collector** - for system and application metrics (including web servers, databases, containers, etc)
67
-- a **time-series database** - all stored in memory (does not touch the disks while it runs)
68
-- a **metrics visualizer** - super fast, interactive, modern, optimized for anomaly detection
69
-- an **alarms notification engine** - an advanced watchdog for detecting performance and availability issues
182
+- A **metrics collector** for system and application metrics (including web servers, databases, containers, and much
183
+ more),
184
+- A **long-term metrics database** that stores recent metrics in memory and "spills" historical metrics to disk for
185
+ efficient long-term storage,
186
+- A super fast, interactive, and modern **metrics visualizer** optimized for anomaly detection,
187
+- And an **alarms notification engine** for detecting performance and availability issues.
188
189
All the above, are packaged together in a very flexible, extremely modular, distributed application.
190
191
This is how Netdata compares to other monitoring solutions:
192
75
-| Netdata | others (open-source and commercial)|
76
-|:-----:|:---------------------------------:|
77
-| **High resolution metrics** (1s granularity)|Low resolution metrics (10s granularity at best)|
78
-| Monitors everything, **thousands of metrics per node**|Monitor just a few metrics|
79
-| UI is super fast, optimized for **anomaly detection**|UI is good for just an abstract view|
80
-| **Meaningful presentation**, to help you understand the metrics|You have to know the metrics before you start|
81
-| Install and get results **immediately**|Long preparation is required to get any useful results|
82
-| Use it for **troubleshooting** performance problems|Use them to get *statistics of past performance*|
83
-| **Kills the console** for tracing performance issues|The console is always required for troubleshooting|
84
-| Requires **zero dedicated resources**|Require large dedicated resources|
193
+| Netdata | others (open-source and commercial) |
194
+| :-------------------------------------------------------------- | :--------------------------------------------------------------- |
195
+| **High resolution metrics** (1s granularity) | Low resolution metrics (10s granularity at best) |
196
+| Monitors everything, **thousands of metrics per node** | Monitor just a few metrics |
197
+| UI is super fast, optimized for **anomaly detection** | UI is good for just an abstract view |
198
+| **Long-term, autonomous storage** at one-second granularity | Centralized metrics in an expensive data lake at 10s granularity |
199
+| **Meaningful presentation**, to help you understand the metrics | You have to know the metrics before you start |
200
+| Install and get results **immediately** | Long preparation is required to get any useful results |
201
+| Use it for **troubleshooting** performance problems | Use them to get _statistics of past performance_ |
202
+| **Kills the console** for tracing performance issues | The console is always required for troubleshooting |
203
+| Requires **zero dedicated resources** | Require large dedicated resources |
204
205
Netdata is **open-source**, **free**, super **fast**, very **easy**, completely **open**, extremely **efficient**,
206
**flexible** and integrate-able.
207
89
-It has been designed by **SysAdmins**, **DevOps** and **Developers** for troubleshooting performance problems,
90
-not just visualize metrics.
208
+It has been designed by **system administrators**, **DevOps engineers**, and **developers** for to not just visualize
209
+metrics, but also troubleshoot complex performance problems.
210
211
## How it works
212
94
-Netdata is a highly efficient, highly modular, metrics management engine. Its lockless design makes it ideal for concurrent operations on the metrics.
213
+Netdata is a highly efficient, highly modular, metrics management engine. Its lockless design makes it ideal for
214
+concurrent operations on the metrics.
215
216

217
218
This is how it works:
219
100
-|Function|Description|Documentation|
101
-|:------:|:----------|:-----------:|
102
-|**Collect**|Multiple independent data collection workers are collecting metrics from their sources using the optimal protocol for each application and push the metrics to the database. Each data collection worker has lockless write access to the metrics it collects.|[`collectors`](../collectors/)|
103
-|**Store**|Metrics are stored in RAM in a round robin database (ring buffer), using a custom made floating point number for minimal footprint.|[`database`](../database/)|
104
-|**Check**|A lockless independent watchdog is evaluating **health checks** on the collected metrics, triggers alarms, maintains a health transaction log and dispatches alarm notifications.|[`health`](../health/)|
105
-|**Stream**|An lockless independent worker is streaming metrics, in full detail and in real-time, to remote Netdata servers, as soon as they are collected.|[`streaming`](../streaming/)|
106
-|**Archive**|A lockless independent worker is down-sampling the metrics and pushes them to **backend** time-series databases.|[`backends`](../backends/)|
107
-|**Query**|Multiple independent workers are attached to the [internal web server](../web/server/), servicing API requests, including [data queries](../web/api/queries/README.md).|[`web/api`](../web/api/)|
220
+| Function | Description | Documentation |
221
+| :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------- |
222
+| **Collect** | Multiple independent data collection workers are collecting metrics from their sources using the optimal protocol for each application and push the metrics to the database. Each data collection worker has lockless write access to the metrics it collects. | [`collectors`](/collectors/README.md) |
223
+| **Store** | Metrics are first stored in RAM in a custom database engine that then "spills" historical metrics to disk for efficient long-term metrics storage. | [`database`](/database/README.md) |
224
+| **Check** | A lockless independent watchdog is evaluating **health checks** on the collected metrics, triggers alarms, maintains a health transaction log and dispatches alarm notifications. | [`health`](/health/README.md) |
225
+| **Stream** | A lockless independent worker is streaming metrics, in full detail and in real-time, to remote Netdata servers, as soon as they are collected. | [`streaming`](/streaming/README.md) |
226
+| **Archive** | A lockless independent worker is down-sampling the metrics and pushes them to **backend** time-series databases. | [`backends`](/backends/README.md) |
227
+| **Query** | Multiple independent workers are attached to the [internal web server](/web/server/README.md), servicing API requests, including [data queries](/web/api/queries/README.md). | [`web/api`](/web/api/README.md) |
228
109
-The result is a highly efficient, low latency system, supporting multiple readers and one writer on each metric.
229
+The result is a highly efficient, low-latency system, supporting multiple readers and one writer on each metric.
230
231
## Infographic
232
113
-This is a high level overview of Netdata feature set and architecture.
114
-Click it to interact with it (it has direct links to documentation).
233
+This is a high level overview of Netdata feature set and architecture. Click it to to interact with it (it has direct
234
+links to our documentation).
235
236
[](https://my-netdata.io/infographic.html)
237
@@ -123,41 +243,70 @@ This is what you should expect from Netdata:
243
244
### General
245
126
-- **1s granularity** - the highest possible resolution for all metrics.
127
-- **Unlimited metrics** - collects all the available metrics, the more the better.
128
-- **1% CPU utilization of a single core** - it is super fast, unbelievably optimized.
129
-- **A few MB of RAM** - by default it uses 25MB RAM. [You size it](../database).
130
-- **Zero disk I/O** - while it runs, it does not load or save anything (except `error` and `access` logs).
131
-- **Zero configuration** - auto-detects everything, it can collect up to 10000 metrics per server out of the box.
132
-- **Zero maintenance** - You just run it, it does the rest.
133
-- **Zero dependencies** - it is even its own web server, for its static web files and its web API (though its plugins may require additional libraries, depending on the applications monitored).
134
-- **Scales to infinity** - you can install it on all your servers, containers, VMs and IoTs. Metrics are not centralized by default, so there is no limit.
135
-- **Several operating modes** - Autonomous host monitoring (the default), headless data collector, forwarding proxy, store and forward proxy, central multi-host monitoring, in all possible configurations. Each node may have different metrics retention policy and run with or without health monitoring.
246
+- **1s granularity** - The highest possible resolution for all metrics.
247
+- **Unlimited metrics** - Netdata collects all the available metrics—the more, the better.
248
+- **1% CPU utilization of a single core** - It's unbelievably optimized.
249
+- **A few MB of RAM** - The highly-efficient database engine stores per-second metrics in RAM and then "spills"
250
+ historical metrics to disk long-term storage.
251
+- **Minimal disk I/O** - While running, Netdata only writes historical metrics and reads `error` and `access` logs.
252
+- **Zero configuration** - Netdata auto-detects everything, and can collect up to 10,000 metrics per server out of the
253
+ box.
254
+- **Zero maintenance** - You just run it. Netdata does the rest.
255
+- **Zero dependencies** - Netdata runs a custom web server for its static web files and its web API (though its
256
+ plugins may require additional libraries, depending on the applications monitored).
257
+- **Scales to infinity** - You can install it on all your servers, containers, VMs, and IoT devices. Metrics are not
258
+ centralized by default, so there is no limit.
259
+- **Several operating modes** - Autonomous host monitoring (the default), headless data collector, forwarding proxy,
260
+ store and forward proxy, central multi-host monitoring, in all possible configurations. Each node may have different
261
+ metrics retention policies and run with or without health monitoring.
262
263
### Health Monitoring & Alarms
264
139
-- **Sophisticated alerting** - comes with hundreds of alarms, **out of the box**! Supports dynamic thresholds, hysteresis, alarm templates, multiple role-based notification methods.
140
-- **Notifications**: [alerta.io](../health/notifications/alerta/), [amazon sns](../health/notifications/awssns/), [discordapp.com](../health/notifications/discord/), [email](../health/notifications/email/), [flock.com](../health/notifications/flock/), [irc](../health/notifications/irc/), [kavenegar.com](../health/notifications/kavenegar/), [messagebird.com](../health/notifications/messagebird/), [pagerduty.com](../health/notifications/pagerduty/), [prowl](../health/notifications/prowl/), [pushbullet.com](../health/notifications/pushbullet/), [pushover.net](../health/notifications/pushover/), [rocket.chat](../health/notifications/rocketchat/), [slack.com](../health/notifications/slack/), [smstools3](../health/notifications/smstools3/), [syslog](../health/notifications/syslog/), [telegram.org](../health/notifications/telegram/), [twilio.com](../health/notifications/twilio/), [web](../health/notifications/web/) and [custom notifications](../health/notifications/custom/).
265
+- **Sophisticated alerting** - Netdata comes with hundreds of alarms **out of the box**! It supports dynamic
266
+ thresholds, hysteresis, alarm templates, multiple role-based notification methods, and more.
267
+- **Notifications**: [alerta.io](/health/notifications/alerta/README.md), [amazon
268
+ sns](/health/notifications/awssns/README.md), [discordapp.com](/health/notifications/discord/README.md),
269
+ [email](/health/notifications/email/README.md), [flock.com](/health/notifications/flock/README.md),
270
+ [hangouts](/health/notifications/hangouts/README.md), [irc](/health/notifications/irc/README.md),
271
+ [kavenegar.com](/health/notifications/kavenegar/README.md), [messagebird.com](/health/notifications/messagebird/),
272
+ [pagerduty.com](/health/notifications/pagerduty/README.md), [prowl](/health/notifications/prowl/README.md),
273
+ [pushbullet.com](/health/notifications/pushbullet/README.md),
274
+ [pushover.net](/health/notifications/pushover/README.md), [rocket.chat](/health/notifications/rocketchat/README.md),
275
+ [slack.com](/health/notifications/slack/README.md), [smstools3](/health/notifications/smstools3/README.md),
276
+ [syslog](/health/notifications/syslog/README.md), [telegram.org](/health/notifications/telegram/README.md),
277
+ [twilio.com](/health/notifications/twilio/README.md), [web](/health/notifications/web/README.md) and [custom
278
+ notifications](/health/notifications/custom/README.md).
279
280
### Integrations
281
144
-- **time-series dbs** - can archive its metrics to **Graphite**, **OpenTSDB**, **Prometheus**, **AWS Kinesis**, **JSON document DBs**, in the same or lower resolution (lower: to prevent it from congesting these servers due to the amount of data collected). Netdata also supports **Prometheus remote write API** which allows storing metrics to **Elasticsearch**, **Gnocchi**, **InfluxDB**, **Kafka**, **PostgreSQL/TimescaleDB**, **Splunk**, **VictoriaMetrics** and a lot of other [storage providers](https://prometheus.io/docs/operating/integrations/#remote-endpoints-and-storage).
282
+- **Time-series databases** - Netdata can archive its metrics to **Graphite**, **OpenTSDB**, **Prometheus**, **AWS
283
+ Kinesis**, **MongoDB**, **JSON document DBs**, in the same or lower resolution (lower: to prevent it from congesting
284
+ these servers due to the amount of data collected). Netdata also supports **Prometheus remote write API**, which
285
+ allows storing metrics to **Elasticsearch**, **Gnocchi**, **InfluxDB**, **Kafka**, **PostgreSQL/TimescaleDB**,
286
+ **Splunk**, **VictoriaMetrics** and a lot of other [storage
287
+ providers](https://prometheus.io/docs/operating/integrations/#remote-endpoints-and-storage).
288
289
## Visualization
290
148
-- **Stunning interactive dashboards** - mouse, touchpad and touch-screen friendly in 2 themes: `slate` (dark) and `white`.
149
-- **Amazingly fast visualization** - responds to all queries in less than 1 ms per metric, even on low-end hardware.
150
-- **Visual anomaly detection** - the dashboards are optimized for detecting anomalies visually.
151
-- **Embeddable** - its charts can be embedded on your web pages, wikis and blogs. You can even use [Atlassian's Confluence as a monitoring dashboard](../web/gui/confluence/).
152
-- **Customizable** - custom dashboards can be built using simple HTML (no javascript necessary).
291
+- **Stunning interactive dashboards** - Our dashboard is mouse-, touchpad-, and touch-screen friendly in 2 themes:
292
+ `slate` (dark) and `white`.
293
+- **Amazingly fast visualization** - Even on low-end hardware, the dashboard responds to all queries in less than 1 ms
294
+ per metric.
295
+- **Visual anomaly detection** - Our UI/UX emphasizes the relationships between charts so you can better detect
296
+ anomalies visually.
297
+- **Embeddable** - Charts can be embedded on your web pages, wikis and blogs. You can even use [Atlassian's Confluence
298
+ as a monitoring dashboard](/web/gui/confluence/README.md).
299
+- **Customizable** - You can build custom dashboards using simple HTML. No JavaScript needed!
300
301
### Positive and negative values
302
156
-To improve clarity on charts, Netdata dashboards present **positive** values for metrics representing `read`, `input`, `inbound`, `received` and **negative** values for metrics representing `write`, `output`, `outbound`, `sent`.
303
+To improve clarity on charts, Netdata dashboards present **positive** values for metrics representing `read`, `input`,
304
+`inbound`, `received` and **negative** values for metrics representing `write`, `output`, `outbound`, `sent`.
305
306

307
160
-*Netdata charts showing the bandwidth and packets of a network interface. `received` is positive and `sent` is negative.*
308
+_Netdata charts showing the bandwidth and packets of a network interface. `received` is positive and `sent` is
309
+negative._
310
311
### Autoscaled y-axis
312
@@ -165,58 +314,105 @@ Netdata charts automatically zoom vertically, to visualize the variation of each
314
315

316
168
-*A zero based `stacked` chart, automatically switches to an auto-scaled `area` chart when a single dimension is selected.*
317
+_A zero-based `stacked` chart, automatically switches to an auto-scaled `area` chart when a single dimension is
318
+selected._
319
320
### Charts are synchronized
321
172
-Charts on Netdata dashboards are synchronized to each other. There is no master chart. Any chart can be panned or zoomed at any time, and all other charts will follow.
322
+Charts on Netdata dashboards are synchronized to each other. There is no master chart. Any chart can be panned or zoomed
323
+at any time, and all other charts will follow.
324
325

326
176
-_Charts are panned by dragging them with the mouse. Charts can be zoomed in/out with`SHIFT` + `mouse wheel` while the mouse pointer is over a chart._
327
+_Charts are panned by dragging them with the mouse. Charts can be zoomed in/out with`SHIFT` + `mouse wheel` while the
328
+mouse pointer is over a chart._
329
178
-> The visible time-frame (pan and zoom) is propagated from Netdata server to Netdata server, when navigating via the [node menu](../registry#registry).
330
+> The visible time-frame (pan and zoom) is propagated from Netdata server to Netdata server when navigating via the
331
+> [My nodes menu](/registry/README.md).
332
333
### Highlighted time-frame
334
182
-To improve visual anomaly detection across charts, the user can highlight a time-frame (by pressing `ALT` + `mouse selection`) on all charts.
335
+To improve visual anomaly detection across charts, the user can highlight a time-frame (by pressing `Alt` + `mouse
336
+selection`) on all charts.
337
338

339
186
-_A highlighted time-frame can be given by pressing `ALT` + `mouse selection` on any chart. Netdata will highlight the same range on all charts._
340
+_A highlighted time-frame can be given by pressing `Alt` + `mouse selection` on any chart. Netdata will highlight the
341
+same range on all charts._
342
188
-> Highlighted ranges are propagated from Netdata server to Netdata server, when navigating via the [node menu](../registry#registry).
343
+> Highlighted ranges are propagated from Netdata server to Netdata server, when navigating via the [My nodes
344
+> menu](/registry/README.md).
345
346
## What Netdata monitors
347
348
Netdata can collect metrics from 200+ popular services and applications, on top of dozens of system-related metrics
349
jocs, such as CPU, memory, disks, filesystems, networking, and more. We call these **collectors**, and they're managed
194
-by [**plugins**](../collectors/plugins.d/), which support a variety of programming languages, including Go and Python.
350
+by [**plugins**](/collectors/plugins.d/README.md), which support a variety of programming languages, including Go and
351
+Python.
352
353
Popular collectors include **Nginx**, **Apache**, **MySQL**, **statsd**, **cgroups** (containers, Docker, Kubernetes,
354
LXC, and more), **Traefik**, **web server `access.log` files**, and much more.
355
199
-See the **full list of [supported collectors](../collectors/COLLECTORS.md)**.
356
+See the **full list of [supported collectors](/collectors/COLLECTORS.md)**.
357
358
Netdata's data collection is **extensible**, which means you can monitor anything you can get a metric for. You can even
202
-write a collector for your custom application using our [plugin API](../collectors/plugins.d/README.md).
359
+write a collector for your custom application using our [plugin API](/collectors/plugins.d/README.md).
360
+
361
+## Documentation
362
+
363
+The Netdata documentation is at <https://docs.netdata.cloud>, but you can also find each page inside of Netdata's
364
+repository itself in Markdown (`.md`) files. You can find all our documentation by navigating the repository.
365
+
366
+Here is a quick list of notable documents:
367
+
368
+| Directory | Description |
369
+| :---------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------- |
370
+| [`installer`](/packaging/installer/README.md) | Instructions to install Netdata on your systems. |
371
+| [`docker`](/packaging/docker/README.md) | Instructions to install Netdata using docker. |
372
+| [`daemon`](/daemon/README.md) | Information about the Netdata daemon and its configuration. |
373
+| [`collectors`](/collectors/README.md) | Information about data collection plugins. |
374
+| [`health`](/health/README.md) | How Netdata's health monitoring works, how to create your own alarms and how to configure alarm notification methods. |
375
+| [`streaming`](/streaming/README.md) | How to build hierarchies of Netdata servers, by streaming metrics between them. |
376
+| [`backends`](/backends/README.md) | Long term archiving of metrics to industry-standard time-series databases, like `prometheus`, `graphite`, `opentsdb`. |
377
+| [`web/api`](/web/api/README.md) | Learn how to query the Netdata API and the queries it supports. |
378
+| [`web/api/badges`](/web/api/badges/README.md) | Learn how to generate badges (SVG images) from live data. |
379
+| [`web/gui/custom`](/web/gui/custom/README.md) | Learn how to create custom Netdata dashboards. |
380
+| [`web/gui/confluence`](/web/gui/confluence/README.md) | Learn how to create Netdata dashboards on Atlassian's Confluence. |
381
+
382
+You can also check all the other directories. Most of them have plenty of documentation.
383
384
## Community
385
206
-We welcome [contributions](../CONTRIBUTING.md). So, feel free to join the team.
386
+We welcome [contributions](/CONTRIBUTING.md). Feel free to join the team!
387
208
-To report bugs, or get help, use [GitHub Issues](https://github.com/netdata/netdata/issues).
388
+To report bugs or get help, use [GitHub's issues](https://github.com/netdata/netdata/issues).
389
390
You can also find Netdata on:
391
392
- [Facebook](https://www.facebook.com/linuxnetdata/)
393
- [Twitter](https://twitter.com/linuxnetdata)
214
-- [OpenHub](https://www.openhub.net/p/netdata)
215
-- [Repology](https://repology.org/metapackage/netdata/versions)
394
- [StackShare](https://stackshare.io/netdata)
395
+- [Product Hunt](https://www.producthunt.com/posts/netdata-monitoring-agent/)
396
+- [Repology](https://repology.org/metapackage/netdata/versions)
397
398
## License
399
220
-Netdata is [GPLv3+](../LICENSE).
400
+Netdata is GPLv3+.
401
+
402
+Netdata re-distributes other open-source tools and libraries. Please check the [third party licenses](/REDISTRIBUTED.md).
403
+
404
+## Is it any good?
405
+
406
+Yes.
407
+
408
+_When people first hear about a new product, they frequently ask if it is any good. A Hacker News user
409
+[remarked](https://news.ycombinator.com/item?id=3067434):_
410
+
411
+> Note to self: Starting immediately, all raganwald projects will have a “Is it any good?” section in the readme, and
412
+> the answer shall be “yes.".
413
+
414
+So, we follow the tradition...
415
+
416
+## Is it awesome?
417
222
-Netdata re-distributes other open-source tools and libraries. Please check the [third party licenses](../REDISTRIBUTED.md).
418
+[These people](https://github.com/netdata/netdata/stargazers) seem to like it.
docs/why-netdata/README.md
+4
-4
@@ -13,19 +13,19 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/docs/why-netdata
13
14
Netdata is built around 4 principles:
15
16
-1. **[Per second data collection for all metrics.](1s-granularity.md)**
16
+1. **[Per second data collection for all metrics.](/docs/why-netdata/1s-granularity.md)**
17
18
_It is impossible to monitor a 2 second SLA, with 10 second metrics._
19
20
-2. **[Collect and visualize all the metrics from all possible sources.](unlimited-metrics.md)**
20
+2. **[Collect and visualize all the metrics from all possible sources.](/docs/why-netdata/unlimited-metrics.md)**
21
22
_To troubleshoot slowdowns, we need all the available metrics. The console should not provide more metrics._
23
24
-3. **[Meaningful presentation, optimized for visual anomaly detection.](meaningful-presentation.md)**
24
+3. **[Meaningful presentation, optimized for visual anomaly detection.](/docs/why-netdata/meaningful-presentation.md)**
25
26
_Metrics are a lot more than name-value pairs over time. The monitoring tool should know all the metrics. Users should not!_
27
28
-4. **[Immediate results, just install and use.](immediate-results.md)**
28
+4. **[Immediate results, just install and use.](/docs/why-netdata/immediate-results.md)**
29
30
_Most of our infrastructure is standardized. There is no point to configure everything metric by metric._
31
exporting/README.md
+2
-2
@@ -7,10 +7,10 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/exporting/README
7
8
# Exporting metrics to external databases (experimental)
9
10
-The exporting engine is an update for the former [backends](../backends/). It's still work in progress. It has a
10
+The exporting engine is an update for the former [backends](/backends/README.md). It's still work in progress. It has a
11
modular structure and supports metric exporting via multiple exporting connector instances at the same time. You can
12
have different update intervals and filters configured for every exporting connector instance. The exporting engine has
13
-its own configuration file `exporting.conf`. Configuration is almost similar to [backends](../backends/#configuration).
13
+its own configuration file `exporting.conf`. Configuration is almost similar to [backends](/backends/README.md#configuration).
14
The only difference is that the type of a connector should be specified in a section name before a colon and a name after
15
the colon. At the moment only four types of connectors are supported: `graphite`, `json`, `opentsdb`, `opentsdb:http`.
16
health/QUICKSTART.md
+4
-4
@@ -138,11 +138,11 @@ killall -USR2 netdata
138
139
## What's next?
140
141
-To learn about all of Netdata's health configuration options, view the [reference guide](REFERENCE.md).
141
+To learn about all of Netdata's health configuration options, view the [reference guide](/health/REFERENCE.md).
142
143
-Or, get guided insights into specific health configurations with our [health tutorials](README.md#tutorials).
143
+Or, get guided insights into specific health configurations with our [health tutorials](/health/README.md#tutorials).
144
145
-Finally, move on to Netdata's [notification system](notifications/README.md) to learn more about how Netdata can let you
146
-know when the health of your systems or apps goes awry.
145
+Finally, move on to Netdata's [notification system](/health/notifications/README.md) to learn more about how Netdata can
146
+let you know when the health of your systems or apps goes awry.
147
148
[](<>)
health/README.md
+6
-5
@@ -21,9 +21,9 @@ and the needs of your infrastructure, are your only limits.
21
22
<DocsSteps>
23
24
-[<FiPlay /> Quickstart](QUICKSTART.md)
24
+[<FiPlay /> Quickstart](/health/QUICKSTART.md)
25
26
-[<FiCode /> Configuration reference](REFERENCE.md)
26
+[<FiCode /> Configuration reference](/health/REFERENCE.md)
27
28
[<FiBook /> Tutorials](#tutorials)
29
@@ -40,15 +40,16 @@ content.
40
41
### Health entities
42
43
-[Stopping notifications for individual alarms](tutorials/stop-notifications-alarms.md)
43
+[Stopping notifications for individual alarms](/health/tutorials/stop-notifications-alarms.md)
44
45
-[Use dimension templates to create dynamic alarms](tutorials/dimension-templates.md)
45
+[Use dimension templates to create dynamic alarms](/health/tutorials/dimension-templates.md)
46
47
</div>
48
</DocsTutorials>
49
50
## Related features
51
52
-**[Health notifications](notifications/README.md)**: Get notified about Netdata's alarms via your favorite platform(s).
52
+**[Health notifications](/health/notifications/README.md)**: Get notified about Netdata's alarms via your favorite
53
+platform(s).
54
55
[](<>)
health/notifications/README.md
+6
-8
@@ -8,7 +8,7 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/health/notificat
8
# Netdata alarm notifications
9
10
The `exec` line in health configuration defines an external script that will be called once
11
-the alarm is triggered. The default script is **[alarm-notify.sh](alarm-notify.sh.in)**.
11
+the alarm is triggered. The default script is `alarm-notify.sh`.
12
13
You can change the default script globally by editing `/etc/netdata/netdata.conf`.
14
@@ -20,11 +20,10 @@ You can change the default script globally by editing `/etc/netdata/netdata.conf
20
21
It uses **roles**. For example `sysadmin`, `webmaster`, `dba`, etc.
22
23
-Each alarm is assigned to one or more roles, using the `to` line of the alarm configuration.
24
-Then `alarm-notify.sh` uses its own configuration file `/etc/netdata/health_alarm_notify.conf`
25
-the default is [here](health_alarm_notify.conf)
26
-(to edit it on your system run `/etc/netdata/edit-config health_alarm_notify.conf`)
27
-to find the destination address of the notification for each method.
23
+Each alarm is assigned to one or more roles, using the `to` line of the alarm configuration. Then `alarm-notify.sh` uses
24
+its own configuration file `/etc/netdata/health_alarm_notify.conf`. To edit it on your system, run
25
+`/etc/netdata/edit-config health_alarm_notify.conf` and find the destination address of the notification for each
26
+method.
27
28
Each role may have one or more destinations.
29
@@ -38,8 +37,7 @@ So, for example the `sysadmin` role may send:
37
38
## Configuration
39
41
-Edit [`/etc/netdata/health_alarm_notify.conf`](health_alarm_notify.conf)
42
-by running `/etc/netdata/edit-config health_alarm_notify.conf`:
40
+Edit `/etc/netdata/health_alarm_notify.conf` by running `/etc/netdata/edit-config health_alarm_notify.conf`:
41
42
- settings per notification method:
43
health/notifications/custom/README.md
+1
-1
@@ -9,7 +9,7 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/health/notificat
9
10
Netdata allows you to send custom notifications to any endpoint you choose.
11
12
-To configure custom notifications, you will need to customize `health_alarm_notify.conf`. You can look at the other senders in `/usr/libexec/netdata/plugins.d/alarm-notify.sh` for examples of how to modify the `custom_sender()` function in `health_alarm_notify.conf`. Ensure you follow the instructions of changing any configuration file to [persist your configuration](../../../docs/configuration-guide.md#persist-my-configuration).
12
+To configure custom notifications, you will need to customize `health_alarm_notify.conf`. You can look at the other senders in `/usr/libexec/netdata/plugins.d/alarm-notify.sh` for examples of how to modify the `custom_sender()` function in `health_alarm_notify.conf`. Ensure you follow the instructions of changing any configuration file to [persist your configuration](/docs/configuration-guide.md#persist-my-configuration).
13
14
As with other notifications, you will also need to define the recipient list in `DEFAULT_RECIPIENT_CUSTOM` and/or the `role_recipients_custom` array.
15
libnetdata/adaptive_resortable_list/README.md
+1
-1
@@ -91,7 +91,7 @@ Compared to unoptimized code (test No 1: 4.6sec):
91
- before ARL Netdata was using test No **7** with hashing and a custom `str2ull()` to achieve 602ms.
92
- the current ARL implementation is test No **9** that needs only 157ms (29 times faster vs unoptimized code, about 4 times faster vs optimized code).
93
94
-[Check the source code of this test](../../tests/profile/benchmark-value-pairs.c).
94
+[Check the source code of this test](https://raw.githubusercontent.com/netdata/netdata/master/tests/profile/benchmark-value-pairs.c).
95
96
## Limitations
97
libnetdata/procfile/README.md
+3
-3
@@ -30,9 +30,9 @@ For each iteration, the caller:
30
- calls `procfile_readall()` to read updated contents.
31
This call also rewinds (`lseek()` to 0) before reading it.
32
33
- For every file, a [BUFFER](../buffer/) is used that is automatically adjusted to fit
34
- the entire file contents of the file. So the file is read with a single `read()` call
35
- (providing atomicity / consistency when the data are read from the kernel).
33
+ For every file, a [BUFFER](/libnetdata/buffer/README.md) is used that is automatically adjusted to fit the entire
34
+ file contents of the file. So the file is read with a single `read()` call (providing atomicity / consistency when
35
+ the data are read from the kernel).
36
37
Once the data are read, 2 arrays of pointers are updated:
38
packaging/docker/README.md
+3
-3
@@ -91,7 +91,7 @@ VIRTUALIZATION=$(systemd-detect-virt -v) docker-compose up
91
```
92
93
Starting with v1.12, Netdata collects anonymous usage information by default and sends it to Google Analytics. Read
94
-about the information collected, and learn how to-opt, on our [anonymous statistics](../../docs/anonymous-statistics.md)
94
+about the information collected, and learn how to-opt, on our [anonymous statistics](/docs/anonymous-statistics.md)
95
page.
96
97
The usage statistics are _vital_ for us, as we use them to discover bugs and priortize new features. We thank you for
@@ -105,7 +105,7 @@ your machine from within the container. Please read the following carefully.
105
#### Docker socket proxy (safest option)
106
107
Deploy a Docker socket proxy that accepts and filters out requests using something like
108
-[HAProxy](https://docs.netdata.cloud/docs/running-behind-haproxy/) so that it restricts connections to read-only access
108
+[HAProxy](/docs/running-behind-haproxy/) so that it restricts connections to read-only access
109
to the CONTAINERS endpoint.
110
111
The reason it's safer to expose the socket to the proxy is because Netdata has a TCP port exposed outside the Docker
@@ -181,7 +181,7 @@ Netdata will be running on, using the [command instruction](https://docs.docker.
181
## Install Netdata using docker-compose with SSL/TLS enabled HTTP Proxy
182
183
For a permanent installation on a public server, you should [secure the Netdata
184
-instance](../../docs/netdata-security.md). This section contains an example of how to install Netdata with an SSL
184
+instance](/docs/netdata-security.md). This section contains an example of how to install Netdata with an SSL
185
reverse proxy and basic authentication.
186
187
You can use the following `docker-compose.yml` and Caddyfile files to run Netdata with Docker. Replace the domains and
packaging/installer/README.md
+23
-19
@@ -12,7 +12,8 @@ IoT/edge devices. Netdata runs on Linux, FreeBSD, macOS, Kubernetes, Docker, and
12
13
The best way to install Netdata is with our [**automatic one-line installation
14
script**](#automatic-one-line-installation-script), which works with all Linux distributions, or our [**.deb/rpm
15
-packages**](methods/packages.md), which seamlessly install with your distribution's package manager.
15
+packages**](/packaging/installer/methods/packages.md), which seamlessly install with your distribution's package
16
+manager.
17
18
If you want to install Netdata with Docker, on a Kubernetes cluster, or a different operating system, see [Have a
19
different operating system, or want to try another
@@ -23,7 +24,7 @@ packages. We recommend you install Netdata using one of the methods listed below
24
checksum-verified packages.
25
26
Starting with v1.12, Netdata collects anonymous usage information by default and sends it to Google Analytics. Read
26
-about the information collected, and learn how to-opt, on our [anonymous statistics](../../docs/anonymous-statistics.md)
27
+about the information collected, and learn how to-opt, on our [anonymous statistics](/docs/anonymous-statistics.md)
28
page.
29
30
The usage statistics are _vital_ for us, as we use them to discover bugs and prioritize new features. We thank you for
@@ -42,21 +43,23 @@ bash <(curl -Ss https://my-netdata.io/kickstart.sh)
43
```
44
45
To see more information about this installation script, including how to disable automatic updates, get nightly vs.
45
-stable releases, or disable anonymous statistics, see the [`kickstart.sh` method page](methods/kickstart.md).
46
+stable releases, or disable anonymous statistics, see the [`kickstart.sh` method
47
+page](/packaging/installer/methods/kickstart.md).
48
49
Scroll down for details about [automatic updates](#automatic-updates) or [nightly vs. stable
50
releases](#nightly-vs-stable-releases).
51
50
-When you finish installing Netdata, be sure to visit our [step-by-step tutorial](../../docs/step-by-step/step-00.md)
52
+When you finish installing Netdata, be sure to visit our [step-by-step tutorial](/docs/step-by-step/step-00.md)
53
for a fully-guided tour into Netdata's capabilities and how to configure it according to your needs.
54
55
Or, if you're a monitoring and system administration pro, skip ahead to our [getting started
54
-guide](../../docs/getting-started.md) for a quick overview.
56
+guide](/docs/getting-started.md) for a quick overview.
57
58
## Have a different operating system, or want to try another method?
59
60
Netdata works on many different operating systems, each with a few possible installation methods. To see the full list
59
-of approved methods for each operating system/version we support, see our [distribution matrix](../DISTRIBUTIONS.md).
61
+of approved methods for each operating system/version we support, see our [distribution
62
+matrix](/packaging/DISTRIBUTIONS.md).
63
64
Below, you can find a few additional installation methods, followed by separate instructions for a variety of unique
65
operating systems.
@@ -67,15 +70,15 @@ operating systems.
70
71
[ Install
70
-with .deb or .rpm packages](methods/packages.md)
73
+with .deb or .rpm packages](/packaging/installer/methods/packages.md)
74
75
[ Install
74
-with a pre-built static binary for 64-bit systems](methods/kickstart-64.md)
77
+with a pre-built static binary for 64-bit systems](/packaging/installer/methods/kickstart-64.md)
78
79
[ Install
78
-Netdata on Docker](../docker/README.md)
81
+Netdata on Docker](/packaging/docker/README.md)
82
83
[ Install
@@ -84,39 +87,39 @@ chart](https://github.com/netdata/helmchart#netdata-helm-chart-for-kubernetes-de
87
88
[
87
-Install Netdata on cloud providers (GCP/AWS/Azure)](methods/cloud-providers.md)
90
+Install Netdata on cloud providers (GCP/AWS/Azure)](/packaging/installer/methods/cloud-providers.md)
91
92
[ Install
91
-Netdata on macOS](methods/macos.md)
94
+Netdata on macOS](/packaging/installer/methods/macos.md)
95
96
[ Install
95
-Netdata on FreeBSD](methods/freebsd.md)
98
+Netdata on FreeBSD](/packaging/installer/methods/freebsd.md)
99
100
[ Install
99
-manually from source](methods/manual.md)
102
+manually from source](/packaging/installer/methods/manual.md)
103
104
[ Install on
103
-offline/air-gapped systems](methods/offline.md)
106
+offline/air-gapped systems](/packaging/installer/methods/offline.md)
107
108
[
107
-Installation on PFSense](methods/pfsense.md)
110
+Installation on PFSense](/packaging/installer/methods/pfsense.md)
111
112
[ Install
111
-Netdata on Synology](methods/synology.md)
114
+Netdata on Synology](/packaging/installer/methods/synology.md)
115
116
[ Manual
115
-installation on FreeNAS](methods/freenas.md)
118
+installation on FreeNAS](/packaging/installer/methods/freenas.md)
119
120
[ Manual
119
-installation on Alpine](methods/alpine.md)
122
+installation on Alpine](/packaging/installer/methods/alpine.md)
123
124
</div>
125
@@ -132,7 +135,8 @@ script](#automatic-one-line-installation-script).
135
bash <(curl -Ss https://my-netdata.io/kickstart.sh) --no-updates
136
```
137
135
-With automatic updates disabled, you can choose exactly when and how you [update Netdata](UPDATE.md).
138
+With automatic updates disabled, you can choose exactly when and how you [update
139
+Netdata](/packaging/installer/UPDATE.md).
140
141
## Nightly vs. stable releases
142
packaging/installer/methods/kickstart-64.md
+11
-10
@@ -22,8 +22,9 @@ bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh)
22
23
> This script installs Netdata at `/opt/netdata`.
24
25
-> See our [installation guide](../README.md) for details about [automatic updates](../README.md#automatic-updates) or
26
-> [nightly vs. stable releases](../README.md#nightly-vs-stable-releases).
25
+> See our [installation guide](/packaging/installer/README.md) for details about [automatic
26
+> updates](/packaging/installer/README.md#automatic-updates) or [nightly vs. stable
27
+> releases](/packaging/installer/README.md#nightly-vs-stable-releases).
28
29
## What does `kickstart-static64.sh` do?
30
@@ -61,13 +62,13 @@ your installation. Here are a few important parameters:
62
- `--dont-start-it`: Prevent the installer from starting Netdata automatically.
63
- `--stable-channel`: Automatically update only on the release of new major versions.
64
- `--nightly-channel`: Automatically update on every new nightly build.
64
-- `--disable-telemetry`: Opt-out of [anonymous statistics](../../../docs/anonymous-statistics.md) we use to make
65
+- `--disable-telemetry`: Opt-out of [anonymous statistics](/docs/anonymous-statistics.md) we use to make
66
Netdata better.
67
- `--no-updates`: Prevent automatic updates of any kind.
67
-- `--local-files`: Used for [offline installations](offline.md). Pass four file paths: the Netdata
68
- tarball, the checksum file, the go.d plugin tarball, and the go.d plugin config tarball, to force kickstart run the
69
- process using those files. This option conflicts with the `--stable-channel` option. If you set this _and_
70
- `--stable-channel`, Netdata will use the local files.
68
+- `--local-files`: Used for [offline installations](/packaging/installer/methods/offline.md). Pass four file paths:
69
+ the Netdata tarball, the checksum file, the go.d plugin tarball, and the go.d plugin config tarball, to force
70
+ kickstart run the process using those files. This option conflicts with the `--stable-channel` option. If you set
71
+ this _and_ `--stable-channel`, Netdata will use the local files.
72
73
## Verify script integrity
74
@@ -82,8 +83,8 @@ If the script is valid, this command will return `OK, VALID`.
83
84
## What's next?
85
85
-When you finish installing Netdata, be sure to visit our [step-by-step tutorial](../../../docs/step-by-step/step-00.md)
86
-for a fully-guided tour into Netdata's capabilities and how to configure it according to your needs.
86
+When you finish installing Netdata, be sure to visit our [step-by-step tutorial](/docs/step-by-step/step-00.md) for a
87
+fully-guided tour into Netdata's capabilities and how to configure it according to your needs.
88
89
Or, if you're a monitoring and system administration pro, skip ahead to our [getting started
89
-guide](../../../docs/getting-started.md) for a quick overview.
90
+guide](/docs/getting-started.md) for a quick overview.
registry/README.md
+4
-3
@@ -147,9 +147,10 @@ Netdata v1.9+ support limiting access to the registry from given IPs, like this:
147
allow from = *
148
```
149
150
-`allow from` settings are [Netdata simple patterns](../libnetdata/simple_pattern/): string matches that use `*` as
151
-wildcard (any number of times) and a `!` prefix for a negative match. So: `allow from = !10.1.2.3 10.*` will allow all
152
-IPs in `10.*` except `10.1.2.3`. The order is important: left to right, the first positive or negative match is used.
150
+`allow from` settings are [Netdata simple patterns](/libnetdata/simple_pattern/README.md): string matches that use `*`
151
+as wildcard (any number of times) and a `!` prefix for a negative match. So: `allow from = !10.1.2.3 10.*` will allow
152
+all IPs in `10.*` except `10.1.2.3`. The order is important: left to right, the first positive or negative match is
153
+used.
154
155
Keep in mind that connections to Netdata API ports are filtered by `[web].allow connections from`. So, IPs allowed by
156
`[registry].allow from` should also be allowed by `[web].allow connection from`.
streaming/README.md
+11
-11
@@ -9,7 +9,7 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/streaming/README
9
10
Each Netdata is able to replicate/mirror its database to another Netdata, by streaming collected
11
metrics, in real-time to it. This is quite different to [data archiving to third party time-series
12
-databases](../backends).
12
+databases](/backends/README.md).
13
14
When Netdata streams metrics to another Netdata, the receiving one is able to perform everything a Netdata instance is capable of:
15
@@ -24,13 +24,13 @@ When Netdata streams metrics to another Netdata, the receiving one is able to pe
24
Local Netdata (`slave`), **without any database or alarms**, collects metrics and sends them to
25
another Netdata (`master`).
26
27
-The node menu shows a list of all "databases streamed to" the master. Clicking one of those links allows the user to view the full dashboard of the `slave` Netdata. The URL has the form <http://master-host:master-port/host/slave-host/>.
27
+The node menu shows a list of all "databases streamed to" the master. Clicking one of those links allows the user to view the full dashboard of the `slave` Netdata. The URL has the form `http://master-host:master-port/host/slave-host/`.
28
29
Alarms for the `slave` are served by the `master`.
30
31
In this mode the `slave` is just a plain data collector. It spawns all external plugins, but instead
32
of maintaining a local database and accepting dashboard requests, it streams all metrics to the
33
-`master`. The memory footprint is reduced significantly, to between 6 MiB and 40 MiB, depending on the enabled plugins. To reduce the memory usage as much as possible, refer to [running Netdata in embedded devices](../docs/Performance.md#running-netdata-in-embedded-devices).
33
+`master`. The memory footprint is reduced significantly, to between 6 MiB and 40 MiB, depending on the enabled plugins. To reduce the memory usage as much as possible, refer to [running Netdata in embedded devices](/docs/Performance.md#running-netdata-in-embedded-devices).
34
35
The same `master` can collect data for any number of `slaves`.
36
@@ -39,8 +39,8 @@ The same `master` can collect data for any number of `slaves`.
39
Local Netdata (`slave`), **with a local database (and possibly alarms)**, collects metrics and
40
sends them to another Netdata (`master`).
41
42
-The user can use all the functions **at both** <http://slave-ip:slave-port/> and
43
-<http://master-host:master-port/host/slave-host/>.
42
+The user can use all the functions **at both** `http://slave-ip:slave-port/` and
43
+`http://master-host:master-port/host/slave-host/`.
44
45
The `slave` and the `master` may have different data retention policies for the same metrics.
46
@@ -111,7 +111,7 @@ this host).
111
112
### streaming configuration
113
114
-A new file is introduced: [stream.conf](stream.conf) (to edit it on your system run
114
+A new file is introduced: `stream.conf` (to edit it on your system run
115
`/etc/netdata/edit-config stream.conf`). This file holds streaming configuration for both the
116
sending and the receiving Netdata.
117
@@ -186,7 +186,7 @@ You can also use `default memory mode = dbengine` for an API key or `memory mode
186
187
##### allow from
188
189
-`allow from` settings are [Netdata simple patterns](../libnetdata/simple_pattern): string matches
189
+`allow from` settings are [Netdata simple patterns](/libnetdata/simple_pattern/README.md): string matches
190
that use `*` as wildcard (any number of times) and a `!` prefix for a negative match.
191
So: `allow from = !10.1.2.3 10.*` will allow all IPs in `10.*` except `10.1.2.3`. The order is
192
important: left to right, the first positive or negative match is used.
@@ -221,7 +221,7 @@ For Netdata v1.9+, streaming can also be monitored via `access.log`.
221
222
### Securing streaming communications
223
224
-Netdata does not activate TLS encryption by default. To encrypt streaming connections, you first need to [enable TLS support](../web/server/#enabling-tls-support) on the master. With encryption enabled on the receiving side, you need to instruct the slave to use TLS/SSL as well. On the slave's `stream.conf`, configure the destination as follows:
224
+Netdata does not activate TLS encryption by default. To encrypt streaming connections, you first need to [enable TLS support](/web/server/README.md#enabling-tls-support) on the master. With encryption enabled on the receiving side, you need to instruct the slave to use TLS/SSL as well. On the slave's `stream.conf`, configure the destination as follows:
225
226
```
227
[stream]
@@ -484,7 +484,7 @@ The `master` Netdata node can also archive metrics, for all `slaves`, to a time-
484
- json document DBs
485
- all the compatibles to the above (e.g. kairosdb, influxdb, etc)
486
487
-Check the Netdata [backends documentation](../backends) for configuring this.
487
+Check the Netdata [backends documentation](/backends/README.md) for configuring this.
488
489
This is how such a solution will work:
490
@@ -511,7 +511,7 @@ When they maintain a database, they can also run health checks (alarms and notif
511
for the remote host that is streaming the metrics.
512
513
To configure a proxy, configure it as a receiving and a sending Netdata at the same time,
514
-using [stream.conf](stream.conf).
514
+using `stream.conf`.
515
516
The sending side of a Netdata proxy, connects and disconnects to the final destination of the
517
metrics, following the same pattern of the receiving side.
@@ -579,7 +579,7 @@ ERROR : STREAM_SENDER[SLAVE HOSTNAME] : STREAM SLAVE HOSTNAME [send to MASTER HO
579
Chart data needs to be consistent between slave and master agents. If there are differences between chart data on a
580
master and a slave, such as gaps in metrics collection, it most often means your slave's `memory mode` does not match
581
the master's. To learn more about the different ways Netdata can store metrics, and thus keep chart data consistent,
582
-read our [memory mode documentation](../database).
582
+read our [memory mode documentation](/database/README.md).
583
584
### Forbidding access
585
tests/health_mgmtapi/README.md
+1
-1
@@ -7,7 +7,7 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/tests/health_mgm
7
8
# Health command API tester
9
10
-The directory `tests/health_cmdapi` contains the test script `health-cmdapi-test.sh` for the [health command API](../../web/api/health).
10
+The directory `tests/health_cmdapi` contains the test script `health-cmdapi-test.sh` for the [health command API](/web/api/health/README.md).
11
12
The script can be executed with options to prepare the system for the tests, run them and restore the system to its previous state.
13
web/README.md
+11
-13
@@ -16,18 +16,18 @@ team and the community, but you can also customize them yourself.
16
17
There are two primary ways to view Netdata's dashboards:
18
19
-1. The [standard web dashboard](gui/) that comes pre-configured with every
19
+1. The [standard web dashboard](/web/gui/README.md) that comes pre-configured with every
20
Netdata installation. You can see it at `http://SERVER-IP:19999`, or
21
`http://localhost:19999` on `localhost`. You can customize the contents and
22
colors of the standard dashboard [using
23
- JavaScript](gui/#customizing-the-standard-dashboard).
23
+ JavaScript](/web/gui/README.md#customizing-the-standard-dashboard).
24
25
2. The [`dashboard.js` JavaScript library](#dashboardjs), which helps you
26
- [customize the standard dashboards](gui/#customizing-the-standard-dashboard)
27
- using JavaScript, or create entirely new [custom dashboards](gui/custom/) or
28
- [Atlassian Confluence dashboards](gui/confluence/).
26
+ [customize the standard dashboards](/web/gui/README.md#customizing-the-standard-dashboard)
27
+ using JavaScript, or create entirely new [custom dashboards](/web/gui/custom/README.md) or
28
+ [Atlassian Confluence dashboards](/web/gui/confluence/README.md).
29
30
-You can also view all the data Netdata collects through the [REST API v1](api/).
30
+You can also view all the data Netdata collects through the [REST API v1](/web/api/).
31
32
No matter where you use Netdata's charts, you'll want to know how to
33
[use](#using-charts) them. You'll also want to understand how Netdata defines
@@ -51,7 +51,7 @@ analysis.
51
52
Whenever you use a chart in this way, Netdata synchronizes all the other charts
53
to match it. Chart synchronization even works between separate Netdata agents if you connect
54
-them using the [**My nodes** menu](../registry)!
54
+them using the [**My nodes** menu](/registry/README.md)!
55
56
You can change how charts show their metrics in a few different ways, each of
57
which have a few methods:
@@ -84,7 +84,7 @@ Netdata organizes metrics into charts, dimensions, families, and contexts.
84
85
A **chart** is an individual, interactive, always-updating graphic displaying
86
one or more collected/calculated metrics. Charts are generated by
87
-[collectors](../collectors/).
87
+[collectors](/collectors/README.md).
88
89
Here's the system CPU chart, the first chart displayed on the standard
90
dashboard:
@@ -182,10 +182,8 @@ hover over the date above the list of dimensions. A tooltip will appear that
182
shows you two pieces of information: the collector that produces the chart, and
183
the chart's context.
184
185
-Netdata also uses [contexts for alarm
186
-templates](../health/REFERENCE.md#alarm-line-on). You can create an
187
-alarm for the `net.packets` context to receive alerts for any chart with that
188
-context, no matter which family it's attached to.
185
+Netdata also uses [contexts for alarm templates](/health/REFERENCE.md#alarm-line-on). You can create an alarm for the
186
+`net.packets` context to receive alerts for any chart with that context, no matter which family it's attached to.
187
188
## Positive and negative values on charts
189
@@ -215,7 +213,7 @@ all the charts and other visualizations that appear on any Netdata dashboard.
213
You need to put `dashboard.js` on any HTML page that's going to render Netdata
214
charts.
215
218
-The [custom dashboards documentation](gui/custom/) contains examples of such
216
+The [custom dashboards documentation](/web/gui/custom/README.md) contains examples of such
217
custom HTML pages.
218
219
### Generating dashboard.js
web/api/badges/README.md
+2
-2
@@ -27,7 +27,7 @@ Similarly, there is [a chart that shows outbound bandwidth per class](http://lon
27
28
The right one is a **volume** calculation. Netdata calculated the total of the last 86.400 seconds (a day) which gives `kilobits`, then divided it by 8 to make it KB, then by 1024 to make it MB and then by 1024 to make it GB. Calculations like this are quite accurate, since for every value collected, every second, Netdata interpolates it to second boundary using microsecond calculations.
29
30
-Let's see a few more badge examples (they come from the [Netdata registry](../../../registry/)):
30
+Let's see a few more badge examples (they come from the [Netdata registry](/registry/README.md)):
31
32
- **cpu usage of user `root`** (you can pick any user; 100% = 1 core). This will be `green <10%`, `yellow <20%`, `orange <50%`, `blue <100%` (1 core), `red` otherwise (you define thresholds and colors on the URL).
33
@@ -300,7 +300,7 @@ These are options dedicated to badges:
300
</script>
301
```
302
303
-A more advanced badges refresh method is to include `http://your.netdata.ip:19999/refresh-badges.js` in your page. For more information and use example, [check this](../../gui/refresh-badges.js).
303
+A more advanced badges refresh method is to include `http://your.netdata.ip:19999/refresh-badges.js` in your page.
304
305
---
306
web/api/exporters/prometheus/README.md
+1
-1
@@ -7,6 +7,6 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/web/api/exporter
7
8
# prometheus exporter
9
10
-The prometheus exporter for Netdata is located at the [backends section for prometheus](../../../../backends/prometheus).
10
+The prometheus exporter for Netdata is located at the [backends section for prometheus](/backends/prometheus/README.md).
11
12
[](<>)
web/api/formatters/README.md
+12
-12
@@ -14,18 +14,18 @@ The following formats are supported:
14
15
| format|module|content type|description|
16
|:----:|:----:|:----------:|:----------|
17
-| `array`|[ssv](ssv)|application/json|a JSON array|
18
-| `csv`|[csv](csv)|text/plain|a text table, comma separated, with a header line (dimension names) and `\r\n` at the end of the lines|
19
-| `csvjsonarray`|[csv](csv)|application/json|a JSON array, with each row as another array (the first row has the dimension names)|
20
-| `datasource`|[json](json)|application/json|a Google Visualization Provider `datasource` javascript callback|
21
-| `datatable`|[json](json)|application/json|a Google `datatable`|
22
-| `html`|[csv](csv)|text/html|an html table|
23
-| `json`|[json](json)|application/json|a JSON object|
24
-| `jsonp`|[json](json)|application/json|a JSONP javascript callback|
25
-| `markdown`|[csv](csv)|text/plain|a markdown table|
26
-| `ssv`|[ssv](ssv)|text/plain|a space separated list of values|
27
-| `ssvcomma`|[ssv](ssv)|text/plain|a comma separated list of values|
28
-| `tsv`|[csv](csv)|text/plain|a TAB delimited `csv` (MS Excel flavor)|
17
+| `array`|[ssv](/web/api/formatters/ssv/README.md)|application/json|a JSON array|
18
+| `csv`|[csv](/web/api/formatters/csv/README.md)|text/plain|a text table, comma separated, with a header line (dimension names) and `\r\n` at the end of the lines|
19
+| `csvjsonarray`|[csv](/web/api/formatters/csv/README.md)|application/json|a JSON array, with each row as another array (the first row has the dimension names)|
20
+| `datasource`|[json](/web/api/formatters/json/README.md)|application/json|a Google Visualization Provider `datasource` javascript callback|
21
+| `datatable`|[json](/web/api/formatters/json/README.md)|application/json|a Google `datatable`|
22
+| `html`|[csv](/web/api/formatters/csv/README.md)|text/html|an html table|
23
+| `json`|[json](/web/api/formatters/json/README.md)|application/json|a JSON object|
24
+| `jsonp`|[json](/web/api/formatters/json/README.md)|application/json|a JSONP javascript callback|
25
+| `markdown`|[csv](/web/api/formatters/csv/README.md)|text/plain|a markdown table|
26
+| `ssv`|[ssv](/web/api/formatters/ssv/README.md)|text/plain|a space separated list of values|
27
+| `ssvcomma`|[ssv](/web/api/formatters/ssv/README.md)|text/plain|a comma separated list of values|
28
+| `tsv`|[csv](/web/api/formatters/csv/README.md)|text/plain|a TAB delimited `csv` (MS Excel flavor)|
29
30
For examples of each format, check the relative module documentation.
31
web/api/formatters/csv/README.md
+1
-1
@@ -7,7 +7,7 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/web/api/formatte
7
8
# CSV formatter
9
10
-The CSV formatter presents [results of database queries](../../queries) in the following formats:
10
+The CSV formatter presents [results of database queries](/web/api/queries/README.md) in the following formats:
11
12
| format|content type|description|
13
| :----:|:----------:|:----------|
web/api/formatters/json/README.md
+1
-1
@@ -7,7 +7,7 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/web/api/formatte
7
8
# JSON formatter
9
10
-The CSV formatter presents [results of database queries](../../queries) in the following formats:
10
+The CSV formatter presents [results of database queries](/web/api/queries/README.md) in the following formats:
11
12
| format | content type | description|
13
|:----:|:----------:|:----------|
web/api/formatters/ssv/README.md
+1
-1
@@ -7,7 +7,7 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/web/api/formatte
7
8
# SSV formatter
9
10
-The SSV formatter sums all dimensions in [results of database queries](../../queries)
10
+The SSV formatter sums all dimensions in [results of database queries](/web/api/queries/README.md)
11
to a single value and returns a list of such values showing how it changes through time.
12
13
It supports the following formats:
web/api/formatters/value/README.md
+3
-3
@@ -7,7 +7,7 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/web/api/formatte
7
8
# Value formatter
9
10
-The Value formatter presents [results of database queries](../../queries) as a single value.
10
+The Value formatter presents [results of database queries](/web/api/queries/README.md) as a single value.
11
12
To calculate the single value to be returned, it sums the values of all dimensions.
13
@@ -20,7 +20,7 @@ The Value formatter respects the following API `&options=`:
20
| `min2max` | yes | to return the delta from the minimum value to the maximum value (across dimensions)|
21
22
The Value formatter is not exposed by the API by itself.
23
-Instead it is used by the [`ssv`](../ssv) formatter
24
-and [health monitoring queries](../../../../health).
23
+Instead it is used by the [`ssv`](/web/api/formatters/ssv/README.md) formatter
24
+and [health monitoring queries](/health/README.md).
25
26
[](<>)
web/api/health/README.md
+3
-3
@@ -73,7 +73,7 @@ You can access the API via GET requests, by adding the bearer token to an `Autho
73
curl "http://myserver/api/v1/manage/health?cmd=RESET" -H "X-Auth-Token: Mytoken"
74
```
75
76
-By default access to the health management API is only allowed from `localhost`. Accessing the API from anything else will return a 403 error with the message `You are not allowed to access this resource.`. You can change permissions by editing the `allow management from` variable in `netdata.conf` within the [web] section. See [web server access lists](../../server/#access-lists) for more information.
76
+By default access to the health management API is only allowed from `localhost`. Accessing the API from anything else will return a 403 error with the message `You are not allowed to access this resource.`. You can change permissions by editing the `allow management from` variable in `netdata.conf` within the [web] section. See [web server access lists](/web/server/README.md#access-lists) for more information.
77
78
The command `RESET` just returns Netdata to the default operation, with all health checks and notifications enabled.
79
If you've configured and entered your token correclty, you should see the plain text response `All health checks and notifications are enabled`.
@@ -127,7 +127,7 @@ curl "http://myserver/api/v1/manage/health?cmd=SILENCE&context=load" -H "X-Auth-
127
128
#### Selection criteria
129
130
-The `selection criteria` are key/value pairs, in the format `key : value`, where value is a Netdata [simple pattern](../../../libnetdata/simple_pattern/). This means that you can create very powerful selectors (you will rarely need more than one or two).
130
+The `selection criteria` are key/value pairs, in the format `key : value`, where value is a Netdata [simple pattern](/libnetdata/simple_pattern/README.md). This means that you can create very powerful selectors (you will rarely need more than one or two).
131
132
The accepted keys for the `selection criteria` are the following:
133
@@ -221,6 +221,6 @@ The file's location is configurable in `netdata.conf`. The default is shown belo
221
222
### Further reading
223
224
-The test script under [tests/health_mgmtapi](../../../tests/health_mgmtapi) contains a series of tests that you can either run or read through to understand the various calls and responses better.
224
+The test script under [tests/health_mgmtapi](/tests/health_mgmtapi/README.md) contains a series of tests that you can either run or read through to understand the various calls and responses better.
225
226
[](<>)
web/api/queries/README.md
+1
-1
@@ -90,7 +90,7 @@ To disable alignment, pass `&options=unaligned` to the query.
90
91
To execute the query, the engine evaluates all dimensions of the chart, one after another.
92
93
-The engine does not evaluate dimensions that do not match the [simple pattern](../../../libnetdata/simple_pattern)
93
+The engine does not evaluate dimensions that do not match the [simple pattern](/libnetdata/simple_pattern/README.md)
94
given at the `dimensions` parameter, except when `options=percentage` is given (this option
95
requires all the dimensions to be evaluated to find the percentage of each dimension vs to chart
96
total).
web/gui/README.md
+13
-14
@@ -15,16 +15,16 @@ toolkit. You've probably seen it before:
15
dashboard](https://user-images.githubusercontent.com/2662304/48307727-9175c800-e55b-11e8-92d8-a581d60a4889.gif)
16
17
Learn more about how dashboards work and how they're populated using the
18
-`dashboards.js` file in our [web dashboards overview](../).
18
+`dashboards.js` file in our [web dashboards overview](/web/README.md).
19
20
By default, Netdata starts a web server for its dashboard at port `19999`. Open
21
up your web browser of choice and navigate to `http://SERVER-IP:19999`, or
22
`http://localhost:19999` on `localhost`.
23
24
-Netdata uses an [internal, static-threaded web server](../server/) to host the
24
+Netdata uses an [internal, static-threaded web server](/web/server/README.md) to host the
25
HTML, CSS, and JavaScript files that make up the standard dashboard. You don't
26
have to configure anything to access it, although you can adjust [your
27
-settings](../server/#other-netdataconf-web-section-options) in the
27
+settings](/web/server/README.md#other-netdataconf-web-section-options) in the
28
`netdata.conf` file, or run Netdata behind an Nginx proxy, and so on.
29
30
<details markdown="1"><summary>Want to see the dashboard and its features in action? Check out our video.</summary>
@@ -52,8 +52,8 @@ dashboard](https://user-images.githubusercontent.com/1153921/62810777-ef681980-b
52
53
Netdata is broken up into multiple **sections**, such as **System Overview**,
54
**CPU**, **Disk**, and more. Inside each section you'll find a number of charts,
55
-broken down into [contexts](../#contexts) and
56
-[families](../#families).
55
+broken down into [contexts](/web/README.md#contexts) and
56
+[families](/web/README.md#families).
57
58
An example of the **Memory** section on a Linux desktop system.
59
@@ -74,7 +74,7 @@ associated with.
74
menu](https://user-images.githubusercontent.com/1153921/62811361-38b96880-bab6-11e9-8d41-4d9b29778e86.png)
75
76
Most menu items will contain several **submenu** entries, which represent any
77
-[families](../#families) from that section. Netdata automatically
77
+[families](/web/README.md#families) from that section. Netdata automatically
78
generates these submenu entries.
79
80
Here's a **Disks** menu with several submenu entries for each disk drive and
@@ -89,22 +89,22 @@ The nodes menu appears in the top-left corner of the standard dashboard and is
89
labeled with the hostname of the system Netdata is monitoring.
90
91
Clicking on it will display a drop-down menu of any nodes you might have
92
-connected via the [Netdata registry](../../registry/). By default, you'll find
92
+connected via the [Netdata registry](/registry/README.md). By default, you'll find
93
nothing under the **My nodes** heading, but you can try out any of the demo
94
Netdata nodes to see how the nodes menu works.
95
96

98
99
-Once you add nodes via [Netdata Cloud](../../docs/netdata-cloud/) or a [private
100
-registry](../../registry/#run-your-own-registry), you will see them appear under
99
+Once you add nodes via [Netdata Cloud](/docs/netdata-cloud/README.md) or a [private
100
+registry](/registry/README.md#run-your-own-registry), you will see them appear under
101
the **My nodes** heading.
102
103

105
106
The nodes menu will also show the master netdata node and all slave nodes
107
-streaming to that master, if you have [configured streaming](../../streaming).
107
+streaming to that master, if you have [configured streaming](/streaming/README.md).
108
109

@@ -132,8 +132,7 @@ If you want to customize this information, you should avoid editing
132
overwrite the file when it's updated. Instead, you should create a new file with
133
your customizations.
134
135
-We created an example file at
136
-[`dashboard_info_custom_example.js`](dashboard_info_custom_example.js). You can
135
+We created an example file at `dashboard_info_custom_example.js`. You can
136
copy this to a new file with a name of your choice in the `web/` directory. This
137
directory changes based on your operating system and installation method. If
138
you're on a Linux system, it should be at `/usr/share/netdata/web/`.
@@ -171,7 +170,7 @@ file](https://user-images.githubusercontent.com/1153921/62798924-570e6c80-ba94-1
170
171
## Custom dashboards
172
174
-For information on creating custom dashboards from scratch, see the [custom
175
-dashboards](custom/) or [Atlassian Confluence dashboards](confluence/) guides.
173
+For information on creating custom dashboards from scratch, see the [custom dashboards](/web/gui/custom/README.md) or
174
+[Atlassian Confluence dashboards](/web/gui/confluence/README.md) guides.
175
176
[]()
web/gui/confluence/README.md
+3
-1
@@ -85,7 +85,9 @@ Hit **update** and you will get this:
85
86
This badge is now auto-refreshing. It will update itself based on the update frequency of the alarm.
87
88
-> Keep in mind you can add badges with custom Netdata queries too. Netdata automatically creates badges for all the alarms, but every chart, every dimension on every chart, can be used for a badge. And Netdata badges are quite powerful! Check [Creating Badges](../../api/badges/) for more information on badges.
88
+> Keep in mind you can add badges with custom Netdata queries too. Netdata automatically creates badges for all the
89
+> alarms, but every chart, every dimension on every chart, can be used for a badge. And Netdata badges are quite
90
+> powerful! Check [Creating Badges](/web/api/badges/README.md) for more information on badges.
91
92
So, let's create a table and add this badge for both our web servers:
93
web/gui/custom/README.md
+10
-11
@@ -17,16 +17,16 @@ You can:
17
18
You can also add Netdata charts to existing web pages.
19
20
-Check this **[very simple working example of a custom
21
-dashboard](http://netdata.firehol.org/demo.html)**, and its **[html
22
-source](../demo.html)**.
20
+Check this **[very simple working example of a custom dashboard](http://netdata.firehol.org/demo.html)**, and its
21
+**[html source](https://raw.githubusercontent.com/netdata/netdata/master/web/gui/demo.html)**.
22
23
You should also look at the [custom dashboard
24
template](https://my-netdata.io/dashboard.html), which contains samples of all
26
-supported charts. The code is [here](../dashboard.html).
25
+supported charts. The code is [here](https://raw.githubusercontent.com/netdata/netdata/master/web/gui/dashboard.html).
26
28
-If you plan to put the dashboard on TV, check out [tv.html](../tv.html). Here's
29
-is a screenshot of it, monitoring two servers on the same page:
27
+If you plan to put the dashboard on TV, check out
28
+[tv.html](https://raw.githubusercontent.com/netdata/netdata/master/web/gui/tv.html). Here's is a screenshot of it,
29
+monitoring two servers on the same page:
30
31

32
@@ -301,9 +301,8 @@ Each chart can get data from a different Netdata server. You can specify the Net
301
></div>
302
```
303
304
-If you have ephemeral monitoring setup ([More info
305
-here](../../../streaming/#monitoring-ephemeral-nodes)) and have no direct access
306
-to the nodes dashboards, you can use the following:
304
+If you have ephemeral monitoring setup ([More info here](/streaming/README.md#monitoring-ephemeral-nodes)) and have no
305
+direct access to the nodes dashboards, you can use the following:
306
307
```html
308
<div data-netdata="unique.id"
@@ -426,7 +425,7 @@ select specific dimensions using this:
425
```
426
427
Netdata supports coma (`,`) or pipe (`|`) separated [simple
429
-patterns](../../../libnetdata/simple_pattern/) for dimensions. By default it
428
+patterns](/libnetdata/simple_pattern/README.md) for dimensions. By default it
429
searches for both dimension IDs and dimension NAMEs. You can control the target
430
of the match with: `data-append-options="match-ids"` or
431
`data-append-options="match-names"`. Spaces in `data-dimensions=""` are matched
@@ -494,7 +493,7 @@ it, using this:
493
494
### API options
495
497
-You can append Netdata **[REST API v1](../../api)** data options, using this:
496
+You can append Netdata **[REST API v1](/web/api/README.md)** data options, using this:
497
498
```html
499
<div data-netdata="unique.id"
web/server/README.md
+8
-8
@@ -48,7 +48,7 @@ Using the above, Netdata will bind to:
48
- IPv4 127.0.0.1 at port 19999 (port was used from `default port`). Only the UI (dashboard) and the read API will be accessible on this port. Both HTTP and HTTPS requests will be accepted.
49
- IPv4 10.1.1.1 at port 19998. The management API and `netdata.conf` will be accessible on this port.
50
- All the IPs `hostname` resolves to (both IPv4 and IPv6 depending on the resolved IPs) at port 19997. Only badges will be accessible on this port.
51
-- All IPv6 IPs at port 19996. Only metric streaming requests from other Netdata agents will be accepted on this port. Only encrypted streams will be allowed (i.e. slaves also need to be [configured for TLS](../../streaming).
51
+- All IPv6 IPs at port 19996. Only metric streaming requests from other Netdata agents will be accepted on this port. Only encrypted streams will be allowed (i.e. slaves also need to be [configured for TLS](/streaming/README.md).
52
- All the IPs `localhost` resolves to (both IPv4 and IPv6 depending the resolved IPs) at port 19996. This port will only accept registry API requests.
53
- All IPv4 and IPv6 IPs at port `http` as set in `/etc/services`. Only the UI (dashboard) and the read API will be accessible on this port.
54
- Unix domain socket `/run/netdata/netdata.sock`. All requests are serviceable on this socket. Note that in some OSs like Fedora, every service sees a different `/tmp`, so don't create a Unix socket under `/tmp`. `/run` or `/var/run` is suggested.
@@ -132,7 +132,7 @@ Example:
132
bind to = *=dashboard|registry|badges|management|streaming|netdata.conf^SSL=force
133
```
134
135
-For information how to configure the slaves to use TLS, check [securing the communication](../../streaming#securing-streaming-communications) in the streaming documentation. There you will find additional details on the expected behavior for client and server nodes, when their respective TLS options are enabled.
135
+For information how to configure the slaves to use TLS, check [securing the communication](/streaming/README.md#securing-streaming-communications) in the streaming documentation. There you will find additional details on the expected behavior for client and server nodes, when their respective TLS options are enabled.
136
137
When we define the use of SSL in a Netdata agent for different ports, Netdata will apply the behavior specified on each port. For example, using the configuration line below:
138
@@ -182,13 +182,13 @@ Netdata supports access lists in `netdata.conf`:
182
- `allow badges from` checks if the API request is for a badge. Badges are not matched by `allow dashboard from`.
183
184
- `allow streaming from` checks if the slave willing to stream metrics to this Netdata is allowed.
185
- This can be controlled per API KEY and MACHINE GUID in [stream.conf](../../streaming/stream.conf).
186
- The setting in `netdata.conf` is checked before the ones in [stream.conf](../../streaming/stream.conf).
185
+ This can be controlled per API KEY and MACHINE GUID in `stream.conf`.
186
+ The setting in `netdata.conf` is checked before the ones in `stream.conf`.
187
188
- `allow netdata.conf from` checks the IP to allow `http://netdata.host:19999/netdata.conf`.
189
The IPs listed are all the private IPv4 addresses, including link local IPv6 addresses. Keep in mind that connections to Netdata API ports are filtered by `allow connections from`. So, IPs allowed by `allow netdata.conf from` should also be allowed by `allow connections from`.
190
191
-- `allow management from` checks the IPs to allow API management calls. Management via the API is currently supported for [health](../api/health/#health-management-api)
191
+- `allow management from` checks the IPs to allow API management calls. Management via the API is currently supported for [health](/web/api/health/README.md#health-management-api)
192
193
In order to check the FQDN of the connection without opening the Netdata agent to DNS-spoofing, a reverse-dns record
194
must be setup for the connecting host. At connection time the reverse-dns of the peer IP address is resolved, and
@@ -214,14 +214,14 @@ present that may match DNS FQDNs.
214
215
|setting|default|info|
216
|:-----:|:-----:|:---|
217
-|ses max window|`15`|See [single exponential smoothing](../api/queries/des/)|
218
-|des max window|`15`|See [double exponential smoothing](../api/queries/des/)|
217
+|ses max window|`15`|See [single exponential smoothing](/web/api/queries/des/README.md)|
218
+|des max window|`15`|See [double exponential smoothing](/web/api/queries/des/README.md)|
219
|listen backlog|`4096`|The port backlog. Check `man 2 listen`.|
220
|web files owner|`netdata`|The user that owns the web static files. Netdata will refuse to serve a file that is not owned by this user, even if it has read access to that file. If the user given is not found, Netdata will only serve files owned by user given in `run as user`.|
221
|web files group|`netdata`|If this is set, Netdata will check if the file is owned by this group and refuse to serve the file if it's not.|
222
|disconnect idle clients after seconds|`60`|The time in seconds to disconnect web clients after being totally idle.|
223
|timeout for first request|`60`|How long to wait for a client to send a request before closing the socket. Prevents slow request attacks.|
224
-|accept a streaming request every seconds|`0`|Can be used to set a limit on how often a master Netdata server will accept streaming requests from the slaves in a [streaming and replication setup](../../streaming)|
224
+|accept a streaming request every seconds|`0`|Can be used to set a limit on how often a master Netdata server will accept streaming requests from the slaves in a [streaming and replication setup](/streaming/README.md)|
225
|respect do not track policy|`no`|If set to `yes`, will respect the client's browser preferences on storing cookies.|
226
|x-frame-options response header||[Avoid clickjacking attacks, by ensuring that the content is not embedded into other sites](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options).|
227
|enable gzip compression|`yes`|When set to `yes`, Netdata web responses will be GZIP compressed, if the web client accepts such responses.|