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):
Netdata is featured at GitHub's State Of The Octoverse 2016
Jan 22nd, 2017
- netdata v1.5.0 released!
- netdata now runs on FreeBSD and MacOS
- netdata now supports Graphite, OpenTSDB, Prometheus and compatible backends
- netdata now monitors systemd Services
- new plugins: fping, postgres, varnish, elasticsearch, haproxy, freeradius, mdstat, ISC dhcpd, fail2ban, openvpn, NUMA memory, CPU Idle States, gunicorn, ECC memory errors, IPC semaphores, uptime
- improved plugins: netfilter conntrack, mysql/mariadb, ipfs, cpufreq, hddtemp, sensors, nginx, nginx_log, phpfpm, redis, dovecot, containers and cgroups, disk space, apps.plugin, tc (QoS) and almost all internal plugins (memory, IPv4 and IPv6, network interfaces, QoS, etc)
- dozens of new and improved alarms (including performance monitoring alarms for mysql)
- new alarm notifications: messagebird.com, pagerduty.com, pushbullet.com, twilio.com, hipchat, kafka
- dozens more improvements and performance optimizations
-
Stunning interactive bootstrap dashboards
mouse and touch friendly, in 2 themes: dark, light -
Amazingly fast
responds to all queries in less than 0.5 ms per metric, even on low-end hardware -
Highly efficient
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 -
Sophisticated alarming
hundreds of alarms, out of the box!
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) -
Extensible
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) -
Embeddable
it can run anywhere a Linux kernel runs (even IoT) and its charts can be embedded on your web pages too -
Customizable
custom dashboards can be built using simple HTML (no javascript necessary) -
Zero configuration
auto-detects everything, it can collect up to 5000 metrics per server out of the box -
Zero dependencies
it is even its own web server, for its static web files and its web API -
Zero maintenance
you just run it, it does the rest -
scales to infinity
requiring minimal central resources -
several operating modes
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
can archive its metrics ongraphite
,opentsdb
,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)
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:
-
CPU
usage, interrupts, softirqs, frequency, total and per core, CPU states -
Memory
RAM, swap and kernel memory usage, KSM (Kernel Samepage Merging), NUMA -
Disks
per disk: I/O, operations, backlog, utilization, space, software RAID (md) -
Network interfaces
per interface: bandwidth, packets, errors, drops -
IPv4 networking
bandwidth, packets, errors, fragments, tcp: connections, packets, errors, handshake, udp: packets, errors, broadcast: bandwidth, packets, multicast: bandwidth, packets -
IPv6 networking
bandwidth, packets, errors, fragments, ECT, udp: packets, errors, udplite: packets, errors, broadcast: bandwidth, multicast: bandwidth, packets, icmp: messages, errors, echos, router, neighbor, MLDv2, group membership, break down by type -
Interprocess Communication - IPC
such as semaphores and semaphores arrays -
netfilter / iptables Linux firewall
connections, connection tracker events, errors -
Linux DDoS protection
SYNPROXY metrics -
fping latencies
for any number of hosts, showing latency, packets and packet loss -
Processes
running, blocked, forks, active -
Entropy
random numbers pool, using in cryptography -
NFS file servers and clients
NFS v2, v3, v4: I/O, cache, read ahead, RPC calls -
Network QoS
the only tool that visualizes networktc
classes in realtime -
Linux Control Groups
containers: systemd, lxc, docker -
Applications
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
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
mod-status
(v2.2, v2.4) and cache log statistics, for multiple servers -
Nginx web servers
stub-status
, for multiple servers -
Tomcat
accesses, threads, free memory, volume -
web server log files
extracting in real-time, web server performance metrics and applying several health checks -
mySQL databases
multiple servers, each showing: bandwidth, queries/s, handlers, locks, issues, tmp operations, connections, binlog metrics, threads, innodb metrics, and more -
Postgres databases
multiple servers, each showing: per database statistics (connections, tuples read - written - returned, transactions, locks), backend processes, indexes, tables, write ahead, background writer and more -
Redis databases
multiple servers, each showing: operations, hit rate, memory, keys, clients, slaves -
mongodb
operations, clients, transactions, cursors, connections, asserts, locks, etc -
memcached databases
multiple servers, each showing: bandwidth, connections, items -
elasticsearch
search and index performance, latency, timings, cluster statistics, threads statistics, etc -
ISC Bind name servers
multiple servers, each showing: clients, requests, queries, updates, failures and several per view metrics -
NSD name servers
queries, zones, protocols, query types, transfers, etc. -
Postfix email servers
message queue (entries, size) -
exim email servers
message queue (emails queued) -
Dovecot POP3/IMAP servers
-
ISC dhcpd
pools utilization, leases, etc. -
IPFS
bandwidth, peers -
Squid proxy servers
multiple servers, each showing: clients bandwidth and requests, servers bandwidth and requests -
HAproxy
bandwidth, sessions, backends, etc -
varnish
threads, sessions, hits, objects, backends, etc -
OpenVPN
status per tunnel -
Hardware sensors
lm_sensors
andIPMI
: temperature, voltage, fans, power, humidity -
NUT and APC UPSes
load, charge, battery voltage, temperature, utility metrics, output metrics -
PHP-FPM
multiple instances, each reporting connections, requests, performance -
hddtemp
disk temperatures -
smartd
disk S.M.A.R.T. values -
SNMP devices
can be monitored too (although you will need to configure these)
And you can extend it, by writing plugins that collect data from any source, using any computer language.
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:
- Alpine
- Arch Linux
- CentOS
- Debian
- Fedora
- Gentoo
- openSUSE
- PLD Linux
- RedHat Enterprise Linux
- SUSE
- Ubuntu
Check the netdata wiki.
netdata is GPLv3 .
It re-distributes other open-source tools and libraries. Please check its License Statement.