From 5ed8653246b5ff277e39d90328782e326b245d4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Krupa?= Date: Sun, 25 Nov 2018 20:11:50 +0200 Subject: Rename `doc` to `docs` and move `htmldoc` (#4741) * rename doc dir; move htmldoc under docs/generator * run shellcheck and shfmt on docs generator --- docs/Add-more-charts-to-netdata.md | 429 +++++++++++++++++++++ docs/Demo-Sites.md | 19 + docs/Donations-netdata-has-received.md | 23 ++ docs/GettingStarted.md | 180 +++++++++ .../Netdata-Security-and-Disclosure-Information.md | 37 ++ docs/Performance.md | 73 ++++ docs/Running-behind-apache.md | 268 +++++++++++++ docs/Running-behind-caddy.md | 27 ++ docs/Running-behind-lighttpd.md | 60 +++ docs/Running-behind-nginx.md | 202 ++++++++++ docs/Third-Party-Plugins.md | 29 ++ docs/Why-Netdata.md | 170 ++++++++ docs/a-github-star-is-important.md | 13 + docs/generator/buildhtml.sh | 60 +++ docs/generator/buildyaml.sh | 200 ++++++++++ docs/generator/checklinks.sh | 394 +++++++++++++++++++ docs/generator/requirements.txt | 3 + docs/generator/runtime.txt | 1 + .../generator/themes/material/partials/footer.html | 57 +++ docs/high-performance-netdata.md | 149 +++++++ docs/netdata-for-IoT.md | 199 ++++++++++ docs/netdata-security.md | 179 +++++++++ 22 files changed, 2772 insertions(+) create mode 100644 docs/Add-more-charts-to-netdata.md create mode 100644 docs/Demo-Sites.md create mode 100644 docs/Donations-netdata-has-received.md create mode 100644 docs/GettingStarted.md create mode 100644 docs/Netdata-Security-and-Disclosure-Information.md create mode 100644 docs/Performance.md create mode 100644 docs/Running-behind-apache.md create mode 100644 docs/Running-behind-caddy.md create mode 100644 docs/Running-behind-lighttpd.md create mode 100644 docs/Running-behind-nginx.md create mode 100644 docs/Third-Party-Plugins.md create mode 100644 docs/Why-Netdata.md create mode 100644 docs/a-github-star-is-important.md create mode 100755 docs/generator/buildhtml.sh create mode 100755 docs/generator/buildyaml.sh create mode 100755 docs/generator/checklinks.sh create mode 100644 docs/generator/requirements.txt create mode 100644 docs/generator/runtime.txt create mode 100644 docs/generator/themes/material/partials/footer.html create mode 100644 docs/high-performance-netdata.md create mode 100644 docs/netdata-for-IoT.md create mode 100644 docs/netdata-security.md (limited to 'docs') diff --git a/docs/Add-more-charts-to-netdata.md b/docs/Add-more-charts-to-netdata.md new file mode 100644 index 0000000000..1512a25e78 --- /dev/null +++ b/docs/Add-more-charts-to-netdata.md @@ -0,0 +1,429 @@ +# Add more charts to netdata + +netdata collects system metrics by itself. It has many [internal plugins](../collectors) for collecting most of the metrics presented by default when it starts, collecting data from `/proc`, `/sys` and other Linux kernel sources. + +To collect non-system metrics, netdata supports a plugin architecture. The following are the currently available external plugins: + +- **[Web Servers](#web-servers)**, such as apache, nginx, nginx_plus, tomcat, litespeed +- **[Web Logs](#web-log-parsers)**, such as apache, nginx, lighttpd, gunicorn, squid access logs, apache cache.log +- **[Load Balancers](#load-balancers)**, like haproxy +- **[Message Brokers](#message-brokers)**, like rabbitmq, beanstalkd +- **[Database Servers](#database-servers)**, such as mysql, mariadb, postgres, couchdb, mongodb, rethinkdb +- **[Social Sharing Servers](#social-sharing-servers)**, like retroshare +- **[Proxy Servers](#proxy-servers)**, like squid +- **[HTTP accelerators](#http-accelerators)**, like varnish cache +- **[Search engines](#search-engines)**, like elasticsearch +- **[Name Servers](#name-servers)** (DNS), like bind, nsd, powerdns, dnsdist +- **[DHCP Servers](#dhcp-servers)**, like ISC DHCP +- **[UPS](#ups)**, such as APC UPS, NUT +- **[RAID](#raid)**, such as linux software raid (mdadm), MegaRAID +- **[Mail Servers](#mail-servers)**, like postfix, exim, dovecot +- **[File Servers](#file-servers)**, like samba, NFS, ftp, sftp, WebDAV +- **[System](#system)**, for processes and other system metrics +- **[Sensors](#sensors)**, like temperature, fans speed, voltage, humidity, HDD/SSD S.M.A.R.T attributes +- **[Network](#network)**, such as SNMP devices, `fping`, access points, dns_query_time +- **[Time Servers](#time-servers)**, like chrony +- **[Security](#security)**, like FreeRADIUS, OpenVPN, Fail2ban +- **[Telephony Servers](#telephony-servers)**, like openSIPS +- **[Go applications](#go-applications)** +- **[Household appliances](#household-appliances)**, like SMA WebBox (solar power), Fronius Symo solar power, Stiebel Eltron heating +- **[Java Processes](#java-processes)**, via JMX or Spring Boot Actuator +- **[Provisioning Systems](#provisioning-systems)**, like Puppet +- **[Game Servers](#game-servers)**, like SpigotMC +- **[Distributed Computing Clients](#distributed-computing-clients)**, like BOINC +- **[Skeleton Plugins](#skeleton-plugins)**, for writing your own data collectors + +Check also [Third Party Plugins](Third-Party-Plugins.md) for a list of plugins distributed by third parties. + +## configuring plugins + +netdata comes with **internal** and **external** plugins: + +1. The **internal** ones are written in `C` and run as threads within the netdata daemon. +2. The **external** ones can be written in any computer language. The netdata daemon spawns these as processes (shown with `ps fax`) and reads their metrics using pipes (so the `stdout` of external plugins is connected to netdata for metrics collection and the `stderr` of external plugins is connected to `/var/log/netdata/error.log`). + +To make it easier to develop plugins, and minimize the number of threads and processes running, netdata supports **plugin orchestrators**, each of them supporting one or more data collection **modules**. Currently we ship plugin orchestrators for 4 languages: `C`, `python`, `node.js` and `bash` and 2 more are under development (`go` and `java`). + +#### enabling and disabling plugins + +To control which plugins netdata run, edit `netdata.conf` and check the `[plugins]` section. It looks like this: + +``` +[plugins] + # enable running new plugins = yes + # check for new plugins every = 60 + # proc = yes + # diskspace = yes + # cgroups = yes + # tc = yes + # nfacct = yes + # idlejitter = yes + # freeipmi = yes + # node.d = yes + # python.d = yes + # fping = yes + # charts.d = yes + # apps = yes +``` + +The default for all plugins is the option `enable running new plugins`. So, setting this to `no` will disable all the plugins, except the ones specifically enabled. + +#### enabling and disabling modules + +Each of the **plugins** may support one or more data collection **modules**. To control which of its modules run, you have to consult the configuration of the **plugin** (see table below). + +#### modules configuration + +Most **modules** come with **auto-detection**, configured to work out-of-the-box on popular operating systems with the default settings. + +However, there are cases that auto-detection fails. Usually the reason is that the applications to be monitored do not allow netdata to connect. In most of the cases, allowing the user `netdata` from `localhost` to connect and collect metrics, will automatically enable data collection for the application in question (it will require a netdata restart). + +You can verify netdata **external plugins and their modules** are able to collect metrics, following this procedure: + +```sh +# become user netdata +sudo su -s /bin/bash netdata + +# execute the plugin in debug mode, for a specific module. +# example for the python plugin, mysql module: +/usr/libexec/netdata/plugins.d/python.d.plugin 1 debug trace mysql +``` + +Similarly, you can use `charts.d.plugin` for BASH plugins and `node.d.plugin` for node.js plugins. +Other plugins (like `apps.plugin`, `freeipmi.plugin`, `fping.plugin`) use the native netdata plugin API and can be run directly. + +If you need to configure a netdata plugin or module, all user supplied configuration is kept at `/etc/netdata` while the stock versions of all files is at `/usr/lib/netdata/conf.d`. +To copy a stock file and edit it, run `/etc/netdata/edit-config`. Running this command without an argument, will list the available stock files. + +Each file should provide plenty of examples and documentation about each module and plugin. + +This is a map of the all supported configuration options: + +#### map of configuration files + +plugin | language | plugin
configuration | modules
configuration | +---:|:---:|:---:|:---| +`apps.plugin`
(external plugin for monitoring the process tree on Linux and FreeBSD)|`C`|`netdata.conf` section `[plugin:apps]`|Custom configuration for the processes to be monitored at `apps_groups.conf` +`freebsd.plugin`
(internal plugin for monitoring FreeBSD system resources)|`C`|`netdata.conf` section `[plugin:freebsd]`|one section for each module `[plugin:freebsd:MODULE]`. Each module may provide additional sections in the form of `[plugin:freebsd:MODULE:SUBSECTION]`. +`cgroups.plugin`
(internal plugin for monitoring Linux containers, VMs and systemd services)|`C`|`netdata.conf` section `[plugin:cgroups]`|N/A +`charts.d.plugin`
(external plugin orchestrator for BASH modules)|`BASH`|`charts.d.conf`|a file for each module in `/etc/netdata/charts.d/` +`diskspace.plugin`
(internal plugin for collecting Linux mount points usage)|`C`|`netdata.conf` section `[plugin:diskspace]`|N/A +`fping.plugin`
(external plugin for collecting network latencies)|`C`|`fping.conf`|This plugin is a wrapper for the `fping` command. +`freeipmi.plugin`
(external plugin for collecting IPMI h/w sensors)|`C`|`netdata.conf` section `[plugin:freeipmi]` +`idlejitter.plugin`
(internal plugin for monitoring CPU jitter)|`C`|N/A|N/A +`macos.plugin`
(internal plugin for monitoring MacOS system resources)|`C`|`netdata.conf` section `[plugin:macos]`|one section for each module `[plugin:macos:MODULE]`. Each module may provide additional sections in the form of `[plugin:macos:MODULE:SUBSECTION]`. +`node.d.plugin`
(external plugin orchestrator of node.js modules)|`node.js`|`node.d.conf`|a file for each module in `/etc/netdata/node.d/`. +`proc.plugin`
(internal plugin for monitoring Linux system resources)|`C`|`netdata.conf` section `[plugin:proc]`|one section for each module `[plugin:proc:MODULE]`. Each module may provide additional sections in the form of `[plugin:proc:MODULE:SUBSECTION]`. +`python.d.plugin`
(external plugin orchestrator for running python modules)|`python`
v2 or v3
both are supported|`python.d.conf`|a file for each module in `/etc/netdata/python.d/`. +`statsd.plugin`
(internal plugin for collecting statsd metrics)|`C`|`netdata.conf` section `[statsd]`|Synthetic statsd charts can be configured with files in `/etc/netdata/statsd.d/`. +`tc.plugin`
(internal plugin for collecting Linux traffic QoS)|`C`|`netdata.conf` section `[plugin:tc]`|The plugin runs an external helper called `tc-qos-helper.sh` to interface with the `tc` command. This helper supports a few additional options using `tc-qos-helper.conf`. + + +## writing data collection modules + +You can add custom plugins following the [External Plugins Guide](../collectors/plugins.d/). + +--- + +## available data collection modules + +These are all the data collection plugins currently available. + +### Web Servers + +application|language|notes| +:---------:|:------:|:----| +apache|python
v2 or v3|Connects to multiple apache servers (local or remote) to collect real-time performance metrics.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [apache.chart.py](../collectors/python.d.plugin/apache)
configuration file: [python.d/apache.conf](../collectors/python.d.plugin/apache)| +apache|BASH
Shell Script|Connects to an apache server (local or remote) to collect real-time performance metrics.

DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.
 
netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)
plugin module: [apache.chart.sh](../collectors/charts.d.plugin/apache)
configuration file: [charts.d/apache.conf](../collectors/charts.d.plugin/apache)| +ipfs|python
v2 or v3|Connects to multiple ipfs servers (local or remote) to collect real-time performance metrics.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [ipfs.chart.py](../collectors/python.d.plugin/ipfs)
configuration file: [python.d/ipfs.conf](../collectors/python.d.plugin/ipfs)| +litespeed|python
v2 or v3|reads the litespeed `rtreport` files to collect metrics.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [litespeed.chart.py](../collectors/python.d.plugin/litespeed)
configuration file: [python.d/litespeed.conf](../collectors/python.d.plugin/litespeed) +nginx|python
v2 or v3|Connects to multiple nginx servers (local or remote) to collect real-time performance metrics.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [nginx.chart.py](../collectors/python.d.plugin/nginx)
configuration file: [python.d/nginx.conf](../collectors/python.d.plugin/nginx)| +nginx_plus|python
v2 or v3|Connects to multiple nginx_plus servers (local or remote) to collect real-time performance metrics.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [nginx_plus.chart.py](../collectors/python.d.plugin/nginx_plus)
configuration file: [python.d/nginx_plus.conf](../collectors/python.d.plugin/nginx_plus)| +nginx|BASH
Shell Script|Connects to an nginx server (local or remote) to collect real-time performance metrics.

DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.
 
netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)
plugin module: [nginx.chart.sh](../collectors/charts.d.plugin/nginx)
configuration file: [charts.d/nginx.conf](../collectors/charts.d.plugin/nginx)| +phpfpm|python
v2 or v3|Connects to multiple phpfpm servers (local or remote) to collect real-time performance metrics.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [phpfpm.chart.py](../collectors/python.d.plugin/phpfpm)
configuration file: [python.d/phpfpm.conf](../collectors/python.d.plugin/phpfpm)| +phpfpm|BASH
Shell Script|Connects to one or more phpfpm servers (local or remote) to collect real-time performance metrics.

DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.
 
netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)
plugin module: [phpfpm.chart.sh](../collectors/charts.d.plugin/phpfpm)
configuration file: [charts.d/phpfpm.conf](../collectors/charts.d.plugin/phpfpm)| +tomcat|python
v2 or v3|Connects to multiple tomcat servers (local or remote) to collect real-time performance metrics.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [tomcat.chart.py](../collectors/python.d.plugin/tomcat)
configuration file: [python.d/tomcat.conf](../collectors/python.d.plugin/tomcat)| +tomcat|BASH
Shell Script|Connects to a tomcat server (local or remote) to collect real-time performance metrics.

DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.
 
netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)
plugin module: [tomcat.chart.sh](../collectors/charts.d.plugin/tomcat)
configuration file: [charts.d/tomcat.conf](../collectors/charts.d.plugin/tomcat)| + + +--- + +### Web Log Parsers + +application|language|notes| +:---------:|:------:|:----| +web_log|python
v2 or v3|powerful plugin, capable of incrementally parsing any number of web server log files
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [web_log.chart.py](../collectors/python.d.plugin/web_log)
configuration file: [python.d/web_log.conf](../collectors/python.d.plugin/web_log)| + + +--- + +### Database Servers + +application|language|notes| +:---------:|:------:|:----| +couchdb|python
v2 or v3|Connects to multiple couchdb servers (local or remote) to collect real-time performance metrics.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [couchdb.chart.py](../collectors/python.d.plugin/couchdb)
configuration file: [python.d/couchdb.conf](../collectors/python.d.plugin/couchdb)| +memcached|python
v2 or v3|Connects to multiple memcached servers (local or remote) to collect real-time performance metrics.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [memcached.chart.py](../collectors/python.d.plugin/memcached)
configuration file: [python.d/memcached.conf](../collectors/python.d.plugin/memcached)| +mongodb|python
v2 or v3|Connects to multiple `mongodb` servers (local or remote) to collect real-time performance metrics.
 
Requires package `python-pymongo`.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [mongodb.chart.py](../collectors/python.d.plugin/mongodb)
configuration file: [python.d/mongodb.conf](../collectors/python.d.plugin/mongodb)| +mysql
mariadb|python
v2 or v3|Connects to multiple mysql or mariadb servers (local or remote) to collect real-time performance metrics.
 
Requires package `python-mysqldb` (faster and preferred), or `python-pymysql`.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [mysql.chart.py](../collectors/python.d.plugin/mysql)
configuration file: [python.d/mysql.conf](../collectors/python.d.plugin/mysql)| +mysql
mariadb|BASH
Shell Script|Connects to multiple mysql or mariadb servers (local or remote) to collect real-time performance metrics.

DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.
 
netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)
plugin module: [mysql.chart.sh](../collectors/charts.d.plugin/mysql)
configuration file: [charts.d/mysql.conf](../collectors/charts.d.plugin/mysql)| +postgres|python
v2 or v3|Connects to multiple postgres servers (local or remote) to collect real-time performance metrics.
 
Requires package `python-psycopg2`.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [postgres.chart.py](../collectors/python.d.plugin/postgres)
configuration file: [python.d/postgres.conf](../collectors/python.d.plugin/postgres)| +redis|python
v2 or v3|Connects to multiple redis servers (local or remote) to collect real-time performance metrics.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [redis.chart.py](../collectors/python.d.plugin/redis)
configuration file: [python.d/redis.conf](../collectors/python.d.plugin/redis)| +rethinkdb|python
v2 or v3|Connects to multiple rethinkdb servers (local or remote) to collect real-time metrics.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [rethinkdb.chart.py](../collectors/python.d.plugin/rethinkdbs)
configuration file: [python.d/rethinkdb.conf](../collectors/python.d.plugin/rethinkdbs)| + + +--- + +### Social Sharing Servers + +application|language|notes| +:---------:|:------:|:----| +retroshare|python
v2 or v3|Connects to multiple retroshare servers (local or remote) to collect real-time performance metrics.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [retroshare.chart.py](../collectors/python.d.plugin/retroshare)
configuration file: [python.d/retroshare.conf](../collectors/python.d.plugin/retroshare)| + + +--- + +### Proxy Servers + +application|language|notes| +:---------:|:------:|:----| +squid|python
v2 or v3|Connects to multiple squid servers (local or remote) to collect real-time performance metrics.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [squid.chart.py](../collectors/python.d.plugin/squid)
configuration file: [python.d/squid.conf](../collectors/python.d.plugin/squid)| +squid|BASH
Shell Script|Connects to a squid server (local or remote) to collect real-time performance metrics.

DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.
 
netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)
plugin module: [squid.chart.sh](../collectors/charts.d.plugin/squid)
configuration file: [charts.d/squid.conf](../collectors/charts.d.plugin/squid)| + + +--- + +### HTTP Accelerators + +application|language|notes| +:---------:|:------:|:----| +varnish|python
v2 or v3|Uses the varnishstat command to provide varnish cache statistics (client metrics, cache perfomance, thread-related metrics, backend health, memory usage etc.).
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [varnish.chart.py](../collectors/python.d.plugin/varnish)
configuration file: [python.d/varnish.conf](../collectors/python.d.plugin/varnish)| + + +--- + +### Search Engines + +application|language|notes| +:---------:|:------:|:----| +elasticsearch|python
v2 or v3|Monitor elasticsearch performance and health metrics.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [elasticsearch.chart.py](../collectors/python.d.plugin/elasticsearch)
configuration file: [python.d/elasticsearch.conf](../collectors/python.d.plugin/elasticsearch)| + + +--- + +### Name Servers + +application|language|notes| +:---------:|:------:|:----| +named|node.js|Connects to multiple named (ISC-Bind) servers (local or remote) to collect real-time performance metrics. All versions of bind after 9.9.10 are supported.
 
netdata plugin: [node.d.plugin](../collectors/node.d.plugin#nodedplugin)
plugin module: [named.node.js](../collectors/node.d.plugin/named)
configuration file: [node.d/named.conf](../collectors/node.d.plugin/named)| +bind_rndc|python
v2 or v3|Parses named.stats dump file to collect real-time performance metrics. All versions of bind after 9.6 are supported.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [bind_rndc.chart.py](../collectors/python.d.plugin/bind_rndc)
configuration file: [python.d/bind_rndc.conf](../collectors/python.d.plugin/bind_rndc)| +nsd|python
v2 or v3|Charts the nsd received queries and zones.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [nsd.chart.py](../collectors/python.d.plugin/nsd)
configuration file: [python.d/nsd.conf](../collectors/python.d.plugin/nsd) +powerdns|python
v2 or v3|Monitors powerdns performance and health metrics
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [powerdns.chart.py](../collectors/python.d.plugin/powerdns)
configuration file: [python.d/powerdns.conf](../collectors/python.d.plugin/powerdns)| +dnsdist|python
v2 or v3|Monitors dnsdist performance and health metrics
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [dnsdist.chart.py](../collectors/python.d.plugin/dnsdist)
configuration file: [python.d/dnsdist.conf](../collectors/python.d.plugin/dnsdist)| +unbound|python
v2 or v3|Monitors Unbound performance and resource usage metrics
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [unbound.chart.py](../collectors/python.d.plugin/unbound)
configuration file: [python.d/unbound.conf](../collectors/python.d.plugin/unbound)| + + +--- + +### DHCP Servers + +application|language|notes| +:---------:|:------:|:----| +isc dhcp|python
v2 or v3|Monitor lease database to show all active leases.
 
Python v2 requires package `python-ipaddress`.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [isc-dhcpd.chart.py](../collectors/python.d.plugin/isc_dhcpd)
configuration file: [python.d/isc-dhcpd.conf](../collectors/python.d.plugin/isc_dhcpd)| + + +--- + +### Load Balancers + +application|language|notes| +:---------:|:------:|:----| +haproxy|python
v2 or v3|Monitor frontend, backend and health metrics.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [haproxy.chart.py](../collectors/python.d.plugin/haproxy)
configuration file: [python.d/haproxy.conf](../collectors/python.d.plugin/haproxy)| +traefik|python
v2 or v3|Connects to multiple traefik instances (local or remote) to collect API metrics (response status code, response time, average response time and server uptime).
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [traefik.chart.py](../collectors/python.d.plugin/traefik)
configuration file: [python.d/traefik.conf](../collectors/python.d.plugin/traefik)| + +--- + +### Message Brokers + +application|language|notes| +:---------:|:------:|:----| +rabbitmq|python
v2 or v3|Monitor rabbitmq performance and health metrics.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [rabbitmq.chart.py](../collectors/python.d.plugin/rabbitmq)
configuration file: [python.d/rabbitmq.conf](../collectors/python.d.plugin/rabbitmq)| +beanstalkd|python
v2 or v3|Provides server and tube level statistics.
 
Requires beanstalkc python package (`pip install beanstalkc` or install package `python-beanstalkc`, which also installs `python-yaml`).
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [beanstalk.chart.py](../collectors/python.d.plugin/beanstalk)
configuration file: [python.d/beanstalk.conf](../collectors/python.d.plugin/beanstalk)| + + +--- + +### UPS + +application|language|notes| +:---------:|:------:|:----| +apcupsd|BASH
Shell Script|Connects to an apcupsd server to collect real-time statistics of an APC UPS.
 
netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)
plugin module: [apcupsd.chart.sh](../collectors/charts.d.plugin/apcupsd)
configuration file: [charts.d/apcupsd.conf](../collectors/charts.d.plugin/apcupsd)| +nut|BASH
Shell Script|Connects to a nut server (upsd) to collect real-time UPS statistics.
 
netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)
plugin module: [nut.chart.sh](../collectors/charts.d.plugin/nut)
configuration file: [charts.d/nut.conf](../collectors/charts.d.plugin/nut)| + + +--- + +### RAID + +application|language|notes| +:---------:|:------:|:----| +mdstat|python
v2 or v3|Parses `/proc/mdstat` to get mds health metrics.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [mdstat.chart.py](../collectors/python.d.plugin/mdstat)
configuration file: [python.d/mdstat.conf](../collectors/python.d.plugin/mdstat)| +megacli|python
v2 or v3|Collects adapter, physical drives and battery stats..
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [megacli.chart.py](../collectors/python.d.plugin/megacli)
configuration file: [python.d/megacli.conf](../collectors/python.d.plugin/megacli)| + +--- + +### Mail Servers + +application|language|notes| +:---------:|:------:|:----| +dovecot|python
v2 or v3|Connects to multiple dovecot servers (local or remote) to collect real-time performance metrics.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [dovecot.chart.py](../collectors/python.d.plugin/dovecot)
configuration file: [python.d/dovecot.conf](../collectors/python.d.plugin/dovecot)| +exim|python
v2 or v3|Charts the exim queue size.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [exim.chart.py](../collectors/python.d.plugin/exim)
configuration file: [python.d/exim.conf](../collectors/python.d.plugin/exim)| +exim|BASH
Shell Script|Charts the exim queue size.

DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.
 
netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)
plugin module: [exim.chart.sh](../collectors/charts.d.plugin/exim)
configuration file: [charts.d/exim.conf](../collectors/charts.d.plugin/exim)| +postfix|python
v2 or v3|Charts the postfix queue size (supports multiple queues).
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [postfix.chart.py](../collectors/python.d.plugin/postfix)
configuration file: [python.d/postfix.conf](../collectors/python.d.plugin/postfix)| +postfix|BASH
Shell Script|Charts the postfix queue size.

DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.
 
netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)
plugin module: [postfix.chart.sh](../collectors/charts.d.plugin/postfix)
configuration file: [charts.d/postfix.conf](../collectors/charts.d.plugin/postfix)| + + +--- + +### File Servers + +application|language|notes| +:---------:|:------:|:----| +NFS Client|`C`|This is handled entirely by the netdata daemon.
 
Configuration: `netdata.conf`, section `[plugin:proc:/proc/net/rpc/nfs]`. +NFS Server|`C`|This is handled entirely by the netdata daemon.
 
Configuration: `netdata.conf`, section `[plugin:proc:/proc/net/rpc/nfsd]`. +samba|python
v2 or v3|Performance metrics of Samba SMB2 file sharing.
 
documentation page: [python.d.plugin module samba](../collectors/python.d.plugin/samba)
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [samba.chart.py](../collectors/python.d.plugin/samba)
configuration file: [python.d/samba.conf](../collectors/python.d.plugin/samba)| + + +--- + +### System + +application|language|notes| +:---------:|:------:|:----| +apps|C|`apps.plugin` collects resource usage statistics for all processes running in the system. It groups the entire process tree and reports dozens of metrics for CPU utilization, memory footprint, disk I/O, swap memory, network connections, open files and sockets, etc. It reports metrics for application groups, users and user groups.
 
[Documentation of `apps.plugin`](../collectors/apps.plugin/).
 
netdata plugin: [`apps_plugin.c`](../collectors/apps.plugin)
configuration file: [`apps_groups.conf`](../collectors/apps.plugin)| +cpu_apps|BASH
Shell Script|Collects the CPU utilization of select apps.

DEPRECATED IN FAVOR OF `apps.plugin`. It is still supplied only as an example module to shell scripting plugins.
 
netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)
plugin module: [cpu_apps.chart.sh](../collectors/charts.d.plugin/cpu_apps)
configuration file: [charts.d/cpu_apps.conf](../collectors/charts.d.plugin/cpu_apps)| +load_average|BASH
Shell Script|Collects the current system load average.

DEPRECATED IN FAVOR OF THE NETDATA INTERNAL ONE. It is still supplied only as an example module to shell scripting plugins.
 
netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)
plugin module: [load_average.chart.sh](../collectors/charts.d.plugin/load_average)
configuration file: [charts.d/load_average.conf](../collectors/charts.d.plugin/load_average)| +mem_apps|BASH
Shell Script|Collects the memory footprint of select applications.

DEPRECATED IN FAVOR OF `apps.plugin`. It is still supplied only as an example module to shell scripting plugins.
 
netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)
plugin module: [mem_apps.chart.sh](../collectors/charts.d.plugin/mem_apps)
configuration file: [charts.d/mem_apps.conf](../collectors/charts.d.plugin/mem_apps)| + + +--- + +### Sensors + +application|language|notes| +:---------:|:------:|:----| +cpufreq|python
v2 or v3|Collects the current CPU frequency from `/sys/devices`.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [cpufreq.chart.py](../collectors/python.d.plugin/cpufreq)
configuration file: [python.d/cpufreq.conf](../collectors/python.d.plugin/cpufreq)| +cpufreq|BASH
Shell Script|Collects current CPU frequency from `/sys/devices`.

DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.
 
netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)
plugin module: [cpufreq.chart.sh](../collectors/charts.d.plugin/cpufreq)
configuration file: [charts.d/cpufreq.conf](../collectors/charts.d.plugin/cpufreq)| +IPMI|C|Collects temperatures, voltages, currents, power, fans and `SEL` events from IPMI using `libipmimonitoring`.
Check [Monitoring IPMI](../collectors/freeipmi.plugin/) for more information
 
netdata plugin: [freeipmi.plugin](../collectors/freeipmi.plugin)
configuration file: none required - to enable it, compile/install netdata with `--enable-plugin-freeipmi`| +hddtemp|python
v2 or v3|Connects to multiple hddtemp servers (local or remote) to collect real-time performance metrics.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [hddtemp.chart.py](../collectors/python.d.plugin/hddtemp)
configuration file: [python.d/hddtemp.conf](../collectors/python.d.plugin/hddtemp)| +hddtemp|BASH
Shell Script|Connects to a hddtemp server (local or remote) to collect real-time performance metrics.

DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.
 
netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)
plugin module: [hddtemp.chart.sh](../collectors/charts.d.plugin/hddtemp)
configuration file: [charts.d/hddtemp.conf](../collectors/charts.d.plugin/hddtemp)| +sensors|BASH
Shell Script|Collects sensors values from files in `/sys`.

DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.
 
netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)
plugin module: [sensors.chart.sh](../collectors/charts.d.plugin/sensors)
configuration file: [charts.d/sensors.conf](../collectors/charts.d.plugin/sensors)| +sensors|python
v2 or v3|Uses `lm-sensors` to collect sensor data.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [sensors.chart.py](../collectors/python.d.plugin/sensors)
configuration file: [python.d/sensors.conf](../collectors/python.d.plugin/sensors)| +smartd_log|python
v2 or v3|Collects the S.M.A.R.T attributes from `smartd` log files.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [smartd_log.chart.py](../collectors/python.d.plugin/smartd_log)
configuration file: [python.d/smartd_log.conf](../collectors/python.d.plugin/smartd_log)| +w1sensor|python
v2 or v3|Collects data from connected 1-Wire sensors.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [w1sensor.chart.py](../collectors/python.d.plugin/w1sensor)
configuration file: [python.d/w1sensor.conf](../collectors/python.d.plugin/w1sensor)| + + +--- + +### Network + +application|language|notes| +:---------:|:------:|:----| +ap|BASH
Shell Script|Uses the `iw` command to provide statistics of wireless clients connected to a wireless access point running on this host (works well with `hostapd`).
 
netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)
plugin module: [ap.chart.sh](../collectors/charts.d.plugin/ap)
configuration file: [charts.d/ap.conf](../collectors/charts.d.plugin/ap)| +fping|C|Charts network latency statistics for any number of nodes, using the `fping` command. A recent (probably unreleased) version of fping is required. The plugin supplied can install it in `/usr/local`.
 
netdata plugin: [fping.plugin](../collectors/fping.plugin) (this is a shell wrapper to start fping - once fping is started, netdata and fping communicate directly - it can also install the right version of fping)
configuration file: [fping.conf](../collectors/fping.plugin)| +snmp|node.js|Connects to multiple snmp servers to collect real-time performance metrics.
 
netdata plugin: [node.d.plugin](../collectors/node.d.plugin#nodedplugin)
plugin module: [snmp.node.js](../collectors/node.d.plugin/snmp)
configuration file: [node.d/snmp.conf](../collectors/node.d.plugin/snmp)| +dns_query_time|python
v2 or v3|Provides DNS query time statistics.
 
Requires package `dnspython` (`pip install dnspython` or install package `python-dnspython`).
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [dns_query_time.chart.py](../collectors/python.d.plugin/dns_query_time)
configuration file: [python.d/dns_query_time.conf](../collectors/python.d.plugin/dns_query_time)| +http|python
v2 or v3|Monitors a generic web page for status code and returned content in HTML +port|ptyhon
v2 or v3|Checks if a generic TCP port for its availability and response time + + +--- + +### Time Servers + +application|language|notes| +:---------:|:------:|:----| +chrony|python
v2 or v3|Uses the chronyc command to provide chrony statistics (Frequency, Last offset, RMS offset, Residual freq, Root delay, Root dispersion, Skew, System time).
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [chrony.chart.py](../collectors/python.d.plugin/chrony)
configuration file: [python.d/chrony.conf](../collectors/python.d.plugin/chrony)| +ntpd|python
v2 or v3|Connects to multiple ntpd servers (local or remote) to provide statistics of system variables and optional also peer variables (if enabled in the configuration).
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [ntpd.chart.py](../collectors/python.d.plugin/ntpd)
configuration file: [python.d/ntpd.conf](../collectors/python.d.plugin/ntpd)| + + +--- + +### Security + +application|language|notes| +:---------:|:------:|:----| +freeradius|python
v2 or v3|Uses the radclient command to provide freeradius statistics (authentication, accounting, proxy-authentication, proxy-accounting).
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [freeradius.chart.py](../collectors/python.d.plugin/freeradius)
configuration file: [python.d/freeradius.conf](../collectors/python.d.plugin/freeradius)| +openvpn|python
v2 or v3|All data from openvpn-status.log in your dashboard!
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [ovpn_status_log.chart.py](../collectors/python.d.plugin/ovpn_status_log)
configuration file: [python.d/ovpn_status_log.conf](../collectors/python.d.plugin/ovpn_status_log)| +fail2ban|python
v2 or v3|Monitor fail2ban log file to show all bans for all active jails
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [fail2ban.chart.py](../collectors/python.d.plugin/fail2ban)
configuration file: [python.d/fail2ban.conf](../collectors/python.d.plugin/fail2ban)| + + +--- + +### Telephony Servers + +application|language|notes| +:---------:|:------:|:----| +opensips|BASH
Shell Script|Connects to an opensips server (local only) to collect real-time performance metrics.
 
netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)
plugin module: [opensips.chart.sh](../collectors/charts.d.plugin/opensips)
configuration file: [charts.d/opensips.conf](../collectors/charts.d.plugin/opensips)| + + +--- + +### Go applications + +application|language|notes| +:---------:|:------:|:----| +go_expvar|python
v2 or v3|Parses metrics exposed by applications written in the Go programming language using the [expvar package](https://golang.org/pkg/expvar/).
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [go_expvar.chart.py](../collectors/python.d.plugin/go_expvar)
configuration file: [python.d/go_expvar.conf](../collectors/python.d.plugin/go_expvar)
documentation: [Monitoring Go Applications](../collectors/python.d.plugin/go_expvar/)| + + +--- + +### Household Appliances + +application|language|notes| +:---------:|:------:|:----| +sma_webbox|node.js|Connects to multiple remote SMA webboxes to collect real-time performance metrics of the photovoltaic (solar) power generation.
 
netdata plugin: [node.d.plugin](../collectors/node.d.plugin#nodedplugin)
plugin module: [sma_webbox.node.js](../collectors/node.d.plugin/sma_webbox)
configuration file: [node.d/sma_webbox.conf](../collectors/node.d.plugin/sma_webbox)| +fronius|node.js|Connects to multiple remote Fronius Symo servers to collect real-time performance metrics of the photovoltaic (solar) power generation.
 
netdata plugin: [node.d.plugin](../collectors/node.d.plugin#nodedplugin)
plugin module: [fronius.node.js](../collectors/node.d.plugin/fronius)
configuration file: [node.d/fronius.conf](../collectors/node.d.plugin/fronius)| +stiebeleltron|node.js|Collects the temperatures and other metrics from your Stiebel Eltron heating system using their Internet Service Gateway (ISG web).
 
netdata plugin: [node.d.plugin](../collectors/node.d.plugin#nodedplugin)
plugin module: [stiebeleltron.node.js](../collectors/node.d.plugin/stiebeleltron)
configuration file: [node.d/stiebeleltron.conf](../collectors/node.d.plugin/stiebeleltron)| + + +--- + +### Java Processes + +application|language|notes| +:---------:|:------:|:----| +Spring Boot Application|java|Monitors running Java [Spring Boot](https://spring.io/) applications that expose their metrics with the use of the **Spring Boot Actuator** included in Spring Boot library.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [springboot](../collectors/python.d.plugin/springboot)
configuration file: [python.d/springboot.conf](../collectors/python.d.plugin/springboot) + + +--- + +### Provisioning Systems + +application|language|notes| +:---------:|:------:|:----| +puppet|python
v2 or v3|Connects to multiple Puppet Server and Puppet DB instances (local or remote) to collect real-time status metrics.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [puppet.chart.py](../collectors/python.d.plugin/puppet)
configuration file: [python.d/puppet.conf](../collectors/python.d.plugin/puppet)| + +--- + +### Game Servers + +application|language|notes| +:---------:|:------:|:----| +SpigotMC|Python
v2 or v3|Monitors Spigot Minecraft server ticks per second and number of online players using the Minecraft remote console.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [spigotmc.chart.py](../collectors/python.d.plugin/spigotmc)
configuration file: [python.d/spigotmc.conf](../collectors/python.d.plugin/spigotmc)| + +--- + +### Distributed Computing Clients + +application|language|notes| +:---------:|:------:|:----| +BOINC|Python
v2 or v3|Monitors task states for local and remote BOINC client software using the remote GUI RPC interface. Also provides alarms for a handful of error conditions. Requires manual configuration
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [boinc.chart.py](../collectors/python.d.plugin/boinc)
configuration file: [python.d/boinc.conf](../collectors/python.d.plugin/boinc)| + +--- + +### Skeleton Plugins + +application|language|notes| +:---------:|:------:|:----| +example|BASH
Shell Script|Skeleton plugin in BASH.

DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.
 
netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)
plugin module: [example.chart.sh](../collectors/charts.d.plugin/example)
configuration file: [charts.d/example.conf](../collectors/charts.d.plugin/example)| +example|python
v2 or v3|Skeleton plugin in Python.
 
netdata plugin: [python.d.plugin](../collectors/python.d.plugin)
plugin module: [example.chart.py](../collectors/python.d.plugin/example)
configuration file: [python.d/example.conf](../collectors/python.d.plugin/example)| diff --git a/docs/Demo-Sites.md b/docs/Demo-Sites.md new file mode 100644 index 0000000000..e20db47fe8 --- /dev/null +++ b/docs/Demo-Sites.md @@ -0,0 +1,19 @@ +# Demo sites + +Live demo installations of netdata are available at **[https://my-netdata.io](https://my-netdata.io)**: + +Location | netdata demo URL | 60 mins reqs | VM Donated by +:-------:|:-----------------:|:----------:|:------------- +London (UK)|**[london.my-netdata.io](https://london.my-netdata.io)**
(this is the global netdata **registry** and has **named** and **mysql** charts)|[![Requests Per Second](https://london.my-netdata.io/api/v1/badge.svg?chart=netdata.requests&dimensions=requests&after=-3600&options=unaligned&group=sum&label=reqs&units=empty&value_color=blue&precision=0&v42)](https://london.my-netdata.io)|[DigitalOcean.com](https://m.do.co/c/83dc9f941745) +Atlanta (USA)|**[cdn77.my-netdata.io](https://cdn77.my-netdata.io)**
(with **named** and **mysql** charts)|[![Requests Per Second](https://cdn77.my-netdata.io/api/v1/badge.svg?chart=netdata.requests&dimensions=requests&after=-3600&options=unaligned&group=sum&label=reqs&units=empty&value_color=blue&precision=0&v42)](https://cdn77.my-netdata.io)|[CDN77.com](https://www.cdn77.com/) +Israel|**[octopuscs.my-netdata.io](https://octopuscs.my-netdata.io)**|[![Requests Per Second](https://octopuscs.my-netdata.io/api/v1/badge.svg?chart=netdata.requests&dimensions=requests&after=-3600&options=unaligned&group=sum&label=reqs&units=empty&value_color=blue&precision=0&v42)](https://octopuscs.my-netdata.io)|[OctopusCS.com](https://www.octopuscs.com) +Roubaix (France)|**[ventureer.my-netdata.io](https://ventureer.my-netdata.io)**|[![Requests Per Second](https://ventureer.my-netdata.io/api/v1/badge.svg?chart=netdata.requests&dimensions=requests&after=-3600&options=unaligned&group=sum&label=reqs&units=empty&value_color=blue&precision=0&v42)](https://ventureer.my-netdata.io)|[Ventureer.com](https://ventureer.com/) +Madrid (Spain)|**[stackscale.my-netdata.io](https://stackscale.my-netdata.io)**|[![Requests Per Second](https://stackscale.my-netdata.io/api/v1/badge.svg?chart=netdata.requests&dimensions=requests&after=-3600&options=unaligned&group=sum&label=reqs&units=empty&value_color=blue&precision=0&v42)](https://stackscale.my-netdata.io)|[StackScale Spain](https://www.stackscale.es/) +Bangalore (India)|**[bangalore.my-netdata.io](https://bangalore.my-netdata.io)**|[![Requests Per Second](https://bangalore.my-netdata.io/api/v1/badge.svg?chart=netdata.requests&dimensions=requests&after=-3600&options=unaligned&group=sum&label=reqs&units=empty&value_color=blue&precision=0&v42)](https://bangalore.my-netdata.io)|[DigitalOcean.com](https://m.do.co/c/83dc9f941745) +Frankfurt (Germany)|**[frankfurt.my-netdata.io](https://frankfurt.my-netdata.io)**|[![Requests Per Second](https://frankfurt.my-netdata.io/api/v1/badge.svg?chart=netdata.requests&dimensions=requests&after=-3600&options=unaligned&group=sum&label=reqs&units=empty&value_color=blue&precision=0&v42)](https://frankfurt.my-netdata.io)|[DigitalOcean.com](https://m.do.co/c/83dc9f941745) +New York (USA)|**[newyork.my-netdata.io](https://newyork.my-netdata.io)**|[![Requests Per Second](https://newyork.my-netdata.io/api/v1/badge.svg?chart=netdata.requests&dimensions=requests&after=-3600&options=unaligned&group=sum&label=reqs&units=empty&value_color=blue&precision=0&v42)](https://newyork.my-netdata.io)|[DigitalOcean.com](https://m.do.co/c/83dc9f941745) +San Francisco (USA)|**[sanfrancisco.my-netdata.io](https://sanfrancisco.my-netdata.io)**|[![Requests Per Second](https://sanfrancisco.my-netdata.io/api/v1/badge.svg?chart=netdata.requests&dimensions=requests&after=-3600&options=unaligned&group=sum&label=reqs&units=empty&value_color=blue&precision=0&v42)](https://sanfrancisco.my-netdata.io)|[DigitalOcean.com](https://m.do.co/c/83dc9f941745) +Singapore|**[singapore.my-netdata.io](https://singapore.my-netdata.io)**|[![Requests Per Second](https://singapore.my-netdata.io/api/v1/badge.svg?chart=netdata.requests&dimensions=requests&after=-3600&options=unaligned&group=sum&label=reqs&units=empty&value_color=blue&precision=0&v42)](https://singapore.my-netdata.io)|[DigitalOcean.com](https://m.do.co/c/83dc9f941745) +Toronto (Canada)|**[toronto.my-netdata.io](https://toronto.my-netdata.io)**|[![Requests Per Second](https://toronto.my-netdata.io/api/v1/badge.svg?chart=netdata.requests&dimensions=requests&after=-3600&options=unaligned&group=sum&label=reqs&units=empty&value_color=blue&precision=0&v42)](https://toronto.my-netdata.io)|[DigitalOcean.com](https://m.do.co/c/83dc9f941745) + +*Netdata dashboards are mobile and touch friendly.* diff --git a/docs/Donations-netdata-has-received.md b/docs/Donations-netdata-has-received.md new file mode 100644 index 0000000000..9092fb7f4e --- /dev/null +++ b/docs/Donations-netdata-has-received.md @@ -0,0 +1,23 @@ +# Donations + +This is a list of the donations we have received for netdata (sorted alphabetically on their name): + +what donated|related links|who donated|description of the donation +----:|:-----:|:---:|:----------- +Packages Distribution|-|**[PackageCloud.io](https://packagecloud.io/)**|**PackageCloud.io** donated to a free open-source subscription to their awesome Package Distribution services. +Cross Browser Testing|-|**[BrowserStack.com](https://www.browserstack.com/)**|**BrowserStack.com** donated a free subscription to their awesome Browser Testing services (all three of them: Live, Screenshots, Responsive). +Cloud VM|[cdn77.my-netdata.io](http://cdn77.my-netdata.io)|**[CDN77.com](https://www.cdn77.com/)**|**CDN77.com** donated a VM with 2 CPU cores, 4GB RAM and 20GB HD, on their excellent CDN network. +Localization Management|[netdata localization project](https://crowdin.com/project/netdata) (check issue [#279](https://github.com/netdata/netdata/issues/279))|**[Crowdin.com](https://crowdin.com/)**|**Crowdin.com** donated an open source license to their Localization Management Platform. +Cloud VMs|[london.my-netdata.io](https://london.my-netdata.io) (Several VMs)|**[DigitalOcean.com](https://www.digitalocean.com/)**|**DigitalOcean.com** donated 1000 USD to be used in their excellent Cloud Computing services. Many thanks to [Justin Paine](https://github.com/xxdesmus) for making this happen. +Development IDE|-|**[JetBrains.com](https://www.jetbrains.com/)**|**JetBrains.com** donated an open source license for 4 developers for 1 year, to their excellent IDEs. +Cloud VM|[octopuscs.my-netdata.io](https://octopuscs.my-netdata.io)|**[OctopusCS.com](https://octopuscs.com/)**|**OctopusCS.com** donated a VM with 4 CPU cores, 16GB RAM and 50GB HD in their excellent Cloud Computing services. +Cloud VM|[ventureer.my-netdata.io](https://ventureer.my-netdata.io)|**[Ventureer.com](https://ventureer.com/)**|**Ventureer.com** donated a VM with 4 CPU cores, 8GB RAM and 50GB HD in their excellent Cloud Computing services. +Cloud VM|[stackscale.my-netdata.io](https://stackscale.my-netdata.io)|**[stackscale.com](https://www.stackscale.com/)**|**StackScale.com** donated a VM with 4 CPU cores, 16GB RAM and 100GB HD in their excellent Cloud Computing services. + +Thank you! + +--- + +**Do you want to donate?** We are thirsty for on-line services that can help us make netdata better. We also try to build a network of demo sites (VMs) that can help us show the full potential of netdata. + +Please contact me at costa@tsaousis.gr. diff --git a/docs/GettingStarted.md b/docs/GettingStarted.md new file mode 100644 index 0000000000..c16700d9de --- /dev/null +++ b/docs/GettingStarted.md @@ -0,0 +1,180 @@ +# Getting Started + +These are your first steps **after** you have installed netdata. If you haven't installed it already, please check the [installation page](../installer). + +## Accessing the dashboard + +To access the netdata dashboard, navigate with your browser to: + +``` +http://your.server.ip:19999/ +``` + +
Click here, if it does not work. + +**Verify Netdata is running.** + +Open an ssh session to the server and execute `sudo ps -e | grep netdata`. It should respond with the PID of the netdata daemon. If it prints nothing, Netdata is not running. Check the [installation page](../installer) to install it. + +**Verify Netdata responds to HTTP requests.** + +Using the same ssh session, execute `curl -Ss http://localhost:19999`. It should dump on your screen the `index.html` page of the dashboard. If it does not, check the [installation page](../installer) to install it. + +**Verify Netdata receives the HTTP requests.** + +On the same ssh session, execute `tail -f /var/log/netdata/access.log` (if you installed the static 64bit package, use: `tail -f /opt/netdata/var/log/netdata/access.log`). This command will print on your screen all HTTP requests Netdata receives. + +Next, try to access the dashboard using your web browser, using the URL posted above. If nothing is printed on your terminal, the HTTP request is not routed to your Netdata. + +If you are not sure about your server IP, run this for a hint: `ip route get 8.8.8.8 | grep -oP " src [0-9\.]+ "`. It should print the IP of your server. + +If still Netdata does not receive the requests, something is blocking them. A firewall possibly. Please check your network. + +
 
+ +When you install multiple Netdata servers, all your servers will appear at the `my-netdata` menu at the top left of the dashboard. For this to work, you have to manually access just once, the dashboard of each of your netdata servers. + +The `my-netdata` menu is more than just browser bookmarks. When switching Netdata servers from that menu, any settings of the current view are propagated to the other netdata server: + +- the current charts panning (drag the charts left or right), +- the current charts zooming (`SHIFT` + mouse wheel over a chart), +- the highlighted time-frame (`ALT` + select an area on a chart), +- the scrolling position of the dashboard, +- the theme you use, +- etc. + +are all sent over to other netdata server, to allow you troubleshoot cross-server performance issues easily. + +## Starting and stopping Netdata + +Netdata installer integrates Netdata to your init / systemd environment. + +To start/stop Netdata, depending on your environment, you should use: + +- `systemctl start netdata` and `systemctl stop netdata` +- `service netdata start` and `service netdata stop` +- `/etc/init.d/netdata start` and `/etc/init.d/netdata stop` + +Once netdata is installed, the installer configures it to start at boot and stop at shutdown. + +For more information about using these commands, consult your system documentation. + +## Sizing Netdata + +The default installation of netdata is configured for a small round-robin database: just 1 hour of data. Depending on the memory your system has and the amount you can dedicate to Netdata, you should adapt this. On production systems with limited RAM, we suggest to set this to 3-4 hours. For best results you should set this to 24 or 48 hours. + +For every hour of data, Netdata needs about 25MB of RAM. If you can dedicate about 100MB of RAM to netdata, you should set its database size to 4 hours. + +To do this, edit `/etc/netdata/netdata.conf` (or `/opt/netdata/etc/netdata/netdata.conf`) and set: + +``` +[global] + history = SECONDS +``` + +Make sure the `history` line is not commented (comment lines start with `#`). + +1 hour is 3600 seconds, so the number you need to set is the result of `HOURS * 3600`. + +!!! danger + Be careful when you set this on production systems. If you set it too high, your system may run out of memory. By default, netdata is configured to be killed first when the system starves for memory, but better be careful to avoid issues. + +For more information about Netdata memory requirements, [check this page](../database). + +If your kernel supports KSM (most do), you can [enable KSM to half netdata memory requirement](../database#ksm). + +## Service discovery and auto-detection + +Netdata supports auto-detection of data collection sources. It auto-detects almost everything: database servers, web servers, dns server, etc. + +This auto-detection process happens **only once**, when netdata starts. To have Netdata re-discover data sources, you need to restart it. There are a few exceptions to this: + +- containers and VMs are auto-detected forever (when Netdata is running at the host). +- many data sources are collected but are silenced by default, until there is useful information to collect (for example network interface dropped packet, will appear after a packet has been dropped). +- services that are not optimal to collect on all systems, are disabled by default. +- services we received feedback from users that caused issues when monitored, are also disabled by default (for example, `chrony` is disabled by default, because CentOS ships a version of it that uses 100% CPU when queried for statistics). + +Once a data collection source is detected, netdata will never quit trying to collect data from it, until Netdata is restarted. So, if you stop your web server, netdata will pick it up automatically when it is started again. + +Since Netdata is installed on all your systems (even inside containers), auto-detection is limited to `localhost`. This simplifies significantly the security model of a Netdata monitored infrastructure, since most applications allow `localhost` access by default. + +A few well known data collection sources that commonly need to be configured are: + +- [systemd services utilization](../collectors/cgroups.plugin/#monitoring-systemd-services) are not exposed by default on most systems, so `systemd` has to be configured to expose those metrics. + +## Configuration quick start + +In netdata we have: + +- **internal** data collection plugins (running inside the netdata daemon) +- **external** data collection plugins (independent processes, sending data to netdata over pipes) +- modular plugin **orchestrators** (external plugins that have multiple data collection modules) + +You can enable and disable plugins (internal and external) via `netdata.conf` at the section `[plugins]`. + +All plugins have dedicated sections in `netdata.conf`, like `[plugin:XXX]` for overwriting their default data collection frequency and providing additional command line options to them. + +All external plugins have their own `.conf` file. + +All modular plugin orchestrators have a directory in `/etc/netdata` with a `.conf` file for each of their modules. + +It is complex. So, let's see the whole configuration tree for the `nginx` module of `python.d.plugin`: + +In `netdata.conf` at the `[plugins]` section, `python.d.plugin` can be enabled or disabled: + +``` +[plugins] + python.d = yes +``` + +In `netdata.conf` at the `[plugin:python.d]` section, we can provide additional command line options for `python.d.plugin` and overwite its data collection frequency: + +``` +[plugin:python.d] + update every = 1 + command options = +``` + +`python.d.plugin` has its own configuration file for enabling and disabling its modules (here you can disable `nginx` for example): + +```bash +sudo /etc/netdata/edit-config python.d.conf +``` + +Then, `nginx` has its own configuration file for configuring its data collection jobs (most modules can collect data from multiple sources, so the `nginx` module can collect metrics from multiple, local or remote, `nginx` servers): + +```bash +sudo /etc/netdata/edit-config python.d/nginx.conf +``` + +## Health monitoring and alarms + +Netdata ships hundreds of health monitoring alarms for detecting anomalies. These are optimized for production servers. + +Many users install netdata on workstations and are frustrated by the default alarms shipped with netdata. On these cases, we suggest to disable health monitoring. + +To disable it, edit `/etc/netdata/netdata.conf` (or `/opt/netdata/etc/netdata/netdata.conf` if you installed the static 64bit package) and set: + +``` +[health] + enabled = no +``` + +The above will disable health monitoring entirely. + +If you want to keep health monitoring enabled for the dashboard, but you want to disable email notifications, run this: + +```bash +sudo /etc/netdata/edit-config health_alarm_notify.conf +``` + +and set `SEND_EMAIL="NO"`. + +(For static 64bit installations use `sudo /opt/netdata/etc/netdata/edit-config health_alarm_notify.conf`). + +## What is next? + +- Check [Data Collection](../collectors) for configuring data collection plugins. +- Check [Health Monitoring](../health) for configuring your own alarms, or setting up alarm notifications. +- Check [Streaming](../streaming) for centralizing netdata metrics. +- Check [Backends](../backends) for long term archiving of netdata metrics to time-series databases. diff --git a/docs/Netdata-Security-and-Disclosure-Information.md b/docs/Netdata-Security-and-Disclosure-Information.md new file mode 100644 index 0000000000..86adfeeb93 --- /dev/null +++ b/docs/Netdata-Security-and-Disclosure-Information.md @@ -0,0 +1,37 @@ +# Netdata Security and Disclosure Information + +This page describes netdata security and disclosure information. + +## Security Announcements + +Every time a security issue is fixed in netdata, we immediately release a new version of it. So, to get notified of all security incidents, please subscribe to our releases on github. + +## Report a Vulnerability + +We’re extremely grateful for security researchers and users that report vulnerabilities to Netdata Open Source Community. All reports are thoroughly investigated by a set of community volunteers. + +To make a report, please email the private [security@netdata.cloud](mailto:security@netdata.cloud) list with the security details and the details expected for [all netdata bug reports](../.github/ISSUE_TEMPLATE/bug_report.md). + +## When Should I Report a Vulnerability? + +- You think you discovered a potential security vulnerability in Netdata +- You are unsure how a vulnerability affects Netdata +- You think you discovered a vulnerability in another project that Netdata depends on (e.g. python, node, etc) + +### When Should I NOT Report a Vulnerability? + +- You need help tuning Netdata for security +- You need help applying security related updates +- Your issue is not security related + +## Security Vulnerability Response + +Each report is acknowledged and analyzed by Netdata Team members within 3 working days. This will set off a Security Release Process. + +Any vulnerability information shared with