Netdata

Last updated
Netdata
Initial release24 October 2013;10 years ago (2013-10-24) [1]
Stable release
1.43.0 / 17 October 2023;8 months ago (2023-10-17) [2]
Repository https://github.com/netdata/netdata
Written in C
Operating system Linux, FreeBSD, and MacOS.
License GNU General Public License version 3
Website https://www.netdata.cloud/

Netdata is an open source [3] [4] 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.

Contents

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.

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. [5]

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. [6] [7] 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, [8] all helping (at various levels) to serve the thousands of individual users and businesses [9] 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. [10] The second most-active user is Ilya Mashchenko. [11]

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). [12]

The all-time most popular feature request appears to be adding support for running multiple freeipmi jobs from the same Netdata. [13]

See also

Related Research Articles

<span class="mw-page-title-main">Cacti (software)</span> Free open source RRDtool

Cacti is an open-source, web-based network monitoring, performance, fault and configuration management framework designed as a front-end application for the open-source, industry-standard data logging tool RRDtool. Cacti allows a user to poll services at predetermined intervals and graph the resulting data. Through the use of Cacti plugins, it has been extended to encompass all of the FCAPS operational management categories. It is generally used to graph time-series data of metrics such as CPU load and network bandwidth utilization. A common usage is to monitor network traffic by polling a network switch or router interface via Simple Network Management Protocol (SNMP).

<span class="mw-page-title-main">Oberon (operating system)</span> Operating system

The Oberon System is a modular, single-user, single-process, multitasking operating system written in the programming language Oberon. It was originally developed in the late 1980s at ETH Zurich. The Oberon System has an unconventional visual text user interface (TUI) instead of a conventional command-line interface (CLI) or graphical user interface (GUI). This TUI was very innovative in its time and influenced the design of the Acme text editor for the Plan 9 from Bell Labs operating system.

Nagios is an event monitoring system which offers monitoring and alerting services for servers, switches, applications and services. It alerts users when things go wrong and alerts them a second time when the problem has been resolved.

<span class="mw-page-title-main">Webmin</span> Web-based control panel for Unix-like systems

Webmin is a web-based server management control panel for Unix-like systems. Webmin allows the user to configure operating system internals, such as users, disk quotas, services and configuration files, as well as modify and control open-source apps, such as BIND, Apache HTTP Server, PHP, and MySQL.

In computing, the File Alteration Monitor, also known as FAM and sgi_fam, provides a subsystem developed by Silicon Graphics for Unix-like operating systems. The FAM subsystem allows applications to watch certain files and be notified when they are modified. This greatly aids the applications, because before FAM existed, such applications would have to read the disk repeatedly to detect any changes, which resulted in high disk and CPU usage.

In computer networking, xinetd is an open-source super-server daemon which runs on many Unix-like systems, and manages Internet-based connectivity.

<span class="mw-page-title-main">Logitech Media Server</span> Open-source streaming audio server

Lyrion Music Server is a streaming audio server supported by the LMS community and formerly supported by Logitech, developed in particular to support their Squeezebox range of digital audio receivers.

<span class="mw-page-title-main">Out of memory</span> State of computer operation where no additional memory can be allocated

Out of memory (OOM) is an often undesired state of computer operation where no additional memory can be allocated for use by programs or the operating system. Such a system will be unable to load any additional programs, and since many programs may load additional data into memory during execution, these will cease to function correctly. This usually occurs because all available memory, including disk swap space, has been allocated.

<span class="mw-page-title-main">QGIS</span> Open-source desktop GIS software

QGIS is a geographic information system (GIS) software that is free and open-source. QGIS supports Windows, macOS, and Linux. It supports viewing, editing, printing, and analysis of geospatial data in a range of data formats. QGIS was previously also known as Quantum GIS.

nmon System monitor tool for the AIX and Linux operating systems

nmon is a computer performance system monitor tool for the AIX and Linux operating systems. The nmon tool has two modes a) displays the performance stats on-screen in a condensed format or b) the same stats are saved to a comma-separated values (CSV) data file for later graphing and analysis to aid the understanding of computer resource use, tuning options and bottlenecks.

The following tables compare general and technical information for a number of notable network monitoring systems. Please see the individual products' articles for further information.

Ceph is a free and open-source software-defined storage platform that provides object storage, block storage, and file storage built on a common distributed cluster foundation. Ceph provides completely distributed operation without a single point of failure and scalability to the exabyte level, and is freely available. Since version 12 (Luminous), Ceph does not rely on any other conventional filesystem and directly manages HDDs and SSDs with its own storage backend BlueStore and can expose a POSIX filesystem.

collectd Unix daemon

collectd is a Unix daemon that collects, transfers and stores performance data of computers and network equipment. The acquired data is meant to help system administrators maintain an overview over available resources to detect existing or looming bottlenecks.

<span class="mw-page-title-main">Shinken (software)</span> Network monitoring software

Shinken is an open source computer system and network monitoring software application compatible with Nagios. It watches hosts and services, gathers performance data and alerts users when error conditions occur and again when the conditions clear.

QVD is an open-source virtual desktop infrastructure (VDI) product built on Linux. Its main purpose is to provide remote desktops to users.

Checkmk is a software system developed in Python and C++ for IT Infrastructure monitoring. It is used for the monitoring of servers, applications, networks, cloud infrastructures, containers, storage, databases and environment sensors.

Kubernetes is an open-source container orchestration system for automating software deployment, scaling, and management. Originally designed by Google, the project is now maintained by a worldwide community of contributors, and the trademark is held by the Cloud Native Computing Foundation.

<span class="mw-page-title-main">Unraid</span> Linux-based operating system for network attached storage.

Unraid is a proprietary Linux-based operating system designed to run on home servers in order to operate as a network-attached storage (NAS) device, application server, media server and a virtualization host. Unraid is proprietary software developed and maintained by Lime Technology, Inc. Users of the software are encouraged to write and use plugins and Docker applications to extend the functionality of their systems.

Teleport is an open-source tool for providing zero trust access to servers and cloud applications using SSH, Kubernetes and HTTPS. It can eliminate the need for VPNs by providing a single gateway to access computing infrastructure via SSH, Kubernetes clusters, and cloud applications via a built-in proxy.

<span class="mw-page-title-main">Jellyfin</span> Media server software

Jellyfin is a free and open-source media server and suite of multimedia applications designed to organize, manage, and share digital media files to networked devices. Jellyfin consists of a server application installed on a machine running Microsoft Windows, macOS, Linux or in a Docker container, and another application running on a client device such as a smartphone, tablet, smart TV, streaming media player, game console or in a web browser. Jellyfin also can serve media to DLNA and Chromecast-enabled devices. It is a fork of Emby.

References

  1. "Release v1.43.0 · netdata/Netdata". GitHub .
  2. "Release v1.43.0 · netdata/Netdata". GitHub .
  3. Costa Tsaousis. "Welcome to the world of netdata". netdata is free, open-source software.
  4. "How to Monitor Nginx using Netdata on CentOS 7".
  5. "Netdata usage statistics opt out". GitHub . 17 February 2022.
  6. "web/gui/custom · master · Debian / netdata · GitLab". September 13, 2019.
  7. "How to Monitor Linux Server with Netdata and Grafana". March 2, 2019.
  8. "netdata/netdata". GitHub. Retrieved 2020-07-12.
  9. netdata/netdata, netdata, 2020-07-12, retrieved 2020-07-12
  10. "ktsaou - Overview". GitHub. Retrieved 2020-07-12.
  11. "ilyam8 - Overview". GitHub. Retrieved 2020-07-12.
  12. "Add support for data collection from vnstat by NoahTroy · Pull Request #8955 · netdata/netdata". GitHub. Retrieved 2020-07-12.
  13. "Allow running multiple freeipmi jobs from the same netdata · Issue #5344 · netdata/netdata". GitHub. Retrieved 2020-07-12.