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 supports dynamic thresholds, hysteresis, alarm templates,
68 multiple role-based notification methods (such as email, slack.com,
69 pushover.net, pushbullet.com, telegram.org, twilio.com, messagebird.com)
72 you can monitor anything you can get a metric for,
73 using its Plugin API (anything can be a netdata plugin,
74 BASH, python, perl, node.js, java, Go, ruby, etc)
77 it can run anywhere a Linux kernel runs (even IoT)
78 and its charts can be embedded on your web pages too
80 - **Customizable**<br/>
81 custom dashboards can be built using simple HTML (no javascript necessary)
83 - **Zero configuration**<br/>
84 auto-detects everything, it can collect up to 5000 metrics
85 per server out of the box
87 - **Zero dependencies**<br/>
88 it is even its own web server, for its static web files and its web API
90 - **Zero maintenance**<br/>
91 you just run it, it does the rest
93 - **scales to infinity**<br/>
94 requiring minimal central resources
96 - **several operating modes**<br/>
97 autonomous host monitoring, headless data collector, forwarding proxy, store and forward proxy, central multi-host monitoring, in all possible configurations.
98 Each node may have different metrics retention policy and run with or without health monitoring.
100 - **time-series back-ends supported**<br/>
101 can archive its metrics on `graphite`, `opentsdb`, `prometheus`, json document DBs, in the same or lower detail
102 (lower: to prevent it from congesting these servers due to the amount of data collected)
104 ![netdata](https://cloud.githubusercontent.com/assets/2662304/14092712/93b039ea-f551-11e5-822c-beadbf2b2a2e.gif)
108 ## What does it monitor?
110 netdata collects several thousands of metrics per device.
111 All these metrics are collected and visualized in real-time.
113 > _Almost all metrics are auto-detected, without any configuration._
115 This is a list of what it currently monitors:
118 usage, interrupts, softirqs, frequency, total and per core, CPU states
121 RAM, swap and kernel memory usage, KSM (Kernel Samepage Merging), NUMA
124 per disk: I/O, operations, backlog, utilization, space, software RAID (md)
126 ![sda](https://cloud.githubusercontent.com/assets/2662304/14093195/c882bbf4-f554-11e5-8863-1788d643d2c0.gif)
128 - **Network interfaces**<br/>
129 per interface: bandwidth, packets, errors, drops
131 ![dsl0](https://cloud.githubusercontent.com/assets/2662304/14093128/4d566494-f554-11e5-8ee4-5392e0ac51f0.gif)
133 - **IPv4 networking**<br/>
134 bandwidth, packets, errors, fragments,
135 tcp: connections, packets, errors, handshake,
136 udp: packets, errors,
137 broadcast: bandwidth, packets,
138 multicast: bandwidth, packets
140 - **IPv6 networking**<br/>
141 bandwidth, packets, errors, fragments, ECT,
142 udp: packets, errors,
143 udplite: packets, errors,
144 broadcast: bandwidth,
145 multicast: bandwidth, packets,
146 icmp: messages, errors, echos, router, neighbor, MLDv2, group membership,
149 - **Interprocess Communication - IPC**<br/>
150 such as semaphores and semaphores arrays
152 - **netfilter / iptables Linux firewall**<br/>
153 connections, connection tracker events, errors
155 - **Linux DDoS protection**<br/>
158 - **fping** latencies</br>
159 for any number of hosts, showing latency, packets and packet loss
161 ![image](https://cloud.githubusercontent.com/assets/2662304/20464811/9517d2b4-af57-11e6-8361-f6cc57541cd7.png)
165 running, blocked, forks, active
168 random numbers pool, using in cryptography
170 - **NFS file servers and clients**<br/>
171 NFS v2, v3, v4: I/O, cache, read ahead, RPC calls
173 - **Network QoS**<br/>
174 the only tool that visualizes network `tc` classes in realtime
176 ![qos-tc-classes](https://cloud.githubusercontent.com/assets/2662304/14093004/68966020-f553-11e5-98fe-ffee2086fafd.gif)
178 - **Linux Control Groups**<br/>
179 containers: systemd, lxc, docker
181 - **Applications**<br/>
182 by grouping the process tree and reporting CPU, memory, disk reads,
183 disk writes, swap, threads, pipes, sockets - per group
185 ![apps](https://cloud.githubusercontent.com/assets/2662304/14093565/67c4002c-f557-11e5-86bd-0154f5135def.gif)
187 - **Users and User Groups resource usage**<br/>
188 by summarizing the process tree per user and group,
189 reporting: CPU, memory, disk reads, disk writes, swap, threads, pipes, sockets
191 - **Apache and lighttpd web servers**<br/>
192 `mod-status` (v2.2, v2.4) and cache log statistics, for multiple servers
194 - **Nginx web servers**<br/>
195 `stub-status`, for multiple servers
198 accesses, threads, free memory, volume
200 - **web server log files**<br/>
201 extracting in real-time, web server performance metrics and applying several health checks
203 - **mySQL databases**<br/>
204 multiple servers, each showing: bandwidth, queries/s, handlers, locks, issues,
205 tmp operations, connections, binlog metrics, threads, innodb metrics, and more
207 - **Postgres databases**<br/>
208 multiple servers, each showing: per database statistics (connections, tuples
209 read - written - returned, transactions, locks), backend processes, indexes,
210 tables, write ahead, background writer and more
212 - **Redis databases**<br/>
213 multiple servers, each showing: operations, hit rate, memory, keys, clients, slaves
216 operations, clients, transactions, cursors, connections, asserts, locks, etc
218 - **memcached databases**<br/>
219 multiple servers, each showing: bandwidth, connections, items
221 - **elasticsearch**<br/>
222 search and index performance, latency, timings, cluster statistics, threads statistics, etc
224 - **ISC Bind name servers**<br/>
225 multiple servers, each showing: clients, requests, queries, updates, failures and several per view metrics
227 - **NSD name servers**<br/>
228 queries, zones, protocols, query types, transfers, etc.
230 - **Postfix email servers**<br/>
231 message queue (entries, size)
233 - **exim email servers**<br/>
234 message queue (emails queued)
236 - **Dovecot** POP3/IMAP servers<br/>
239 pools utilization, leases, etc.
244 - **Squid proxy servers**<br/>
245 multiple servers, each showing: clients bandwidth and requests, servers bandwidth and requests
248 bandwidth, sessions, backends, etc
251 threads, sessions, hits, objects, backends, etc
256 - **Hardware sensors**<br/>
257 `lm_sensors` and `IPMI`: temperature, voltage, fans, power, humidity
259 - **NUT and APC UPSes**<br/>
260 load, charge, battery voltage, temperature, utility metrics, output metrics
263 multiple instances, each reporting connections, requests, performance
269 disk S.M.A.R.T. values
271 - **SNMP devices**<br/>
272 can be monitored too (although you will need to configure these)
274 And you can extend it, by writing plugins that collect data from any source, using any computer language.
280 Use our **[automatic installer](https://github.com/firehol/netdata/wiki/Installation)** to build and install it on your system.
282 It should run on **any Linux** system (including IoT). It has been tested on:
292 - RedHat Enterprise Linux
300 Check the **[netdata wiki](https://github.com/firehol/netdata/wiki)**.
306 It re-distributes other open-source tools and libraries. Please check its [License Statement](https://github.com/firehol/netdata/blob/master/LICENSE.md).