Go to file
vkalintiris 0d96e0a187
Compile/Link with absolute paths for bundled/vendored deps. (#11129)
* Do not accept a path when using --with-bundled-lws.

The bundled library is always placed under externaldeps/libwebsockets,
when using the netdata-installer.sh script. When this option is missing,
we look for the system-wide installed version.

* Do not accept a path when using --with-bundled-libJudy.

The bundled library is always placed under externaldeps/libJudy. When
the option is not given, we look for the system-wide installed version.

* Use absolute header paths for repo-internal deps.

* Use absolute library paths for repo-internal deps.
2021-06-01 13:22:36 +03:00
.devcontainer Support VS Code container devenv (#10723) 2021-03-12 16:43:41 +02:00
.github labeler: add "mqtt_websockets" to the ACLK (#11197) 2021-05-28 20:04:56 +03:00
.travis Assorted fixes for Travis CI code. (#10981) 2021-04-15 13:22:00 -04:00
aclk Remove unecessary relative paths when including headers. (#11124) 2021-05-24 17:44:50 +03:00
backends Backend chart filtering backward compatibility fix (#11002) 2021-04-21 10:50:06 +03:00
build Spelling build (#10909) 2021-04-14 12:24:45 +03:00
build_external Spelling build (#10909) 2021-04-14 12:24:45 +03:00
claim claiming: exit 0 when daemon not running and the claim was successful (#11195) 2021-05-31 14:34:18 +03:00
cli Remove unecessary relative paths when including headers. (#11124) 2021-05-24 17:44:50 +03:00
collectors VFS new thread (#11187) 2021-05-28 18:57:59 +00:00
contrib Compile/Link with absolute paths for bundled/vendored deps. (#11129) 2021-06-01 13:22:36 +03:00
daemon Do not fail agent if DBENGINE is not available and memory mode is set to dbengine (#11207) 2021-06-01 13:00:30 +03:00
database Do not fail agent if DBENGINE is not available and memory mode is set to dbengine (#11207) 2021-06-01 13:00:30 +03:00
diagrams Docs housekeeping for SEO and syntax, part 1 (#10388) 2021-01-07 11:44:43 -07:00
docs Add Microsoft Teams to supported notification endpoints (#11205) 2021-05-31 08:48:13 +03:00
exporting Provide more agent analytics to posthog (#11020) 2021-04-27 10:11:20 +03:00
health Provide UTC offset in seconds and edit health config command (#11051) 2021-05-31 16:29:47 +03:00
libnetdata Move parser from children to main thread (#11152) 2021-05-25 11:54:04 +00:00
mqtt_websockets@6a4fba1185 fix mqtt_websockets submodule version (#11196) 2021-05-27 22:41:10 +02:00
packaging [ci skip] create nightly packages and update changelog 2021-06-01 01:48:26 +00:00
parser Remove unecessary relative paths when including headers. (#11124) 2021-05-24 17:44:50 +03:00
registry Remove unecessary relative paths when including headers. (#11124) 2021-05-24 17:44:50 +03:00
spawn Remove unecessary relative paths when including headers. (#11124) 2021-05-24 17:44:50 +03:00
streaming Provide UTC offset in seconds and edit health config command (#11051) 2021-05-31 16:29:47 +03:00
system Store info about the installation type for later retrieval. (#11157) 2021-05-24 07:34:09 -04:00
tests Spelling tests (#10920) 2021-04-14 12:28:24 +03:00
web VFS new thread (#11187) 2021-05-28 18:57:59 +00:00
.clang-format Fine tune clang-format (#7271) 2021-04-15 12:02:36 +03:00
.codacy.yml Improving the ACLK performance - initial changes (#8399) 2020-03-14 07:35:49 +01:00
.codeclimate.yml modularized all source code (#4391) 2018-10-15 23:16:42 +03:00
.csslintrc added codeclimate coverage 2017-01-06 18:01:57 +02:00
.dockerignore Adds Docker based build system for Binary Packages, CI/CD, Smoke Testing and Development. (#7735) 2020-01-28 05:51:18 +10:00
.eslintignore Bundle the react dashboard code into the agent repo directly. (#11139) 2021-05-14 11:41:16 -04:00
.eslintrc added codeclimate coverage 2017-01-06 18:01:57 +02:00
.gitattributes Add a .gitattributes file (#6381) 2019-07-05 11:54:32 +02:00
.gitignore Bundle the react dashboard code into the agent repo directly. (#11139) 2021-05-14 11:41:16 -04:00
.gitmodules Adds ACLK-NG as fallback(#10315) 2021-03-16 12:38:16 +01:00
.lgtm.yml Split js 2 (#4581) 2018-11-08 11:37:06 +02:00
.mlc_config.json GitHub action markdown link check update (#10474) 2021-01-11 13:50:16 -05:00
.remarkignore add CHANGELOG.md to .remarkignore (#6671) 2019-08-15 16:41:08 -07:00
.remarkrc.js Change lint standard for lists (#10371) 2021-01-07 08:43:18 -07:00
.squash.yml Squash integration (#5566) 2019-09-16 16:49:31 +02:00
.travis.yml Assorted fixes for Travis CI code. (#10981) 2021-04-15 13:22:00 -04:00
.yamllint.yml github/workflow: disable `document-start` yamllint check (#8522) 2020-05-06 20:41:26 +03:00
BREAKING_CHANGES.md Docs housekeeping for SEO and syntax, part 1 (#10388) 2021-01-07 11:44:43 -07:00
BUILD.md Spelling md (#10508) 2021-01-18 07:43:43 -05:00
CHANGELOG.md [ci skip] create nightly packages and update changelog 2021-06-01 01:48:26 +00:00
CMakeLists.txt VFS new thread (#11187) 2021-05-28 18:57:59 +00:00
Dockerfile Remove the confusion around the multiple Dockerfile(s) we have (#8214) 2020-03-10 08:12:26 +10:00
Dockerfile.test Spelling build (#10909) 2021-04-14 12:24:45 +03:00
HISTORICAL_CHANGELOG.md Spelling md (#10508) 2021-01-18 07:43:43 -05:00
LICENSE remove license templates; add info about SPDX to main license file 2018-09-08 15:53:07 +02:00
Makefile.am Compile/Link with absolute paths for bundled/vendored deps. (#11129) 2021-06-01 13:22:36 +03:00
README.md Update news in main README for latest release (#11165) 2021-05-24 10:34:29 -07:00
REDISTRIBUTED.md Docs housekeeping for SEO and syntax, part 1 (#10388) 2021-01-07 11:44:43 -07:00
build-artifacts.sh Fix the netdata-updater.sh to correctly pass REINSTALL_OPTIONS (finally) (#8808) 2020-08-25 15:25:26 +10:00
configs.signatures Drop dirty dbengine pages if disk cannot keep up (#7777) 2020-02-06 21:58:13 +02:00
configure.ac Compile/Link with absolute paths for bundled/vendored deps. (#11129) 2021-06-01 13:22:36 +03:00
coverity-scan.sh Update Coverity version so that scanning works again. (#10794) 2021-03-17 13:24:34 -04:00
cppcheck.sh optimized ses and added des (#4470) 2018-10-24 03:03:57 +03:00
netdata-installer.sh Compile/Link with absolute paths for bundled/vendored deps. (#11129) 2021-06-01 13:22:36 +03:00
netdata.cppcheck remove static dir config 2018-09-08 15:45:34 +02:00
netdata.spec.in Compile/Link with absolute paths for bundled/vendored deps. (#11129) 2021-06-01 13:22:36 +03:00
package-lock.json fix minor vulnerability alert, updating socket-io dependency (#10557) 2021-01-27 16:50:16 +01:00
package.json fix minor vulnerability alert, updating socket-io dependency (#10557) 2021-01-27 16:50:16 +01:00

README.md

Netdata

Netdata is high-fidelity infrastructure monitoring and troubleshooting.
Open-source, free, preconfigured, opinionated, and always real-time.


Latest release Build status CII Best Practices License: GPL v3+ analytics
Code Climate Codacy LGTM C LGTM PYTHON

---

Netdata's distributed, real-time monitoring Agent collects thousands of metrics from systems, hardware, containers, and applications with zero configuration. It runs permanently on all your physical/virtual servers, containers, cloud deployments, and edge/IoT devices, and is perfectly safe to install on your systems mid-incident without any preparation.

You can install Netdata on most Linux distributions (Ubuntu, Debian, CentOS, and more), container platforms (Kubernetes clusters, Docker), and many other operating systems (FreeBSD, macOS). No sudo required.

Netdata is designed by system administrators, DevOps engineers, and developers to collect everything, help you visualize metrics, troubleshoot complex performance problems, and make data interoperable with the rest of your monitoring stack.

People get addicted to Netdata. Once you use it on your systems, there's no going back! You've been warned...

Users who are addicted toNetdata

Latest release: v1.31.0, May 19, 2021

The v1.31.0 release of Netdata comes with re-packaged and redesigned elements of the dashboard to help you focus on your metrics, even more Linux kernel insights via eBPF, on-node machine learning to help you find anomalies, and much more.

Menu

Features

Netdata inaction

Here's what you can expect from Netdata:

  • 1s granularity: The highest possible resolution for all metrics.
  • Unlimited metrics: Netdata collects all the available metrics—the more, the better.
  • 1% CPU utilization of a single core: It's unbelievably optimized.
  • A few MB of RAM: The highly-efficient database engine stores per-second metrics in RAM and then "spills" historical metrics to disk long-term storage.
  • Minimal disk I/O: While running, Netdata only writes historical metrics and reads error and access logs.
  • Zero configuration: Netdata auto-detects everything, and can collect up to 10,000 metrics per server out of the box.
  • Zero maintenance: You just run it. Netdata does the rest.
  • Stunningly fast, interactive visualizations: The dashboard responds to queries in less than 1ms per metric to synchronize charts as you pan through time, zoom in on anomalies, and more.
  • Visual anomaly detection: Our UI/UX emphasizes the relationships between charts to help you detect the root cause of anomalies.
  • Scales to infinity: You can install it on all your servers, containers, VMs, and IoT devices. Metrics are not centralized by default, so there is no limit.
  • Several operating modes: Autonomous host monitoring (the default), headless data collector, forwarding proxy, store and forward proxy, central multi-host monitoring, in all possible configurations. Use different metrics retention policies per node and run with or without health monitoring.

Netdata works with tons of applications, notifications platforms, and other time-series databases:

  • 300+ system, container, and application endpoints: Collectors autodetect metrics from default endpoints and immediately visualize them into meaningful charts designed for troubleshooting. See everything we support.
  • 20+ notification platforms: Netdata's health watchdog sends warning and critical alarms to your favorite platform to inform you of anomalies just seconds after they affect your node.
  • 30+ external time-series databases: Export resampled metrics as they're collected to other local- and Cloud-based databases for best-in-class interoperability.

💡 Want to leverage the monitoring power of Netdata across entire infrastructure? View metrics from any number of distributed nodes in a single interface and unlock even more features with Netdata Cloud.

Get Netdata

User base Servers monitored Sessions served Docker Hub pulls
New users today New machines today Sessions today Docker Hub pulls today

To install Netdata from source on most Linux systems (physical, virtual, container, IoT, edge), run our one-line installation script. This script downloads and builds all dependencies, including those required to connect to Netdata Cloud if you choose, and enables automatic nightly updates and anonymous statistics.

bash <(curl -Ss https://my-netdata.io/kickstart.sh)

To view the Netdata dashboard, navigate to http://localhost:19999, or http://NODE:19999.

Docker

You can also try out Netdata's capabilities in a Docker container:

docker run -d --name=netdata \
  -p 19999:19999 \
  -v netdataconfig:/etc/netdata \
  -v netdatalib:/var/lib/netdata \
  -v netdatacache:/var/cache/netdata \
  -v /etc/passwd:/host/etc/passwd:ro \
  -v /etc/group:/host/etc/group:ro \
  -v /proc:/host/proc:ro \
  -v /sys:/host/sys:ro \
  -v /etc/os-release:/host/etc/os-release:ro \
  --restart unless-stopped \
  --cap-add SYS_PTRACE \
  --security-opt apparmor=unconfined \
  netdata/netdata

To view the Netdata dashboard, navigate to http://localhost:19999, or http://NODE:19999.

Other operating systems

See our documentation for additional operating systems, including Kubernetes, .deb/.rpm packages, and more.

Post-installation

When you're finished with installation, check out our single-node or infrastructure monitoring quickstart guides based on your use case.

Or, skip straight to configuring the Netdata Agent.

Read through Netdata's documentation, which is structured based on actions and solutions, to enable features like health monitoring, alarm notifications, long-term metrics storage, exporting to external databases, and more.

How it works

Netdata is a highly efficient, highly modular, metrics management engine. Its lockless design makes it ideal for concurrent operations on the metrics.

Diagram of Netdata's corefunctionality

The result is a highly efficient, low-latency system, supporting multiple readers and one writer on each metric.

Infographic

This is a high-level overview of Netdata features and architecture. Click on it to view an interactive version, which has links to our documentation.

An infographic of how Netdataworks

Documentation

Netdata's documentation is available at Netdata Learn.

This site also hosts a number of guides to help newer users better understand how to collect metrics, troubleshoot via charts, export to external databases, and more.

Community

Netdata is an inclusive open-source project and community. Please read our Code of Conduct.

Find most of the Netdata team in our community forums. It's the best place to ask questions, find resources, and engage with passionate professionals.

You can also find Netdata on:

Contribute

Contributions are the lifeblood of open-source projects. While we continue to invest in and improve Netdata, we need help to democratize monitoring!

  • Read our Contributing Guide, which contains all the information you need to contribute to Netdata, such as improving our documentation, engaging in the community, and developing new features. We've made it as frictionless as possible, but if you need help, just ping us on our community forums!
  • We have a whole category dedicated to contributing and extending Netdata on our community forums
  • Found a bug? Open a GitHub issue.
  • View our Security Policy.

Package maintainers should read the guide on building Netdata from source for instructions on building each Netdata component from source and preparing a package.

License

The Netdata Agent is GPLv3+. Netdata re-distributes other open-source tools and libraries. Please check the third party licenses.

Is it any good?

Yes.

When people first hear about a new product, they frequently ask if it is any good. A Hacker News user remarked:

Note to self: Starting immediately, all raganwald projects will have a “Is it any good?” section in the readme, and the answer shall be “yes.".