New to netdata? Here is a live demo: http://my-netdata.io
netdata is a system for distributed real-time performance and health monitoring.
It provides unparalleled insights, in real-time, of everything happening on the
system it runs (including applications such as web and database servers), using
modern interactive web dashboards.
netdata is fast and efficient, designed to permanently run on all systems
(physical & virtual servers, containers, IoT devices), without
disrupting their core function.
netdata runs on Linux, FreeBSD, and MacOS.
Since May 16th 2016 (the date the global public netdata registry was released):<br/>
Netdata is featured at <b><a href="https://octoverse.github.com/" target="_blank">GitHub's State Of The Octoverse 2016</a></b><br/>
<a href="https://octoverse.github.com/" target="_blank"><img src="https://cloud.githubusercontent.com/assets/2662304/21743260/23ebe62c-d507-11e6-80c0-76b95f53e464.png"/></a>
Jul 16th, 2017 - netdata v1.7.0 released!
- netdata is now a fully featured statsd server - read more here
- netdata now monitors ZFS of Linux and FreeBSD
- netdata now monitors ElasticSearch
- netdata now monitors RabbitMQ
- netdata now monitors Go applications (via
expvar) - read more here
- netdata now monitors squid logs
- netdata now monitors samba
- several backends improvements and enhancements, including metrics filtering
- prometheus backend support has been rewritten
- alarm notifications now support custom hooks to execute shell commands in parallel with all other notification methods
- dozens of new and improved plugins
- dozens of new and improved alarms
- dozens more improvements and performance optimizations
Stunning interactive bootstrap dashboards<br/>
mouse and touch friendly, in 2 themes: dark, light
responds to all queries in less than 0.5 ms per metric,
even on low-end hardware
collects thousands of metrics per server per second,
with just 1% CPU utilization of a single core, a few MB of RAM and no disk I/O at all
hundreds of alarms, out of the box!<br/>
supports dynamic thresholds, hysteresis, alarm templates,
multiple role-based notification methods (such as email, slack.com,
pushover.net, pushbullet.com, telegram.org, twilio.com, messagebird.com)
you can monitor anything you can get a metric for,
using its Plugin API (anything can be a netdata plugin,
BASH, python, perl, node.js, java, Go, ruby, etc)
it can run anywhere a Linux kernel runs (even IoT)
and its charts can be embedded on your web pages too
auto-detects everything, it can collect up to 5000 metrics
per server out of the box
it is even its own web server, for its static web files and its web API
you just run it, it does the rest
scales to infinity<br/>
requiring minimal central resources
several operating modes<br/>
autonomous host monitoring, headless data collector, forwarding proxy, store and forward proxy, central multi-host monitoring, in all possible configurations.
Each node may have different metrics retention policy and run with or without health monitoring.
time-series back-ends supported<br/>
can archive its metrics on
prometheus, json document DBs, in the same or lower detail
(lower: to prevent it from congesting these servers due to the amount of data collected)
What does it monitor?
netdata collects several thousands of metrics per device.
All these metrics are collected and visualized in real-time.
Almost all metrics are auto-detected, without any configuration.
This is a list of what it currently monitors:
usage, interrupts, softirqs, frequency, total and per core, CPU states
RAM, swap and kernel memory usage, KSM (Kernel Samepage Merging), NUMA
per disk: I/O, operations, backlog, utilization, space, software RAID (md)
per interface: bandwidth, packets, errors, drops
bandwidth, packets, errors, fragments,
tcp: connections, packets, errors, handshake,
udp: packets, errors,
broadcast: bandwidth, packets,
multicast: bandwidth, packets
bandwidth, packets, errors, fragments, ECT,
udp: packets, errors,
udplite: packets, errors,
multicast: bandwidth, packets,
icmp: messages, errors, echos, router, neighbor, MLDv2, group membership,
break down by type
Interprocess Communication - IPC<br/>
such as semaphores and semaphores arrays
netfilter / iptables Linux firewall<br/>
connections, connection tracker events, errors
Linux DDoS protection<br/>
for any number of hosts, showing latency, packets and packet loss
running, blocked, forks, active
random numbers pool, using in cryptography
NFS file servers and clients<br/>
NFS v2, v3, v4: I/O, cache, read ahead, RPC calls
the only tool that visualizes network
tcclasses in realtime
Linux Control Groups<br/>
containers: systemd, lxc, docker
by grouping the process tree and reporting CPU, memory, disk reads,
disk writes, swap, threads, pipes, sockets - per group
Users and User Groups resource usage<br/>
by summarizing the process tree per user and group,
reporting: CPU, memory, disk reads, disk writes, swap, threads, pipes, sockets
Apache and lighttpd web servers<br/>
mod-status(v2.2, v2.4) and cache log statistics, for multiple servers
Nginx web servers<br/>
stub-status, for multiple servers
accesses, threads, free memory, volume
web server log files<br/>
extracting in real-time, web server performance metrics and applying several health checks
multiple servers, each showing: bandwidth, queries/s, handlers, locks, issues,
tmp operations, connections, binlog metrics, threads, innodb metrics, and more
multiple servers, each showing: per database statistics (connections, tuples
read - written - returned, transactions, locks), backend processes, indexes,
tables, write ahead, background writer and more
multiple servers, each showing: operations, hit rate, memory, keys, clients, slaves
operations, clients, transactions, cursors, connections, asserts, locks, etc
multiple servers, each showing: bandwidth, connections, items
search and index performance, latency, timings, cluster statistics, threads statistics, etc
ISC Bind name servers<br/>
multiple servers, each showing: clients, requests, queries, updates, failures and several per view metrics
NSD name servers<br/>
queries, zones, protocols, query types, transfers, etc.
Postfix email servers<br/>
message queue (entries, size)
exim email servers<br/>
message queue (emails queued)
Dovecot POP3/IMAP servers<br/>
pools utilization, leases, etc.
Squid proxy servers<br/>
multiple servers, each showing: clients bandwidth and requests, servers bandwidth and requests
bandwidth, sessions, backends, etc
threads, sessions, hits, objects, backends, etc
status per tunnel
IPMI: temperature, voltage, fans, power, humidity
NUT and APC UPSes<br/>
load, charge, battery voltage, temperature, utility metrics, output metrics
multiple instances, each reporting connections, requests, performance
disk S.M.A.R.T. values
can be monitored too (although you will need to configure these)
netdata is a fully featured statsd server
And you can extend it, by writing plugins that collect data from any source, using any computer language.
This is a high level overview of netdata feature set and architecture.
Click it to to interact with it (it has direct links to documentation).
Use our automatic installer to build and install it on your system.
It should run on any Linux system (including IoT). It has been tested on:
- Arch Linux
- PLD Linux
- RedHat Enterprise Linux
Interaction with netdata
Check the netdata wiki.
netdata is GPLv3+.
It re-distributes other open-source tools and libraries. Please check the third party licenses.