Browse Source

Update Registry docs (#19095)

Co-authored-by: ilyam8 <ilya@netdata.cloud>
Fotis Voutsas 3 months ago
parent
commit
fa7a7c71bc

+ 1 - 1
README.md

@@ -635,7 +635,7 @@ These steps will disable the anonymous telemetry for your Netdata installation.
 
 Please note, even with telemetry disabled, Netdata still requires a [Netdata Registry](https://learn.netdata.cloud/docs/configuring/securing-netdata-agents/registry) for alert notifications' Call To Action (CTA) functionality. When you click an alert notification, it redirects you to the Netdata Registry, which then directs your web browser to the specific Netdata Agent that issued the alert for further troubleshooting. The Netdata Registry learns the URLs of your Agents when you visit their dashboards.
 
-Any Netdata Agent can act as a Netdata Registry. Designate one Netdata Agent as your registry, and our global Netdata Registry will no longer be in use. For further information on this, please refer to [this guide](https://learn.netdata.cloud/docs/configuring/securing-netdata-agents/registry).
+Any Netdata Agent can act as a Netdata Registry. Designate one Netdata Agent as your Registry, read more [here](https://learn.netdata.cloud/docs/netdata-agent/configuration/registry).
 
 &nbsp;<br/>&nbsp;<br/>
 </details>

+ 1 - 0
docs/DICTIONARY.md

@@ -10,6 +10,7 @@ When the context is clear, we can omit the "Netdata" prefix for brevity.
 |------------------------|--------------------------------------------------------------------------|
 | **Agent** (**Agents**) | The core monitoring software that collects, processes and stores metrics |
 | **Cloud**              | The centralized platform for managing and visualizing Netdata metrics    |
+| **Registry**           | The default Netdata Registry, or any Agent acting as one                 |
 
 ## Database
 

+ 2 - 2
src/daemon/config/README.md

@@ -29,8 +29,8 @@ the [web server access lists](/src/web/server/README.md#access-lists).
 7. `[ml]` to configure settings for [machine learning](/src/ml/README.md).
 8. `[health]` to [configure](#health-section-options) general settings for [health monitoring](/src/health/README.md).
 9. `[web]` to [configure the web server](/src/web/server/README.md).
-10. `[registry]` for the [Netdata registry](/src/registry/README.md).
-11. `[global statistics]` for the [Netdata registry](/src/registry/README.md).
+10. `[registry]` for the [Netdata Registry](/src/registry/README.md).
+11. `[global statistics]` for the [Netdata Registry](/src/registry/README.md).
 12. `[statsd]` for the general settings of the [stats.d.plugin](/src/collectors/statsd.plugin/README.md).
 13. `[plugins]` to [configure](#plugins-section-options) which [collectors](/src/collectors/README.md) to use and PATH
     settings.

+ 11 - 11
src/health/notifications/README.md

@@ -1,6 +1,6 @@
 # Agent alert notifications
 
-This is a reference documentation for Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
+This is reference documentation for Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
 
 The `script to execute on alarm` line in `netdata.conf` defines the external script that will be called once the alert is triggered.
 
@@ -10,10 +10,10 @@ The default script is `alarm-notify.sh`.
 >
 > This file mentions editing configuration files.  
 >
-> - To edit configuration files in a safe way, we provide the [`edit config` script](/docs/netdata-agent/configuration/README.md#edit-a-configuration-file-using-edit-config)located in your [Netdata config directory](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory) (typically is `/etc/netdata`) that creates the proper file and opens it in an editor automatically.  
+> - To edit configuration files safely, we provide the [`edit config` script](/docs/netdata-agent/configuration/README.md#edit-a-configuration-file-using-edit-config)located in your [Netdata config directory](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory) (typically is `/etc/netdata`) that creates the proper file and opens it in an editor automatically.  
 > Note that to run the script you need to be inside your Netdata config directory.
 >
-> - Please also note that after most configuration changes you will need to [restart the Agent](/docs/netdata-agent/start-stop-restart.md) for the changes to take effect.
+> - Please also note that after most configuration changes, you will need to [restart the Agent](/docs/netdata-agent/start-stop-restart.md) for the changes to take effect.
 >
 > It is recommended to use this way for configuring Netdata.
 
@@ -27,7 +27,7 @@ You can change the default script globally by editing `netdata.conf` and changin
 
 It uses **roles**. For example `sysadmin`, `webmaster`, `dba`, etc.
 
-Each alert is assigned to one or more roles, using the `to` line of the alert  configuration. For example, here is the alert configuration for `ram.conf` that defaults to the role `sysadmin`:
+Each alert is assigned to one or more roles, using the `to` line of the alert configuration. For example, here is the alert configuration for `ram.conf` that defaults to the role `sysadmin`:
 
 ```text
     alarm: ram_in_use
@@ -66,7 +66,7 @@ role_recipients_email[sysadmin]="someone@exaple.com someoneelse@example.com"
 
 Each role may have one or more destinations and one or more notification methods.
 
-So, for example the `sysadmin` role may send:
+So, for example, the `sysadmin` role may send:
 
 1. emails to admin1@example.com and admin2@example.com
 2. pushover.net notifications to USERTOKENS `A`, `B` and `C`.
@@ -80,7 +80,7 @@ You can edit `health_alarm_notify.conf` using the `edit-config` script to config
 
 - **Settings** per notification method:
 
-     All notification methods except email, require some configuration (i.e. API keys, tokens, destination rooms, channels, etc). Please check this section's content to find the configuration guides for your notification option of choice
+     All notification methods, except email, require some configuration (i.e., API keys, tokens, destination rooms, channels, etc.). Please check this section's content to find the configuration guides for your notification option of choice
 
 - **Recipients** per role per notification method
 
@@ -113,7 +113,7 @@ export NETDATA_ALARM_NOTIFY_DEBUG=1
 /usr/libexec/netdata/plugins.d/alarm-notify.sh test "ROLE"
 ```
 
-If you are [running your own registry](/src/registry/README.md#run-your-own-registry), add `export NETDATA_REGISTRY_URL=[YOUR_URL]` before calling `alarm-notify.sh`.
+If you are [running your own Registry](/src/registry/CONFIGURATION.md#configure-a-custom-registry), add `export NETDATA_REGISTRY_URL=[YOUR_URL]` before calling `alarm-notify.sh`.
 
 > If you need to dig even deeper, you can trace the execution with `bash -x`. Note that in test mode, `alarm-notify.sh` calls itself with many more arguments. So first do:
 >
@@ -155,7 +155,7 @@ This works for all notification methods (including the default recipients).
 
 ### Proxy configuration
 
-If you need to send curl based notifications (pushover, pushbullet, slack, alerta,
+If you need to send curl-based notifications (pushover, pushbullet, slack, alerta,
 flock, discord, telegram) via a proxy, you should set these variables to your proxy address:
 
 ```text
@@ -167,10 +167,10 @@ export https_proxy="http://10.0.0.1:3128/"
 
 Images in notifications need to be downloaded from an Internet facing site.
 
-To allow notification providers to fetch the icons/images, by default we set the URL of the global public netdata registry.
+To allow notification providers to fetch the icons/images, by default we set the URL of the global public Netdata Registry.
 
 If you have an Internet facing netdata (or you have copied the images/ folder
-of netdata to your web server), set its URL here, to fetch the notification
+of Netdata to your web server), set its URL here, to fetch the notification
 images from it.
 
 ```text
@@ -184,7 +184,7 @@ You can configure netdata alerts to send dates in any format you want via editin
 This uses standard `date` command format strings. See `man date` for
 more info on what formats are supported.
 
-Note that this has to start with a '+', otherwise it won't work.
+Note that this has to start with a '+'; otherwise it won't work.
 
 - For ISO 8601 dates, use `+%FT%T%z`
 - For RFC 5322 dates, use `+%a, %d %b %Y %H:%M:%S %z`

+ 108 - 0
src/registry/CONFIGURATION.md

@@ -0,0 +1,108 @@
+# Registry Configuration Reference
+
+Netdata uses a **central Registry**. Together with certain browser features, it allows Netdata to provide unified cross-server dashboards. Read more about it in the [overview page](/src/registry/README.md).
+
+The Registry operates with [minimal data transfer](/src/registry/README.md#communication-with-the-registry), with all communication occurring directly between your web browser and the Registry.
+
+## Configure a Custom Registry
+
+Any Netdata Agent can function as a Registry.
+
+1. To set up your own Registry node, modify `netdata.conf` using [`edit-config`](/docs/netdata-agent/configuration/README.md#edit-a-configuration-file-using-edit-config):
+
+   ```text
+   [registry]
+       enabled = yes
+       registry to announce = http://your.registry:19999
+   ```
+
+2. [Restart the Agent](/docs/netdata-agent/start-stop-restart.md) for the changes to take effect.
+3. Next, configure all other Agents to use your custom Registry instead of the default one. For each Agent, modify `netdata.conf`:
+
+   ```text
+   [registry]
+      enabled = no
+      registry to announce = http://your.registry:19999
+   ```
+
+4. To improve node identification in your dashboard, you can assign custom names to each Agent (optional):
+
+   ```text
+   [registry]
+      registry hostname = Group1 - Master DB
+   ```
+
+## Configure Registry Access Control
+
+You can restrict Registry access to specific IP addresses or hostnames using [simple pattern](/src/libnetdata/simple_pattern/README.md) matching:
+
+```text
+[registry]
+    allow from = *
+```
+
+> **Info**
+>
+> For example, `allow from = !10.1.2.3 10.*` allows all IPs in the `10.*` range except `10.1.2.3`.
+
+**Access Control Considerations**
+
+- Registry access rules work in conjunction with the main API access control (`[web].allow connections from`). IPs must be allowed by both settings to access the Registry.
+- Patterns can match against IP addresses or host FQDNs. For hostname matching, the system performs both reverse and forward DNS lookups to prevent DNS spoofing.
+
+**DNS Resolution Settings**
+
+DNS resolution for pattern matching can impact performance on systems handling many connections. Control this behavior using:
+
+```text
+[registry]
+    allow by dns = heuristic
+```
+
+Available options:
+
+|   Option    | Description                                                                                      |
+|:-----------:|--------------------------------------------------------------------------------------------------|
+|    `yes`    | Enables hostname pattern matching using DNS                                                      |
+|    `no`     | Restricts patterns to match IP addresses only                                                    |
+| `heuristic` | Automatically determines whether to use DNS based on pattern syntax (presence of `:` or letters) |
+
+## Registry database location
+
+The Registry maintains its data in two text-based database files located at `/var/lib/netdata/registry/`.
+
+| File              | Purpose                                   | Behavior                                                                                                                                                                             |
+|-------------------|-------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `registry-log.db` | Records all real-time Registry operations | Captures every modification to the Registry as it occurs                                                                                                                             |
+| `registry.db`     | Stores the consolidated Registry data     | Updates after every `[registry].registry save db every new entries` entries in the transaction log, at which point the main database is refreshed and the transaction log is cleared |
+
+## Configure Cookie Security Settings
+
+By default, the Netdata Agent's web server sets `SameSite=none` and `Secure` attributes for its cookies. If these security settings interfere with accessing your Agent dashboard or Netdata Cloud, you can disable them.
+
+To modify cookie settings, edit `netdata.conf` using [`edit-config`](/docs/netdata-agent/configuration/README.md#edit-a-configuration-file-using-edit-config):
+
+```text
+[registry]
+    enable cookies SameSite and Secure = no
+```
+
+Disabling these security attributes may affect browser compatibility and security. Only disable them if you're experiencing specific access issues.
+
+## Troubleshooting the Registry
+
+The Registry URL must point to a valid Netdata dashboard where the Registry is enabled (`[registry].enabled = yes`). You can verify your Registry configuration by accessing its URL directly in your web browser—it should display the dashboard of the Netdata Agent running the Registry.
+The Registry relies on third-party cookies to function properly. The Registry sets these cookies while you're viewing dashboards from other Netdata Agents.
+
+When a new browser first connects, the Registry performs a cookie compatibility check through the following process:
+
+- Set a test cookie.
+- Redirect the browser back to verify the cookie.
+
+If cookies are disabled or blocked, this process fails after several redirects with an error similar to:
+
+```text
+ERROR 409: Cannot ACCESS netdata registry: https://registry.my-netdata.io responded with: {"status":"redirect","registry":"https://registry.my-netdata.io"}
+```
+
+To view these error messages, open your browser's developer console (typically F12).

+ 29 - 180
src/registry/README.md

@@ -1,205 +1,54 @@
 # Registry
 
-Netdata provides distributed monitoring.
+Netdata uses a **central Registry**. Together with certain browser features, it allows for unified cross-Agent dashboards. For example, when you jump from Agent to Agent using the node menu, several session settings (like the currently viewed charts, the current zoom and pan operations on the charts, etc.) are propagated to the new Agent, so that the new dashboard will come with exactly the same view.
 
-Traditional monitoring solutions centralize all the data to provide unified dashboards across all servers. Before
-Netdata, this was the standard practice. However it has a few issues:
+## Default Registry
 
-1. due to the resources required, the number of metrics collected is limited.
-2. for the same reason, the data collection frequency is not that high, at best it will be once every 10 or 15 seconds,
-    at worst every 5 or 10 mins.
-3. the central monitoring solution needs dedicated resources, thus becoming "another bottleneck" in the whole
-    ecosystem. It also requires maintenance, administration, etc.
-4. most centralized monitoring solutions are usually only good for presenting _statistics of past performance_ (i.e.
-    cannot be used for real-time performance troubleshooting).
+The default Registry is `https://registry.my-netdata.io`, which is currently served by `https://london.my-netdata.io`. This Registry listens to both HTTP and HTTPS requests with the default being HTTPS.
 
-Netdata follows a different approach:
+## What data is stored
 
-1. data collection happens per second
-2. thousands of metrics per server are collected
-3. data do not leave the server where they are collected
-4. Netdata servers do not talk to each other
-5. your browser connects all the Netdata servers
+The Registry keeps track of four entities:
 
-Using Netdata, your monitoring infrastructure is embedded on each server, limiting significantly the need of additional
-resources. Netdata is blazingly fast, very resource efficient and utilizes server resources that already exist and are
-spare (on each server). This allows **scaling out** the monitoring infrastructure.
+1. **machines**: The Netdata installations (a random GUID generated by each Netdata the first time it starts, we call this **machine_guid**)
 
-However, the Netdata approach introduces a few new issues that need to be addressed, one being **the list of Netdata we
-have installed**, i.e. the URLs our Netdata servers are listening.
+   For each Netdata installation, the Registry keeps track of the various different URLs it has accessed.
 
-To solve this, Netdata utilizes a **central registry**. This registry, together with certain browser features, allow
-Netdata to provide unified cross-server dashboards. For example, when you jump from server to server using the node
-menu, several session settings (like the currently viewed charts, the current zoom and pan operations on the charts,
-etc.) are propagated to the new server, so that the new dashboard will come with exactly the same view.
+2. **people**: The web browsers accessing the Netdata installations (a random GUID generated by the Registry the first time it sees a new web browser, we call this **person_guid**)
 
-## What data does the registry store?
-
-The registry keeps track of 4 entities:
-
-1. **machines**: i.e. the Netdata installations (a random GUID generated by each Netdata the first time it starts; we
-    call this **machine_guid**)
-
-    For each Netdata installation (each `machine_guid`) the registry keeps track of the different URLs it has accessed.
-
-2. **persons**: i.e. the web browsers accessing the Netdata installations (a random GUID generated by the registry the
-    first time it sees a new web browser; we call this **person_guid**)
-
-    For each person, the registry keeps track of the Netdata installations it has accessed and their URLs.
+   For each person, the Registry keeps track of the Netdata installations it has accessed and their URLs.
 
 3. **URLs** of Netdata installations (as seen by the web browsers)
 
-    For each URL, the registry keeps the URL and nothing more. Each URL is linked to _persons_ and _machines_. The only
-  way to find a URL is to know its **machine_guid** or have a **person_guid** it is linked to it.
-
-4. **accounts**: i.e. the information used to sign-in via one of the available sign-in methods. Depending on the method, this may include an email, or an email and a profile picture or avatar.
-
-For _persons_/_accounts_ and _machines_, the registry keeps links to _URLs_, each link with 2 timestamps (first time
-seen, last time seen) and a counter (number of times it has been seen). *machines_, _persons_ and timestamps are stored
-in the Netdata registry regardless of whether you sign in or not.
-
-## Who talks to the registry?
-
-Your web browser **only**! If sending this information is against your policies, you
-can [run your own registry](#run-your-own-registry)
-
-Your Netdata servers do not talk to the registry. This is a UML diagram of its operation:
-
-![registry](https://cloud.githubusercontent.com/assets/2662304/19448565/11a70632-94ab-11e6-9d80-f410b4acb797.png)
-
-## Which is the default registry?
-
-`https://registry.my-netdata.io`, which is currently served by `https://london.my-netdata.io`. This registry listens to
-both HTTP and HTTPS requests but the default is HTTPS.
-
-### Can this registry handle the global load of Netdata installations?
-
-Yeap! The registry can handle 50.000 - 100.000 requests **per second per core** (depending on the type of CPU, the
-computer's memory bandwidth, etc). 50.000 is on J1900 (celeron 2Ghz).
-
-We believe, it can do it...
-
-## Run your own registry
-
-**Every Netdata can be a registry**. Just pick one and configure it.
-
-**To turn any Netdata into a registry**, edit `/etc/netdata/netdata.conf` and set:
-
-```text
-[registry]
-    enabled = yes
-    registry to announce = http://your.registry:19999
-```
-
-Restart your Netdata to activate it.
-
-Then, you need to tell **all your other Netdata servers to advertise your registry**, instead of the default. To do
-this, on each of your Netdata servers, edit `/etc/netdata/netdata.conf` and set:
-
-```text
-[registry]
-    enabled = no
-    registry to announce = http://your.registry:19999
-```
-
-Note that we have not enabled the registry on the other servers. Only one Netdata (the registry) needs
-`[registry].enabled = yes`.
-
-This is it. You have your registry now.
+   For each URL, the Registry keeps the URL and nothing more. Each URL is linked to **people** and **machines**. The only way to find a URL is to know its **machine_guid** or have a **person_guid** that is linked to it.
 
-You may also want to give your server different names under the node menu (i.e. to have them sorted / grouped). You can
-change its registry name, by setting on each Netdata server:
+4. **accounts**: The information used to sign in via one of the available sign-in methods. Depending on the method, this may include only an email or additionally a profile picture or avatar.
 
-```text
-[registry]
-    registry hostname = Group1 - Master DB
-```
+For **people**, **accounts** and **machines**, the Registry keeps links to **URLs**, each link with two timestamps (first time seen, last time seen) and a counter (number of times it has been seen).
 
-So this server will appear in the node menu as `Group1 - Master DB`. The max name length is 50 characters.
+**machines**, **people** and timestamps are stored in the Netdata Registry regardless of whether you sign in or not.
 
-### Limiting access to the registry
+## Communication with the Registry
 
-Netdata v1.9+ support limiting access to the registry from given IPs, like this:
+**Only** your web browser communicates with the Registry. If sending this information is against your policies, you can [run your own Registry](/src/registry/CONFIGURATION.md)
 
-```text
-[registry]
-    allow from = *
-```
+Your Agents do not talk to the Registry. This is a diagram explaining the process:
 
-`allow from` settings are [Netdata simple patterns](/src/libnetdata/simple_pattern/README.md): string matches that use `*`
-as wildcard (any number of times) and a `!` prefix for a negative match. So: `allow from = !10.1.2.3 10.*` will allow
-all IPs in `10.*` except `10.1.2.3`. The order is important: left to right, the first positive or negative match is
-used.
+```mermaid
+sequenceDiagram
+    participant WebBrowser as Web Browser
+    participant Netdata1 as Netdata 1
+    participant Registry1 as Registry 1
 
-Keep in mind that connections to Netdata API ports are filtered by `[web].allow connections from`. So, IPs allowed by
-`[registry].allow from` should also be allowed by `[web].allow connection from`.
+    WebBrowser->>Netdata1: 1. Hi, give me the dashboard
+    Netdata1-->>WebBrowser: 2. Welcome, here it is...
+    Note over WebBrowser,Netdata1: a few seconds later
 
-The patterns can be matches over IP addresses or FQDN of the host. In order to check the FQDN of the connection without
-opening the Netdata Agent to DNS-spoofing, a reverse-dns record must be setup for the connecting host. At connection
-time the reverse-dns of the peer IP address is resolved, and a forward DNS resolution is made to validate the IP address
-against the name-pattern.
+    WebBrowser->>Netdata1: 3. Now give me the Registry information
+    Netdata1-->>WebBrowser: 4. Here it is, talk to Registry 1
 
-Please note that this process can be expensive on a machine that is serving many connections. The behaviour of the
-pattern matching can be controlled with the following setting:
+    WebBrowser->>Registry1: 5. Hey Registry 1, I am accessing Netdata 1...
+    Registry1-->>WebBrowser: 6. Nice! Here are other Netdata Agents you have accessed in the past
 
-```text
-[registry]
-    allow by dns = heuristic
+    Note over WebBrowser: Only your web browser talks to the Registry
 ```
-
-The settings are:
-
-- `yes` allows the pattern to match DNS names.
-- `no` disables DNS matching for the patterns (they only match IP addresses).
-- `heuristic` will estimate if the patterns should match FQDNs by the presence or absence of `:`s or alpha-characters.
-
-### Where is the registry database stored?
-
-`/var/lib/netdata/registry/*.db`
-
-There can be up to 2 files:
-
-- `registry-log.db`, the transaction log
-
-    all incoming requests that affect the registry are saved in this file in real-time.
-
-- `registry.db`, the database
-  
-    every `[registry].registry save db every new entries` entries in `registry-log.db`, Netdata will save its database to `registry.db` and empty `registry-log.db`.
-
-Both files are machine readable text files.
-
-### How can I disable the SameSite and Secure cookies?
-
-Beginning with `v1.30.0`, when the Netdata Agent's web server processes a request, it delivers the `SameSite=none`
-and `Secure` cookies. If you have problems accessing the local Agent dashboard or Netdata Cloud, disable these
-cookies by [editing `netdata.conf`](/docs/netdata-agent/configuration/README.md#edit-a-configuration-file-using-edit-config):
-
-```text
-[registry]
-    enable cookies SameSite and Secure = no
-```
-
-## The future
-
-The registry opens a whole world of new possibilities for Netdata. Check here what we think:
-<https://github.com/netdata/netdata/issues/416>
-
-## Troubleshooting the registry
-
-The registry URL should be set to the URL of a Netdata dashboard. This server has to have `[registry].enabled = yes`.
-So, accessing the registry URL directly with your web browser, should present the dashboard of the Netdata operating the
-registry.
-
-To use the registry, your web browser needs to support **third party cookies**, since the cookies are set by the
-registry while you are browsing the dashboard of another Netdata server. The registry, the first time it sees a new web
-browser it tries to figure if the web browser has cookies enabled or not. It does this by setting a cookie and
-redirecting the browser back to itself hoping that it will receive the cookie. If it does not receive the cookie, the
-registry will keep redirecting your web browser back to itself, which after a few redirects will fail with an error like
-this:
-
-```text
-ERROR 409: Cannot ACCESS netdata registry: https://registry.my-netdata.io responded with: {"status":"redirect","registry":"https://registry.my-netdata.io"}
-```
-
-This error is printed on your web browser console (press F12 on your browser to see it).

+ 1 - 1
src/streaming/README.md

@@ -179,7 +179,7 @@ Valid settings are `dbengine`, `ram`, , or `none`.
 | `[db]` section                     |                   |                                                                                                                                                                                                                                                                                                                 |
 | `mode`                             | `dbengine`        | Determines the [database type](/src/database/README.md) to be used on that node. Other options settings include `none`, and `ram`. `none` disables the database at this host. This also disables alerts and notifications, as those can't run without a database. |
 | `[web]` section                    |                   |                                                                                                                                                                                                                                                                                                                 |
-| `mode`                             | `static-threaded` | Determines the [web server](/src/web/server/README.md) type. The other option is `none`, which disables the dashboard, API, and registry.                                                                                                                             |
+| `mode`                             | `static-threaded` | Determines the [web server](/src/web/server/README.md) type. The other option is `none`, which disables the dashboard, API, and Registry.                                                                                                                             |
 | `accept a streaming request every` | `off`             | Set a limit on how often a parent node accepts streaming requests from child nodes. `0` equals no limit. If this is set, you may see `... too busy to accept new streaming request. Will be allowed in X secs` in Netdata's `error.log`.                                                                        |
 
 ### Basic use cases

+ 2 - 3
src/web/api/queries/README.md

@@ -114,9 +114,8 @@ and they group the values every `group points`.
 -   ![](https://registry.my-netdata.io/api/v1/badge.svg?chart=net.eth0&options=unaligned&dimensions=received&group=des&after=-60&label=des&value_color=blue) applies Holt-Winters double exponential smoothing
 -   ![](https://registry.my-netdata.io/api/v1/badge.svg?chart=net.eth0&options=unaligned&dimensions=received&group=incremental_sum&after=-60&label=incremental_sum&value_color=red) finds the difference of the last vs the first value
 
-The examples shown above show live information from the `received` traffic on the `eth0` interface of the global Netdata registry. 
-Inspect any of the badges to see the parameters provided. You can directly issue the request to the registry server's API yourself, e.g. by 
-passing the following to get the value shown on the badge for the sum of the values within the period:
+The examples shown above show live information from the `received` traffic on the `eth0` interface of the global Netdata Registry.
+Inspect any of the badges to see the parameters provided. You can directly issue the request to the Registry server's API yourself, e.g. by passing the following to get the value shown on the badge for the sum of the values within the period:
 
 ```
 https://registry.my-netdata.io/api/v1/data?chart=net.eth0&options=unaligned&dimensions=received&group=sum&units=kilobits&after=-60&label=sum&points=1

+ 1 - 1
src/web/api/v1/api_v1_badge/README.md

@@ -20,7 +20,7 @@ Similarly, there is [a chart that shows outbound bandwidth per class](http://lon
 
 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.
 
-Let's see a few more badge examples (they come from the [Netdata registry](/src/registry/README.md)):
+Let's see a few more badge examples (they come from the [Netdata Registry](/src/registry/README.md)):
 
 -   **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).
 

+ 1 - 1
src/web/server/README.md

@@ -268,7 +268,7 @@ Netdata will:
 - Force all HTTP requests to the default port to be redirected to HTTPS (same port).
 - Refuse unencrypted streaming connections from child nodes on the default port.
 - Allow both HTTP and HTTPS requests to port 20000 for `netdata.conf`
-- Force HTTP requests to port 20001 to be redirected to HTTPS (same port). Only allow requests for the dashboard, the read API and the registry on port 20001.
+- Force HTTP requests to port 20001 to be redirected to HTTPS (same port). Only allow requests for the dashboard, the read API and the Registry on port 20001.
 
 #### TLS/SSL errors