Refactor collectors documentation (#7996)
* Initializing new structure * Continuing with cleanup * Modify old plugins conf * Get rid of Add-more-charts and move links over * More cleanup, add add-more-charts back in, build OK * Cleanup and move content to reference * Finish quickstart, add troubleshooting * Sync what-is-netdata and fix typos * Tweaks * Finish quickstart, revamp collectors * One more fix
Joel Hans committed
Feb 12, 2020 at 09:05 UTC
6430ad1211fb5b3274240276d6fb25840c2db979
13 files changed
+617
-1078
DOCUMENTATION.md
+2
-2
@@ -61,8 +61,8 @@ feel free to see what's behind any of these other doors.
61
long-term metrics storage database by allowing Netdata to use more of your system's RAM and disk.
62
- [Netdata Behind Nginx](docs/Running-behind-nginx.md): Use an Nginx web server instead of Netdata's built-in server
63
to enable TLS, HTTPS, and basic authentication.
64
-- [Add More Charts](docs/Add-more-charts-to-netdata.md): Enable new internal or external plugins and understand when
65
- auto-detection works.
64
+- [Collect more metrics](collectors/README.md) from other services and applications: Enable new internal
65
+ or external plugins and understand when auto-detection works.
66
- [Performance](docs/Performance.md): Tips on running Netdata on devices with limited CPU and RAM resources, such as
67
embedded devices, IoT, and edge devices.
68
- [Streaming](streaming/): Information for those who want to centralize Netdata metrics from any number of distributed
README.md
+10
-259
@@ -52,7 +52,7 @@ Netdata!](https://img.shields.io/twitter/url/http/shields.io.svg?style=social&la
52
7. [Infographic](#infographic) - Everything about Netdata in a single graphic
53
8. [Features](#features) - How you'll use Netdata on your systems
54
9. [Visualization](#visualization) - Learn about visual anomaly detection
55
-10. [What does it monitor?](#what-does-it-monitor) - See which apps/services Netdata auto-detects
55
+10. [What Netdata monitors](#what-netdata-monitors) - See which apps/services Netdata auto-detects
56
11. [Documentation](#documentation) - Read the documentation
57
12. [Community](#community) - Discuss Netdata with others and get support
58
13. [License](#license) - Check Netdata's licencing
@@ -381,268 +381,19 @@ same range on all charts._
381
> Highlighted ranges are propagated from Netdata server to Netdata server, when navigating via the [My nodes
382
> menu](registry/README.md).
383
384
-## What does it monitor
385
-
386
-Netdata data collection is **extensible**. You can monitor anything you can get a metric for. Our [plugin
387
-API](collectors/plugins.d/) supports a variety of programming languages to make nearly anything a Netdata plugin: Go,
388
-Python, Node.js, Ruby, Java, Bash, Perl, and more!
389
-
390
-- For better performance, most system-related plugins (CPU, memory, disks, filesystems, networking, etc) have been
391
- written in C.
392
-- For faster development and easier contributions, most application related plugins (databases, web servers, etc) have
393
- been written in Go and Python.
394
-
395
-### APM (Application Performance Monitoring)
396
-
397
-- **[statsd](collectors/statsd.plugin/)** - Netdata is a fully featured statsd server.
398
-- **[Go expvar](collectors/python.d.plugin/go_expvar/)** - collects metrics exposed by applications written in the Go
399
- programming language using the expvar package.
400
-- **[Spring Boot](collectors/python.d.plugin/springboot/)** - monitors running Java Spring Boot applications that
401
- expose their metrics with the use of the Spring Boot Actuator included in Spring Boot library.
402
-- **[uWSGI](collectors/python.d.plugin/uwsgi/)** - collects performance metrics from uWSGI applications.
403
-
404
-### System Resources
405
-
406
-- **[CPU Utilization](collectors/proc.plugin/)** - total and per core CPU usage.
407
-- **[Interrupts](collectors/proc.plugin/)** - total and per core CPU interrupts.
408
-- **[SoftIRQs](collectors/proc.plugin/)** - total and per core SoftIRQs.
409
-- **[SoftNet](collectors/proc.plugin/)** - total and per core SoftIRQs related to network activity.
410
-- **[CPU Throttling](collectors/proc.plugin/)** - collects per core CPU throttling.
411
-- **[CPU Frequency](collectors/proc.plugin/)** - collects the current CPU frequency.
412
-- **[CPU Idle](collectors/proc.plugin/)** - collects the time spent per processor state.
413
-- **[IdleJitter](collectors/idlejitter.plugin/)** - measures CPU latency.
414
-- **[Entropy](collectors/proc.plugin/)** - random numbers pool, using in cryptography.
415
-- **[Interprocess Communication - IPC](collectors/proc.plugin/)** - such as semaphores and semaphores arrays.
416
-
417
-### Memory
418
-
419
-- **[ram](collectors/proc.plugin/)** - collects info about RAM usage.
420
-- **[swap](collectors/proc.plugin/)** - collects info about swap memory usage.
421
-- **[available memory](collectors/proc.plugin/)** - collects the amount of RAM available for userspace processes.
422
-- **[committed memory](collectors/proc.plugin/)** - collects the amount of RAM committed to userspace processes.
423
-- **[Page Faults](collectors/proc.plugin/)** - collects the system page faults (major and minor).
424
-- **[writeback memory](collectors/proc.plugin/)** - collects the system dirty memory and writeback activity.
425
-- **[huge pages](collectors/proc.plugin/)** - collects the amount of RAM used for huge pages.
426
-- **[KSM](collectors/proc.plugin/)** - collects info about Kernel Same Merging (memory dedupper).
427
-- **[Numa](collectors/proc.plugin/)** - collects Numa info on systems that support it.
428
-- **[slab](collectors/proc.plugin/)** - collects info about the Linux kernel memory usage.
429
-
430
-### Disks
431
-
432
-- **[block devices](collectors/proc.plugin/)** - per disk: I/O, operations, backlog, utilization, space, etc.
433
-- **[BCACHE](collectors/proc.plugin/)** - detailed performance of SSD caching devices.
434
-- **[DiskSpace](collectors/proc.plugin/)** - monitors disk space usage.
435
-- **[mdstat](collectors/proc.plugin/)** - software RAID.
436
-- **[hddtemp](collectors/python.d.plugin/hddtemp/)** - disk temperatures.
437
-- **[smartd](collectors/python.d.plugin/smartd_log/)** - disk S.M.A.R.T. values.
438
-- **[device mapper](collectors/proc.plugin/)** - naming disks.
439
-- **[Veritas Volume Manager](collectors/proc.plugin/)** - naming disks.
440
-- **[megacli](collectors/python.d.plugin/megacli/)** - adapter, physical drives and battery stats.
441
-- **[adaptec_raid](collectors/python.d.plugin/adaptec_raid/)** - logical and physical devices health metrics.
442
-- **[ioping](collectors/ioping.plugin/)** - to measure disk read/write latency.
443
-
444
-### Filesystems
445
-
446
-- **[BTRFS](collectors/proc.plugin/)** - detailed disk space allocation and usage.
447
-- **[Ceph](collectors/python.d.plugin/ceph/)** - OSD usage, Pool usage, number of objects, etc.
448
-- **[NFS file servers and clients](collectors/proc.plugin/)** - NFS v2, v3, v4: I/O, cache, read ahead, RPC calls
449
-- **[Samba](collectors/python.d.plugin/samba/)** - performance metrics of Samba SMB2 file sharing.
450
-- **[ZFS](collectors/proc.plugin/)** - detailed performance and resource usage.
451
-
452
-### Networking
453
-
454
-- **[Network Stack](collectors/proc.plugin/)** - everything about the networking stack (both IPv4 and IPv6 for all
455
- protocols: TCP, UDP, SCTP, UDPLite, ICMP, Multicast, Broadcast, etc), and all network interfaces (per interface:
456
- bandwidth, packets, errors, drops).
457
-- **[Netfilter](collectors/proc.plugin/)** - everything about the netfilter connection tracker.
458
-- **[SynProxy](collectors/proc.plugin/)** - collects performance data about the linux SYNPROXY (DDoS).
459
-- **[NFacct](collectors/nfacct.plugin/)** - collects accounting data from iptables.
460
-- **[Network QoS](collectors/tc.plugin/)** - the only tool that visualizes network `tc` classes in real-time.
461
-- **[FPing](collectors/fping.plugin/)** - to measure latency and packet loss between any number of hosts.
462
-- **[ISC dhcpd](collectors/python.d.plugin/isc_dhcpd/)** - pools utilization, leases, etc.
463
-- **[AP](collectors/charts.d.plugin/ap/)** - collects Linux access point performance data (`hostapd`).
464
-- **[SNMP](collectors/node.d.plugin/snmp/)** - SNMP devices can be monitored too (although you will need to configure
465
- these).
466
-- **[port_check](collectors/python.d.plugin/portcheck/)** - checks TCP ports for availability and response time.
467
-
468
-### Virtual Private Networks
469
-
470
-- **[OpenVPN](collectors/python.d.plugin/ovpn_status_log/)** - collects status per tunnel.
471
-- **[LibreSwan](collectors/charts.d.plugin/libreswan/)** - collects metrics per IPSEC tunnel.
472
-- **[Tor](collectors/python.d.plugin/tor/)** - collects Tor traffic statistics.
473
-
474
-### Processes
475
-
476
-- **[System Processes](collectors/proc.plugin/)** - running, blocked, forks, active.
477
-- **[Applications](collectors/apps.plugin/)** - by grouping the process tree and reporting CPU, memory, disk reads,
478
- disk writes, swap, threads, pipes, sockets - per process group.
479
-- **[systemd](collectors/cgroups.plugin/)** - monitors systemd services using CGROUPS.
480
-
481
-### Users
482
-
483
-- **[Users and User Groups resource usage](collectors/apps.plugin/)** - by summarizing the process tree per user and
484
- group, reporting: CPU, memory, disk reads, disk writes, swap, threads, pipes, sockets.
485
-- **[logind](collectors/python.d.plugin/logind/)** - collects sessions, users and seats connected.
486
-
487
-### Containers and VMs
488
-
489
-- **[Containers](collectors/cgroups.plugin/)** - collects resource usage for all kinds of containers, using CGROUPS
490
- (systemd-nspawn, lxc, lxd, docker, kubernetes, etc).
491
-- **[libvirt VMs](collectors/cgroups.plugin/)** - collects resource usage for all kinds of VMs, using CGROUPS.
492
-- **[dockerd](collectors/python.d.plugin/dockerd/)** - collects docker health metrics.
493
-
494
-### Web Servers
495
-
496
-- **[Apache and lighttpd](collectors/python.d.plugin/apache/)** - `mod-status` (v2.2, v2.4) and cache log statistics,
497
- for multiple servers.
498
-- **[IPFS](collectors/python.d.plugin/ipfs/)** - bandwidth, peers.
499
-- **[LiteSpeed](collectors/python.d.plugin/litespeed/)** - reads the litespeed rtreport files to collect metrics.
500
-- **[Nginx](collectors/python.d.plugin/nginx/)** - `stub-status`, for multiple servers.
501
-- **[Nginx+](collectors/python.d.plugin/nginx_plus/)** - connects to multiple nginx_plus servers (local or remote) to
502
- collect real-time performance metrics.
503
-- **[PHP-FPM](collectors/python.d.plugin/phpfpm/)** - multiple instances, each reporting connections, requests,
504
- performance, etc.
505
-- **[Tomcat](collectors/python.d.plugin/tomcat/)** - accesses, threads, free memory, volume, etc.
506
-- **[web server `access.log` files](collectors/python.d.plugin/web_log/)** - extracting in real-time, web server and
507
- proxy performance metrics and applying several health checks, etc.
508
-- **[HTTP check](collectors/python.d.plugin/httpcheck/)** - checks one or more web servers for HTTP status code and
509
- returned content.
510
-
511
-### Proxies, Balancers, Accelerators
512
-
513
-- **[HAproxy](collectors/python.d.plugin/haproxy/)** - bandwidth, sessions, backends, etc.
514
-- **[Squid](collectors/python.d.plugin/squid/)** - multiple servers, each showing: clients bandwidth and requests,
515
- servers bandwidth and requests.
516
-- **[Traefik](collectors/python.d.plugin/traefik/)** - connects to multiple traefik instances (local or remote) to
517
- collect API metrics (response status code, response time, average response time and server uptime).
518
-- **[Varnish](collectors/python.d.plugin/varnish/)** - threads, sessions, hits, objects, backends, etc.
519
-- **[IPVS](collectors/proc.plugin/)** - collects metrics from the Linux IPVS load balancer.
520
-
521
-### Database Servers
522
-
523
-- **[CouchDB](collectors/python.d.plugin/couchdb/)** - reads/writes, request methods, status codes, tasks,
524
- replication, per-db, etc.
525
-- **[MemCached](collectors/python.d.plugin/memcached/)** - multiple servers, each showing: bandwidth, connections,
526
- items, etc.
527
-- **[MongoDB](collectors/python.d.plugin/mongodb/)** - operations, clients, transactions, cursors, connections,
528
- asserts, locks, etc.
529
-- **[MySQL and mariadb](collectors/python.d.plugin/mysql/)** - multiple servers, each showing: bandwidth, queries/s,
530
- handlers, locks, issues, tmp operations, connections, binlog metrics, threads, innodb metrics, and more.
531
-- **[PostgreSQL](collectors/python.d.plugin/postgres/)** - multiple servers, each showing: per database statistics
532
- (connections, tuples read - written - returned, transactions, locks), backend processes, indexes, tables, write
533
- ahead, background writer and more.
534
-- **[Proxy SQL](collectors/python.d.plugin/proxysql/)** - collects Proxy SQL backend and frontend performance metrics.
535
-- **[Redis](collectors/python.d.plugin/redis/)** - multiple servers, each showing: operations, hit rate, memory, keys,
536
- clients, slaves.
537
-- **[RethinkDB](collectors/python.d.plugin/rethinkdbs/)** - connects to multiple rethinkdb servers (local or remote)
538
- to collect real-time metrics.
384
+## What Netdata monitors
385
540
-### Message Brokers
386
+Netdata can collect metrics from 200+ popular services and applications, on top of dozens of system-related metrics
387
+jocs, such as CPU, memory, disks, filesystems, networking, and more. We call these **collectors**, and they're managed
388
+by [**plugins**](collectors/plugins.d/), which support a variety of programming languages, including Go and Python.
389
542
-- **[beanstalkd](collectors/python.d.plugin/beanstalk/)** - global and per tube monitoring.
543
-- **[RabbitMQ](collectors/python.d.plugin/rabbitmq/)** - performance and health metrics.
390
+Popular collectors include **Nginx**, **Apache**, **MySQL**, **statsd**, **cgroups** (containers, Docker, Kubernetes,
391
+LXC, and more), **Traefik**, **web server `access.log` files**, and much more.
392
545
-### Search and Indexing
393
+See the **full list of [supported collectors](collectors/COLLECTORS.md)**.
394
547
-- **[ElasticSearch](collectors/python.d.plugin/elasticsearch/)** - search and index performance, latency, timings,
548
- cluster statistics, threads statistics, etc.
549
-
550
-### DNS Servers
551
-
552
-- **[bind_rndc](collectors/python.d.plugin/bind_rndc/)** - parses `named.stats` dump file to collect real-time
553
- performance metrics. All versions of bind after 9.6 are supported.
554
-- **[dnsdist](collectors/python.d.plugin/dnsdist/)** - performance and health metrics.
555
-- **[ISC Bind (named)](collectors/node.d.plugin/named/)** - multiple servers, each showing: clients, requests,
556
- queries, updates, failures and several per view metrics. All versions of bind after 9.9.10 are supported.
557
-- **[NSD](collectors/python.d.plugin/nsd/)** - queries, zones, protocols, query types, transfers, etc.
558
-- **[PowerDNS](collectors/python.d.plugin/powerdns/)** - queries, answers, cache, latency, etc.
559
-- **[dns_query_time](collectors/python.d.plugin/dns_query_time/)** - DNS query time statistics.
560
-
561
-### Time Servers
562
-
563
-- **[chrony](collectors/python.d.plugin/chrony/)** - uses the `chronyc` command to collect chrony statistics
564
- (Frequency, Last offset, RMS offset, Residual freq, Root delay, Root dispersion, Skew, System time).
565
-- **[ntpd](collectors/python.d.plugin/ntpd/)** - connects to multiple ntpd servers (local or remote) to provide
566
- statistics of system variables and optional also peer variables.
567
-
568
-### Mail Servers
569
-
570
-- **[Dovecot](collectors/python.d.plugin/dovecot/)** - POP3/IMAP servers.
571
-- **[Exim](collectors/python.d.plugin/exim/)** - message queue (emails queued).
572
-- **[Postfix](collectors/python.d.plugin/postfix/)** - message queue (entries, size).
573
-
574
-### Hardware Sensors
575
-
576
-- **[IPMI](collectors/freeipmi.plugin/)** - enterprise hardware sensors and events.
577
-- **[lm-sensors](collectors/python.d.plugin/sensors/)** - temperature, voltage, fans, power, humidity, etc.
578
-- **[Nvidia](collectors/python.d.plugin/nvidia_smi/)** - collects information for Nvidia GPUs.
579
-- **[RPi](collectors/charts.d.plugin/sensors/)** - Raspberry Pi temperature sensors.
580
-- **[w1sensor](collectors/python.d.plugin/w1sensor/)** - collects data from connected 1-Wire sensors.
581
-
582
-### UPSes
583
-
584
-- **[apcupsd](collectors/charts.d.plugin/apcupsd/)** - load, charge, battery voltage, temperature, utility metrics,
585
- output metrics.
586
-- **[NUT](collectors/charts.d.plugin/nut/)** - load, charge, battery voltage, temperature, utility metrics, output
587
- metrics.
588
-- **[Linux Power Supply](collectors/proc.plugin/)** - collects metrics reported by power supply drivers on Linux.
589
-
590
-### Social Sharing Servers
591
-
592
-- **[RetroShare](collectors/python.d.plugin/retroshare/)** - connects to multiple retroshare servers (local or remote)
593
- to collect real-time performance metrics.
594
-
595
-### Security
596
-
597
-- **[Fail2Ban](collectors/python.d.plugin/fail2ban/)** - monitors the fail2ban log file to check all bans for all
598
- active jails.
599
-
600
-### Authentication, Authorization, Accounting (AAA, RADIUS, LDAP) Servers
601
-
602
-- **[FreeRadius](collectors/python.d.plugin/freeradius/)** - uses the `radclient` command to provide freeradius
603
- statistics (authentication, accounting, proxy-authentication, proxy-accounting).
604
-
605
-### Telephony Servers
606
-
607
-- **[opensips](collectors/charts.d.plugin/opensips/)** - connects to an opensips server (localhost only) to collect
608
- real-time performance metrics.
609
-
610
-### Household Appliances
611
-
612
-- **[SMA webbox](collectors/node.d.plugin/sma_webbox/)** - connects to multiple remote SMA webboxes to collect
613
- real-time performance metrics of the photovoltaic (solar) power generation.
614
-- **[Fronius](collectors/node.d.plugin/fronius/)** - connects to multiple remote Fronius Symo servers to collect
615
- real-time performance metrics of the photovoltaic (solar) power generation.
616
-- **[StiebelEltron](collectors/node.d.plugin/stiebeleltron/)** - collects the temperatures and other metrics from your
617
- Stiebel Eltron heating system using their Internet Service Gateway (ISG web).
618
-
619
-### Game Servers
620
-
621
-- **[SpigotMC](collectors/python.d.plugin/spigotmc/)** - monitors Spigot Minecraft server ticks per second and number
622
- of online players using the Minecraft remote console.
623
-
624
-### Distributed Computing
625
-
626
-- **[BOINC](collectors/python.d.plugin/boinc/)** - monitors task states for local and remote BOINC client software
627
- using the remote GUI RPC interface. Also provides alarms for a handful of error conditions.
628
-
629
-### Media Streaming Servers
630
-
631
-- **[IceCast](collectors/python.d.plugin/icecast/)** - collects the number of listeners for active sources.
632
-
633
-### Monitoring Systems
634
-
635
-- **[Monit](collectors/python.d.plugin/monit/)** - collects metrics about monit targets (filesystems, applications,
636
- networks).
637
-
638
-### Provisioning Systems
639
-
640
-- **[Puppet](collectors/python.d.plugin/puppet/)** - connects to multiple Puppet Server and Puppet DB instances (local
641
- or remote) to collect real-time status metrics.
642
-
643
-You can easily extend Netdata, by writing plugins that collect data from any source, using any computer language.
644
-
645
----
395
+Netdata's data collection is **extensible**, which means you can monitor anything you can get a metric for. You can even
396
+write a collector for your custom application using our [plugin API](collectors/plugins.d/README.md).
397
398
## Documentation
399
collectors/COLLECTORS.md
new
+209
@@ -0,0 +1,209 @@
1
+# Supported collectors list
2
+
3
+Netdata uses collectors to help you gather metrics from your favorite applications and services and view them in
4
+real-time, interactive charts. The following list includes collectors for both internal system metrics, and external
5
+apps/services metrics.
6
+
7
+Read more about collectors and how to enable them in our [collectors documentation](README.md), or use the [collector
8
+quickstart](QUICKSTART.md) to figure out how to collect metrics from your favorite app/service with auto-detection and
9
+minimal configuration.
10
+
11
+If you don't see the app/service you'd like to monitor here, check out our [GitHub
12
+issues](https://github.com/netdata/netdata/issues). Use the search bar to look for previous discussions about that
13
+collector—we may be looking for contributions from users such as yourself!
14
+
15
+- [Internal plugins](#internal-plugins)
16
+- [External plugins](#external-plugins)
17
+- [Collector modules (via plugin orchestrators)](#collector-modules-via-plugin-orchestrators)
18
+ - [charts.d.plugin (Bash)](#bash-chartsd)
19
+ - [go.d.plugin (Go)](#go-god)
20
+ - [node.d.plugin (NodeJS)](#nodejs-noded)
21
+ - [python.d.plugin (Python)](#python-pythond)
22
+- [Third-party plugins](#third-party-plugins)
23
+
24
+## Internal plugins
25
+
26
+| plugin | O/S | Description |
27
+| :------------------------------------------------| :-------| :------------------------------------------------------------------------------------------|
28
+| [cgroups.plugin](cgroups.plugin/README.md) | Linux | Collects resource usage of containers, libvirt VMs, and systemd services on Linux systems. |
29
+| [checks.plugin](checks.plugin/README.md) | any | A debugging plugin. |
30
+| [diskspace.plugin](diskspace.plugin/README.md) | Linux | Collects disk space usage metrics on Linux mount points. |
31
+| [freebsd.plugin](freebsd.plugin/README.md) | FreeBSD | Collects resource usage and performance data on FreeBSD systems. |
32
+| [idlejitter.plugin](idlejitter.plugin/README.md) | any | Measures CPU latency and jitter on all operating systems. |
33
+| [macos.plugin](macos.plugin/README.md) | macos | Collects resource usage and performance data on MacOS systems. |
34
+| [proc.plugin](proc.plugin/README.md) | Linux | Collects resource usage and performance data on Linux systems. |
35
+| [slabinfo.plugin](slabinfo.plugin/README.md) | Linux | Collects kernel SLAB details on Linux systems. |
36
+| [statsd.plugin](statsd.plugin/README.md) | any | Implements a high performance `statsd` server for Netdata. |
37
+| [tc.plugin](tc.plugin/README.md) | Linux | Collects traffic QoS metrics (`tc`) of Linux network interfaces. |
38
+| [xenstat.plugin](xenstat.plugin/README.md) | Linux | Collects XenServer and XCP-ng metrics using `libxenstat`. |
39
+
40
+## External plugins
41
+
42
+| plugin | O/S | Description |
43
+| :-----------------------------------------------------| :------------- | :-------------------------------------------------------------------------------------------------------------------------- |
44
+| [apps.plugin](apps.plugin/README.md) | Linux, FreeBSD | Monitors the whole process tree on Linux and FreeBSD and breaks down system resource usage by process, user and user group. |
45
+| [charts.d.plugin](charts.d.plugin/README.md) | any | A plugin orchestrator for data collection modules written in `bash` v4+. |
46
+| [cups.plugin](cups.plugin/README.md) | any | Monitors CUPS. |
47
+| [fping.plugin](fping.plugin/README.md) | any | Measures network latency, jitter and packet loss between the monitored node and any number of remote network end points. |
48
+| [freeipmi.plugin](freeipmi.plugin/README.md) | Linux, FreeBSD | Collects metrics from enterprise hardware sensors, on Linux and FreeBSD servers. |
49
+| [go.d.plugin](https://github.com/netdata/go.d.plugin) | any | A plugin orchestrator for data collection modules written in `go`. |
50
+| [ioping.plugin](ioping.plugin/README.md) | any | Measures disk read/write latency. |
51
+| [nfacct.plugin](nfacct.plugin/README.md) | Linux | Collects netfilter firewall, connection tracker and accounting metrics using `libmnl` and `libnetfilter_acct`. |
52
+| [node.d.plugin](node.d.plugin/README.md) | any | A plugin orchestrator for data collection modules written in `node.js`. |
53
+| [perf.plugin](perf.plugin/README.md) | Linux | Collects CPU performance metrics using performance monitoring units (PMU). |
54
+| [python.d.plugin](python.d.plugin/README.md) | any | A plugin orchestrator for data collection modules written in `python` v2/v3. |
55
+
56
+## Collector modules (via plugin orchestrators)
57
+
58
+### Bash (`charts.d`)
59
+
60
+| Name | Monitors | Description |
61
+| :----------------------------------------------- | :-------------------------------------- | :----------------------------------------------------------------------------------------------------------- |
62
+| [ap](charts.d.plugin/ap/README.md) | `Access Points` | Monitors client, traffic and signal metrics using `aw` tool. |
63
+| [apcupsd](charts.d.plugin/apcupsd/README.md) | `APC UPSes` | Retrieves status information using `apcaccess` tool. |
64
+| [example](charts.d.plugin/example/README.md) | - | - |
65
+| [libreswan](charts.d.plugin/libreswan/README.md) | `Libreswan IPSEC Tunnels` | Collects bytes-in, bytes-out and uptime metrics. |
66
+| [nut](charts.d.plugin/nut/README.md) | `UPS Servers` | Polls the status using `upsc` tool. |
67
+| [opensips](charts.d.plugin/opensips/README.md) | [`OpenSIPS`](https://www.opensips.org/) | Collects server health and performance metrics using the `opensipsctl` tool. |
68
+| [sensors](charts.d.plugin/sensors/README.md) | `Linux Machines Sensors` | reads system sensors information (temperature, voltage, electric current, power, etc.) from `/sys/devices/`. |
69
+
70
+### Go (`go.d`)
71
+
72
+| Name | Monitors | Description |
73
+| :----------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------|
74
+| [activemq](go.d.plugin/modules/activemq/README.md) | [`ActiveMQ`](https://activemq.apache.org/) | Collects message broker queues and topics statistics using ActiveMQ Console API. |
75
+| [apache](go.d.plugin/modules/apache/README.md) | [`Apache`](https://httpd.apache.org/) | Collects web server performance metrics via `server-status?auto` endpoint. |
76
+| [bind](go.d.plugin/modules/bind/README.md) | [`ISC Bind`](https://www.isc.org/bind/) | Collects Name server summary performance statistics via web interface (`statistics-channels` feature). |
77
+| [cockroachdb](go.d.plugin/modules/cockroachdb/README.md) | [`CockroachDB`](https://www.cockroachlabs.com/) | Monitors various database components using `_status/vars` endpoint. |
78
+| [consul](go.d.plugin/modules/consul/README.md) | [`Consul`](https://www.consul.io/) | Reports service and unbound checks status (passing, warning, critical, maintenance). |
79
+| [coredns](go.d.plugin/modules/coredns/README.md) | [`CoreDNS`](https://coredns.io/) | Collects Name server summary, per server and per zone metrics. |
80
+| [dns_query](go.d.plugin/modules/dnsquery/README.md) | `DNS Query RTT` | Measures DNS query round trip time. |
81
+| [dnsmasq_dhcp](go.d.plugin/modules/dnsmasq_dhcp/README.md) | [`Dnsmasq`](http://www.thekelleys.org.uk/dnsmasq/doc.html) | Automatically detects all configured `Dnsmasq` DHCP ranges and Monitors their utilization. |
82
+| [docker_engine](go.d.plugin/modules/docker_engine/README.md) | [`Docker Engine`](https://docs.docker.com/engine/) | Collects runtime statistics from `Docker` daemon (`metrics-address` feature). |
83
+| [dockerhub](go.d.plugin/modules/dockerhub/README.md) | [`Docker Hub`](https://hub.docker.com/) | Collects docker repositories statistics (pulls, starts, status, time since last update). |
84
+| [fluentd](go.d.plugin/modules/fluentd/README.md) | [`Fluentd`](https://www.fluentd.org/) | Gathers application plugins metrics from endpoint provided by `in_monitor plugin`. |
85
+| [freeradius](go.d.plugin/modules/freeradius/README.md) | [`FreeRADIUS`](https://freeradius.org/) | Collects server authentication and accounting statistics from `status server`. |
86
+| [hdfs](go.d.plugin/modules/hdfs/README.md) | [`HDFS`](https://hadoop.apache.org/docs/r1.2.1/hdfs_design.html) | Monitors file system datanodes and namenodes health and performance metrics. |
87
+| [httpcheck](go.d.plugin/modules/httpcheck/README.md) | `HTTP Endpoint` | Monitors http endpoint availability and response time. |
88
+| [k8s_kubelet](go.d.plugin/modules/k8s_kubelet/README.md) | [`Kubelet`](https://kubernetes.io/docs/concepts/overview/components/#kubelet) | Collects application health and performance metrics. |
89
+| [k8s_kubeproxy](go.d.plugin/modules/k8s_kubeproxy/README.md) | [`Kube-proxy`](https://kubernetes.io/docs/concepts/overview/components/#kube-proxy) | Collects application health and performance metrics. |
90
+| [lighttpd](go.d.plugin/modules/lighttpd/README.md) | [`Lighttpd`](https://www.lighttpd.net/) | Collects web server performance metrics via `server-status?auto` endpoint. |
91
+| [lighttpd2](go.d.plugin/modules/lighttpd2/README.md) | [`Lighttpd2`](https://redmine.lighttpd.net/projects/lighttpd2) | Collects web server performance metrics via `erver-status?format=plain` endpoint. |
92
+| [logstash](go.d.plugin/modules/logstash/README.md) | [`Logstash`](https://www.elastic.co/logstash) | Monitors application JVM memory usage ang GC statistics. |
93
+| [mysql](go.d.plugin/modules/mysql/README.md) | [`MySQL`](https://www.mysql.com/) | Collects database global and replication metrics. |
94
+| [nginx](go.d.plugin/modules/nginx/README.md) | [`NGINX`](https://www.nginx.com/) | Monitors web server status information. Information is provided by `ngx_http_stub_status_module`. |
95
+| [openvpn](go.d.plugin/modules/openvpn/README.md) | [`OpenVPN`](https://openvpn.net/) | Gathers server summary (client, traffic) and per user metrics (traffic, connection time) stats using `management-interface`. |
96
+| [phpdaemon](go.d.plugin/modules/phpdaemon/README.md) | [`phpDaemon`](https://daemon.io/) | Collects workers statistics (total, active, idle). |
97
+| [phpfpm](go.d.plugin/modules/phpfpm/README.md) | [`PHP-FPM`](https://php-fpm.org/) | Collects application summary and processes health metrics scraping status page (`/status?full`). |
98
+| [pihole](go.d.plugin/modules/pihole/README.md) | [`Pi-hole`](https://pi-hole.net/) | Monitors basic (dns queries, clients, blocklist) and extended (top clients, top permitted and blocked domains) statistics using PHP API. |
99
+| [portcheck](go.d.plugin/modules/portcheck/README.md) | `TCP Endpoint` | Monitors tcp endpoint availability and response time. |
100
+| [rabbitmq](go.d.plugin/modules/rabbitmq/README.md) | [`RabbitMQ`](https://www.rabbitmq.com/) | Collects message broker overview, system and per virtual host metrics. |
101
+| [scaleio](go.d.plugin/modules/scaleio/README.md) | [`Dell EMC ScaleIO`](https://www.delltechnologies.com/en-us/storage/data-storage/software-defined-storage.htm) | Monitors storage system, storage pools and sdcs health and performance metrics via VxFlex OS Gateway API. |
102
+| [solr](go.d.plugin/modules/solr/README.md) | [`Solr`](https://lucene.apache.org/solr/) | Collects application search requests, search errors, update requests and update errors statistics. |
103
+| [springboot2](go.d.plugin/modules/springboot2/README.md) | [`Spring Boot2`](https://spring.io/) | Monitors running Java Spring Boot 2 applications that expose their metrics with the use of the Spring Boot Actuator. |
104
+| [squidlog](go.d.plugin/modules/squidlog/README.md) | [`Squid`](http://www.squid-cache.org/) | Tails access logs and provides very detailed caching proxy performance statistics. This module is able to parse 200k+ rows for less then half a second. |
105
+| [tengine](go.d.plugin/modules/tengine/README.md) | [`Tengine`](https://tengine.taobao.org/) | Monitors web server statistics using information provided by `ngx_http_reqstat_module`. |
106
+| [unbound](go.d.plugin/modules/unbound/README.md) | [`Unbound`](https://nlnetlabs.nl/projects/unbound/about/) | Collects dns resolver summary and extended system and per thread metrics via `remote-control` interface. |
107
+| [vcsa](go.d.plugin/modules/vcsa/README.md) | [`vCenter Server Appliance`](https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.vcsa.doc/GUID-223C2821-BD98-4C7A-936B-7DBE96291BA4.html) | Monitors appliance system, components and software updates health statuses via Health API. |
108
+| [vsphere](go.d.plugin/modules/vsphere/README.md) | [`VMware vCenter Server`](https://www.vmware.com/products/vcenter-server.html) | Collects hosts and virtual machines performance metrics. |
109
+| [web_log](go.d.plugin/modules/weblog/README.md) | `Apache/NGINX` | Tails access logs and provides very detailed web server performance statistics. This module is able to parse 200k+ rows for less then half a second. |
110
+| [wmi](go.d.plugin/modules/wmi/README.md) | `Windows Machines` | Collects cpu, memory, network, disk, os, system and logon metrics scraping `wmi_exporter`. |
111
+| [x509check](go.d.plugin/modules/x509check/README.md) | `Digital Certificates` | Monitors certificate expiration time. |
112
+| [zookeeper](go.d.plugin/modules/zookeeper/README.md) | [`ZooKeeper`](https://zookeeper.apache.org/) | Monitors application health metrics reading server response to `mntr` command. |
113
+
114
+### NodeJS (`node.d`)
115
+
116
+| Name | Monitors | Description |
117
+| :----------------------------------------------------- | :-------------------------------------- | :------------------------------------------------------------------------------------------------------|
118
+| [named](node.d.plugin/named/README.md) | [`ISC Bind`](https://www.isc.org/bind/) | Collects Name server summary performance statistics via web interface (`statistics-channels` feature). |
119
+| [fronius](node.d.plugin/fronius/README.md) | `Fronius Symo Solar Power Products` | Collects power, consumption, autonomy, energy and inverter statistics. |
120
+| [sma_webbox](node.d.plugin/sma_webbox/README.md) | `SMA Sunny WebBox` | Collects power statistics. |
121
+| [snmp](node.d.plugin/snmp/README.md) | `SNMP Devices` | Gathers data using SNMP protocol. All protocol versions are supported. |
122
+| [stiebeleltron](node.d.plugin/stiebeleltron/README.md) | `Stiebel Eltron ISG Products` | Collects heat pumps and how water installations metrics. |
123
+
124
+### Python (`python.d`)
125
+
126
+| Name | Monitors | Description |
127
+| :----------------------------------------------------------- | :---------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
128
+| [adaptec_raid](python.d.plugin/adaptec_raid/README.md) | `Adaptec RAID Controller` | Monitors logical and physical devices health metrics using `arcconf` tool. |
129
+| [am2320](python.d.plugin/am2320/README.md) | `AM2320 Sensor` | Monitors sensor temperature and humidity |
130
+| [apache](python.d.plugin/apache/README.md) | [`Apache`](https://httpd.apache.org/) | Collects web server performance metrics via `server-status?auto` endpoint. |
131
+| [beanstalk](python.d.plugin/beanstalk/README.md) | [`Beanstalk`](https://beanstalkapp.com/) | Collects server summary and per tube metrics |
132
+| [bind_rndc](python.d.plugin/bind_rndc/README.md) | [`ISC Bind`](https://www.isc.org/bind/) | Collects Name server summary performance statistics using `rndc` tool. |
133
+| [boinc](python.d.plugin/boinc/README.md) | [`BOINC`](https://boinc.berkeley.edu/) | Monitors task counts. |
134
+| [ceph](python.d.plugin/ceph/README.md) | [`CEPH`](https://ceph.io/) | Monitors the ceph cluster usage and server data consumption. |
135
+| [chrony](python.d.plugin/chrony/README.md) | [`Chrony`](https://chrony.tuxfamily.org/) | Monitors the precision and statistics of a local `chronyd` server. |
136
+| [couchdb](python.d.plugin/couchdb/README.md) | [`Apache CouchDB`](https://couchdb.apache.org/) | Monitors database health and performance metrics (reads/writes, HTTP traffic, replication status, etc). |
137
+| [dns_query_time](python.d.plugin/dns_query_time/README.md) | `DNS Query RTT` | measures DNS query round trip time. |
138
+| [dnsdist](python.d.plugin/dnsdist/README.md) | [`PowerDNS dnsdist`](https://dnsdist.org/) | Collects load-balancer performance and health metrics. |
139
+| [dockerd](python.d.plugin/dockerd/README.md) | [`Docker Engine`](https://docs.docker.com/engine/) | Collects container health statistics. |
140
+| [dovecot](python.d.plugin/dovecot/README.md) | [`Dovecot`](https://www.dovecot.org/) | Collects email server performance metrics. It reads server response to `EXPORT global` command. |
141
+| [elasticsearch](python.d.plugin/elasticsearch/README.md) | [`Elasticseach`](https://www.elastic.co/elasticsearch) | Collects search engine performance and health statistics. Optionally Collects per index metrics. |
142
+| [energid](python.d.plugin/energid/README.md) | [`Energi Core Node`](https://github.com/energicryptocurrency/energi) | Monitors blockchain, memory, network and unspent transactions statistics. |
143
+| [example](python.d.plugin/example/README.md) | - | just an data collector example. |
144
+| [exim](python.d.plugin/exim/README.md) | [`Exim`](https://www.exim.org/) | reports MTA emails queue length using `exim` tool. |
145
+| [fail2ban](python.d.plugin/fail2ban/README.md) | [`Fail2ban`](https://www.fail2ban.org/wiki/index.php/Main_Page) | parses log file and reports ban rate and number of banned IPS (since the last restart of Netdata) for every jail. It automatically detects all configured jails from `Fail2ban` configuration files. |
146
+| [freeradius](python.d.plugin/freeradius/README.md) | [`FreeRADIUS`](https://freeradius.org/) | Collects server authentication and accounting statistics from `status server` using `radclient` tool. |
147
+| [gearman](python.d.plugin/gearman/README.md) | [`Gearman`](http://gearman.org/) | Collects application summary (queued, running) and per job worker statistics (queued, idle, running) |
148
+| [go_expvar](python.d.plugin/go_expvar/README.md) | `Go Application` | Monitors Go application that exposes its metrics with the use of `expvar` package from the Go standard library. |
149
+| [haproxy](python.d.plugin/haproxy/README.md) | [`Haproxy`](http://www.haproxy.org/) | Collects frontend, backend and health metrics. |
150
+| [hddtemp](python.d.plugin/hddtemp/README.md) | `HDD Temperature` | Monitors storage temperature. |
151
+| [hpssa](python.d.plugin/hpssa/README.md) | `HP Smart Storage Arrays` | Monitors controller, cache module, logical and physical drive state and temperature using `ssacli` tool. |
152
+| [httpcheck](python.d.plugin/httpcheck/README.md) | `HTTP Endpoint` | Monitors http endpoint availability and response time. |
153
+| [icecast](python.d.plugin/icecast/README.md) | [`Icecast`](http://icecast.org/) | Monitors server number of listeners for active sources. |
154
+| [ipfs](python.d.plugin/ipfs/README.md) | [`IPFS`](https://ipfs.io/) | Collects file system bandwidth, peers and repo metrics. |
155
+| [isc_dhcpd](python.d.plugin/isc_dhcpd/README.md) | [`ISC DHCP`](https://www.isc.org/dhcp/) | reads `dhcpd.leases` file and reports DHCP pools utiliation and leases statistics (total number, leases per pool). |
156
+| [litespeed](python.d.plugin/litespeed/README.md) | [`LiteSpeed`](https://www.litespeedtech.com/products/litespeed-web-server) | Collects web server data (network, connection, requests, cache) reading `.rtreport*` files. |
157
+| [logind](python.d.plugin/logind/README.md) | [`Systemd-Logind`](https://www.freedesktop.org/wiki/Software/systemd/logind/) | Monitors active sessions, users, and seats tracked by `systemd-logind` or `elogind`. |
158
+| [megacli](python.d.plugin/megacli/README.md) | `MegaRAID Controller` | Collects adapter, physical drives and battery stats using `megacli` tool. |
159
+| [memcached](python.d.plugin/memcached/README.md) | [`Memcached`](https://memcached.org/) | Collects memory-caching system performance metrics. It reads server response to `stats` command (stats interface). |
160
+| [mongodb](python.d.plugin/mongodb/README.md) | [`MongoDB`](https://www.mongodb.com/) | Monitors database health, performance and replication metrics. |
161
+| [monit](python.d.plugin/monit/README.md) | [`Monit`](https://mmonit.com/monit/) | Monitors statuses of targets (service-checks) using XML stats interface. |
162
+| [mysql](python.d.plugin/mysql/README.md) | [`MySQL`](https://www.mysql.com/) | Collects database global, replication and per user statistics. |
163
+| [nginx](python.d.plugin/nginx/README.md) | [`NGINX`](https://www.nginx.com/) | Monitors web server status information. Information is provided by `ngx_http_stub_status_module`. |
164
+| [nginx_plus](python.d.plugin/nginx_plus/README.md) | [`NGINX Plus`](https://www.nginx.com/products/nginx/) | Collects web server global, and per server zone/upstream/cache metrics. |
165
+| [nsd](python.d.plugin/nsd/README.md) | [`NSD`](https://www.nlnetlabs.nl/projects/nsd/about/) | Monitors Name server performance metrics using `nsd-control` tool. |
166
+| [ntpd](python.d.plugin/ntpd/README.md) | `NTPd` | Monitors the system variables of the local `ntpd` daemon (optional incl. variables of the polled peers) using the NTP Control Message Protocol via UDP socket. |
167
+| [nvidia_smi](python.d.plugin/nvidia_smi/README.md) | `Nvidia GPU` | Monitors performance metrics (memory usage, fan speed, pcie bandwidth utilization, temperature, etc.) using `nvidia-smi` tool. |
168
+| [openldap](python.d.plugin/openldap/README.md) | [`OpenLDAP`](https://www.openldap.org/) | provides statistics information from openldap (slapd) server. Statistics are taken from LDAP monitoring interface. |
169
+| [oracledb](python.d.plugin/oracledb/README.md) | [`OracleDB`](https://www.oracle.com/database/) | Monitors database performance and health metrics. |
170
+| [ovpn_status_log](python.d.plugin/ovpn_status_log/README.md) | [`OpenVPN`](https://openvpn.net/) | parses server log files and provides summary (client, traffic) metrics. |
171
+| [phpfpm](python.d.plugin/phpfpm/README.md) | [`PHP-FPM`](https://php-fpm.org/) | Collects application summary and processes health metrics scraping status page (`/status?full`). |
172
+| [portcheck](python.d.plugin/portcheck/README.md) | `TCP Endpoint` | Monitors tcp endpoint availability and response time. |
173
+| [postfix](python.d.plugin/postfix/README.md) | [`Postfix`](http://www.postfix.org/) | Monitors MTA email queue statistics using `postqueue` tool. |
174
+| [postgres](python.d.plugin/postgres/README.md) | [`PostgreSQL`](https://www.postgresql.org/) | Collects database health and performance metrics. |
175
+| [powerdns](python.d.plugin/powerdns/README.md) | [`PowerDNS`](https://www.powerdns.com/) | Monitors authoritative server and recursor statistics. |
176
+| [proxysql](python.d.plugin/proxysql/README.md) | [`ProxySQL`](https://www.proxysql.com/) | Monitors database backend and frontend performance metrics. |
177
+| [puppet](python.d.plugin/puppet/README.md) | [`Puppet`](https://puppet.com/) | Monitors status of Puppet Server and Puppet DB. |
178
+| [rabbitmq](python.d.plugin/rabbitmq/README.md) | [`RabbitMQ`](https://www.rabbitmq.com/) | Collects message broker global and per virtual host metrics. |
179
+| [redis](python.d.plugin/redis/README.md) | [`Redis`](https://redis.io/) | Monitors database status. It reads server response to `INFO` command. |
180
+| [rethinkdbs](python.d.plugin/rethinkdbs/README.md) | [`RethinkDB`](https://rethinkdb.com/) | Collects database server and cluster statistics. |
181
+| [retroshare](python.d.plugin/retroshare/README.md) | [`RetroShare`](https://retroshare.cc/) | Monitors application bandwidth, peers and DHT metrics. |
182
+| [riakkv](python.d.plugin/riakkv/README.md) | [`RiakKV`](https://riak.com/products/riak-kv/index.html) | Collects database stats from `/stats` endpoint. |
183
+| [samba](python.d.plugin/samba/README.md) | [`Samba`](https://www.samba.org/) | Collects file sharing metrics using `smbstatus` tool. |
184
+| [sensors](python.d.plugin/sensors/README.md) | `Linux Machines Sensors` | reads system sensors information (temperature, voltage, electric current, power, etc.). |
185
+| [smartd_log](python.d.plugin/smartd_log/README.md) | `Storage Devices` | reads SMART Disk Monitoring Daemon logs. |
186
+| [spigotmc](python.d.plugin/spigotmc/README.md) | [`SpigotMC`](https://www.spigotmc.org/) | Monitors average ticket rate and number of users. |
187
+| [springboot](python.d.plugin/springboot/README.md) | [`Spring Boot2`](https://spring.io/) | Monitors running Java Spring Boot applications that expose their metrics with the use of the Spring Boot Actuator. |
188
+| [squid](python.d.plugin/squid/README.md) | [`Squid`](http://www.squid-cache.org/) | Monitors client and server bandwidth/requests. This module Gathers data from Cache Manager component. |
189
+| [tomcat](python.d.plugin/tomcat/README.md) | [`Apache Tomcat`](http://tomcat.apache.org/) | Collects web server performance metrics from Manager App (`/manager/status?XML=true`). |
190
+| [tor](python.d.plugin/tor/README.md) | [`Tor`](https://www.torproject.org/) | reports traffic usage statistics. It uses `Tor` control port to gather the data. |
191
+| [traefik](python.d.plugin/traefik/README.md) | [`Traefic`](https://docs.traefik.io/) | uses Health API to provide statistics. |
192
+| [uwsgi](python.d.plugin/uwsgi/README.md) | `uWSGI` | Monitors performance metrics exposed by `Stats Server`. |
193
+| [varnish](python.d.plugin/varnish/README.md) | [`Varnish Cache`](https://varnish-cache.org/) | provides HTTP accelerator global, backends (VBE) and disks (SMF) statistics using `varnishstat` tool. |
194
+| [w1sensor](python.d.plugin/w1sensor/README.md) | `1-Wire Sensors` | Monitors sensor temperature. |
195
+| [web_log](python.d.plugin/web_log/README.md) | `Apache/NGINX/Squid` | tails access log file and Collects web server/caching proxy metrics. |
196
+
197
+## Third-party plugins
198
+
199
+Third-party plugins are distributed by their developers, and are not installed by default with Netdata. To use a
200
+third-party plugin, you must visit their documentation and follow the installation steps.
201
+
202
+| Name | Monitors | Description |
203
+| :------------------------------------------------------------------------------------------| :------------- | :-------------------------------------------------------- |
204
+| [netdata_nv_plugin](https://github.com/coraxx/netdata_nv_plugin) | Nvidia GPUs | Monitors nvidia GPUs. |
205
+| [netdata_ts3_plugin](https://github.com/coraxx/netdata_ts3_plugin) | Teamspeak 3 | polls active users and bandwidth from TeamSpeak 3 servers |
206
+| [netdata-ssh-module](https://github.com/Yaser-Amiri/netdata-ssh-module) | SSH | Monitors failed authentication requests of an SSH server |
207
+| [netdata-numsessions](https://github.com/veksh/netdata-numsessions) | `uptime` | Collects the number of currently logged-on users. |
208
+| [netdata_cyberpwrups_plugin](https://github.com/HawtDogFlvrWtr/netdata_cyberpwrups_plugin) | CyberPower UPS | |
209
+| [nim-netdata-plugin](https://github.com/FedericoCeratto/nim-netdata-plugin) | helper | A helper to create native Netdata plugins using Nim. |
collectors/QUICKSTART.md
new
+115
@@ -0,0 +1,115 @@
1
+# Collectors quickstart
2
+
3
+In this quickstart guide, you'll learn how to enable collectors so you can get metrics from your favorite applications
4
+and services.
5
+
6
+This guide will not cover advanced collector features, such as enabling/disabling entire plugins,
7
+
8
+## What's in this quickstart guide
9
+
10
+- [Find the collector for your application or service](#find-the-collector-for-your-application-or-service)
11
+- [Configure your application or service for monitoring](#configure-your-application-or-service-for-monitoring)
12
+- [Edit the collector's configuration file](#edit-the-collectors-configuration-file)
13
+- [Enable the collector](#enable-the-collector)
14
+
15
+## Find the collector for your application or service
16
+
17
+Netdata has _pre-installed_ collectors for hundreds of popular applications and services. You don't need to install
18
+anything to collect metrics from many popular services, like Nginx web servers, MySQL/MariaDB databases, and much more.
19
+
20
+To find whether Netdata has a pre-installed collector for your favorite app/service, check out our [collector support
21
+list](COLLECTORS.md). The only exception is the [third-party collectors](COLLECTORS.md#third-party-plugins), which
22
+you do need to install yourself. However, this quickstart guide will focus on pre-installed collectors.
23
+
24
+When you find a collector you're interested in, take note of its orchestrator. These are in the headings above each
25
+table, and there are four: Bash, Go, Node, and Python. They go by their respective names: `charts.d`, `go.d`, `node.d`,
26
+and `python.d`.
27
+
28
+> If there is a collector written in both Go and Python, it's better to choose the Go-based version, as we will
29
+> eventually deprecate most Python-based collectors.
30
+
31
+From here on out, this quickstart guide will use the [Nginx collector](go.d.plugin/modules/nginx/README.md) as an
32
+example to showcase the process of configuring and enabling one of Netdata's pre-installed collectors.
33
+
34
+## Configure your application or service for monitoring
35
+
36
+Every collector's documentation comes with instructions on how to configure your app/service to make it available to
37
+Netdata's collector. Our [collector support list](COLLECTORS.md) contains links to each collector's documentation page
38
+so you can learn more.
39
+
40
+For example, the [Nginx collector documentation](go.d.plugin/modules/nginx/README.md) states that your Nginx
41
+installation must have the `stub_status` module configured correctly, in addition to an active `stub_status/` page, for
42
+Netdata to monitor it. You can confirm whether you have the module enabled with the following command:
43
+
44
+```bash
45
+nginx -V 2>&1 | grep -o with-http_stub_status_module
46
+```
47
+
48
+If this command returns nothing, you'll need to [enable the `stub_status`
49
+module](https://www.nginx.com/blog/monitoring-nginx/).
50
+
51
+Next, edit your `/etc/nginx/sites-enabled/default` file to include a `location` block with the following, which enables
52
+the `stub_status` page:
53
+
54
+```conf
55
+server {
56
+ ...
57
+
58
+ location /nginx_status {
59
+ stub_status;
60
+ }
61
+}
62
+```
63
+
64
+At this point, your Nginx installation is fully configured and ready for Netdata to monitor it. Next, you'll configure
65
+your collector.
66
+
67
+## Edit the collector's configuration file
68
+
69
+This step may not be required based on how you configured your app/service, as each collector comes with a few
70
+pre-configured jobs that look for the app/service in common and expected locations. For example, the Nginx collector
71
+looks for a `stub_status` page at `http://localhost/stub_status` and `http://127.0.0.1/stub_status`, which allows it to
72
+auto-detect almost all local Nginx web servers.
73
+
74
+Despite Netdata's auto-detection capabilities, it's important to know how to edit collector configuration files.
75
+
76
+You should always edit configuration files with the `edit-config` script that comes with every installation of Netdata.
77
+To edit a collector configuration file, navigate to your [Netdata configuration
78
+directory](../docs/step-by-step/step-04.md#find-your-netdataconf-file). Launch `edit-config` with the path to the
79
+collector's configuration file.
80
+
81
+How do you find that path to the collector's configuration file? Look under the **Configuration** heading in the
82
+collector's documentation. Each file contains a short code block with the relevant command.
83
+
84
+For example, the [Nginx collector](go.d.plugin/modules/nginx/README.md) has its configuration file at `go.d/nginx.conf`.
85
+
86
+```bash
87
+cd /etc/netdata # Replace this path with your Netdata config directory
88
+sudo ./edit-config go.d/nginx.conf
89
+```
90
+
91
+This file contains all of the possible job parameters to help you monitor Nginx in all sorts of complex deployments. At
92
+the bottom of the file is a `[JOB]` section, which contains the two default jobs. Configure these as needed, using those
93
+parameters as a reference, to configure the collector.
94
+
95
+## Enable the collector
96
+
97
+Most collectors are enabled and will auto-detect their app/service without manual configuration. However, you need to
98
+restart Netdata to trigger the auto-detection process.
99
+
100
+To restart Netdata on most systems, use `service netdata restart`. For other systems, see the [other restart
101
+methods](../docs/getting-started.md#start-stop-and-restart-netdata).
102
+
103
+Open Netdata's dashboard in your browser, or refresh the page if you already have it open. You should now see a new
104
+entry in the menu and new interactive charts!
105
+
106
+## What's next?
107
+
108
+Collector not working? Learn about collector troubleshooting in our [collector
109
+reference](REFERENCE.md#troubleshoot-a-collector).
110
+
111
+View our [collectors tutorials](README.md#tutorials) to get specific instructions on enabling new and popular
112
+collectors.
113
+
114
+Finally, learn more advanced collector features, such as disabling plugins or developing a custom collector, in our
115
+[internal plugin API](REFERENCE.md#internal-plugins-api) or our [external plugin docs](plugins.d/README.md).
collectors/README.md
+42
-120
@@ -1,122 +1,44 @@
1
-# Data collection plugins
2
-
3
-Netdata supports **internal** and **external** data collection plugins:
4
-
5
-- **internal** plugins are written in `C` and run as threads inside the `netdata` daemon.
6
-
7
-- **external** plugins may be written in any computer language and are spawn as independent long-running processes by the `netdata` daemon.
8
- They communicate with the `netdata` daemon via `pipes` (`stdout` communication).
9
-
10
-To minimize the number of processes spawn for data collection, Netdata also supports **plugin orchestrators**.
11
-
12
-- **plugin orchestrators** are external plugins that do not collect any data by themeselves.
13
- Instead they support data collection **modules** written in the language of the orchestrator.
14
- Usually the orchestrator provides a higher level abstraction, making it ideal for writing new
15
- data collection modules with the minimum of code.
16
-
17
- Currently Netdata provides plugin orchestrators
18
- BASH v4+ [charts.d.plugin](charts.d.plugin/),
19
- node.js [node.d.plugin](node.d.plugin/) and
20
- python v2+ (including v3) [python.d.plugin](python.d.plugin/).
21
-
22
-## Netdata Plugins
23
-
24
-|plugin|lang|O/S|runs as|modular|description|
25
-|:----:|:--:|:-:|:-----:|:-----:|:----------|
26
-|[apps.plugin](apps.plugin/)|`C`|linux, freebsd|external|-|monitors the whole process tree on Linux and FreeBSD and breaks down system resource usage by **process**, **user** and **user group**.|
27
-|[cgroups.plugin](cgroups.plugin/)|`C`|linux|internal|-|collects resource usage of **Containers**, libvirt **VMs** and **systemd services**, on Linux systems|
28
-|[charts.d.plugin](charts.d.plugin/)|`BASH` v4+|any|external|yes|a **plugin orchestrator** for data collection modules written in `BASH` v4+.|
29
-|[checks.plugin](checks.plugin/)|`C`|any|internal|-|a debugging plugin (by default it is disabled)|
30
-|[cups.plugin](cups.plugin/)|`C`|any|external|-|monitors **CUPS**|
31
-|[diskspace.plugin](diskspace.plugin/)|`C`|linux|internal|-|collects disk space usage metrics on Linux mount points|
32
-|[fping.plugin](fping.plugin/)|`C`|any|external|-|measures network latency, jitter and packet loss between the monitored node and any number of remote network end points.|
33
-|[ioping.plugin](ioping.plugin/)|`C`|any|external|-|measures disk read/write latency.|
34
-|[freebsd.plugin](freebsd.plugin/)|`C`|freebsd|internal|yes|collects resource usage and performance data on FreeBSD systems|
35
-|[freeipmi.plugin](freeipmi.plugin/)|`C`|linux, freebsd|external|-|collects metrics from enterprise hardware sensors, on Linux and FreeBSD servers.|
36
-|[idlejitter.plugin](idlejitter.plugin/)|`C`|any|internal|-|measures CPU latency and jitter on all operating systems|
37
-|[macos.plugin](macos.plugin/)|`C`|macos|internal|yes|collects resource usage and performance data on MacOS systems|
38
-|[nfacct.plugin](nfacct.plugin/)|`C`|linux|external|-|collects netfilter firewall, connection tracker and accounting metrics using `libmnl` and `libnetfilter_acct`|
39
-|[xenstat.plugin](xenstat.plugin/)|`C`|linux|external|-|collects XenServer and XCP-ng metrics using `libxenstat`|
40
-|[perf.plugin](perf.plugin/)|`C`|linux|external|-|collects CPU performance metrics using performance monitoring units (PMU).|
41
-|[node.d.plugin](node.d.plugin/)|`node.js`|any|external|yes|a **plugin orchestrator** for data collection modules written in `node.js`.|
42
-|[plugins.d](plugins.d/)|`C`|any|internal|-|implements the **external plugins** API and serves external plugins|
43
-|[proc.plugin](proc.plugin/)|`C`|linux|internal|yes|collects resource usage and performance data on Linux systems|
44
-|[python.d.plugin](python.d.plugin/)|`python` v2+|any|external|yes|a **plugin orchestrator** for data collection modules written in `python` v2 or v3 (both are supported).|
45
-|[slabinfo.plugin](slabinfo.plugin/)|`C`|linux|external|-|collects kernel SLAB details on Linux systems|
46
-|[statsd.plugin](statsd.plugin/)|`C`|any|internal|-|implements a high performance **statsd** server for Netdata|
47
-|[tc.plugin](tc.plugin/)|`C`|linux|internal|-|collects traffic QoS metrics (`tc`) of Linux network interfaces|
48
-
49
-## Enabling and Disabling plugins
50
-
51
-Each plugin can be enabled or disabled via `netdata.conf`, section `[plugins]`.
52
-
53
-At this section there a list of all the plugins with a boolean setting to enable them or disable them.
54
-
55
-The exception is `statsd.plugin` that has its own `[statsd]` section.
56
-
57
-Once a plugin is enabled, consult the page of each plugin for additional configuration options.
58
-
59
-All **external plugins** are managed by [plugins.d](plugins.d/), which provides additional management options.
60
-
61
-### Internal Plugins
62
-
63
-Each of the internal plugins runs as a thread inside the `netdata` daemon.
64
-Once this thread has started, the plugin may spawn additional threads according to its design.
65
-
66
-#### Internal Plugins API
67
-
68
-The internal data collection API consists of the following calls:
69
-
70
-```c
71
-collect_data() {
72
- // collect data here (one iteration)
73
-
74
- collected_number collected_value = collect_a_value();
75
-
76
- // give the metrics to Netdata
77
-
78
- static RRDSET *st = NULL; // the chart
79
- static RRDDIM *rd = NULL; // a dimension attached to this chart
80
-
81
- if(unlikely(!st)) {
82
- // we haven't created this chart before
83
- // create it now
84
- st = rrdset_create_localhost(
85
- "type"
86
- , "id"
87
- , "name"
88
- , "family"
89
- , "context"
90
- , "Chart Title"
91
- , "units"
92
- , "plugin-name"
93
- , "module-name"
94
- , priority
95
- , update_every
96
- , chart_type
97
- );
98
-
99
- // attach a metric to it
100
- rd = rrddim_add(st, "id", "name", multiplier, divider, algorithm);
101
- }
102
- else {
103
- // this chart is already created
104
- // let Netdata know we start a new iteration on it
105
- rrdset_next(st);
106
- }
107
-
108
- // give the collected value(s) to the chart
109
- rrddim_set_by_pointer(st, rd, collected_value);
110
-
111
- // signal Netdata we are done with this iteration
112
- rrdset_done(st);
113
-}
114
-```
115
-
116
-Of course, Netdata has a lot of libraries to help you also in collecting the metrics. The best way to find your way through this, is to examine what other similar plugins do.
117
-
118
-### External Plugins
119
-
120
-**External plugins** use the API and are managed by [plugins.d](plugins.d/).
1
+# Collecting metrics
2
+
3
+Netdata can collect metrics from hundreds of different sources, be they internal data created by the system itself, or
4
+external data created by services or applications. To see _all_ of the sources Netdata collects from, view our [list of
5
+supported collectors](COLLECTORS.md), and then view our [quickstart guide](QUICKSTART.md) to get up-and-running.
6
+
7
+There are two essential points to understand about how collecting metrics works in Netdata:
8
+
9
+- All collectors are **installed by default** with every installation of Netdata. You do not need to install
10
+ collectors manually to collect metrics from new sources.
11
+- Upon startup, Netdata will **auto-detect** any application or service that has a [collector](COLLECTORS.md), as long
12
+ as both the collector and the app/service are configured correctly.
13
+
14
+Most users will want to enable a new Netdata collector for their app/service. For those details, see our [quickstart
15
+guide](QUICKSTART.md).
16
+
17
+## Take your next steps with collectors
18
+
19
+[Collectors quickstart](QUICKSTART.md)
20
+
21
+[Supported collectors list](COLLECTORS.md)
22
+
23
+[Collectors configuration reference](REFERENCE.md)
24
+
25
+## Tutorials
26
+
27
+[Monitor Nginx or Apache web server log files with Netdata](../docs/tutorials/collect-apache-nginx-web-logs.md)
28
+
29
+[Monitor Unbound DNS servers with Netdata](../docs/tutorials/collect-unbound-metrics.md)
30
+
31
+[Monitor a Hadoop cluster with Netdata](../docs/tutorials/monitor-hadoop-cluster.md)
32
+
33
+## Related features
34
+
35
+**[Dashboards](../web/README.md)**: Vizualize your newly-collect metrics in real-time using Netdata's [built-in
36
+dashboard](../web/gui/README.md).
37
+
38
+**[Backends](../backends/README.md)**: Extend our built-in [database engine](), which supports long-term metrics
39
+storage, by archiving metrics to like Graphite, Prometheus, MongoDB, TimescaleDB, and more.
40
+
41
+**[Exporting](../exporting/README.md)**: An experimental refactoring of our backends system with a modular system and
42
+support for exporting metrics to multiple systems simultaneously.
43
44
[](<>)
collectors/REFERENCE.md
new
+190
@@ -0,0 +1,190 @@
1
+# Collectors configuration reference
2
+
3
+Welcome to the collector configuration reference guide.
4
+
5
+This guide contains detailed information about enabling/disabling plugins or modules, in addition a quick reference to
6
+the internal plugins API.
7
+
8
+To learn the basics of collecting metrics from other applications and services, see the [collector
9
+quickstart](QUICKSTART.md).
10
+
11
+## What's in this reference guide
12
+
13
+- [Netdata's collector architecture](#netdatas-collector-architecture)
14
+- [Enable, configure, and disable modules](#enable-configure-and-disable-modules)
15
+- [Troubleshoot a collector](#troubleshoot-a-collector)
16
+- [Enable and disable plugins](#enable-and-disable-plugins)
17
+- [Internal plugins](#internal-plugins)
18
+ - [Internal plugins API](#internal-plugins-api)
19
+- [External plugins](#external-plugins)
20
+- [Write a custom collector](#write-a-custom-collector)
21
+
22
+## Netdata's collector architecture
23
+
24
+Netdata has an intricate system for organizing and managing its collectors. **Collectors** are the processes/programs
25
+that actually gather metrics from various sources. Collectors are organized by **plugins**, which help manage all the
26
+independent processes in a variety of programming languages based on their purpose and performance requirements.
27
+**Modules** are a type of collector, used primarily to connect to external applications, such as an Nginx web server or
28
+MySQL database, among many others.
29
+
30
+For most users, enabling individual collectors for the application/service you're interested in is far more important
31
+than knowing which plugin it uses. See our [collectors list](COLLECTORS.md) to see whether your favorite app/service has
32
+a collector, and then read the [collectors quickstart](QUICKSTART.md) and the documentation for that specific collector
33
+to figure out how to enable it.
34
+
35
+There are three types of plugins:
36
+
37
+- **Internal** plugins organize collectors that gather metrics from `/proc`, `/sys` and other Linux kernel sources.
38
+ They are written in `C`, and run as threads within the Netdata daemon.
39
+- **External** plugins organize collectors that gather metrics from external processes, such as a MySQL database or
40
+ Nginx web server. They can be written in any language, and the `netdata` daemon spawns them as long-running
41
+ independent processes. They communicate with the daemon via pipes.
42
+- **Plugin orchestrators**, which are external plugins that instead support a number of **modules**. Modules are a
43
+ type of collector. We have a few plugin orchestrators available for those who want to develop their own collectors,
44
+ but focus most of our efforts on the [Go plugin](go.d.plugin/README.md).
45
+
46
+## Enable, configure, and disable modules
47
+
48
+Most collector modules come with **auto-detection**, configured to work out-of-the-box on popular operating systems with
49
+the default settings.
50
+
51
+However, there are cases that auto-detection fails. Usually, the reason is that the applications to be monitored do not
52
+allow Netdata to connect. In most of the cases, allowing the user `netdata` from `localhost` to connect and collect
53
+metrics, will automatically enable data collection for the application in question (it will require a Netdata restart).
54
+
55
+View our [collectors quickstart](QUICKSTART.md) for explict details on enabling and configuring collector modules.
56
+
57
+## Troubleshoot a collector
58
+
59
+First, navigate to your plugins directory, which is usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case
60
+on your system, open `netdata.conf` and look for the setting `plugins directory`. Once you're in the plugins directory,
61
+switch to the `netdata` user.
62
+
63
+```bash
64
+cd /usr/libexec/netdata/plugins.d/
65
+sudo su -s /bin/bash netdata
66
+```
67
+
68
+The next step is based on the collector's orchestrator. You can figure out which orchestrator the collector uses by
69
+
70
+uses either
71
+by viewing the [collectors list](COLLECTORS.md) and referencing the _configuration file_ field. For example, if that
72
+field contains `go.d`, that collector uses the Go orchestrator.
73
+
74
+```bash
75
+# Go orchestrator (go.d.plugin)
76
+./go.d.plugin -d -m <MODULE_NAME>
77
+
78
+# Python orchestrator (python.d.plugin)
79
+./python.d.plugin <MODULE_NAME> debug trace
80
+
81
+# Node orchestrator (node.d.plugin)
82
+./node.d.plugin debug 1 <MODULE_NAME>
83
+
84
+# Bash orchestrator (bash.d.plugin)
85
+./charts.d.plugin debug 1 <MODULE_NAME>
86
+```
87
+
88
+The output from the relevant command will provide valuable troubleshooting information. If you can't figure out how to
89
+enable the collector using the details from this output, feel free to [create an issue on our
90
+GitHub](https://github.com/netdata/netdata/issues/new?labels=bug%2C+needs+triage&template=bug_report.md) to get some
91
+help from our collectors experts.
92
+
93
+## Enable and disable plugins
94
+
95
+You can enable or disable individual plugins by opening `netdata.conf` and scrolling down to the `[plugins]` section.
96
+This section features a list of Netdata's plugins, with a boolean setting to enable or disable them. The exception is
97
+`statsd.plugin`, which has its own `[statsd]` section. Your `[plugins]` section should look similar to this:
98
+
99
+```conf
100
+[plugins]
101
+ # PATH environment variable = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/var/lib/snapd/snap/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin
102
+ # PYTHONPATH environment variable =
103
+ # proc = yes
104
+ # diskspace = yes
105
+ # cgroups = yes
106
+ # tc = yes
107
+ # idlejitter = yes
108
+ # enable running new plugins = yes
109
+ # check for new plugins every = 60
110
+ # slabinfo = no
111
+ # fping = yes
112
+ # ioping = yes
113
+ # node.d = yes
114
+ # python.d = yes
115
+ # go.d = yes
116
+ # apps = yes
117
+ # perf = yes
118
+ # charts.d = yes
119
+```
120
+
121
+By default, most plugins are enabled, so you don't need to enable them explicity to use their collectors. To enable or
122
+disable any specific plugin, remove the comment (`#`) and change the boolean setting to `yes` or `no`.
123
+
124
+All **external plugins** are managed by [plugins.d](plugins.d/), which provides additional management options.
125
+
126
+## Internal plugins
127
+
128
+Each of the internal plugins runs as a thread inside the `netdata` daemon. Once this thread has started, the plugin may
129
+spawn additional threads according to its design.
130
+
131
+### Internal plugins API
132
+
133
+The internal data collection API consists of the following calls:
134
+
135
+```c
136
+collect_data() {
137
+ // collect data here (one iteration)
138
+
139
+ collected_number collected_value = collect_a_value();
140
+
141
+ // give the metrics to Netdata
142
+
143
+ static RRDSET *st = NULL; // the chart
144
+ static RRDDIM *rd = NULL; // a dimension attached to this chart
145
+
146
+ if(unlikely(!st)) {
147
+ // we haven't created this chart before
148
+ // create it now
149
+ st = rrdset_create_localhost(
150
+ "type"
151
+ , "id"
152
+ , "name"
153
+ , "family"
154
+ , "context"
155
+ , "Chart Title"
156
+ , "units"
157
+ , "plugin-name"
158
+ , "module-name"
159
+ , priority
160
+ , update_every
161
+ , chart_type
162
+ );
163
+
164
+ // attach a metric to it
165
+ rd = rrddim_add(st, "id", "name", multiplier, divider, algorithm);
166
+ }
167
+ else {
168
+ // this chart is already created
169
+ // let Netdata know we start a new iteration on it
170
+ rrdset_next(st);
171
+ }
172
+
173
+ // give the collected value(s) to the chart
174
+ rrddim_set_by_pointer(st, rd, collected_value);
175
+
176
+ // signal Netdata we are done with this iteration
177
+ rrdset_done(st);
178
+}
179
+```
180
+
181
+Of course, Netdata has a lot of libraries to help you also in collecting the metrics. The best way to find your way
182
+through this, is to examine what other similar plugins do.
183
+
184
+## External Plugins
185
+
186
+**External plugins** use the API and are managed by [plugins.d](plugins.d/).
187
+
188
+## Write a custom collector
189
+
190
+You can add custom collectors by following the [external plugins documentation](../collectors/plugins.d/).
docs/Add-more-charts-to-netdata.md
+5
-420
@@ -1,424 +1,9 @@
1
# Add more charts to Netdata
2
3
-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.
3
+This file has been deprecated. Please see our [collectors docs](../collectors/README.md) or the collectors [quickstart
4
+guide](../collectors/QUICKSTART.md) for more information.
5
5
-To collect non-system metrics, Netdata supports a plugin architecture. The following are the currently available external plugins:
6
+## Available data collection modules
7
7
-- **[Web Servers](#web-servers)**, such as apache, nginx, nginx_plus, tomcat, litespeed
8
-- **[Web Logs](#web-log-parsers)**, such as apache, nginx, lighttpd, gunicorn, squid access logs, apache cache.log
9
-- **[Load Balancers](#load-balancers)**, like haproxy
10
-- **[Message Brokers](#message-brokers)**, like rabbitmq, beanstalkd
11
-- **[Database Servers](#database-servers)**, such as mysql, mariadb, postgres, couchdb, mongodb, rethinkdb
12
-- **[Social Sharing Servers](#social-sharing-servers)**, like retroshare
13
-- **[Proxy Servers](#proxy-servers)**, like squid
14
-- **[HTTP accelerators](#http-accelerators)**, like varnish cache
15
-- **[Search engines](#search-engines)**, like elasticsearch
16
-- **[Name Servers](#name-servers)** (DNS), like bind, nsd, powerdns, dnsdist
17
-- **[DHCP Servers](#dhcp-servers)**, like ISC DHCP
18
-- **[UPS](#ups)**, such as APC UPS, NUT
19
-- **[RAID](#raid)**, such as MegaRAID
20
-- **[Mail Servers](#mail-servers)**, like postfix, exim, dovecot
21
-- **[File Servers](#file-servers)**, like samba, NFS, ftp, sftp, WebDAV
22
-- **[Print Servers](#print-servers)**, like CUPS
23
-- **[Hypervisors](#hypervisors)**, like XenServer, XCP-ng
24
-- **[System](#system)**, for processes and other system metrics
25
-- **[Sensors](#sensors)**, like temperature, fans speed, voltage, humidity, HDD/SSD S.M.A.R.T attributes
26
-- **[Network](#network)**, such as SNMP devices, `fping`, access points, dns_query_time, nfacct
27
-- **[Time Servers](#time-servers)**, like chrony
28
-- **[Security](#security)**, like FreeRADIUS, OpenVPN, Fail2ban
29
-- **[Telephony Servers](#telephony-servers)**, like openSIPS
30
-- **[Go applications](#go-applications)**
31
-- **[Household appliances](#household-appliances)**, like SMA WebBox (solar power), Fronius Symo solar power, Stiebel Eltron heating
32
-- **[Java Processes](#java-processes)**, via JMX or Spring Boot Actuator
33
-- **[Provisioning Systems](#provisioning-systems)**, like Puppet
34
-- **[Game Servers](#game-servers)**, like SpigotMC
35
-- **[Distributed Computing Clients](#distributed-computing-clients)**, like BOINC
36
-- **[Skeleton Plugins](#skeleton-plugins)**, for writing your own data collectors
37
-
38
-Check also [Third Party Plugins](Third-Party-Plugins.md) for a list of plugins distributed by third parties.
39
-
40
-## configuring plugins
41
-
42
-Netdata comes with **internal** and **external** plugins:
43
-
44
-1. The **internal** ones are written in `C` and run as threads within the Netdata daemon.
45
-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`).
46
-
47
-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`).
48
-
49
-#### enabling and disabling plugins
50
-
51
-To control which plugins Netdata run, edit `netdata.conf` and check the `[plugins]` section. It looks like this:
52
-
53
-```
54
-[plugins]
55
- # enable running new plugins = yes
56
- # check for new plugins every = 60
57
- # proc = yes
58
- # diskspace = yes
59
- # cgroups = yes
60
- # cups = yes
61
- # tc = yes
62
- # nfacct = yes
63
- # idlejitter = yes
64
- # freeipmi = yes
65
- # node.d = yes
66
- # python.d = yes
67
- # fping = yes
68
- # ioping = yes
69
- # charts.d = yes
70
- # apps = yes
71
- # xenstat = yes
72
- # perf = no
73
- # slabinfo = no
74
-```
75
-
76
-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.
77
-
78
-#### enabling and disabling modules
79
-
80
-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).
81
-
82
-#### modules configuration
83
-
84
-Most **modules** come with **auto-detection**, configured to work out-of-the-box on popular operating systems with the default settings.
85
-
86
-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).
87
-
88
-You can verify Netdata **external plugins and their modules** are able to collect metrics, following this procedure:
89
-
90
-```sh
91
-# become user netdata
92
-sudo su -s /bin/bash netdata
93
-
94
-# execute the plugin in debug mode, for a specific module.
95
-# example for the python plugin, mysql module:
96
-/usr/libexec/netdata/plugins.d/python.d.plugin 1 debug trace mysql
97
-```
98
-
99
-Similarly, you can use `charts.d.plugin` for BASH plugins and `node.d.plugin` for node.js plugins.
100
-Other plugins (like `apps.plugin`, `freeipmi.plugin`, `fping.plugin`, `ioping.plugin`, `nfacct.plugin`, `xenstat.plugin`, `perf.plugin`, `slabinfo.plugin`) use the native Netdata plugin API and can be run directly.
101
-
102
-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`.
103
-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.
104
-
105
-Each file should provide plenty of examples and documentation about each module and plugin.
106
-
107
-This is a map of the all supported configuration options:
108
-
109
-#### map of configuration files
110
-
111
-| plugin | language | plugin<br/>configuration | modules<br/>configuration |
112
-|-----:|:------:|:----------------------:|:------------------------|
113
-| `apps.plugin`<br/>(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`|
114
-| `freebsd.plugin`<br/>(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]`.|
115
-| `cgroups.plugin`<br/>(internal plugin for monitoring Linux containers, VMs and systemd services)|`C`|`netdata.conf` section `[plugin:cgroups]`|N/A|
116
-| `charts.d.plugin`<br/>(external plugin orchestrator for BASH modules)|`BASH`|`charts.d.conf`|a file for each module in `/etc/netdata/charts.d/`|
117
-| `diskspace.plugin`<br/>(internal plugin for collecting Linux mount points usage)|`C`|`netdata.conf` section `[plugin:diskspace]`|N/A|
118
-| `fping.plugin`<br/>(external plugin for collecting network latencies)|`C`|`fping.conf`|This plugin is a wrapper for the `fping` command.|
119
-| `ioping.plugin`<br/>(external plugin for collecting disk latencies)|`C`|`ioping.conf`|This plugin is a wrapper for the `ioping` command.|
120
-| `freeipmi.plugin`<br/>(external plugin for collecting IPMI h/w sensors)|`C`|`netdata.conf` section `[plugin:freeipmi]`||
121
-| `nfacct.plugin`<br/>(external plugin for monitoring netfilter firewall and connection tracker)|`C`|`netdata.conf` section `[plugin:nfacct]`|N/A|
122
-| `xenstat.plugin`<br/>(external plugin for monitoring XCP-ng and XenServer)|`C`|`netdata.conf` section `[plugin:xenstat]`|N/A|
123
-| `perf.plugin`<br/>(external plugin for monitoring CPU performance on Linux)|`C`|`netdata.conf` section `[plugin:perf]`|N/A|
124
-| `idlejitter.plugin`<br/>(internal plugin for monitoring CPU jitter)|`C`|N/A|N/A|
125
-| `macos.plugin`<br/>(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]`.|
126
-| `node.d.plugin`<br/>(external plugin orchestrator of node.js modules)|`node.js`|`node.d.conf`|a file for each module in `/etc/netdata/node.d/`.|
127
-| `proc.plugin`<br/>(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]`.|
128
-| `python.d.plugin`<br/>(external plugin orchestrator for running python modules)|`python`<br/>v2 or v3<br/>both are supported|`python.d.conf`|a file for each module in `/etc/netdata/python.d/`.|
129
-| `statsd.plugin`<br/>(internal plugin for collecting statsd metrics)|`C`|`netdata.conf` section `[statsd]`|Synthetic statsd charts can be configured with files in `/etc/netdata/statsd.d/`.|
130
-| `slabinfo.plugin`<br/>(external plugin for monitoring Kernel SLAB cache on Linux)|`C`|`netdata.conf` section `[plugin:slabinfo]`|N/A|
131
-| `tc.plugin`<br/>(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`.|
132
-
133
-## writing data collection modules
134
-
135
-You can add custom plugins following the [External Plugins Guide](../collectors/plugins.d/).
136
-
137
----
138
-
139
-## available data collection modules
140
-
141
-These are all the data collection plugins currently available.
142
-
143
-### Web Servers
144
-
145
-| application | language | notes |
146
-|:---------:|:------:|:----|
147
-| apache|python<br/>v2 or v3|Connects to multiple apache servers (local or remote) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [apache.chart.py](../collectors/python.d.plugin/apache)<br/>configuration file: [python.d/apache.conf](../collectors/python.d.plugin/apache)|
148
-| ipfs|python<br/>v2 or v3|Connects to multiple ipfs servers (local or remote) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [ipfs.chart.py](../collectors/python.d.plugin/ipfs)<br/>configuration file: [python.d/ipfs.conf](../collectors/python.d.plugin/ipfs)|
149
-| litespeed|python<br/>v2 or v3|reads the litespeed `rtreport` files to collect metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [litespeed.chart.py](../collectors/python.d.plugin/litespeed)<br/>configuration file: [python.d/litespeed.conf](../collectors/python.d.plugin/litespeed)|
150
-| nginx|python<br/>v2 or v3|Connects to multiple nginx servers (local or remote) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [nginx.chart.py](../collectors/python.d.plugin/nginx)<br/>configuration file: [python.d/nginx.conf](../collectors/python.d.plugin/nginx)|
151
-| nginx_plus|python<br/>v2 or v3|Connects to multiple nginx_plus servers (local or remote) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [nginx_plus.chart.py](../collectors/python.d.plugin/nginx_plus)<br/>configuration file: [python.d/nginx_plus.conf](../collectors/python.d.plugin/nginx_plus)|
152
-| phpfpm|python<br/>v2 or v3|Connects to multiple phpfpm servers (local or remote) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [phpfpm.chart.py](../collectors/python.d.plugin/phpfpm)<br/>configuration file: [python.d/phpfpm.conf](../collectors/python.d.plugin/phpfpm)|
153
-| tomcat|python<br/>v2 or v3|Connects to multiple tomcat servers (local or remote) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [tomcat.chart.py](../collectors/python.d.plugin/tomcat)<br/>configuration file: [python.d/tomcat.conf](../collectors/python.d.plugin/tomcat)|
154
-
155
----
156
-
157
-### Web Log Parsers
158
-
159
-| application|language|notes|
160
-|:---------:|:------:|:----|
161
-| web_log|python<br/>v2 or v3|powerful plugin, capable of incrementally parsing any number of web server log files <br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [web_log.chart.py](../collectors/python.d.plugin/web_log)<br/>configuration file: [python.d/web_log.conf](../collectors/python.d.plugin/web_log)|
162
-
163
----
164
-
165
-### Database Servers
166
-
167
-| application|language|notes|
168
-|:---------:|:------:|:----|
169
-| couchdb|python<br/>v2 or v3|Connects to multiple couchdb servers (local or remote) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [couchdb.chart.py](../collectors/python.d.plugin/couchdb)<br/>configuration file: [python.d/couchdb.conf](../collectors/python.d.plugin/couchdb)|
170
-| memcached|python<br/>v2 or v3|Connects to multiple memcached servers (local or remote) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [memcached.chart.py](../collectors/python.d.plugin/memcached)<br/>configuration file: [python.d/memcached.conf](../collectors/python.d.plugin/memcached)|
171
-| mongodb|python<br/>v2 or v3|Connects to multiple `mongodb` servers (local or remote) to collect real-time performance metrics.<br/> <br/>Requires package `python-pymongo`.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [mongodb.chart.py](../collectors/python.d.plugin/mongodb)<br/>configuration file: [python.d/mongodb.conf](../collectors/python.d.plugin/mongodb)|
172
-| mysql<br/>mariadb|python<br/>v2 or v3|Connects to multiple mysql or mariadb servers (local or remote) to collect real-time performance metrics.<br/> <br/>Requires package `python-mysqldb` (faster and preferred), or `python-pymysql`. <br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [mysql.chart.py](../collectors/python.d.plugin/mysql)<br/>configuration file: [python.d/mysql.conf](../collectors/python.d.plugin/mysql)|
173
-| postgres|python<br/>v2 or v3|Connects to multiple postgres servers (local or remote) to collect real-time performance metrics.<br/> <br/>Requires package `python-psycopg2`.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [postgres.chart.py](../collectors/python.d.plugin/postgres)<br/>configuration file: [python.d/postgres.conf](../collectors/python.d.plugin/postgres)|
174
-| redis|python<br/>v2 or v3|Connects to multiple redis servers (local or remote) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [redis.chart.py](../collectors/python.d.plugin/redis)<br/>configuration file: [python.d/redis.conf](../collectors/python.d.plugin/redis)|
175
-| rethinkdb|python<br/>v2 or v3|Connects to multiple rethinkdb servers (local or remote) to collect real-time metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [rethinkdb.chart.py](../collectors/python.d.plugin/rethinkdbs)<br/>configuration file: [python.d/rethinkdb.conf](../collectors/python.d.plugin/rethinkdbs)|
176
-
177
----
178
-
179
-### Social Sharing Servers
180
-
181
-| application | language | notes |
182
-|:---------:|:------:|:----|
183
-| retroshare | python<br/>v2 or v3|Connects to multiple retroshare servers (local or remote) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [retroshare.chart.py](../collectors/python.d.plugin/retroshare)<br/>configuration file: [python.d/retroshare.conf](../collectors/python.d.plugin/retroshare)|
184
-
185
----
186
-
187
-### Proxy Servers
188
-
189
-|application|language|notes|
190
-|:---------:|:------:|:----|
191
-|squid|python<br/>v2 or v3|Connects to multiple squid servers (local or remote) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [squid.chart.py](../collectors/python.d.plugin/squid)<br/>configuration file: [python.d/squid.conf](../collectors/python.d.plugin/squid)|
192
-
193
----
194
-
195
-### HTTP Accelerators
196
-
197
-| application|language|notes|
198
-|:---------:|:------:|:----|
199
-| varnish|python<br/>v2 or v3|Uses the varnishstat command to provide varnish cache statistics (client metrics, cache perfomance, thread-related metrics, backend health, memory usage etc.).<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [varnish.chart.py](../collectors/python.d.plugin/varnish)<br/>configuration file: [python.d/varnish.conf](../collectors/python.d.plugin/varnish)|
200
-
201
----
202
-
203
-### Search Engines
204
-
205
-| application|language|notes|
206
-|:---------:|:------:|:----|
207
-| elasticsearch|python<br/>v2 or v3|Monitor elasticsearch performance and health metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [elasticsearch.chart.py](../collectors/python.d.plugin/elasticsearch)<br/>configuration file: [python.d/elasticsearch.conf](../collectors/python.d.plugin/elasticsearch)|
208
-
209
----
210
-
211
-### Name Servers
212
-
213
-| application|language|notes|
214
-|:---------:|:------:|:----|
215
-| 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.<br/> <br/>Netdata plugin: [node.d.plugin](../collectors/node.d.plugin#nodedplugin)<br/>plugin module: [named.node.js](../collectors/node.d.plugin/named)<br/>configuration file: [node.d/named.conf](../collectors/node.d.plugin/named)|
216
-| bind_rndc|python<br/>v2 or v3|Parses named.stats dump file to collect real-time performance metrics. All versions of bind after 9.6 are supported.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [bind_rndc.chart.py](../collectors/python.d.plugin/bind_rndc)<br/>configuration file: [python.d/bind_rndc.conf](../collectors/python.d.plugin/bind_rndc)|
217
-| nsd|python<br/>v2 or v3|Charts the nsd received queries and zones.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [nsd.chart.py](../collectors/python.d.plugin/nsd)<br/>configuration file: [python.d/nsd.conf](../collectors/python.d.plugin/nsd)|
218
-| powerdns|python<br/>v2 or v3|Monitors powerdns performance and health metrics <br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [powerdns.chart.py](../collectors/python.d.plugin/powerdns)<br/>configuration file: [python.d/powerdns.conf](../collectors/python.d.plugin/powerdns)|
219
-| dnsdist|python<br/>v2 or v3|Monitors dnsdist performance and health metrics <br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [dnsdist.chart.py](../collectors/python.d.plugin/dnsdist)<br/>configuration file: [python.d/dnsdist.conf](../collectors/python.d.plugin/dnsdist)|
220
-
221
----
222
-
223
-### DHCP Servers
224
-
225
-| application|language|notes|
226
-|:---------:|:------:|:----|
227
-| isc dhcp|python<br/>v2 or v3|Monitor lease database to show all active leases.<br/> <br/>Python v2 requires package `python-ipaddress`.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [isc-dhcpd.chart.py](../collectors/python.d.plugin/isc_dhcpd)<br/>configuration file: [python.d/isc-dhcpd.conf](../collectors/python.d.plugin/isc_dhcpd)|
228
-
229
----
230
-
231
-### Load Balancers
232
-
233
-| application|language|notes|
234
-|:---------:|:------:|:----|
235
-| haproxy|python<br/>v2 or v3|Monitor frontend, backend and health metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [haproxy.chart.py](../collectors/python.d.plugin/haproxy)<br/>configuration file: [python.d/haproxy.conf](../collectors/python.d.plugin/haproxy)|
236
-| traefik|python<br/>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).<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [traefik.chart.py](../collectors/python.d.plugin/traefik)<br/>configuration file: [python.d/traefik.conf](../collectors/python.d.plugin/traefik)|
237
-
238
----
239
-
240
-### Message Brokers
241
-
242
-| application | language|notes|
243
-|:---------:|:------:|:----|
244
-| rabbitmq | python<br/>v2 or v3|Monitor rabbitmq performance and health metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [rabbitmq.chart.py](../collectors/python.d.plugin/rabbitmq)<br/>configuration file: [python.d/rabbitmq.conf](../collectors/python.d.plugin/rabbitmq)|
245
-| beanstalkd | python<br/>v2 or v3|Provides server and tube level statistics.<br/> <br/>Requires beanstalkc python package (`pip install beanstalkc` or install package `python-beanstalkc`, which also installs `python-yaml`).<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [beanstalk.chart.py](../collectors/python.d.plugin/beanstalk)<br/>configuration file: [python.d/beanstalk.conf](../collectors/python.d.plugin/beanstalk)|
246
-
247
----
248
-
249
-### UPS
250
-
251
-| application|language|notes|
252
-|:---------:|:------:|:----|
253
-| apcupsd|BASH<br/>Shell Script|Connects to an apcupsd server to collect real-time statistics of an APC UPS.<br/> <br/>Netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)<br/>plugin module: [apcupsd.chart.sh](../collectors/charts.d.plugin/apcupsd)<br/>configuration file: [charts.d/apcupsd.conf](../collectors/charts.d.plugin/apcupsd)|
254
-| nut|BASH<br/>Shell Script|Connects to a nut server (upsd) to collect real-time UPS statistics.<br/> <br/>Netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)<br/>plugin module: [nut.chart.sh](../collectors/charts.d.plugin/nut)<br/>configuration file: [charts.d/nut.conf](../collectors/charts.d.plugin/nut)|
255
-
256
----
257
-
258
-### RAID
259
-
260
-|application|language|notes|
261
-|:---------:|:------:|:----|
262
-|megacli|python<br/>v2 or v3|Collects adapter, physical drives and battery stats..<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [megacli.chart.py](../collectors/python.d.plugin/megacli)<br/>configuration file: [python.d/megacli.conf](../collectors/python.d.plugin/megacli)|
263
-
264
----
265
-
266
-### Mail Servers
267
-
268
-| application|language|notes|
269
-|:---------:|:------:|:----|
270
-| dovecot|python<br/>v2 or v3|Connects to multiple dovecot servers (local or remote) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [dovecot.chart.py](../collectors/python.d.plugin/dovecot)<br/>configuration file: [python.d/dovecot.conf](../collectors/python.d.plugin/dovecot)|
271
-| exim|python<br/>v2 or v3|Charts the exim queue size.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [exim.chart.py](../collectors/python.d.plugin/exim)<br/>configuration file: [python.d/exim.conf](../collectors/python.d.plugin/exim)|
272
-| postfix|python<br/>v2 or v3|Charts the postfix queue size (supports multiple queues).<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [postfix.chart.py](../collectors/python.d.plugin/postfix)<br/>configuration file: [python.d/postfix.conf](../collectors/python.d.plugin/postfix)|
273
-
274
----
275
-
276
-### File Servers
277
-
278
-| application|language|notes|
279
-|:---------:|:------:|:----|
280
-| NFS Client|`C`|This is handled entirely by the Netdata daemon.<br/> <br/>Configuration: `netdata.conf`, section `[plugin:proc:/proc/net/rpc/nfs]`.|
281
-| NFS Server|`C`|This is handled entirely by the `netdata` daemon.<br/> <br/>Configuration: `netdata.conf`, section `[plugin:proc:/proc/net/rpc/nfsd]`.|
282
-| samba|python<br/>v2 or v3|Performance metrics of Samba SMB2 file sharing.<br/> <br/>documentation page: [python.d.plugin module samba](../collectors/python.d.plugin/samba)<br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [samba.chart.py](../collectors/python.d.plugin/samba)<br/>configuration file: [python.d/samba.conf](../collectors/python.d.plugin/samba)|
283
-
284
----
285
-
286
-### Print Servers
287
-
288
-| application|language|notes|
289
-|:---------:|:------:|:----|
290
-| CUPS|C|Charts metrics of printers, jobs and other cups destinations.<br/> <br/>Netdata plugin: [cups.plugin](../collectors/cups.plugin)|
291
-
292
----
293
-
294
-### Hypervisors
295
-
296
-| application|language|notes|
297
-|:---------:|:------:|:----|
298
-| xenstat|C|Collects host and domain statistics for XenServer or XCP-ng hypervisors.<br/> <br/>Netdata plugin: [xenstat.plugin](../collectors/xenstat.plugin)|
299
-
300
----
301
-
302
-### System
303
-
304
-| application|language|notes|
305
-|:---------:|:------:|:----|
306
-| 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.<br/> <br/>[Documentation of `apps.plugin`](../collectors/apps.plugin/).<br/> <br/>Netdata plugin: [`apps_plugin.c`](../collectors/apps.plugin)<br/>configuration file: [`apps_groups.conf`](../collectors/apps.plugin)|
307
-| ioping|C|Charts disk latency statistics for a directory/file/device, using the `ioping` command. A recent (probably unreleased) version of ioping is required. The plugin supplied can install it in `/usr/local`.<br/> <br/>Netdata plugin: [ioping.plugin](../collectors/ioping.plugin) (this is a shell wrapper to start ioping - once ioping is started, Netdata and ioping communicate directly - it can also install the right version of ioping)<br/>configuration file: [ioping.conf](../collectors/ioping.plugin)|
308
-| perf|C|`perf.plugin` collects CPU performance metrics using hardware performance monitoring units (PMU).<br/> <br/>[Documentation of `perf.plugin`](../collectors/perf.plugin/).<br/> <br/>Netdata plugin: [`perf_plugin.c`](../collectors/perf.plugin)|
309
-| slabinfo|C|`slabinfo.plugin` collects Kernel SLAB cache metrics on Linux .<br/> <br/>[Documentation of `slabinfo.plugin`](../collectors/slabinfo.plugin/).<br/> <br/>Netdata plugin: [`slabinfo_plugin.c`](../collectors/slabinfo.plugin)|
310
-
311
----
312
-
313
-### Sensors
314
-
315
-| application|language|notes|
316
-|:---------:|:------:|:----|
317
-| IPMI|C|Collects temperatures, voltages, currents, power, fans and `SEL` events from IPMI using `libipmimonitoring`.<br/>Check [Monitoring IPMI](../collectors/freeipmi.plugin/) for more information<br/> <br/>Netdata plugin: [freeipmi.plugin](../collectors/freeipmi.plugin)<br/>configuration file: none required - to enable it, compile/install Netdata with `--enable-plugin-freeipmi`|
318
-| hddtemp|python<br/>v2 or v3|Connects to multiple hddtemp servers (local or remote) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [hddtemp.chart.py](../collectors/python.d.plugin/hddtemp)<br/>configuration file: [python.d/hddtemp.conf](../collectors/python.d.plugin/hddtemp)|
319
-| sensors|BASH<br/>Shell Script|Collects sensors values from files in `/sys`.<br/><br/>DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.<br/> <br/>Netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)<br/>plugin module: [sensors.chart.sh](../collectors/charts.d.plugin/sensors)<br/>configuration file: [charts.d/sensors.conf](../collectors/charts.d.plugin/sensors)|
320
-| sensors|python<br/>v2 or v3|Uses `lm-sensors` to collect sensor data.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [sensors.chart.py](../collectors/python.d.plugin/sensors)<br/>configuration file: [python.d/sensors.conf](../collectors/python.d.plugin/sensors)|
321
-| smartd_log|python<br/>v2 or v3|Collects the S.M.A.R.T attributes from `smartd` log files.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [smartd_log.chart.py](../collectors/python.d.plugin/smartd_log)<br/>configuration file: [python.d/smartd_log.conf](../collectors/python.d.plugin/smartd_log)|
322
-| w1sensor|python<br/>v2 or v3|Collects data from connected 1-Wire sensors.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [w1sensor.chart.py](../collectors/python.d.plugin/w1sensor)<br/>configuration file: [python.d/w1sensor.conf](../collectors/python.d.plugin/w1sensor)|
323
-
324
----
325
-
326
-### Network
327
-
328
-| application|language|notes|
329
-|:---------:|:------:|:----|
330
-| ap|BASH<br/>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`).<br/> <br/>Netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)<br/>plugin module: [ap.chart.sh](../collectors/charts.d.plugin/ap)<br/>configuration file: [charts.d/ap.conf](../collectors/charts.d.plugin/ap)|
331
-| 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`.<br/> <br/>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)<br/>configuration file: [fping.conf](../collectors/fping.plugin)|
332
-| snmp|node.js|Connects to multiple snmp servers to collect real-time performance metrics.<br/> <br/>Netdata plugin: [node.d.plugin](../collectors/node.d.plugin#nodedplugin)<br/>plugin module: [snmp.node.js](../collectors/node.d.plugin/snmp)<br/>configuration file: [node.d/snmp.conf](../collectors/node.d.plugin/snmp)|
333
-| nfacct|C|collects netfilter firewall, connection tracker and accounting metrics using `libmnl` and `libnetfilter_acct`|
334
-| dns_query_time|python<br/>v2 or v3|Provides DNS query time statistics.<br/> <br/>Requires package `dnspython` (`pip install dnspython` or install package `python-dnspython`).<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [dns_query_time.chart.py](../collectors/python.d.plugin/dns_query_time)<br/>configuration file: [python.d/dns_query_time.conf](../collectors/python.d.plugin/dns_query_time)|
335
-| http|python<br />v2 or v3|Monitors a generic web page for status code and returned content in HTML|
336
-| port|ptyhon<br />v2 or v3|Checks if a generic TCP port for its availability and response time|
337
-
338
----
339
-
340
-### Time Servers
341
-
342
-| application|language|notes|
343
-|:---------:|:------:|:----|
344
-| chrony|python<br/>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).<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [chrony.chart.py](../collectors/python.d.plugin/chrony)<br/>configuration file: [python.d/chrony.conf](../collectors/python.d.plugin/chrony)|
345
-| ntpd|python<br/>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).<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [ntpd.chart.py](../collectors/python.d.plugin/ntpd)<br/>configuration file: [python.d/ntpd.conf](../collectors/python.d.plugin/ntpd)|
346
-
347
----
348
-
349
-### Security
350
-
351
-| application|language|notes|
352
-|:---------:|:------:|:----|
353
-| freeradius|python<br/>v2 or v3|Uses the radclient command to provide freeradius statistics (authentication, accounting, proxy-authentication, proxy-accounting).<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [freeradius.chart.py](../collectors/python.d.plugin/freeradius)<br/>configuration file: [python.d/freeradius.conf](../collectors/python.d.plugin/freeradius)|
354
-| openvpn|python<br/>v2 or v3|All data from openvpn-status.log in your dashboard! <br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [ovpn_status_log.chart.py](../collectors/python.d.plugin/ovpn_status_log)<br/>configuration file: [python.d/ovpn_status_log.conf](../collectors/python.d.plugin/ovpn_status_log)|
355
-| fail2ban|python<br/>v2 or v3|Monitor fail2ban log file to show all bans for all active jails <br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [fail2ban.chart.py](../collectors/python.d.plugin/fail2ban)<br/>configuration file: [python.d/fail2ban.conf](../collectors/python.d.plugin/fail2ban)|
356
-
357
----
358
-
359
-### Telephony Servers
360
-
361
-| application|language|notes|
362
-|:---------:|:------:|:----|
363
-| opensips|BASH<br/>Shell Script|Connects to an opensips server (local only) to collect real-time performance metrics.<br/> <br/>Netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)<br/>plugin module: [opensips.chart.sh](../collectors/charts.d.plugin/opensips)<br/>configuration file: [charts.d/opensips.conf](../collectors/charts.d.plugin/opensips)|
364
-
365
----
366
-
367
-### Go applications
368
-
369
-| application|language|notes|
370
-|:---------:|:------:|:----|
371
-| go_expvar|python<br/>v2 or v3|Parses metrics exposed by applications written in the Go programming language using the [expvar package](https://golang.org/pkg/expvar/).<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [go_expvar.chart.py](../collectors/python.d.plugin/go_expvar)<br/>configuration file: [python.d/go_expvar.conf](../collectors/python.d.plugin/go_expvar)<br/>documentation: [Monitoring Go Applications](../collectors/python.d.plugin/go_expvar/)|
372
-
373
----
374
-
375
-### Household Appliances
376
-
377
-| application|language|notes|
378
-|:---------:|:------:|:----|
379
-| sma_webbox|node.js|Connects to multiple remote SMA webboxes to collect real-time performance metrics of the photovoltaic (solar) power generation.<br/> <br/>Netdata plugin: [node.d.plugin](../collectors/node.d.plugin#nodedplugin)<br/>plugin module: [sma_webbox.node.js](../collectors/node.d.plugin/sma_webbox)<br/>configuration file: [node.d/sma_webbox.conf](../collectors/node.d.plugin/sma_webbox)|
380
-| fronius|node.js|Connects to multiple remote Fronius Symo servers to collect real-time performance metrics of the photovoltaic (solar) power generation.<br/> <br/>Netdata plugin: [node.d.plugin](../collectors/node.d.plugin#nodedplugin)<br/>plugin module: [fronius.node.js](../collectors/node.d.plugin/fronius)<br/>configuration file: [node.d/fronius.conf](../collectors/node.d.plugin/fronius)|
381
-| stiebeleltron|node.js|Collects the temperatures and other metrics from your Stiebel Eltron heating system using their Internet Service Gateway (ISG web).<br/> <br/>Netdata plugin: [node.d.plugin](../collectors/node.d.plugin#nodedplugin)<br/>plugin module: [stiebeleltron.node.js](../collectors/node.d.plugin/stiebeleltron)<br/>configuration file: [node.d/stiebeleltron.conf](../collectors/node.d.plugin/stiebeleltron)|
382
-
383
----
384
-
385
-### Java Processes
386
-
387
-| application|language|notes|
388
-|:---------:|:------:|:----|
389
-| 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.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [springboot](../collectors/python.d.plugin/springboot)<br/>configuration file: [python.d/springboot.conf](../collectors/python.d.plugin/springboot)|
390
-
391
----
392
-
393
-### Provisioning Systems
394
-
395
-| application|language|notes|
396
-|:---------:|:------:|:----|
397
-| puppet|python<br/>v2 or v3|Connects to multiple Puppet Server and Puppet DB instances (local or remote) to collect real-time status metrics.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [puppet.chart.py](../collectors/python.d.plugin/puppet)<br/>configuration file: [python.d/puppet.conf](../collectors/python.d.plugin/puppet)|
398
-
399
----
400
-
401
-### Game Servers
402
-
403
-| application|language|notes|
404
-|:---------:|:------:|:----|
405
-| SpigotMC|Python<br/>v2 or v3|Monitors Spigot Minecraft server ticks per second and number of online players using the Minecraft remote console.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [spigotmc.chart.py](../collectors/python.d.plugin/spigotmc)<br/>configuration file: [python.d/spigotmc.conf](../collectors/python.d.plugin/spigotmc)|
406
-
407
----
408
-
409
-### Distributed Computing Clients
410
-
411
-| application|language|notes|
412
-|:---------:|:------:|:----|
413
-| BOINC|Python<br/>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<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [boinc.chart.py](../collectors/python.d.plugin/boinc)<br/>configuration file: [python.d/boinc.conf](../collectors/python.d.plugin/boinc)|
414
-
415
----
416
-
417
-### Skeleton Plugins
418
-
419
-| application|language|notes|
420
-|:---------:|:------:|:----|
421
-| example|BASH<br/>Shell Script|Skeleton plugin in BASH.<br/><br/>DEPRECATED IN FAVOR OF THE PYTHON ONE. It is still supplied only as an example module to shell scripting plugins.<br/> <br/>Netdata plugin: [charts.d.plugin](../collectors/charts.d.plugin#chartsdplugin)<br/>plugin module: [example.chart.sh](../collectors/charts.d.plugin/example)<br/>configuration file: [charts.d/example.conf](../collectors/charts.d.plugin/example)|
422
-| example|python<br/>v2 or v3|Skeleton plugin in Python.<br/> <br/>Netdata plugin: [python.d.plugin](../collectors/python.d.plugin)<br/>plugin module: [example.chart.py](../collectors/python.d.plugin/example)<br/>configuration file: [python.d/example.conf](../collectors/python.d.plugin/example)|
423
-
424
-[](<>)
8
+See the [list of supported collectors](../collectors/COLLECTORS.md) to see all the sources Netdata can collect metrics
9
+from.
docs/Third-Party-Plugins.md
deleted
-31
@@ -1,31 +0,0 @@
1
-# Third-party plugins
2
-
3
-The following is a list of Netdata plugins distributed by third parties:
4
-
5
-## Nvidia GPUs
6
-
7
-[Netdata nv plugin](https://github.com/coraxx/netdata_nv_plugin) monitors nvidia GPUs.
8
-
9
-
10
-
11
-## teamspeak 3
12
-
13
-[teamspeak 3 plugin](https://github.com/coraxx/netdata_ts3_plugin) polls active users and bandwidth from TeamSpeak 3 servers.
14
-
15
-## SSH
16
-
17
-[SSH module](https://github.com/Yaser-Amiri/netdata-ssh-module) monitors failed authentication requests of SSH server.
18
-
19
-## interactive users count
20
-
21
-Collect [number of currently logged-on users](https://github.com/veksh/netdata-numsessions)
22
-
23
-## CyberPower UPS
24
-
25
-[cyberups plugin](https://github.com/HawtDogFlvrWtr/netdata_cyberpwrups_plugin) polls the USB connected CyberPower UPS for stats.
26
-
27
-## Nim
28
-
29
-There is an unofficial [nim plugin helper](https://github.com/FedericoCeratto/nim-netdata-plugin)
30
-
31
-[](<>)
docs/generator/buildyaml.sh
+12
-13
@@ -208,18 +208,11 @@ echo -ne " - 'docs/Performance.md'
208
- 'docs/high-performance-netdata.md'
209
"
210
211
-navpart 1 . netdata-cloud "Netdata Cloud"
211
+navpart 1 collectors README "Collecting metrics"
212
echo -ne "
213
- - 'docs/netdata-cloud/README.md'
214
- - 'docs/netdata-cloud/signing-in.md'
215
- - 'docs/netdata-cloud/nodes-view.md'
216
-"
217
-
218
-navpart 1 web "README" "Dashboards"
219
-navpart 2 web/gui "" "" 3
220
-
221
-navpart 1 collectors "" "Data collection" 1
222
-echo -ne " - 'docs/Add-more-charts-to-netdata.md'
213
+ - 'collectors/QUICKSTART.md'
214
+ - 'collectors/COLLECTORS.md'
215
+ - 'collectors/REFERENCE.md'
216
- Internal plugins:
217
"
218
@@ -273,10 +266,16 @@ navpart 3 collectors/xenstat.plugin
266
navpart 3 collectors/perf.plugin
267
navpart 3 collectors/slabinfo.plugin
268
276
-
277
-echo -ne " - 'docs/Third-Party-Plugins.md'
269
+navpart 1 . netdata-cloud "Netdata Cloud"
270
+echo -ne "
271
+ - 'docs/netdata-cloud/README.md'
272
+ - 'docs/netdata-cloud/signing-in.md'
273
+ - 'docs/netdata-cloud/nodes-view.md'
274
"
275
276
+navpart 1 web "README" "Dashboards"
277
+navpart 2 web/gui "" "" 3
278
+
279
navpart 1 health README "Health monitoring and alerts"
280
echo -ne " - 'health/QUICKSTART.md'
281
- 'health/REFERENCE.md'
docs/getting-started.md
+1
-1
@@ -144,7 +144,7 @@ changes based on your particular Nginx setup.
144
145
**What's next?**:
146
147
-- Look at the [full list of data collection modules](Add-more-charts-to-netdata.md#available-data-collection-modules)
147
+- Look at the [full list of data collection modules](../collectors/COLLECTORS.md)
148
to configure your sources for auto-detection and monitoring.
149
- Improve the [performance](Performance.md) of Netdata on low-memory systems.
150
- Configure `systemd` to expose [systemd services
docs/step-by-step/step-06.md
+20
-18
@@ -9,26 +9,28 @@ However, auto-detection only works if you installed the source using its standar
9
procedure. If Netdata isn't collecting metrics after a restart, your source probably isn't configured
10
correctly.
11
12
-Check out the [available data collection modules](../Add-more-charts-to-netdata.md#available-data-collection-modules)
13
-to find the module for the source you want to monitor.
12
+Check out the [collectors that come pre-installed with Netdata](../../collectors/COLLECTORS.md) to find the module for
13
+the source you want to monitor.
14
15
## What you'll learn in this step
16
17
-We'll begin with an overview on Netdata's plugin architecture, and then dive into the following:
17
+We'll begin with an overview on Netdata's collector architecture, and then dive into the following:
18
19
-- [Netdata's plugin architecture](#netdatas-plugin-architecture)
19
+- [Netdata's collector architecture](#netdatas-collector-architecture)
20
- [Enable and disable plugins](#enable-and-disable-plugins)
21
-- [Enable the Nginx module as an example](#example-enable-the-nginx-module)
21
+- [Enable the Nginx collector as an example](#example-enable-the-nginx-collector)
22
23
-## Netdata's plugin architecture
23
+## Netdata's collector architecture
24
25
-Many Netdata users never have to configure plugins or worry about which plugin orchestrator they want to use.
25
+Many Netdata users never have to configure collector or worry about which plugin orchestrator they want to use.
26
27
-But, if you want to configure plugins or write a collector module for your custom source, it's important to understand
28
-the underlying plugin architecture.
27
+But, if you want to configure collector or write a collector for your custom source, it's important to understand the
28
+underlying architecture.
29
30
-By default, Netdata collects a lot of metrics every second using a lot of plugins. **Internal** plugins collect system
31
-metrics, **external** plugins collect non-system metrics, and **orchestrator** plugins support data collection modules.
30
+By default, Netdata collects a lot of metrics every second using any number of discrete collector. Collectors, in turn,
31
+are organized and manged by plugins. **Internal** plugins collect system metrics, **external** plugins collect
32
+non-system metrics, and **orchestrator** plugins group individal collectors together based on the programming language
33
+they were built in.
34
35
These modules are primarily written in [Go](../../collectors/go.d.plugin/) (`go.d`) and
36
[Python](../../collectors/python.d.plugin/), although some use [Bash](../../collectors/charts.d.plugin/) (`charts.d`) or
@@ -61,22 +63,22 @@ Disabled:
63
node.d = no
64
```
65
64
-When you explicitly disable a plugin this way, it won't auto-collect metrics using its modules.
66
+When you explicitly disable a plugin this way, it won't auto-collect metrics using its collectors.
67
66
-## Example: Enable the Nginx module
68
+## Example: Enable the Nginx collector
69
70
To help explain how the auto-detection process works, let's use an Nginx web server as an example.
71
72
Even if you don't have Nginx installed on your system, we recommend you read through the following section so you can
73
apply the process to other data sources, such as Apache, Redis, Memcached, and more.
74
73
-The Nginx module, which helps Netdata collect metrics from a running Nginx web server, is part of the `python.d.plugin`
74
-external plugin _orchestrator_.
75
+The Nginx collector, which helps Netdata collect metrics from a running Nginx web server, is part of the
76
+`python.d.plugin` external plugin _orchestrator_.
77
78
In order for Netdata to auto-detect an Nginx web server, you need to enable `ngx_http_stub_status_module` and pass the
79
`stub_status` directive in the `location` block of your Nginx configuration file.
80
79
-You can confirm if the module is already enabled or not by using following command:
81
+You can confirm if the `stub_status` Nginx module is already enabled or not by using following command:
82
83
```sh
84
nginx -V 2>&1 | grep -o with-http_stub_status_module
@@ -96,8 +98,8 @@ Restart Netdata using `service netdata restart` or the [correct
98
alternative](../getting-started.md#start-stop-and-restart-netdata) for your system, and Netdata will auto-detect
99
metrics from your Nginx web server!
100
99
-While not necessary for most auto-detection and collection purposes, you can also configure the Nginx collection module
100
-itself by editing its configuration file:
101
+While not necessary for most auto-detection and collection purposes, you can also configure the Nginx collector itself
102
+by editing its configuration file:
103
104
```sh
105
./edit-config python.d/nginx.conf
docs/what-is-netdata.md
+9
-212
@@ -179,222 +179,19 @@ _A highlighted time-frame can be given by pressing `ALT` + `mouse selection` on
179
180
> Highlighted ranges are propagated from Netdata server to Netdata server, when navigating via the [node menu](../registry#registry).
181
182
-## What does it monitor
183
-
184
-Netdata data collection is **extensible** - you can monitor anything you can get a metric for.
185
-Its [Plugin API](../collectors/plugins.d/) supports all programing languages (anything can be a Netdata plugin, BASH, python, perl, node.js, java, Go, ruby, etc).
186
-
187
-- For better performance, most system related plugins (cpu, memory, disks, filesystems, networking, etc) have been written in `C`.
188
-- For faster development and easier contributions, most application related plugins (databases, web servers, etc) have been written in `python`.
189
-
190
-#### APM (Application Performance Monitoring)
191
-
192
-- **[statsd](../collectors/statsd.plugin/)** - Netdata is a fully featured statsd server.
193
-- **[Go expvar](../collectors/python.d.plugin/go_expvar/)** - collects metrics exposed by applications written in the Go programming language using the expvar package.
194
-- **[Spring Boot](../collectors/python.d.plugin/springboot/)** - monitors running Java Spring Boot applications that expose their metrics with the use of the Spring Boot Actuator included in Spring Boot library.
195
-- **[uWSGI](../collectors/python.d.plugin/uwsgi/)** - collects performance metrics from uWSGI applications.
196
-
197
-#### System Resources
198
-
199
-- **[CPU Utilization](../collectors/proc.plugin/)** - total and per core CPU usage.
200
-- **[Interrupts](../collectors/proc.plugin/)** - total and per core CPU interrupts.
201
-- **[SoftIRQs](../collectors/proc.plugin/)** - total and per core SoftIRQs.
202
-- **[SoftNet](../collectors/proc.plugin/)** - total and per core SoftIRQs related to network activity.
203
-- **[CPU Throttling](../collectors/proc.plugin/)** - collects per core CPU throttling.
204
-- **[CPU Frequency](../collectors/proc.plugin/)** - collects the current CPU frequency.
205
-- **[CPU Idle](../collectors/proc.plugin/)** - collects the time spent per processor state.
206
-- **[IdleJitter](../collectors/idlejitter.plugin/)** - measures CPU latency.
207
-- **[Entropy](../collectors/proc.plugin/)** - random numbers pool, using in cryptography.
208
-- **[Interprocess Communication - IPC](../collectors/proc.plugin/)** - such as semaphores and semaphores arrays.
209
-
210
-#### Memory
211
-
212
-- **[ram](../collectors/proc.plugin/)** - collects info about RAM usage.
213
-- **[swap](../collectors/proc.plugin/)** - collects info about swap memory usage.
214
-- **[available memory](../collectors/proc.plugin/)** - collects the amount of RAM available for userspace processes.
215
-- **[committed memory](../collectors/proc.plugin/)** - collects the amount of RAM committed to userspace processes.
216
-- **[Page Faults](../collectors/proc.plugin/)** - collects the system page faults (major and minor).
217
-- **[writeback memory](../collectors/proc.plugin/)** - collects the system dirty memory and writeback activity.
218
-- **[huge pages](../collectors/proc.plugin/)** - collects the amount of RAM used for huge pages.
219
-- **[KSM](../collectors/proc.plugin/)** - collects info about Kernel Same Merging (memory dedupper).
220
-- **[Numa](../collectors/proc.plugin/)** - collects Numa info on systems that support it.
221
-- **[slab](../collectors/proc.plugin/)** - collects info about the Linux kernel memory usage.
222
-
223
-#### Disks
224
-
225
-- **[block devices](../collectors/proc.plugin/)** - per disk: I/O, operations, backlog, utilization, space, etc.
226
-- **[BCACHE](../collectors/proc.plugin/)** - detailed performance of SSD caching devices.
227
-- **[DiskSpace](../collectors/proc.plugin/)** - monitors disk space usage.
228
-- **[mdstat](../collectors/proc.plugin/)** - software RAID.
229
-- **[hddtemp](../collectors/python.d.plugin/hddtemp/)** - disk temperatures.
230
-- **[smartd](../collectors/python.d.plugin/smartd_log/)** - disk S.M.A.R.T. values.
231
-- **[device mapper](../collectors/proc.plugin/)** - naming disks.
232
-- **[Veritas Volume Manager](../collectors/proc.plugin/)** - naming disks.
233
-- **[megacli](../collectors/python.d.plugin/megacli/)** - adapter, physical drives and battery stats.
234
-- **[adaptec_raid](../collectors/python.d.plugin/adaptec_raid/)** - logical and physical devices health metrics.
235
-- **[ioping](../collectors/ioping.plugin/)** - to measure disk read/write latency.
182
+## What Netdata monitors
183
237
-#### Filesystems
238
-
239
-- **[BTRFS](../collectors/proc.plugin/)** - detailed disk space allocation and usage.
240
-- **[Ceph](../collectors/python.d.plugin/ceph/)** - OSD usage, Pool usage, number of objects, etc.
241
-- **[NFS file servers and clients](../collectors/proc.plugin/)** - NFS v2, v3, v4: I/O, cache, read ahead, RPC calls
242
-- **[Samba](../collectors/python.d.plugin/samba/)** - performance metrics of Samba SMB2 file sharing.
243
-- **[ZFS](../collectors/proc.plugin/)** - detailed performance and resource usage.
184
+Netdata can collect metrics from 200+ popular services and applications, on top of dozens of system-related metrics
185
+jocs, such as CPU, memory, disks, filesystems, networking, and more. We call these **collectors**, and they're managed
186
+by [**plugins**](../collectors/plugins.d/), which support a variety of programming languages, including Go and Python.
187
245
-#### Networking
246
-
247
-- **[Network Stack](../collectors/proc.plugin/)** - everything about the networking stack (both IPv4 and IPv6 for all protocols: TCP, UDP, SCTP, UDPLite, ICMP, Multicast, Broadcast, etc), and all network interfaces (per interface: bandwidth, packets, errors, drops).
248
-- **[Netfilter](../collectors/proc.plugin/)** - everything about the netfilter connection tracker.
249
-- **[SynProxy](../collectors/proc.plugin/)** - collects performance data about the linux SYNPROXY (DDoS).
250
-- **[NFacct](../collectors/nfacct.plugin/)** - collects accounting data from iptables.
251
-- **[Network QoS](../collectors/tc.plugin/)** - the only tool that visualizes network `tc` classes in real-time
252
-- **[FPing](../collectors/fping.plugin/)** - to measure latency and packet loss between any number of hosts.
253
-- **[ISC dhcpd](../collectors/python.d.plugin/isc_dhcpd/)** - pools utilization, leases, etc.
254
-- **[AP](../collectors/charts.d.plugin/ap/)** - collects Linux access point performance data (`hostapd`).
255
-- **[SNMP](../collectors/node.d.plugin/snmp/)** - SNMP devices can be monitored too (although you will need to configure these).
256
-- **[port_check](../collectors/python.d.plugin/portcheck/)** - checks TCP ports for availability and response time.
188
+Popular collectors include **Nginx**, **Apache**, **MySQL**, **statsd**, **cgroups** (containers, Docker, Kubernetes,
189
+LXC, and more), **Traefik**, **web server `access.log` files**, and much more.
190
258
-#### Virtual Private Networks
191
+See the **full list of [supported collectors](../collectors/COLLECTORS.md)**.
192
260
-- **[OpenVPN](../collectors/python.d.plugin/ovpn_status_log/)** - collects status per tunnel.
261
-- **[LibreSwan](../collectors/charts.d.plugin/libreswan/)** - collects metrics per IPSEC tunnel.
262
-- **[Tor](../collectors/python.d.plugin/tor/)** - collects Tor traffic statistics.
263
-
264
-#### Processes
265
-
266
-- **[System Processes](../collectors/proc.plugin/)** - running, blocked, forks, active.
267
-- **[Applications](../collectors/apps.plugin/)** - by grouping the process tree and reporting CPU, memory, disk reads, disk writes, swap, threads, pipes, sockets - per process group.
268
-- **[systemd](../collectors/cgroups.plugin/)** - monitors systemd services using CGROUPS.
269
-
270
-#### Users
271
-
272
-- **[Users and User Groups resource usage](../collectors/apps.plugin/)** - by summarizing the process tree per user and group, reporting: CPU, memory, disk reads, disk writes, swap, threads, pipes, sockets
273
-- **[logind](../collectors/python.d.plugin/logind/)** - collects sessions, users and seats connected.
274
-
275
-#### Containers and VMs
276
-
277
-- **[Containers](../collectors/cgroups.plugin/)** - collects resource usage for all kinds of containers, using CGROUPS (systemd-nspawn, lxc, lxd, docker, kubernetes, etc).
278
-- **[libvirt VMs](../collectors/cgroups.plugin/)** - collects resource usage for all kinds of VMs, using CGROUPS.
279
-- **[dockerd](../collectors/python.d.plugin/dockerd/)** - collects docker health metrics.
280
-
281
-#### Web Servers
282
-
283
-- **[Apache and lighttpd](../collectors/python.d.plugin/apache/)** - `mod-status` (v2.2, v2.4) and cache log statistics, for multiple servers.
284
-- **[IPFS](../collectors/python.d.plugin/ipfs/)** - bandwidth, peers.
285
-- **[LiteSpeed](../collectors/python.d.plugin/litespeed/)** - reads the litespeed rtreport files to collect metrics.
286
-- **[Nginx](../collectors/python.d.plugin/nginx/)** - `stub-status`, for multiple servers.
287
-- **[Nginx+](../collectors/python.d.plugin/nginx_plus/)** - connects to multiple nginx_plus servers (local or remote) to collect real-time performance metrics.
288
-- **[PHP-FPM](../collectors/python.d.plugin/phpfpm/)** - multiple instances, each reporting connections, requests, performance, etc.
289
-- **[Tomcat](../collectors/python.d.plugin/tomcat/)** - accesses, threads, free memory, volume, etc.
290
-- **[web server `access.log` files](../collectors/python.d.plugin/web_log/)** - extracting in real-time, web server and proxy performance metrics and applying several health checks, etc.
291
-- **[HTTP check](../collectors/python.d.plugin/httpcheck/)** - checks one or more web servers for HTTP status code and returned content.
292
-
293
-#### Proxies, Balancers, Accelerators
294
-
295
-- **[HAproxy](../collectors/python.d.plugin/haproxy/)** - bandwidth, sessions, backends, etc.
296
-- **[Squid](../collectors/python.d.plugin/squid/)** - multiple servers, each showing: clients bandwidth and requests, servers bandwidth and requests.
297
-- **[Traefik](../collectors/python.d.plugin/traefik/)** - connects to multiple traefik instances (local or remote) to collect API metrics (response status code, response time, average response time and server uptime).
298
-- **[Varnish](../collectors/python.d.plugin/varnish/)** - threads, sessions, hits, objects, backends, etc.
299
-- **[IPVS](../collectors/proc.plugin/)** - collects metrics from the Linux IPVS load balancer.
300
-
301
-#### Database Servers
302
-
303
-- **[CouchDB](../collectors/python.d.plugin/couchdb/)** - reads/writes, request methods, status codes, tasks, replication, per-db, etc.
304
-- **[MemCached](../collectors/python.d.plugin/memcached/)** - multiple servers, each showing: bandwidth, connections, items, etc.
305
-- **[MongoDB](../collectors/python.d.plugin/mongodb/)** - operations, clients, transactions, cursors, connections, asserts, locks, etc.
306
-- **[MySQL and mariadb](../collectors/python.d.plugin/mysql/)** - multiple servers, each showing: bandwidth, queries/s, handlers, locks, issues, tmp operations, connections, binlog metrics, threads, innodb metrics, and more.
307
-- **[PostgreSQL](../collectors/python.d.plugin/postgres/)** - multiple servers, each showing: per database statistics (connections, tuples read - written - returned, transactions, locks), backend processes, indexes, tables, write ahead, background writer and more.
308
-- **[Proxy SQL](../collectors/python.d.plugin/proxysql/)** - collects Proxy SQL backend and frontend performance metrics.
309
-- **[Redis](../collectors/python.d.plugin/redis/)** - multiple servers, each showing: operations, hit rate, memory, keys, clients, slaves.
310
-- **[RethinkDB](../collectors/python.d.plugin/rethinkdbs/)** - connects to multiple rethinkdb servers (local or remote) to collect real-time metrics.
311
-
312
-#### Message Brokers
313
-
314
-- **[beanstalkd](../collectors/python.d.plugin/beanstalk/)** - global and per tube monitoring.
315
-- **[RabbitMQ](../collectors/python.d.plugin/rabbitmq/)** - performance and health metrics.
316
-
317
-#### Search and Indexing
318
-
319
-- **[ElasticSearch](../collectors/python.d.plugin/elasticsearch/)** - search and index performance, latency, timings, cluster statistics, threads statistics, etc.
320
-
321
-#### DNS Servers
322
-
323
-- **[bind_rndc](../collectors/python.d.plugin/bind_rndc/)** - parses `named.stats` dump file to collect real-time performance metrics. All versions of bind after 9.6 are supported.
324
-- **[dnsdist](../collectors/python.d.plugin/dnsdist/)** - performance and health metrics.
325
-- **[ISC Bind (named)](../collectors/node.d.plugin/named/)** - multiple servers, each showing: clients, requests, queries, updates, failures and several per view metrics. All versions of bind after 9.9.10 are supported.
326
-- **[NSD](../collectors/python.d.plugin/nsd/)** - queries, zones, protocols, query types, transfers, etc.
327
-- **[PowerDNS](../collectors/python.d.plugin/powerdns/)** - queries, answers, cache, latency, etc.
328
-- **[dns_query_time](../collectors/python.d.plugin/dns_query_time/)** - DNS query time statistics.
329
-
330
-#### Time Servers
331
-
332
-- **[chrony](../collectors/python.d.plugin/chrony/)** - uses the `chronyc` command to collect chrony statistics (Frequency, Last offset, RMS offset, Residual freq, Root delay, Root dispersion, Skew, System time).
333
-- **[ntpd](../collectors/python.d.plugin/ntpd/)** - connects to multiple ntpd servers (local or remote) to provide statistics of system variables and optional also peer variables.
334
-
335
-#### Mail Servers
336
-
337
-- **[Dovecot](../collectors/python.d.plugin/dovecot/)** - POP3/IMAP servers.
338
-- **[Exim](../collectors/python.d.plugin/exim/)** - message queue (emails queued).
339
-- **[Postfix](../collectors/python.d.plugin/postfix/)** - message queue (entries, size).
340
-
341
-#### Hardware Sensors
342
-
343
-- **[IPMI](../collectors/freeipmi.plugin/)** - enterprise hardware sensors and events.
344
-- **[lm-sensors](../collectors/python.d.plugin/sensors/)** - temperature, voltage, fans, power, humidity, etc.
345
-- **[Nvidia](../collectors/python.d.plugin/nvidia_smi/)** - collects information for Nvidia GPUs.
346
-- **[RPi](../collectors/charts.d.plugin/sensors/)** - Raspberry Pi temperature sensors.
347
-- **[w1sensor](../collectors/python.d.plugin/w1sensor/)** - collects data from connected 1-Wire sensors.
348
-
349
-#### UPSes
350
-
351
-- **[apcupsd](../collectors/charts.d.plugin/apcupsd/)** - load, charge, battery voltage, temperature, utility metrics, output metrics
352
-- **[NUT](../collectors/charts.d.plugin/nut/)** - load, charge, battery voltage, temperature, utility metrics, output metrics
353
-- **[Linux Power Supply](../collectors/proc.plugin/)** - collects metrics reported by power supply drivers on Linux.
354
-
355
-#### Social Sharing Servers
356
-
357
-- **[RetroShare](../collectors/python.d.plugin/retroshare/)** - connects to multiple retroshare servers (local or remote) to collect real-time performance metrics.
358
-
359
-#### Security
360
-
361
-- **[Fail2Ban](../collectors/python.d.plugin/fail2ban/)** - monitors the fail2ban log file to check all bans for all active jails.
362
-
363
-#### Authentication, Authorization, Accounting (AAA, RADIUS, LDAP) Servers
364
-
365
-- **[FreeRadius](../collectors/python.d.plugin/freeradius/)** - uses the `radclient` command to provide freeradius statistics (authentication, accounting, proxy-authentication, proxy-accounting).
366
-
367
-#### Telephony Servers
368
-
369
-- **[opensips](../collectors/charts.d.plugin/opensips/)** - connects to an opensips server (localhost only) to collect real-time performance metrics.
370
-
371
-#### Household Appliances
372
-
373
-- **[SMA webbox](../collectors/node.d.plugin/sma_webbox/)** - connects to multiple remote SMA webboxes to collect real-time performance metrics of the photovoltaic (solar) power generation.
374
-- **[Fronius](../collectors/node.d.plugin/fronius/)** - connects to multiple remote Fronius Symo servers to collect real-time performance metrics of the photovoltaic (solar) power generation.
375
-- **[StiebelEltron](../collectors/node.d.plugin/stiebeleltron/)** - collects the temperatures and other metrics from your Stiebel Eltron heating system using their Internet Service Gateway (ISG web).
376
-
377
-#### Game Servers
378
-
379
-- **[SpigotMC](../collectors/python.d.plugin/spigotmc/)** - monitors Spigot Minecraft server ticks per second and number of online players using the Minecraft remote console.
380
-
381
-#### Distributed Computing
382
-
383
-- **[BOINC](../collectors/python.d.plugin/boinc/)** - 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.
384
-
385
-#### Media Streaming Servers
386
-
387
-- **[IceCast](../collectors/python.d.plugin/icecast/)** - collects the number of listeners for active sources.
388
-
389
-### Monitoring Systems
390
-
391
-- **[Monit](../collectors/python.d.plugin/monit/)** - collects metrics about monit targets (filesystems, applications, networks).
392
-
393
-#### Provisioning Systems
394
-
395
-- **[Puppet](../collectors/python.d.plugin/puppet/)** - connects to multiple Puppet Server and Puppet DB instances (local or remote) to collect real-time status metrics.
396
-
397
-You can easily extend Netdata, by writing plugins that collect data from any source, using any computer language.
193
+Netdata's data collection is **extensible**, which means you can monitor anything you can get a metric for. You can even
194
+write a collector for your custom application using our [plugin API](../collectors/plugins.d/README.md).
195
196
## Community
197
web/gui/main.js
+2
-2
@@ -1804,8 +1804,8 @@ function renderPage(menus, data) {
1804
1805
const isMemoryModeDbEngine = data.memory_mode === "dbengine";
1806
1807
- sidebar += '<li class="" style="padding-top:15px;"><a href="https://github.com/netdata/netdata/blob/master/docs/Add-more-charts-to-netdata.md#add-more-charts-to-netdata" target="_blank"><i class="fas fa-plus"></i> add more charts</a></li>';
1808
- sidebar += '<li class=""><a href="https://github.com/netdata/netdata/tree/master/health#Health-monitoring" target="_blank"><i class="fas fa-plus"></i> add more alarms</a></li>';
1807
+ sidebar += '<li class="" style="padding-top:15px;"><a href="https://docs.netdata.cloud/collectors/quickstart/" target="_blank"><i class="fas fa-plus"></i> Add more charts</a></li>';
1808
+ sidebar += '<li class=""><a href="https://docs.netdata.cloud/health/quickstart/" target="_blank"><i class="fas fa-plus"></i> Add more alarms</a></li>';
1809
sidebar += '<li class="" style="margin:20px;color:#666;"><small>Every ' +
1810
((data.update_every === 1) ? 'second' : data.update_every.toString() + ' seconds') + ', ' +
1811
'Netdata collects <strong>' + data.dimensions_count.toLocaleString() + '</strong> metrics on ' +