0
0
Fork 0
mirror of https://github.com/netdata/netdata.git synced 2025-04-28 22:52:30 +00:00
No description
Find a file
Emmanuel Vasilakis a1ce482f3e
Provide more agent analytics to posthog ()
* Move statistics related functions to analytics.c

* error message change, space added after if

* start an analytics thread

* use heartbeat instead of sleep

* add late enviroment (after rrdinit) pick of some attributes

* change loop

* re-enable info messages

* remove possible new line

* log and report hits on allmetrics pages. detect if exporting engines are enabled/in use, and report them

* use lowercase for analytics variables

* add collectors

* add buildinfo

* more attributes from late environment

* add new attributes to v1/info

* re-gather meta data before exit. update allmetrics counters to be available in v1/info

* log hits to dashboard

* add mirrored hosts

* added notification methods

* fix spaces, proper JSON naming

* add alerts, charts and metrics count

* more attributes

* keep the thread up, and report a meta event every 2 hours

* small formating changes. Disable analytics_log_prometheus when for unit testing. Add the new attributes to the anonymous-statistics.sh.in script

* applied clang-format

* dont gather data again on exit

* safe buffer length in snprintfz

* add rrdset lock

* remove show_archived
2021-04-21 18:24:51 +03:00
.devcontainer Support VS Code container devenv () 2021-03-12 16:43:41 +02:00
.github ci: fix aws-kinesis builds () 2021-04-21 10:43:56 +03:00
.travis Assorted fixes for Travis CI code. () 2021-04-15 13:22:00 -04:00
aclk remove vneg from ACLK-NG () 2021-04-21 15:41:19 +02:00
backends Backend chart filtering backward compatibility fix () 2021-04-21 10:50:06 +03:00
build Spelling build () 2021-04-14 12:24:45 +03:00
build_external Spelling build () 2021-04-14 12:24:45 +03:00
claim Spelling build () 2021-04-05 08:18:11 -04:00
cli Docs housekeeping for SEO and syntax, part 1 () 2021-01-07 11:44:43 -07:00
collectors python.d: add plugin and module names to the runtime charts () 2021-04-21 15:06:37 +03:00
contrib Spelling build () 2021-04-05 08:18:11 -04:00
daemon Provide more agent analytics to posthog () 2021-04-21 18:24:51 +03:00
database Backend chart filtering backward compatibility fix () 2021-04-21 10:50:06 +03:00
diagrams Docs housekeeping for SEO and syntax, part 1 () 2021-01-07 11:44:43 -07:00
docs Remove obsolete docs () 2021-04-16 13:27:21 -07:00
exporting Provide more agent analytics to posthog () 2021-04-21 18:24:51 +03:00
health Msteams 2 () 2021-04-21 12:29:49 +03:00
libnetdata Provide more agent analytics to posthog () 2021-04-21 18:24:51 +03:00
mqtt_websockets@232c761830 mqtt-c coverity fixes () 2021-03-24 15:57:25 +01:00
packaging [ci skip] create nightly packages and update changelog 2021-04-21 01:28:02 +00:00
parser Spelling md () 2021-01-18 07:43:43 -05:00
registry Move global stats to a separate thread () 2021-04-19 16:46:58 +03:00
spawn spelling: bidirectional () 2021-04-14 12:36:23 +03:00
streaming Spelling streaming () 2021-04-14 12:37:11 +03:00
system Fix systemd comment syntax () 2020-10-14 07:44:28 -04:00
tests Spelling tests () 2021-04-14 12:28:24 +03:00
web Provide more agent analytics to posthog () 2021-04-21 18:24:51 +03:00
.clang-format Fine tune clang-format () 2021-04-15 12:02:36 +03:00
.codacy.yml Improving the ACLK performance - initial changes () 2020-03-14 07:35:49 +01:00
.codeclimate.yml modularized all source code () 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. () 2020-01-28 05:51:18 +10:00
.eslintignore added codeclimate coverage 2017-01-06 18:01:57 +02: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 Move ACLK Legacy into a subfolder () 2021-01-19 09:41:35 +01:00
.gitmodules Adds ACLK-NG as fallback() 2021-03-16 12:38:16 +01:00
.lgtm.yml Split js 2 () 2018-11-08 11:37:06 +02: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 Assorted fixes for Travis CI code. () 2021-04-15 13:22:00 -04:00
.yamllint.yml github/workflow: disable document-start yamllint check () 2020-05-06 20:41:26 +03:00
BREAKING_CHANGES.md Docs housekeeping for SEO and syntax, part 1 () 2021-01-07 11:44:43 -07: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 Spelling md () 2021-01-18 07:43:43 -05:00
CHANGELOG.md [ci skip] create nightly packages and update changelog 2021-04-21 01:28:02 +00:00
CMakeLists.txt Provide more agent analytics to posthog () 2021-04-21 18:24:51 +03:00
configs.signatures Drop dirty dbengine pages if disk cannot keep up () 2020-02-06 21:58:13 +02:00
configure.ac Add a plugin for the system clock synchronization state () 2021-04-14 12:20:13 +03:00
coverity-scan.sh Update Coverity version so that scanning works again. () 2021-03-17 13:24:34 -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 Provide more agent analytics to posthog () 2021-04-21 18:24:51 +03:00
netdata-installer.sh Update eBPF documentation () 2021-04-15 18:18:51 +00:00
netdata.cppcheck remove static dir config 2018-09-08 15:45:34 +02:00
netdata.spec.in Spelling build () 2021-04-14 12:24:45 +03:00
package-lock.json fix minor vulnerability alert, updating socket-io dependency () 2021-01-27 16:50:16 +01:00
package.json fix minor vulnerability alert, updating socket-io dependency () 2021-01-27 16:50:16 +01:00
README.md Contributing revamp, take 2 () 2021-04-15 19:27:10 +03:00
REDISTRIBUTED.md Docs housekeeping for SEO and syntax, part 1 () 2021-01-07 11:44:43 -07:00

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

Latest release: v1.30.0, March 31, 2021

The v1.30.0 release of Netdata brings major improvements to our packaging and completely replaces Google Analytics/GTM for product telemetry. We're also releasing the first changes in an upcoming overhaul to both our dashboard UI/UX and the suite of preconfigured alarms that comes with every installation.

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

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