thiagoftsm 7c1f4cf633 eBPF Yaml (#15474) 1 year ago
..
apps.plugin a7370f4157 apps.plugin limits tracing (#15504) 1 year ago
cgroups.plugin a3357696d4 fix anchors (#15469) 1 year ago
charts.d.plugin 4fc14026e9 Update charts.d.plugin yaml (#15483) 1 year ago
checks.plugin 0541c97e53 Introduce the new Structure of the documentation (#13915) 2 years ago
cups.plugin 99f7212a54 meta schema change multi-instance to multi_instance (#15470) 1 year ago
debugfs.plugin 720e855ad5 Update debugfs plugin metadata. (#15463) 1 year ago
diskspace.plugin 99f7212a54 meta schema change multi-instance to multi_instance (#15470) 1 year ago
ebpf.plugin 7c1f4cf633 eBPF Yaml (#15474) 1 year ago
freebsd.plugin 63536a73aa Yaml file updates (#15477) 1 year ago
freeipmi.plugin b7d0773e94 freeipmi flush keepalive msgs (#15499) 1 year ago
idlejitter.plugin 99f7212a54 meta schema change multi-instance to multi_instance (#15470) 1 year ago
ioping.plugin 99f7212a54 meta schema change multi-instance to multi_instance (#15470) 1 year ago
macos.plugin 99f7212a54 meta schema change multi-instance to multi_instance (#15470) 1 year ago
metadata 52792750d4 add required properties to multi-module schema (#15496) 1 year ago
nfacct.plugin 99f7212a54 meta schema change multi-instance to multi_instance (#15470) 1 year ago
perf.plugin 99f7212a54 meta schema change multi-instance to multi_instance (#15470) 1 year ago
plugins.d f672f4a955 Rename log Macros (debug) (#15322) 1 year ago
proc.plugin 843fa23856 Fix resource leak - CID 396310 (#15491) 1 year ago
profile.plugin 5e87d2f1f4 s/info/netdata_log_info/ (#15299) 1 year ago
python.d.plugin 99f7212a54 meta schema change multi-instance to multi_instance (#15470) 1 year ago
slabinfo.plugin cddd0ac1d8 Add basic slabinfo metadata. (#15484) 1 year ago
statsd.plugin 3b76a3a3d9 Rename log_access and log_health (#15368) 1 year ago
tc.plugin 99f7212a54 meta schema change multi-instance to multi_instance (#15470) 1 year ago
timex.plugin 99f7212a54 meta schema change multi-instance to multi_instance (#15470) 1 year ago
xenstat.plugin 99f7212a54 meta schema change multi-instance to multi_instance (#15470) 1 year ago
COLLECTORS.md 6bb3b56010 Remove lighttpd2 from docs (#14997) 1 year ago
Makefile.am 588096c6b6 Debugfs collector (#15017) 1 year ago
README.md ab944a349f Update README.md (#14647) 2 years ago
REFERENCE.md 1413b5bac3 Reorg learn 021723 (#14556) 2 years ago
all.h 7766ec91a5 Add linux powercap metrics collector (#15364) 1 year ago

README.md

Collectors

When Netdata starts, and with zero configuration, it auto-detects thousands of data sources and immediately collects per-second metrics.

Netdata can immediately collect metrics from these endpoints thanks to 300+ collectors, which all come pre-installed when you install Netdata.

All collectors are installed by default with every installation of Netdata. You do not need to install collectors manually to collect metrics from new sources. See how you can monitor anything with Netdata.

Upon startup, Netdata will auto-detect any application or service that has a collector, as long as both the collector and the app/service are configured correctly. If you don't see charts for your application, see our collectors' configuration reference.

How Netdata's metrics collectors work

Every collector has two primary jobs:

  • Look for exposed metrics at a pre- or user-defined endpoint.
  • Gather exposed metrics and use additional logic to build meaningful, interactive visualizations.

If the collector finds compatible metrics exposed on the configured endpoint, it begins a per-second collection job. The Netdata Agent gathers these metrics, sends them to the database engine for storage , and immediately visualizes them meaningfully on dashboards.

Each collector comes with a pre-defined configuration that matches the default setup for that application. This endpoint can be a URL and port, a socket, a file, a web page, and more. The endpoint is user-configurable, as are many other specifics of what a given collector does.

Collector architecture and terminology

  • Collectors are the processes/programs that actually gather metrics from various sources.

  • Plugins help manage all the independent data collection processes in a variety of programming languages, based on their purpose and performance requirements. There are three types of plugins:

    • Internal plugins organize collectors that gather metrics from /proc, /sys and other Linux kernel sources. They are written in C, and run as threads within the Netdata daemon.

    • External plugins organize collectors that gather metrics from external processes, such as a MySQL database or Nginx web server. They can be written in any language, and the netdata daemon spawns them as long-running independent processes. They communicate with the daemon via pipes. All external plugins are managed by plugins.d, which provides additional management options.

  • Orchestrators are external plugins that run and manage one or more modules. They run as independent processes. The Go orchestrator is in active development.

    • go.d.plugin: An orchestrator for data collection modules written in go.

    • python.d.plugin: An orchestrator for data collection modules written in python v2/v3.

    • charts.d.plugin: An orchestrator for data collection modules written inbash v4+.

  • Modules are the individual programs controlled by an orchestrator to collect data from a specific application, or type of endpoint.