1 # netdata [![Build Status](https://travis-ci.org/firehol/netdata.svg?branch=master)](https://travis-ci.org/firehol/netdata) [![Coverity Scan Build Status](https://scan.coverity.com/projects/9140/badge.svg)](https://scan.coverity.com/projects/firehol-netdata) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/a994873f30d045b9b4b83606c3eb3498)](https://www.codacy.com/app/netdata/netdata?utm_source=github.com&utm_medium=referral&utm_content=firehol/netdata&utm_campaign=Badge_Grade) [![Code Climate](https://codeclimate.com/github/firehol/netdata/badges/gpa.svg)](https://codeclimate.com/github/firehol/netdata)
2 > *New to netdata? Here is a live demo: [http://my-netdata.io](http://my-netdata.io)*
4 **netdata** is a system for **distributed real-time performance and health monitoring**.
5 It provides **unparalleled insights, in real-time**, of everything happening on the
6 system it runs (including applications such as web and database servers), using
7 **modern interactive web dashboards**.
9 _netdata is **fast** and **efficient**, designed to permanently run on all systems
10 (**physical** & **virtual** servers, **containers**, **IoT** devices), without
11 disrupting their core function._
13 netdata runs on **Linux**, **FreeBSD**, and **MacOS**.
15 [![Twitter Follow](https://img.shields.io/twitter/follow/linuxnetdata.svg?style=social&label=New%20-%20stay%20in%20touch%20-%20follow%20netdata%20on%20twitter)](https://twitter.com/linuxnetdata)
21 *Since May 16th 2016 (the date the [global public netdata registry](https://github.com/firehol/netdata/wiki/mynetdata-menu-item) was released):*<br/>
22 [![User Base](https://registry.my-netdata.io/api/v1/badge.svg?chart=netdata.registry_entries&dimensions=persons&label=user%20base&units=null&value_color=blue&precision=0&v42)](https://registry.my-netdata.io/#menu_netdata_submenu_registry) [![Monitored Servers](https://registry.my-netdata.io/api/v1/badge.svg?chart=netdata.registry_entries&dimensions=machines&label=servers%20monitored&units=null&value_color=orange&precision=0&v42)](https://registry.my-netdata.io/#menu_netdata_submenu_registry) [![Sessions Served](https://registry.my-netdata.io/api/v1/badge.svg?chart=netdata.registry_sessions&label=sessions%20served&units=null&value_color=yellowgreen&precision=0&v42)](https://registry.my-netdata.io/#menu_netdata_submenu_registry) [![Docker Pulls](https://img.shields.io/docker/pulls/titpetric/netdata.svg)](https://hub.docker.com/r/titpetric/netdata/)
24 *in the last 24 hours:*<br/>
25 [![New Users Today](http://registry.my-netdata.io/api/v1/badge.svg?chart=netdata.registry_entries&dimensions=persons&after=-86400&options=unaligned&group=incremental-sum&label=new%20users%20today&units=null&value_color=blue&precision=0&v42)](https://registry.my-netdata.io/#menu_netdata_submenu_registry) [![New Machines Today](https://registry.my-netdata.io/api/v1/badge.svg?chart=netdata.registry_entries&dimensions=machines&group=incremental-sum&after=-86400&options=unaligned&label=servers%20added%20today&units=null&value_color=orange&precision=0&v42)](https://registry.my-netdata.io/#menu_netdata_submenu_registry) [![Sessions Today](https://registry.my-netdata.io/api/v1/badge.svg?chart=netdata.registry_sessions&after=-86400&group=incremental-sum&options=unaligned&label=sessions%20served%20today&units=null&value_color=yellowgreen&precision=0&v42)](https://registry.my-netdata.io/#menu_netdata_submenu_registry)
32 Netdata is featured at <b><a href="https://octoverse.github.com/" target="_blank">GitHub's State Of The Octoverse 2016</a></b><br/>
33 <a href="https://octoverse.github.com/" target="_blank"><img src="https://cloud.githubusercontent.com/assets/2662304/21743260/23ebe62c-d507-11e6-80c0-76b95f53e464.png"/></a>
36 `Jan 22nd, 2017` - **[netdata v1.5.0 released!](https://github.com/firehol/netdata/releases)**
38 - netdata now runs on **FreeBSD** and **MacOS**
39 - netdata now supports **Graphite**, **OpenTSDB**, **Prometheus** and compatible backends
40 - netdata now monitors **systemd Services**
41 - 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
42 - 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)
43 - dozens of new and improved alarms (including performance monitoring alarms for mysql)
44 - new alarm notifications: messagebird.com, pagerduty.com, pushbullet.com, twilio.com, hipchat, kafka
45 - dozens more improvements and performance optimizations
52 <img src="https://cloud.githubusercontent.com/assets/2662304/19168687/f6a567be-8c19-11e6-8561-ce8d589e8346.gif"/>
55 - **Stunning interactive bootstrap dashboards**<br/>
56 mouse and touch friendly, in 2 themes: dark, light
58 - **Amazingly fast**<br/>
59 responds to all queries in less than 0.5 ms per metric,
60 even on low-end hardware
62 - **Highly efficient**<br/>
63 collects thousands of metrics per server per second,
64 with just 1% CPU utilization of a single core, a few MB of RAM and no disk I/O at all
66 - **Sophisticated alarming**<br/>
67 hundreds of alarms, **out of the box**!<br/>
68 supports dynamic thresholds, hysteresis, alarm templates,
69 multiple role-based notification methods (such as email, slack.com,
70 pushover.net, pushbullet.com, telegram.org, twilio.com, messagebird.com)
73 you can monitor anything you can get a metric for,
74 using its Plugin API (anything can be a netdata plugin,
75 BASH, python, perl, node.js, java, Go, ruby, etc)
78 it can run anywhere a Linux kernel runs (even IoT)
79 and its charts can be embedded on your web pages too
81 - **Customizable**<br/>
82 custom dashboards can be built using simple HTML (no javascript necessary)
84 - **Zero configuration**<br/>
85 auto-detects everything, it can collect up to 5000 metrics
86 per server out of the box
88 - **Zero dependencies**<br/>
89 it is even its own web server, for its static web files and its web API
91 - **Zero maintenance**<br/>
92 you just run it, it does the rest
94 - **scales to infinity**<br/>
95 requiring minimal central resources
97 - **several operating modes**<br/>
98 autonomous host monitoring, headless data collector, forwarding proxy, store and forward proxy, central multi-host monitoring, in all possible configurations.
99 Each node may have different metrics retention policy and run with or without health monitoring.
101 - **time-series back-ends supported**<br/>
102 can archive its metrics on `graphite`, `opentsdb`, `prometheus`, json document DBs, in the same or lower detail
103 (lower: to prevent it from congesting these servers due to the amount of data collected)
105 ![netdata](https://cloud.githubusercontent.com/assets/2662304/14092712/93b039ea-f551-11e5-822c-beadbf2b2a2e.gif)
109 ## What does it monitor?
111 netdata collects several thousands of metrics per device.
112 All these metrics are collected and visualized in real-time.
114 > _Almost all metrics are auto-detected, without any configuration._
116 This is a list of what it currently monitors:
119 usage, interrupts, softirqs, frequency, total and per core, CPU states
122 RAM, swap and kernel memory usage, KSM (Kernel Samepage Merging), NUMA
125 per disk: I/O, operations, backlog, utilization, space, software RAID (md)
127 ![sda](https://cloud.githubusercontent.com/assets/2662304/14093195/c882bbf4-f554-11e5-8863-1788d643d2c0.gif)
129 - **Network interfaces**<br/>
130 per interface: bandwidth, packets, errors, drops
132 ![dsl0](https://cloud.githubusercontent.com/assets/2662304/14093128/4d566494-f554-11e5-8ee4-5392e0ac51f0.gif)
134 - **IPv4 networking**<br/>
135 bandwidth, packets, errors, fragments,
136 tcp: connections, packets, errors, handshake,
137 udp: packets, errors,
138 broadcast: bandwidth, packets,
139 multicast: bandwidth, packets
141 - **IPv6 networking**<br/>
142 bandwidth, packets, errors, fragments, ECT,
143 udp: packets, errors,
144 udplite: packets, errors,
145 broadcast: bandwidth,
146 multicast: bandwidth, packets,
147 icmp: messages, errors, echos, router, neighbor, MLDv2, group membership,
150 - **Interprocess Communication - IPC**<br/>
151 such as semaphores and semaphores arrays
153 - **netfilter / iptables Linux firewall**<br/>
154 connections, connection tracker events, errors
156 - **Linux DDoS protection**<br/>
159 - **fping** latencies</br>
160 for any number of hosts, showing latency, packets and packet loss
162 ![image](https://cloud.githubusercontent.com/assets/2662304/20464811/9517d2b4-af57-11e6-8361-f6cc57541cd7.png)
166 running, blocked, forks, active
169 random numbers pool, using in cryptography
171 - **NFS file servers and clients**<br/>
172 NFS v2, v3, v4: I/O, cache, read ahead, RPC calls
174 - **Network QoS**<br/>
175 the only tool that visualizes network `tc` classes in realtime
177 ![qos-tc-classes](https://cloud.githubusercontent.com/assets/2662304/14093004/68966020-f553-11e5-98fe-ffee2086fafd.gif)
179 - **Linux Control Groups**<br/>
180 containers: systemd, lxc, docker
182 - **Applications**<br/>
183 by grouping the process tree and reporting CPU, memory, disk reads,
184 disk writes, swap, threads, pipes, sockets - per group
186 ![apps](https://cloud.githubusercontent.com/assets/2662304/14093565/67c4002c-f557-11e5-86bd-0154f5135def.gif)
188 - **Users and User Groups resource usage**<br/>
189 by summarizing the process tree per user and group,
190 reporting: CPU, memory, disk reads, disk writes, swap, threads, pipes, sockets
192 - **Apache and lighttpd web servers**<br/>
193 `mod-status` (v2.2, v2.4) and cache log statistics, for multiple servers
195 - **Nginx web servers**<br/>
196 `stub-status`, for multiple servers
199 accesses, threads, free memory, volume
201 - **web server log files**<br/>
202 extracting in real-time, web server performance metrics and applying several health checks
204 - **mySQL databases**<br/>
205 multiple servers, each showing: bandwidth, queries/s, handlers, locks, issues,
206 tmp operations, connections, binlog metrics, threads, innodb metrics, and more
208 - **Postgres databases**<br/>
209 multiple servers, each showing: per database statistics (connections, tuples
210 read - written - returned, transactions, locks), backend processes, indexes,
211 tables, write ahead, background writer and more
213 - **Redis databases**<br/>
214 multiple servers, each showing: operations, hit rate, memory, keys, clients, slaves
217 operations, clients, transactions, cursors, connections, asserts, locks, etc
219 - **memcached databases**<br/>
220 multiple servers, each showing: bandwidth, connections, items
222 - **elasticsearch**<br/>
223 search and index performance, latency, timings, cluster statistics, threads statistics, etc
225 - **ISC Bind name servers**<br/>
226 multiple servers, each showing: clients, requests, queries, updates, failures and several per view metrics
228 - **NSD name servers**<br/>
229 queries, zones, protocols, query types, transfers, etc.
231 - **Postfix email servers**<br/>
232 message queue (entries, size)
234 - **exim email servers**<br/>
235 message queue (emails queued)
237 - **Dovecot** POP3/IMAP servers<br/>
240 pools utilization, leases, etc.
245 - **Squid proxy servers**<br/>
246 multiple servers, each showing: clients bandwidth and requests, servers bandwidth and requests
249 bandwidth, sessions, backends, etc
252 threads, sessions, hits, objects, backends, etc
257 - **Hardware sensors**<br/>
258 `lm_sensors` and `IPMI`: temperature, voltage, fans, power, humidity
260 - **NUT and APC UPSes**<br/>
261 load, charge, battery voltage, temperature, utility metrics, output metrics
264 multiple instances, each reporting connections, requests, performance
270 disk S.M.A.R.T. values
272 - **SNMP devices**<br/>
273 can be monitored too (although you will need to configure these)
275 And you can extend it, by writing plugins that collect data from any source, using any computer language.
281 Use our **[automatic installer](https://github.com/firehol/netdata/wiki/Installation)** to build and install it on your system.
283 It should run on **any Linux** system (including IoT). It has been tested on:
293 - RedHat Enterprise Linux
301 Check the **[netdata wiki](https://github.com/firehol/netdata/wiki)**.
307 It re-distributes other open-source tools and libraries. Please check its [License Statement](https://github.com/firehol/netdata/blob/master/LICENSE.md).