0
0
Fork 0
mirror of https://github.com/netdata/netdata.git synced 2025-04-13 01:08:11 +00:00
No description
Find a file
Austin S. Hemmelgarn 56e22c16e8
Cleanly reimplement system/edit-config.in. ()
* Cleanly reimplement system/edit-config.in

- Added support for pulling config files from Docker containers.
- Added auto-detection for Docker containers.
- Use directory the script is in for target directory for config files
  instead of templating it in at build time.
- Prefix error messages with `ERROR:`.
- Robustly check for a valid editor _before_ invoking it.
- Add support for actual command-line options, including a proper
  `--help` option.
- Use prefix matching of absolute paths to determine file validity
  instead of blindly excluding certain path types.
- If editing a non-existing file we do not provide a stock copy of,
  create an empty file instead of throwing an error.
- Make the whole script properly modular.

* Improve robustness of container autodetection.

Instead of relying on the lack of certain directories on a host system,
use some relatively standard checks to determine if we appear to be
running in a container.

* Auto-detect stock config paths at runtinme instead of hard-coding them at build time.

THis will simplify testing of the script, as well as making it a bit
more resilient to users moving things around.

* Add an option to list known config files.

* Fix container environment check to not require root.

* Fix help output.

* Fix path prefix check.

* Fix file path handling.

* Use correct variable when editing files.

* Use correct path for `env`.

* Source profile before running `set -e`.

To prevent questionablly written profiles from causing the script to
exit.

* Produce columnar output when listing valid files.

* Fix copy check.

* Fix build issues.

* fix build issues

* formatting

Co-authored-by: ilyam8 <ilya@netdata.cloud>
2022-12-06 10:53:30 -05:00
.devcontainer Support VS Code container devenv () 2021-03-12 16:43:41 +02:00
.github Fix typo in Fedora 37 build configuration. () 2022-12-02 11:15:03 -05:00
.travis Overhaul build CI. () 2021-11-15 10:02:57 -05:00
aclk Do not force internal collectors to call rrdset_next. () 2022-11-22 04:52:15 +02:00
build allow netdata installer to install and run netdata as any user () 2022-10-09 17:02:30 +03:00
build_external feat: move dirs, logs, and env vars config options to separate sections () 2022-05-17 17:31:19 +03:00
claim app to api netdata cloud () 2022-10-24 15:17:17 +02:00
cli Fix warnings during compilation time on ARM (32 bits) () 2022-09-26 13:49:56 +00:00
collectors Fix __atomic_compare_exchange_n() atomics () 2022-12-03 16:30:43 +02:00
contrib feat(packaging): add CAP_NET_RAW to go.d.plugin () 2022-10-31 16:39:20 +02:00
daemon Fix 1.37 crashes () 2022-12-02 16:12:05 +02:00
database fix v1.37 dbengine page alignment crashes () 2022-12-03 20:12:53 +02:00
diagrams Docs: Removed Google Analytics tags () 2022-02-17 10:37:46 +00:00
docs Add up to date info on improving performance () 2022-11-24 08:03:38 -08:00
exporting replication fixes No 7 () 2022-11-28 12:22:38 +02:00
health Sanitize command arguments. () 2022-11-29 17:26:35 +02:00
libnetdata Fix __atomic_compare_exchange_n() atomics () 2022-12-03 16:30:43 +02:00
ml replication fixes No 7 () 2022-11-28 12:22:38 +02:00
mqtt_websockets@d1e30f55e2 fix build on old openssl versions on centos () 2022-11-25 14:19:50 +02:00
packaging Cleanly reimplement system/edit-config.in. () 2022-12-06 10:53:30 -05:00
parser streaming compression, query planner and replication fixes () 2022-11-20 23:47:53 +02:00
registry Do not force internal collectors to call rrdset_next. () 2022-11-22 04:52:15 +02:00
spawn Sanitize command arguments. () 2022-11-29 17:26:35 +02:00
streaming replication fixes 9 () 2022-12-02 11:03:57 +02:00
system Cleanly reimplement system/edit-config.in. () 2022-12-06 10:53:30 -05:00
tests app to api netdata cloud () 2022-10-24 15:17:17 +02:00
web Wmi descriptions () 2022-12-05 16:11:05 +00:00
.clang-format Fine tune clang-format () 2021-04-15 12:02:36 +03:00
.codacy.yml codacy/lgtm ignore judy sources () 2022-07-20 11:15:49 -04:00
.codeclimate.yml Remove node.d.plugin and relevant files () 2022-05-03 09:16:21 +03:00
.csslintrc added codeclimate coverage 2017-01-06 18:01:57 +02:00
.dockerignore Restore a broken symbolic link () 2022-05-16 18:46:36 +03:00
.eslintignore Bundle the react dashboard code into the agent repo directly. () 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 () 2019-07-05 11:54:32 +02:00
.gitignore Cleanly reimplement system/edit-config.in. () 2022-12-06 10:53:30 -05:00
.gitmodules Remove anomaly detector () 2022-10-05 10:11:12 +03:00
.lgtm.yml dbengine free from RRDSET and RRDDIM () 2022-10-13 08:05:15 +03:00
.mlc_config.json GitHub action markdown link check update () 2021-01-11 13:50:16 -05:00
.remarkignore add CHANGELOG.md to .remarkignore () 2019-08-15 16:41:08 -07:00
.remarkrc.js Change lint standard for lists () 2021-01-07 08:43:18 -07:00
.squash.yml Squash integration () 2019-09-16 16:49:31 +02:00
.travis.yml include Judy into our source tree () 2022-07-22 16:55:06 +02:00
.yamllint.yml Clean up YAML files in the repository. () 2021-09-27 10:16:39 -04:00
BREAKING_CHANGES.md Docs: Removed Google Analytics tags () 2022-02-17 10:37:46 +00:00
build-artifacts.sh Fix the netdata-updater.sh to correctly pass REINSTALL_OPTIONS (finally) () 2020-08-25 15:25:26 +10:00
BUILD.md Docs: Removed Google Analytics tags () 2022-02-17 10:37:46 +00:00
CHANGELOG.md [ci skip] Update changelog and version for nightly build: v1.37.0-19-nightly. 2022-12-06 00:18:02 +00:00
CMakeLists.txt Do not force internal collectors to call rrdset_next. () 2022-11-22 04:52:15 +02:00
config.cmake.h.in CMake - add possibility to build without ACLK () 2022-09-28 11:12:44 +02:00
configs.signatures Drop dirty dbengine pages if disk cannot keep up () 2020-02-06 21:58:13 +02:00
configure.ac Do not force internal collectors to call rrdset_next. () 2022-11-22 04:52:15 +02:00
coverity-scan.sh Bump Coverity version to latest (2022.06). () 2022-08-19 08:02:18 -04:00
cppcheck.sh optimized ses and added des () 2018-10-24 03:03:57 +03:00
Dockerfile Remove the confusion around the multiple Dockerfile(s) we have () 2020-03-10 08:12:26 +10:00
Dockerfile.test Spelling build () 2021-04-14 12:24:45 +03:00
HISTORICAL_CHANGELOG.md Spelling md () 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 Do not force internal collectors to call rrdset_next. () 2022-11-22 04:52:15 +02:00
netdata-installer.sh feat(packaging): add CAP_NET_RAW to go.d.plugin () 2022-10-31 16:39:20 +02:00
netdata.cppcheck remove static dir config 2018-09-08 15:45:34 +02:00
netdata.spec.in feat(packaging): add CAP_NET_RAW to go.d.plugin () 2022-10-31 16:39:20 +02:00
README.md add discord, youtube, linkedin links to README () 2022-07-21 19:48:15 +01:00
REDISTRIBUTED.md Metric correlations () 2022-05-04 13:59:58 +03:00

Netdata

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


GitHub Stars
Latest release Nightly release
Build status CII Best Practices License: GPL v3+
Code Climate 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 to
Netdata

Menu

Features

Netdata in
action

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.
  • Machine learning (ML) features out of the box: Unsupervised ML-based anomaly detection, every second, every metric, zero-config! Metric correlations to help with short-term change detection. And other additional ML-based features to help make your life easier.
  • 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.

wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-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.

Netdata Cloud

Netdata Cloud works with Netdata's free, open-source monitoring agent to help you monitor and troubleshoot every layer of your systems to find weaknesses before they turn into outages. Using both tools can help you turn data into insights immediately.

Get Netdata Cloud now!

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 core
functionality

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 Netdata
works

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. The team is also available and active in our Discord too.

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.".