# Netdata

Netdata is a partially open source tool designed to collect real-time metrics, such as CPU usage, disk activity, bandwidth usage, website visits, etc., and then display them in live, easy-to-interpret charts.

## Overview

Netdata consists of a daemon that, when executed, is responsible for collecting and displaying information in real-time.
It is mostly written in C, Python and JavaScript, and aims to use minimal system resources.
It can be run on any Linux system to monitor any system or application, and is capable of running on PCs, servers, and embedded Linux devices.

## Features

Netdata is designed to be installed on a system without interrupting any of the applications running on it. It operates according to the memory requirements specified by the user, using only idle CPU cycles. Once the application begins, it will not perform disk I/O beyond logging. The tool saves to disk at the end of its execution and reloads at startup.
By default it contains certain plugins that collect key system metrics, but its behavior is extensible by using its plugin API.
Graphics generated by Netdata can be embedded into web pages. It has an interface with customizable themes and can be manually configured by the user with HTML.
There are no dependencies, as it operates as its own web server, with static web files.
Netdata is also known for its distributed design. Instead of funneling all data into a few central databases like most traditional monitoring solutions, Netdata processes data at the edge, keeping it close to the source. The lightweight open-source Netdata Agent acts as a distributed database, enabling the construction of complex observability pipelines with modular, Lego-like simplicity.
Netdata provides A.I. insights for all monitored data, training machine learning models directly at the edge. This allows for fully automated and unsupervised anomaly detection, and with its intuitive APIs and UIs, users can quickly perform root cause analysis and troubleshoot issues, identifying correlations and gaining deeper insights into their infrastructure.
Starting with v1.12, Netdata collects anonymous usage information by default and sends it to Google Analytics, a feature which can be disabled via manual configuration.

## Operation

When executing the daemon on Linux using the netdata command, threads are generated that collect information from each resource, using internal and/or external plugins. In turn, it keeps a record of the values collected in memory (without doing any Disk I/O).
It operates as a stand-alone web server for its own static files, necessary for the representation of its dashboards. It provides a REST API so that the browser can access the information.
Each installation of the application works autonomously. Although different running instances of the application can be saved to one dashboard, every Netdata instance is independent. Only the browser can connect all installations of different systems, unifying graphics from different sources as if they came from the same server.

## Development

Netdata is currently maintained by nearly 400 contributors, all helping (at various levels) to serve the thousands of individual users and businesses who utilize this tool.
The user with the most contributions is currently Costa Tsaousis, the CEO and Founder of Netdata, with over 600,000 additions to the code. The second most-active user is Ilya Mashchenko.
The all-time most popular addition to Netdata appears to be adding support for data collection from Vnstat, a pull request by Noah Troy with nearly 200 individual comments (more than any other pull request).
The all-time most popular feature request appears to be adding support for running multiple freeipmi jobs from the same Netdata.