Sanitize headers and htmlstructure (#4713)
* Restructured html site, corrected header in REDISTRIBUTED * Added header * Header updates and restructuring * Move requirements and runtime txts to htmldoc, by adding a netlify.toml that changes the base directory * Minor corrections to support the html doc restructuring * Debugging netlify * Debugging netlify * Debugging netlify * Beautify headers, comment in buildhtml * Beautify headers * Sanitize headers and reorganize static html site * Updated Makefile with moved and created htmldoc scripts
Chris Akritidis committed
Nov 23, 2018 at 00:16 UTC
1149ce32401c811a429ac1d3311f6676926e7d92
61 files changed
+218
-162
Makefile.am
+4
-2
@@ -81,8 +81,7 @@ dist_noinst_DATA= \
81
installer/README.md \
82
installer/UNINSTALL.md \
83
installer/UPDATE.md \
84
- requirements.txt \
85
- runtime.txt \
84
+ netlify.toml \
85
$(NULL)
86
87
# until integrated within build
@@ -95,6 +94,9 @@ dist_noinst_SCRIPTS= \
94
installer/functions.sh \
95
htmldoc/buildhtml.sh \
96
htmldoc/buildyaml.sh \
97
+ htmldoc/checklinks.sh \
98
+ htmldoc/requirements.txt \
99
+ htmldoc/runtime.txt \
100
$(NULL)
101
102
# -----------------------------------------------------------------------------
README.md
+6
-6
@@ -69,7 +69,7 @@ We provide docker images for the most common architectures. These are statistics
69
[](https://hub.docker.com/r/netdata/netdata/) [](https://hub.docker.com/r/firehol/netdata/) [](https://hub.docker.com/r/titpetric/netdata/)
70
71
### Registry
72
-When you install multiple netdata, they are integrated into **one distributed application**, via a [netdata registry](registry/#netdata-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:
72
+When you install multiple netdata, they are integrated into **one distributed application**, via a [netdata registry](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:
73
74
[](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)
75
@@ -180,11 +180,11 @@ This is how it works:
180
Function|Description|Documentation
181
:---:|:---|:---:
182
**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/#data-collection-plugins)
183
-**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/#netdata-database)
183
+**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/#database)
184
**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/#health-monitoring)
185
-**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/#metrics-streaming)
185
+**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/#streaming-and-replication)
186
**Archive**|A lockless independent worker is down-sampling the metrics and pushes them to **backend** time-series databases.|[`backends`](backends/)
187
-**Query**|Multiple independent workers are attached to the [internal web server](web/server/#netdata-web-server), servicing API requests, including [data queries](web/api/queries/#database-queries).|[`web/api`](web/api/#api)
187
+**Query**|Multiple independent workers are attached to the [internal web server](web/server/#web-server), servicing API requests, including [data queries](web/api/queries/#database-queries).|[`web/api`](web/api/#api)
188
189
The result is a highly efficient, low latency system, supporting multiple readers and one writer on each metric.
190
@@ -253,7 +253,7 @@ Charts on netdata dashboards are synchronized to each other. There is no master
253
254
*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.*
255
256
-> The visible time-frame (pan and zoom) is propagated from netdata server to netdata server, when navigating via the [`my-netdata` menu](registry#netdata-registry).
256
+> The visible time-frame (pan and zoom) is propagated from netdata server to netdata server, when navigating via the [`my-netdata` menu](registry#registry).
257
258
259
### Highlighted time-frame
@@ -264,7 +264,7 @@ To improve visual anomaly detection across charts, the user can highlight a time
264
265
*A highlighted time-frame can be given by pressing `ALT` + `mouse selection` on any chart. Netdata will highlight the same range on all charts.*
266
267
-> Highlighted ranges are propagated from netdata server to netdata server, when navigating via the [`my-netdata` menu](registry#netdata-registry).
267
+> Highlighted ranges are propagated from netdata server to netdata server, when navigating via the [`my-netdata` menu](registry#registry).
268
269
270
## What does it monitor
REDISTRIBUTED.md
+8
-11
@@ -1,18 +1,15 @@
1
-# Netdata
1
+# Redistributed software
2
3
-Copyright 2016-2017, Costa Tsaousis.
4
-Copyright 2017-2018, Netdata Inc.
5
-Released under [GPL v3 or later](http://www.gnu.org/licenses/gpl-3.0.en.html).
3
+netdata copyright info:
4
+ Copyright 2016-2018, Costa Tsaousis.
5
+ Copyright 2018, Netdata Inc.
6
+ Released under [GPL v3 or later](LICENSE).
7
7
-Netdata uses SPDX license tags to identify the license for its files.
8
+netdata uses SPDX license tags to identify the license for its files.
9
Individual licenses referenced in the tags are available on the [SPDX project site](http://spdx.org/licenses/).
10
10
----
11
-
12
-## Re-distributed software
13
-
14
-Netdata re-distributes the following third-party software.
15
-We have decided to re-distribute all these, instead of using them
11
+netdata redistributes the following third-party software.
12
+We have decided to redistribute all these, instead of using them
13
through a CDN, to allow netdata to work in cases where Internet
14
connectivity is not available.
15
backends/README.md
+1
-1
@@ -1,4 +1,4 @@
1
-# Metrics Long Term Archiving
1
+# Metrics long term archiving
2
3
netdata supports backends for archiving the metrics, or providing long term dashboards,
4
using Grafana or other tools, like this:
collectors/README.md
+1
-1
@@ -1,4 +1,4 @@
1
-# Data Collection Plugins
1
+# Data collection plugins
2
3
netdata supports **internal** and **external** data collection plugins:
4
collectors/charts.d.plugin/apcupsd/README.md
+5
@@ -0,0 +1,5 @@
1
+# apcupsd
2
+
3
+*Under construction*
4
+
5
+Collects UPS metrics
collectors/charts.d.plugin/example/README.md
+2
@@ -1,2 +1,4 @@
1
+# Example
2
+
3
This is just an example charts.d data collector.
4
collectors/charts.d.plugin/opensips/README.md
+5
@@ -0,0 +1,5 @@
1
+# OpenSIPS
2
+
3
+*Under construction*
4
+
5
+Collects OpenSIPS metrics
collectors/checks.plugin/README.md
+1
-1
@@ -1,3 +1,3 @@
1
-# Netdata internal checks
1
+# checks.plugin
2
3
A debugging plugin (by default it is disabled)
collectors/freebsd.plugin/README.md
+1
-1
@@ -1,3 +1,3 @@
1
-# freebsd
1
+# freebsd.plugin
2
3
Collects resource usage and performance data on FreeBSD systems
collectors/freeipmi.plugin/README.md
+7
-5
@@ -1,8 +1,10 @@
1
-netdata has a [freeipmi](https://www.gnu.org/software/freeipmi/) plugin.
1
+# freeipmi.plugin
2
+
3
+Netdata has a [freeipmi](https://www.gnu.org/software/freeipmi/) plugin.
4
5
> FreeIPMI provides in-band and out-of-band IPMI software based on the IPMI v1.5/2.0 specification. The IPMI specification defines a set of interfaces for platform management and is implemented by a number vendors for system management. The features of IPMI that most users will be interested in are sensor monitoring, system event monitoring, power control, and serial-over-LAN (SOL).
6
5
-## compile `freeipmi.plugin`
7
+## Compile `freeipmi.plugin`
8
9
1. install `libipmimonitoring-dev` or `libipmimonitoring-devel` (`freeipmi-devel` on RHEL based OS) using the package manager of your system.
10
@@ -12,7 +14,7 @@ Keep in mind IPMI requires root access, so the plugin is setuid to root.
14
15
If you just installed the required IPMI tools, please run at least once the command `ipmimonitoring` and verify it returns sensors information. This command initialises IPMI configuration, so that the netdata plugin will be able to work.
16
15
-## netdata use
17
+## Netdata use
18
19
The plugin creates (up to) 8 charts, based on the information collected from IPMI:
20
@@ -101,7 +103,7 @@ You can set these options in `/etc/netdata/netdata.conf` at this section:
103
104
Append to `command options = ` the settings you need. The minimum `update every` is 5 (enforced internally by the plugin). IPMI is slow and CPU hungry. So, once every 5 seconds is pretty acceptable.
105
104
-## ignoring specific sensors
106
+## Ignoring specific sensors
107
108
Specific sensor IDs can be excluded from freeipmi tools by editing `/etc/freeipmi/freeipmi.conf` and setting the IDs to be ignored at `ipmi-sensors-exclude-record-ids`. **However this file is not used by `libipmimonitoring`** (the library used by netdata's `freeipmi.plugin`).
109
@@ -135,7 +137,7 @@ ID | Name | Type | State | Reading | Unit
137
```
138
139
138
-## debugging
140
+## Debugging
141
142
You can run the plugin by hand:
143
collectors/idlejitter.plugin/README.md
+2
-2
@@ -1,8 +1,8 @@
1
-## idlejitter.plugin
1
+# idlejitter.plugin
2
3
It works like this:
4
5
-A thread is spawn that requests to sleep for 20000 microseconds (20ms).
5
+A thread is spawned that requests to sleep for 20000 microseconds (20ms).
6
When the system wakes it up, it measures how many microseconds have passed.
7
The difference between the requested and the actual duration of the sleep, is the idle jitter.
8
This is done at most 50 times per second, to ensure we have a good average.
collectors/macos.plugin/README.md
+1
-1
@@ -1,3 +1,3 @@
1
-# macos
1
+# macos.plugin
2
3
Collects resource usage and performance data on MacOS systems
collectors/plugins.d/README.md
+1
-1
@@ -1,4 +1,4 @@
1
-# Netdata External Plugins
1
+# External plugins overview
2
3
`plugins.d` is the netdata internal plugin that collects metrics
4
from external processes, thus allowing netdata to use **external plugins**.
collectors/python.d.plugin/example/README.md
+3
-1
@@ -1 +1,3 @@
1
-An example python data collection module.
\ No newline at end of file
1
+# example
2
+
3
+An example python data collection module.
collectors/python.d.plugin/linux_power_supply/README.md
+1
-1
@@ -1,4 +1,4 @@
1
-# linux\_power\_supply
1
+# Linux power supply
2
3
This module monitors variosu metrics reported by power supply drivers
4
on Linux. This allows tracking and alerting on things like remaining
collectors/statsd.plugin/README.md
+6
-8
@@ -1,22 +1,20 @@
1
-# Netdata Statsd
1
+# statsd.plugin
2
3
statsd is a system to collect data from any application. Applications are sending metrics to it, usually via non-blocking UDP communication, and statsd servers collect these metrics, perform a few simple calculations on them and push them to backend time-series databases.
4
5
There is a [plethora of client libraries](https://github.com/etsy/statsd/wiki#client-implementations) for embedding statsd metrics to any application framework. This makes statsd quite popular for custom application metrics.
6
7
-## netdata statsd
8
-
7
netdata is a fully featured statsd server. It can collect statsd formatted metrics, visualize them on its dashboards, stream them to other netdata servers or archive them to backend time-series databases.
8
11
-netdata statsd is inside netdata (an internal plugin, running inside the netdata daemon), it is configured via `netdata.conf` and by-default listens on standard statsd ports (tcp and udp 8125 - yes, netdata statsd server supports both tcp and udp at the same time).
9
+Netdata statsd is inside Netdata (an internal plugin, running inside the Netdata daemon), it is configured via `netdata.conf` and by-default listens on standard statsd ports (tcp and udp 8125 - yes, Netdata statsd server supports both tcp and udp at the same time).
10
13
-Since statsd is embedded in netdata, it means you now have a statsd server embedded on all your servers. So, the application can send its metrics to `localhost:8125`. This provides a distributed statsd implementation.
11
+Since statsd is embedded in Netdata, it means you now have a statsd server embedded on all your servers. So, the application can send its metrics to `localhost:8125`. This provides a distributed statsd implementation.
12
15
-netdata statsd is fast. It can collect more than **1.200.000 metrics per second** on modern hardware, more than **200Mbps of sustained statsd traffic**, using 1 CPU core (yes, it is single threaded - actually double-threaded, one thread collects metrics, another one updates the charts from the collected data).
13
+Netdata statsd is fast. It can collect more than **1.200.000 metrics per second** on modern hardware, more than **200Mbps of sustained statsd traffic**, using 1 CPU core (yes, it is single threaded - actually double-threaded, one thread collects metrics, another one updates the charts from the collected data).
14
17
-## metrics supported by netdata
15
+## Metrics supported by Netdata
16
19
-netdata fully supports the statsd protocol. All statsd client libraries can be used with netdata too.
17
+Netdata fully supports the statsd protocol. All statsd client libraries can be used with Netdata too.
18
19
- **Gauges**
20
collectors/tc.plugin/README.md
+1
-1
@@ -1,4 +1,4 @@
1
-## tc.plugin
1
+# tc.plugin
2
3
Live demo - **[see it in action here](https://registry.my-netdata.io/#menu_tc)** !
4
daemon/README.md
+1
-1
@@ -1,4 +1,4 @@
1
-# Running the Netdata Daemon
1
+# Netdata daemon
2
3
## Starting netdata
4
daemon/config/README.md
+11
-11
@@ -1,8 +1,8 @@
1
-# Configuration Guide
1
+# Configuration guide
2
3
Configuration files are placed in `/etc/netdata`.
4
5
-## Netdata Daemon
5
+## Netdata daemon
6
7
The daemon configuration file is read from `/etc/netdata/netdata.conf`.
8
@@ -23,7 +23,7 @@ The configuration file is a `name = value` dictionary. Netdata will not complain
23
setting | default | info
24
:------:|:-------:|:----
25
hostname|auto-detected|The hostname of the computer running netdata.
26
-history|3600|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/#netdata-database) for more information.
26
+history|3600|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/#database) for more information.
27
config directory|`/etc/netdata`|The directory configuration files are kept.
28
plugins directory|`/usr/libexec/netdata/plugins.d`|The directory plugin programs are kept. This setting supports multiple directories, space separated. If any directory path contains spaces, enclose it in single or double quotes.
29
web files directory|`/usr/share/netdata/web`|The directory the web static files are kept.
@@ -36,7 +36,7 @@ debug log|`/var/log/netdata/debug.log`|The filename to save debug information. T
36
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.
37
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.
38
memory mode|save|When set to `save` netdata will save its round robin database on exit and load it on startup. When set to `map` the cache files will be updated in real time (check `man mmap` - do not set this on systems with heavy load or slow disks - the disks will continuously sync the in-memory database of netdata). When set to `ram` the round robin database will be temporary and it will be lost when netdata exits.
39
-update every|1|The frequency in seconds, for data collection. For more information see [Performance](../../doc/Performance.md#netdata-performance).
39
+update every|1|The frequency in seconds, for data collection. For more information see [Performance](../../doc/Performance.md#performance).
40
run as user|`netdata`|The user netdata will run as.
41
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`.
42
http port listen backlog|100|The port backlog. Check `man 2 listen`.
@@ -45,7 +45,7 @@ bind to|`*`|The IP address and port to listen to. This is a space separated list
45
disconnect idle web clients after seconds|60|The time in seconds to disconnect web clients after being totally idle.
46
enable web responses gzip compression|yes|When set to `yes`, netdata web responses will be GZIP compressed, if the web client accepts such responses.
47
48
-##### netdata process priority
48
+##### Netdata process priority
49
50
By default, netdata runs with the `idle` process scheduler, which assigns CPU resources to netdata, only when the system has such resources to spare.
51
@@ -92,22 +92,22 @@ checks|no|This is a debugging plugin for the internal latency of netdata.
92
enable running new plugins|yes|When set to `yes`, netdata will enable plugins not configured specifically for them. Setting this to `no` will disable all plugins you have not set to `yes` explicitly.
93
check for new plugins every|60|The time in seconds to check for new plugins in the plugins directory. This allows having other applications dynamically creating plugins for netdata.
94
95
-## Netdata Plugins
95
+## Netdata plugins
96
97
The configuration options for plugins appear in sections following the pattern `[plugin:NAME]`.
98
99
-### Internal Plugins
99
+### Internal plugins
100
101
Most internal plugins will provide additional options. Check [Internal Plugins](../../collectors/) for more information.
102
103
104
-### External Plugins
104
+### External plugins
105
106
External plugins will have only 2 options at `netdata.conf`:
107
108
setting | default | info
109
:------:|:-------:|:----
110
-update every|the value of `[global].update every` setting|The frequency in seconds the plugin should collect values. For more information check [Performance](../../doc/Performance.md#netdata-performance).
110
+update every|the value of `[global].update every` setting|The frequency in seconds the plugin should collect values. For more information check [Performance](../../doc/Performance.md#performance).
111
command options|*empty*|Additional command line options to pass to the plugin.
112
113
External plugins that need additional configuration may support a dedicated file in `/etc/netdata`. Check their documentation.
@@ -138,7 +138,7 @@ Next, netdata can generate a valid configuration for the user to edit. No need t
138
139
Last, what about options you believe you have set, but you misspelled? When you get the configuration file from the server, there will be a comment above all `name = value` pairs the server does not use. So you know that whatever you wrote there, is not used.
140
141
-### limiting access to netdata.conf
141
+### Limiting access to netdata.conf
142
143
netdata v1.9+ limit by default access to `http://your.netdata.ip:19999/netdata.conf` to private IP addresses. This is controlled by this settings:
144
@@ -152,7 +152,7 @@ The IPs listed are all the private IPv4 addresses, including link local IPv6 add
152
> Keep in mind that connections to netdata API ports are filtered by `[web].allow connections from`. So, IPs allowed by `[web].allow netdata.conf from` should also be allowed by `[web].allow connections from`.
153
154
155
-## netdata simple patterns
155
+## Netdata simple patterns
156
157
Unix prefers regular expressions. But they are just too hard, too cryptic to use, write and understand.
158
database/README.md
+1
-1
@@ -1,4 +1,4 @@
1
-# Netdata database
1
+# Database
2
3
Although `netdata` does all its calculations using `long double`, it stores all values using
4
a [custom-made 32-bit number](../libnetdata/storage_number/).
doc/Demo-Sites.md
+1
-1
@@ -1,4 +1,4 @@
1
-# Demo Sites
1
+# Demo sites
2
3
Live demo installations of netdata are available at **[https://my-netdata.io](https://my-netdata.io)**:
4
doc/Donations-netdata-has-received.md
+1
-1
@@ -1,4 +1,4 @@
1
-# Donations received
1
+# Donations
2
3
This is a list of the donations we have received for netdata (sorted alphabetically on their name):
4
doc/Performance.md
+2
-2
@@ -1,6 +1,6 @@
1
-# Netdata Performance
1
+# Performance
2
3
-Netdata performance is affected by:
3
+netdata performance is affected by:
4
5
**Data collection**
6
- the number of charts for which data are collected
doc/Running-behind-apache.md
+1
-1
@@ -1,4 +1,4 @@
1
-# netdata via apache's mod_proxy
1
+# Netdata via apache's mod_proxy
2
3
Below you can find instructions for configuring an apache server to:
4
doc/Running-behind-caddy.md
+1
-1
@@ -1,4 +1,4 @@
1
-# netdata via Caddy
1
+# Netdata via Caddy
2
3
To run netdata via [Caddy's proxying,](https://caddyserver.com/docs/proxy) set your Caddyfile up like this:
4
doc/Running-behind-lighttpd.md
+1
-1
@@ -1,4 +1,4 @@
1
-# lighttpd v1.4.x
1
+# Netdata via lighttpd v1.4.x
2
3
Here is a config for accessing netdata in a suburl via lighttpd 1.4.46 and newer:
4
doc/Running-behind-nginx.md
+1
-1
@@ -1,4 +1,4 @@
1
-# netdata via nginx
1
+# Netdata via nginx
2
3
To pass netdata via a nginx, use this:
4
doc/Third-Party-Plugins.md
+1
-1
@@ -1,4 +1,4 @@
1
-# Third-party Plugins
1
+# Third-party plugins
2
3
The following is a list of Netdata plugins distributed by third parties:
4
doc/netdata-security.md
+1
-1
@@ -1,4 +1,4 @@
1
-# Netdata Security
1
+# Security design
2
3
We have given special attention to all aspects of netdata, ensuring that everything throughout its operation is as secure as possible. netdata has been designed with security in mind.
4
health/notifications/alerta/README.md
+1
-1
@@ -1,4 +1,4 @@
1
-# alerta.io notifications
1
+# alerta.io
2
3
The [Alerta](https://alerta.io) monitoring system is a tool used to
4
consolidate and de-duplicate alerts from multiple sources for quick
health/notifications/awssns/README.md
+2
-2
@@ -1,4 +1,4 @@
1
-# Amazon SNS notifications
1
+# Amazon SNS
2
3
As part of it's AWS suite, Amazon provides a notification broker service called 'Simple Notification Service' or SNS. Amazon SNS works kind of similarly to Netdata's own notification system, allowing dispatch of a single notification to multiple subscribers of different types. Among other things, SNS supports sending notifications to:
4
@@ -28,4 +28,4 @@ Notes:
28
29
* Netdata's native email notification support is far better in almost all respects than it's support through Amazon SNS. If you want email notifications, use the native support, not SNS.
30
* If you need to change the notification format for SNS notifications, you can do so by specifying the format in `AWSSNS_MESSAGE_FORMAT` in the configuration. This variable supports all the same vairiables you can use in custom notifications.
31
- * While Amazon SNS supports sending differently formatted messages for different delivery methods, netdata does not currently support this functionality.
\ No newline at end of file
31
+ * While Amazon SNS supports sending differently formatted messages for different delivery methods, netdata does not currently support this functionality.
health/notifications/discord/README.md
+1
-1
@@ -1,4 +1,4 @@
1
-# Discordapp.com notifications
1
+# Discordapp.com
2
3
This is what you will get:
4
health/notifications/email/README.md
+2
-2
@@ -1,4 +1,4 @@
1
-# email notifications
1
+# email
2
3
You need a working `sendmail` command for email alerts to work. Almost all MTAs provide a `sendmail` interface.
4
@@ -28,4 +28,4 @@ sudo su -s /bin/bash netdata
28
/usr/libexec/netdata/plugins.d/alarm-notify.sh test [ROLE]
29
```
30
31
-Where `[ROLE]` is the role you want to test. The default (if you don't give a `[ROLE]`) is `sysadmin`.
\ No newline at end of file
31
+Where `[ROLE]` is the role you want to test. The default (if you don't give a `[ROLE]`) is `sysadmin`.
health/notifications/flock/README.md
+2
-2
@@ -1,4 +1,4 @@
1
-# flock.com notifications
1
+# flock.com
2
3
This is what you will get:
4
@@ -28,4 +28,4 @@ FLOCK_WEBHOOK_URL="https://api.flock.com/hooks/sendMessage/XXXXXXXXXXXXXXXXXXXXX
28
# if a role recipient is not configured, no notification will be sent
29
DEFAULT_RECIPIENT_FLOCK="alarms"
30
31
-```
\ No newline at end of file
31
+```
health/notifications/irc/README.md
+2
-2
@@ -1,4 +1,4 @@
1
-# IRC notifications
1
+# IRC
2
3
This is what you will get:
4
@@ -70,4 +70,4 @@ role_recipients_irc[dba]="#databases-alarms"
70
role_recipients_irc[webmaster]="#networking-alarms"
71
```
72
73
-The keywords `#user-alarms`, `#networking-alarms`, `#system-alarms`, `#databases-alarms` are irc channels which belong to the specified IRC network.
\ No newline at end of file
73
+The keywords `#user-alarms`, `#networking-alarms`, `#system-alarms`, `#databases-alarms` are irc channels which belong to the specified IRC network.
health/notifications/kavenegar/README.md
+2
-2
@@ -1,4 +1,4 @@
1
-# Kavenegar notifications
1
+# Kavenegar
2
3
[Kavenegar](https://www.kavenegar.com/) as service for software developers, based in Iran, provides send and receive SMS, calling voice by using its APIs.
4
@@ -36,4 +36,4 @@ SEND_KAVENEGAR="YES"
36
KAVENEGAR_API_KEY=""
37
KAVENEGAR_SENDER=""
38
DEFAULT_RECIPIENT_KAVENEGAR=""
39
-```
\ No newline at end of file
39
+```
health/notifications/messagebird/README.md
+2
-1
@@ -1,5 +1,6 @@
1
+# Messagebird
2
2
-Will look like this on your Android device:
3
+The messagebird notifications will look like this on your Android device:
4
5

6
health/notifications/pagerduty/README.md
+1
@@ -1,3 +1,4 @@
1
+# PagerDuty
2
3
[PagerDuty](https://www.pagerduty.com/company/) is the enterprise incident resolution service that integrates with ITOps and DevOps monitoring stacks to improve operational reliability and agility. From enriching and aggregating events to correlating them into incidents, PagerDuty streamlines the incident management process by reducing alert noise and resolution times.
4
health/notifications/pushbullet/README.md
+2
-2
@@ -1,4 +1,4 @@
1
-$ PushBullet notifications
1
+# PushBullet
2
3
Will look like this on your browser:
4

@@ -39,4 +39,4 @@ SEND_PUSHBULLET="YES"
39
# Without an access token, netdata cannot send pushbullet notifications.
40
PUSHBULLET_ACCESS_TOKEN="o.Sometokenhere"
41
DEFAULT_RECIPIENT_PUSHBULLET="admin1@example.com admin3@somemail.com"
42
-```
\ No newline at end of file
42
+```
health/notifications/pushover/README.md
+2
-3
@@ -1,5 +1,4 @@
1
-
2
-# PushOver notifications
1
+# PushOver
2
3
pushover.net allows you to receive push notifications on your mobile phone. The service seems free for up to 7.500 messages per month.
4
@@ -14,4 +13,4 @@ The configuration is like above (slack messages).
13
14
pushover.net notifications look like this:
15
17
-
\ No newline at end of file
16
+
health/notifications/rocketchat/README.md
+1
-1
@@ -1,4 +1,4 @@
1
-# Rocket.Chat notifications
1
+# Rocket.Chat
2
3
This is what you will get:
4

health/notifications/slack/README.md
+1
-1
@@ -1,4 +1,4 @@
1
-# Slack.com notifications
1
+# Slack
2
3
This is what you will get:
4

health/notifications/syslog/README.md
+1
-1
@@ -1,4 +1,4 @@
1
-# syslog notifications
1
+# Syslog
2
3
You need a working `logger` command for this to work. This is the case on pretty much every Linux system in existence, and most BSD systems.
4
health/notifications/telegram/README.md
+1
-1
@@ -1,4 +1,4 @@
1
-# Telegram.org notifications
1
+# Telegram
2
3
[Telegram](https://telegram.org/) is a messaging app with a focus on speed and security, it’s super-fast, simple and free. You can use Telegram on all your devices at the same time — your messages sync seamlessly across any number of your phones, tablets or computers.
4
health/notifications/twilio/README.md
+1
-1
@@ -1,4 +1,4 @@
1
-# Twilio.com notifications
1
+# Twilio
2
3
Will look like this on your Android device:
4
health/notifications/web/README.md
+1
-1
@@ -1,4 +1,4 @@
1
-# Dashboard notifications
1
+# Dashboard
2
3
The netdata dashboard shows HTML notifications, when it is open.
4
htmldoc/buildhtml.sh
+24
-2
@@ -3,7 +3,12 @@
3
# buildhtml.sh
4
5
# Builds the html static site, using mkdocs
6
-# Assumes that the script is executed from the root netdata folder, by calling htmldoc/buildhtml.sh
6
+# Assumes that the script is executed either from the htmldoc folder (by netlify), or from the root repo dir (as originally intended)
7
+currentdir=$(pwd | awk -F '/' '{print $NF}')
8
+if [ $currentdir = "htmldoc" ] ; then
9
+ cd ..
10
+fi
11
+
12
13
# Copy all netdata .md files to htmldoc/src. Exclude htmldoc itself and also the directory node_modules generated by Netlify
14
echo "Copying files"
@@ -11,7 +16,24 @@ rm -rf htmldoc/src
16
find . -type d \( -path ./htmldoc -o -path ./node_modules \) -prune -o -name "*.md" -print | cpio -pd htmldoc/src
17
18
# Modify the first line of the main README.md, to enable proper static html generation
14
-sed -i '0,/# netdata /s//# Introducing NetData\n\n/' htmldoc/src/README.md
19
+sed -i '0,/# netdata /s//# Introduction\n\n/' htmldoc/src/README.md
20
+
21
+# Remove specific files that don't belong in the documentation
22
+rm htmldoc/src/HISTORICAL_CHANGELOG.md
23
+rm htmldoc/src/collectors/charts.d.plugin/mem_apps/README.md
24
+rm htmldoc/src/collectors/charts.d.plugin/postfix/README.md
25
+rm htmldoc/src/collectors/charts.d.plugin/tomcat/README.md
26
+rm htmldoc/src/collectors/charts.d.plugin/sensors/README.md
27
+rm htmldoc/src/collectors/charts.d.plugin/cpu_apps/README.md
28
+rm htmldoc/src/collectors/charts.d.plugin/squid/README.md
29
+rm htmldoc/src/collectors/charts.d.plugin/nginx/README.md
30
+rm htmldoc/src/collectors/charts.d.plugin/hddtemp/README.md
31
+rm htmldoc/src/collectors/charts.d.plugin/cpufreq/README.md
32
+rm htmldoc/src/collectors/charts.d.plugin/mysql/README.md
33
+rm htmldoc/src/collectors/charts.d.plugin/exim/README.md
34
+rm htmldoc/src/collectors/charts.d.plugin/apache/README.md
35
+rm htmldoc/src/collectors/charts.d.plugin/load_average/README.md
36
+rm htmldoc/src/collectors/charts.d.plugin/phpfpm/README.md
37
38
echo "Creating mkdocs.yaml"
39
htmldoc/buildyaml.sh
+51
-44
@@ -74,54 +74,49 @@ markdown_extensions:
74
- wikilinks
75
nav:'
76
77
-navpart 1 . README "Getting Started"
77
+navpart 1 . README "About"
78
79
echo -ne " - 'doc/Why-Netdata.md'
80
- 'doc/Demo-Sites.md'
81
- - Installation:
82
- - 'installer/README.md'
83
- - 'docker/README.md'
84
- - 'installer/UPDATE.md'
85
- - 'installer/UNINSTALL.md'
81
+ - 'doc/netdata-security.md'
82
+ - 'doc/Donations-netdata-has-received.md'
83
+ - 'doc/a-github-star-is-important.md'
84
+ - REDISTRIBUTED.md
85
+ - CHANGELOG.md
86
+"
87
+
88
+echo -ne "- Installation:
89
+ - 'installer/README.md'
90
+ - 'docker/README.md'
91
+ - 'installer/UPDATE.md'
92
+ - 'installer/UNINSTALL.md'
93
"
87
-echo -ne "- Using NetData:
94
+echo -ne "- Running netdata:
95
"
96
navpart 2 daemon
90
-navpart 2 web "README" "Web Dashboards"
91
-navpart 3 web/gui "" "" 3
92
-navpart 2 web/server "" "Web Server"
93
-navpart 3 web/server "" "" 2 excludefirstlevel
94
-navpart 2 web/api "" "Web API"
95
-navpart 3 web/api "" "" 4 excludefirstlevel
97
navpart 2 daemon/config
98
+
99
+navpart 2 web/server "" "Web server"
100
+navpart 3 web/server "" "" 2 excludefirstlevel
101
+echo -ne " - Running behind another web server:
102
+ - 'doc/Running-behind-nginx.md'
103
+ - 'doc/Running-behind-apache.md'
104
+ - 'doc/Running-behind-lighttpd.md'
105
+ - 'doc/Running-behind-caddy.md'
106
+"
107
#navpart 2 system
98
-navpart 2 registry
99
-navpart 2 streaming "" "" 4
100
-navpart 2 backends "" "Backends" 3
108
navpart 2 database
109
+navpart 2 registry
110
111
echo -ne " - 'doc/Performance.md'
112
- 'doc/netdata-for-IoT.md'
113
- 'doc/high-performance-netdata.md'
106
- - 'doc/netdata-security.md'
107
- - 'doc/Netdata-Security-and-Disclosure-Information.md'
114
"
115
110
-navpart 2 health README "Health Monitoring"
111
-navpart 3 health/notifications "" "" 1
112
-navpart 3 health/notifications "" "Supported Notifications" 2 excludefirstlevel
116
114
-echo -ne " - Running-behind-another-web-server:
115
- - 'doc/Running-behind-nginx.md'
116
- - 'doc/Running-behind-apache.md'
117
- - 'doc/Running-behind-lighttpd.md'
118
- - 'doc/Running-behind-caddy.md'
119
-"
120
-
121
-
122
-navpart 1 collectors "" "Data Collection" 1
117
+navpart 1 collectors "" "Data collection" 1
118
echo -ne " - 'doc/Add-more-charts-to-netdata.md'
124
- - Internal Plugins:
119
+ - Internal plugins:
120
"
121
navpart 3 collectors/proc.plugin
122
navpart 3 collectors/statsd.plugin
@@ -134,21 +129,39 @@ navpart 3 collectors/diskspace.plugin
129
navpart 3 collectors/freebsd.plugin
130
navpart 3 collectors/macos.plugin
131
137
-navpart 2 collectors/plugins.d "" "External Plugins"
138
-navpart 3 collectors/python.d.plugin "" "Python Plugins" 3
139
-navpart 3 collectors/node.d.plugin "" "Node.js Plugins" 3
140
-navpart 3 collectors/charts.d.plugin "" "BASH Plugins" 3
132
+navpart 2 collectors/plugins.d "" "External plugins"
133
+navpart 3 collectors/python.d.plugin "" "Python modules" 3
134
+navpart 3 collectors/node.d.plugin "" "Node.js modules" 3
135
+navpart 3 collectors/charts.d.plugin "" "BASH modules" 3
136
navpart 3 collectors/apps.plugin
137
navpart 3 collectors/fping.plugin
138
navpart 3 collectors/freeipmi.plugin
139
145
-echo -ne " - Third Party Plugins:
146
- - 'doc/Third-Party-Plugins.md'
140
+echo -ne " - 'doc/Third-Party-Plugins.md'
141
"
142
143
+navpart 1 health README "Alarms and notifications"
144
+navpart 2 health/notifications "" "" 1
145
+navpart 2 health/notifications "" "Supported notifications" 2 excludefirstlevel
146
+
147
+navpart 1 streaming "" "" 4
148
+
149
+navpart 1 backends "" "Archiving to backends" 3
150
+
151
+navpart 1 web "README" "Dashboards"
152
+navpart 2 web/gui "" "" 3
153
+
154
+navpart 1 web/api "" "HTTP API"
155
+navpart 2 web/api/exporters "" "Exporters" 2
156
+navpart 2 web/api/formatters "" "Formatters" 2
157
+navpart 2 web/api/badges "" "" 2
158
+navpart 2 web/api/health "" "" 2
159
+navpart 2 web/api/queries "" "Queries" 2
160
+
161
echo -ne "- Hacking netdata:
162
- CONTRIBUTING.md
163
- CODE_OF_CONDUCT.md
164
+ - 'doc/Netdata-Security-and-Disclosure-Information.md'
165
- CONTRIBUTORS.md
166
"
167
navpart 2 makeself "" "" 4
@@ -158,13 +171,7 @@ navpart 2 contrib
171
navpart 2 tests
172
navpart 2 diagrams/data_structures
173
161
-echo -ne "- About:
162
- - 'doc/Donations-netdata-has-received.md'
163
- - 'doc/a-github-star-is-important.md'
164
- - CHANGELOG.md
165
- - HISTORICAL_CHANGELOG.md
166
- - REDISTRIBUTED.md
167
-"
174
+
175
176
177
htmldoc/checklinks.sh
+8
-7
@@ -111,8 +111,9 @@ testURL () {
111
112
testinternal () {
113
# Check if the header referred to by the internal link exists in the same file
114
- ifile=${1}
115
- ilnk=${2}
114
+ ff=${1}
115
+ ifile=${2}
116
+ ilnk=${3}
117
header=${ilnk//-/}
118
dbg "-- Searching for \"$header\" in $ifile"
119
tr -d ',_.:? `'< $ifile | sed 's/-//g' | grep -i "^\#*$header\$" >/dev/null
@@ -120,7 +121,7 @@ testinternal () {
121
dbg "-- $ilnk found in $ifile"
122
return 0
123
else
123
- echo "-- ERROR: $ifile - $ilnk header not found in the file"
124
+ echo "-- ERROR: $ff - $ilnk header not found in file $ifile"
125
EXITCODE=1
126
return 1
127
fi
@@ -170,7 +171,7 @@ ck_netdata_relative () {
171
case "$rlnk" in
172
\#* )
173
dbg "-- # (#somelink)"
173
- testinternal $f $rlnk
174
+ testinternal $f $f $rlnk
175
;;
176
*/ )
177
dbg "-- # (path/)"
@@ -188,7 +189,7 @@ ck_netdata_relative () {
189
dbg "-- Look for $LNK in $TRGT"
190
testf $f $TRGT
191
if [ $? -eq 0 ] ; then
191
- testinternal $TRGT $LNK
192
+ testinternal $f $TRGT $LNK
193
if [ $? -eq 0 ] ; then
194
if [ $fname != "README.md" ] ; then s="../$rlnk"; fi
195
fi
@@ -216,7 +217,7 @@ ck_netdata_relative () {
217
LNK="#${BASH_REMATCH[2]}"
218
testf $f $TRGT
219
if [ $? -eq 0 ] ; then
219
- testinternal $TRGT $LNK
220
+ testinternal $f $TRGT $LNK
221
if [ $? -eq 0 ] ; then
222
if [[ $lnk =~ ^(.*)/(.*).md#(.*)$ ]] ; then
223
if [ "${BASH_REMATCH[2]}" = "README" ] ; then
@@ -237,7 +238,7 @@ ck_netdata_relative () {
238
LNK="#${BASH_REMATCH[2]}"
239
testf $f $TRGT
240
if [ $? -eq 0 ] ; then
240
- testinternal $TRGT $LNK
241
+ testinternal $f $TRGT $LNK
242
if [ $? -eq 0 ] ; then
243
if [[ $rlnk =~ ^(.*)#(.*)$ ]] ; then
244
s="${BASH_REMATCH[1]}/#${BASH_REMATCH[2]}"
htmldoc/requirements.txt
renamed
htmldoc/runtime.txt
renamed
installer/README.md
+5
-5
@@ -15,10 +15,6 @@ You can install the latest release of netdata, using your package manager in
15
16
Please note that the particular packages are not build by netdata.
17
18
-## Docker
19
-
20
-You can [Install netdata with Docker](../docker/#install-netdata-with-docker)
21
-
18
## Linux one liner
19
20
 
@@ -79,6 +75,10 @@ sh /tmp/kickstart-static64.sh
75
76
The static binary files are kept in repo [binary-packages](https://github.com/netdata/binary-packages). You can download any of the `.run` files, and run it. These files are self-extracting shell scripts built with [makeself](https://github.com/megastep/makeself). The target system does **not** need to have bash installed. The same files can be used for updates too.
77
78
+## Docker
79
+
80
+You can [Install netdata with Docker](../docker/#install-netdata-with-docker)
81
+
82
## Other installation methods
83
84
- **Linux manual installation from source**
@@ -347,7 +347,7 @@ When netdata is first installed, it will run as _root_. This may or may not be a
347
348
1. Creat a group `netdata` via the Synology group interface. Give it no access to anything.
349
2. Create a user `netdata` via the Synology user interface. Give it no access to anything and a random password. Assign the user to the `netdata` group. Netdata will chuid to this user when running.
350
-3. Change ownership of the following directories, as defined in [Netdata Security](../doc/netdata-security.md#netdata-security):
350
+3. Change ownership of the following directories, as defined in [Netdata Security](../doc/netdata-security.md#security-design):
351
352
```
353
$ chown -R root:netdata /opt/netdata/usr/share/netdata
netlify.toml
new
+12
@@ -0,0 +1,12 @@
1
+# Settings in the [build] context are global and are applied to all contexts
2
+# unless otherwise overridden by more specific contexts.
3
+[build]
4
+ # Directory to change to before starting a build.
5
+ base = "htmldoc/"
6
+
7
+ # Directory (relative to root of your repo) that contains the deploy-ready
8
+ # HTML files and assets generated by the build.
9
+ publish = "htmldoc/build"
10
+
11
+ # Default build command.
12
+ command = "./buildhtml.sh"
registry/README.md
+2
-2
@@ -1,4 +1,4 @@
1
-# Netdata registry
1
+# Registry
2
3
Netdata registry implements the `my-netdata` menu on netdata dashboards.
4
The `my-netdata` menu lists the netdata servers you have visited.
@@ -46,7 +46,7 @@ The registry keeps track of 3 entities:
46
47
## Who talks to the registry?
48
49
-Your web browser **only**! Check here if this is against your policies: [how to not send any information to a thirdparty server](../doc/netdata-security.md#netdata-security)
49
+Your web browser **only**! Check here if this is against your policies: [how to not send any information to a thirdparty server](../doc/netdata-security.md#security-design)
50
51
Your netdata servers do not talk to the registry. This is a UML diagram of its operation:
52
streaming/README.md
+1
-1
@@ -1,4 +1,4 @@
1
-# Metrics streaming
1
+# Streaming and replication
2
3
Each netdata is able to replicate/mirror its database to another netdata, by streaming collected
4
metrics, in real-time to it. This is quite different to [data archiving to third party time-series
web/README.md
+7
-7
@@ -1,22 +1,22 @@
1
-# Web Dashboards Overview
1
+# Web dashboards overview
2
3
The default port is 19999; for example, to access the dashboard on localhost, use: http://localhost:19999
4
5
-To view netdata collected data you access its **[REST API v1](api/)**.
5
+To view Netdata collected data you access its **[REST API v1](api/)**.
6
7
-For our convenience, netdata provides 2 more layers:
7
+For our convenience, Netdata provides 2 more layers:
8
9
1. The `dashboard.js` javascript library that allows us to design custom dashboards using plain HTML. For information on creating custom dashboards, see **[Custom Dashboards](gui/custom/)** and **[Atlassian Confluence Dashboards](gui/confluence/)**
10
11
-2. Ready to be used web dashboards that render all the charts a netdata server maintains.
11
+2. Ready to be used web dashboards that render all the charts a Netdata server maintains.
12
13
-## customizing the standard dashboards
13
+## Customizing the standard dashboards
14
15
Charts information is stored at /usr/share/netdata/web/[dashboard_info.js](gui/dashboard_info.js). This file includes information that is rendered on the dashboard, controls chart colors, section and subsection heading, titles, etc.
16
17
-If you change that file, your changes will be overwritten when netdata is updated. You can preserve your settings by creating a new such file (there is /usr/share/netdata/web/[dashboard_info_custom.example.js](gui/dashboard_info_custom_example.js) you can use to start with).
17
+If you change that file, your changes will be overwritten when Netdata is updated. You can preserve your settings by creating a new such file (there is /usr/share/netdata/web/[dashboard_info_custom.example.js](gui/dashboard_info_custom_example.js) you can use to start with).
18
19
-You have to copy the example file under a new name, so that it will not be overwritten with netdata updates.
19
+You have to copy the example file under a new name, so that it will not be overwritten with Netdata updates.
20
21
To configure your info file set in netdata.conf:
22
web/gui/README.md
+1
-1
@@ -1,4 +1,4 @@
1
-# Netdata Agent Web GUI
1
+# Netdata agent web GUI
2
3
## Generating dashboard.js
4
web/gui/confluence/README.md
+1
-1
@@ -1,4 +1,4 @@
1
-# Atlassian Confluence Dashboards
1
+# Atlassian Confluence dashboards
2
3
With netdata you can build **live, interactive, monitoring dashboards** directly on Atlassian's **Confluence** pages.
4
web/gui/custom/README.md
+1
-1
@@ -1,4 +1,4 @@
1
-# Custom Dashboards
1
+# Custom dashboards
2
3
You can:
4
web/server/README.md
+1
-1
@@ -1,4 +1,4 @@
1
-# Netdata web server
1
+# Web server
2
3
Netdata supports 3 implementations of its internal web server:
4