]> arthur.barton.de Git - netdata.git/blob - README.md
Merge pull request #1968 from ktsaou/master
[netdata.git] / README.md
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)*
3
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**.
8
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._
12
13 netdata runs on **Linux**, **FreeBSD**, and **MacOS**.
14
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)
16
17 ---
18
19 ## User base
20
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/)
23
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)
26
27 ---
28
29 ## News
30
31 <p align="center">
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>
34 </p>
35
36 `Jan 22nd, 2017` - **[netdata v1.5.0 released!](https://github.com/firehol/netdata/releases)**
37
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
46
47 ---
48
49 ## Features
50
51 <p align="center">
52 <img src="https://cloud.githubusercontent.com/assets/2662304/19168687/f6a567be-8c19-11e6-8561-ce8d589e8346.gif"/>
53 </p>
54
55  - **Stunning interactive bootstrap dashboards**<br/>
56    mouse and touch friendly, in 2 themes: dark, light
57    
58  - **Amazingly fast**<br/>
59    responds to all queries in less than 0.5 ms per metric,
60    even on low-end hardware
61    
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
65    
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)
71    
72  - **Extensible**<br/>
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)
76    
77  - **Embeddable**<br/>
78    it can run anywhere a Linux kernel runs (even IoT)
79    and its charts can be embedded on your web pages too
80    
81  - **Customizable**<br/>
82    custom dashboards can be built using simple HTML (no javascript necessary)
83    
84  - **Zero configuration**<br/>
85    auto-detects everything, it can collect up to 5000 metrics
86    per server out of the box
87    
88  - **Zero dependencies**<br/>
89    it is even its own web server, for its static web files and its web API
90    
91  - **Zero maintenance**<br/>
92    you just run it, it does the rest
93    
94  - **scales to infinity**<br/>
95    requiring minimal central resources
96    
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.
100    
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)
104
105 ![netdata](https://cloud.githubusercontent.com/assets/2662304/14092712/93b039ea-f551-11e5-822c-beadbf2b2a2e.gif)
106
107 ---
108
109 ## What does it monitor?
110
111 netdata collects several thousands of metrics per device.
112 All these metrics are collected and visualized in real-time.
113
114 > _Almost all metrics are auto-detected, without any configuration._
115
116 This is a list of what it currently monitors:
117
118 - **CPU**<br/>
119   usage, interrupts, softirqs, frequency, total and per core, CPU states
120
121 - **Memory**<br/>
122   RAM, swap and kernel memory usage, KSM (Kernel Samepage Merging), NUMA
123
124 - **Disks**<br/>
125   per disk: I/O, operations, backlog, utilization, space, software RAID (md)
126
127    ![sda](https://cloud.githubusercontent.com/assets/2662304/14093195/c882bbf4-f554-11e5-8863-1788d643d2c0.gif)
128
129 - **Network interfaces**<br/>
130   per interface: bandwidth, packets, errors, drops
131
132    ![dsl0](https://cloud.githubusercontent.com/assets/2662304/14093128/4d566494-f554-11e5-8ee4-5392e0ac51f0.gif)
133
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
140
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,
148   break down by type
149
150 - **Interprocess Communication - IPC**<br/>
151   such as semaphores and semaphores arrays
152
153 - **netfilter / iptables Linux firewall**<br/>
154   connections, connection tracker events, errors
155
156 - **Linux DDoS protection**<br/>
157   SYNPROXY metrics
158
159 - **fping** latencies</br>
160   for any number of hosts, showing latency, packets and packet loss
161
162    ![image](https://cloud.githubusercontent.com/assets/2662304/20464811/9517d2b4-af57-11e6-8361-f6cc57541cd7.png)
163
164
165 - **Processes**<br/>
166   running, blocked, forks, active
167
168 - **Entropy**<br/>
169   random numbers pool, using in cryptography
170
171 - **NFS file servers and clients**<br/>
172   NFS v2, v3, v4: I/O, cache, read ahead, RPC calls
173
174 - **Network QoS**<br/>
175   the only tool that visualizes network `tc` classes in realtime
176
177    ![qos-tc-classes](https://cloud.githubusercontent.com/assets/2662304/14093004/68966020-f553-11e5-98fe-ffee2086fafd.gif)
178
179 - **Linux Control Groups**<br/>
180   containers: systemd, lxc, docker
181
182 - **Applications**<br/>
183   by grouping the process tree and reporting CPU, memory, disk reads,
184   disk writes, swap, threads, pipes, sockets - per group
185
186    ![apps](https://cloud.githubusercontent.com/assets/2662304/14093565/67c4002c-f557-11e5-86bd-0154f5135def.gif)
187
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
191
192 - **Apache and lighttpd web servers**<br/>
193    `mod-status` (v2.2, v2.4) and cache log statistics, for multiple servers
194
195 - **Nginx web servers**<br/>
196   `stub-status`, for multiple servers
197
198 - **Tomcat**<br/>
199   accesses, threads, free memory, volume
200
201 - **web server log files**<br/>
202   extracting in real-time, web server performance metrics and applying several health checks
203
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
207
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
212
213 - **Redis databases**<br/>
214   multiple servers, each showing: operations, hit rate, memory, keys, clients, slaves
215
216 - **mongodb**<br/>
217   operations, clients, transactions, cursors, connections, asserts, locks, etc
218
219 - **memcached databases**<br/>
220   multiple servers, each showing: bandwidth, connections, items
221
222 - **elasticsearch**<br/>
223   search and index performance, latency, timings, cluster statistics, threads statistics, etc
224
225 - **ISC Bind name servers**<br/>
226   multiple servers, each showing: clients, requests, queries, updates, failures and several per view metrics
227
228 - **NSD name servers**<br/>
229   queries, zones, protocols, query types, transfers, etc.
230
231 - **Postfix email servers**<br/>
232   message queue (entries, size)
233
234 - **exim email servers**<br/>
235   message queue (emails queued)
236
237 - **Dovecot** POP3/IMAP servers<br/>
238
239 - **ISC dhcpd**<br/>
240   pools utilization, leases, etc.
241
242 - **IPFS**<br/>
243   bandwidth, peers
244
245 - **Squid proxy servers**<br/>
246   multiple servers, each showing: clients bandwidth and requests, servers bandwidth and requests
247
248 - **HAproxy**<br/>
249   bandwidth, sessions, backends, etc
250
251 - **varnish**<br/>
252   threads, sessions, hits, objects, backends, etc
253
254 - **OpenVPN**<br/>
255   status per tunnel
256
257 - **Hardware sensors**<br/>
258   `lm_sensors` and `IPMI`: temperature, voltage, fans, power, humidity
259
260 - **NUT and APC UPSes**<br/>
261   load, charge, battery voltage, temperature, utility metrics, output metrics
262
263 - **PHP-FPM**<br/>
264   multiple instances, each reporting connections, requests, performance
265
266 - **hddtemp**<br/>
267   disk temperatures
268
269 - **smartd**<br/>
270   disk S.M.A.R.T. values
271
272 - **SNMP devices**<br/>
273   can be monitored too (although you will need to configure these)
274
275 And you can extend it, by writing plugins that collect data from any source, using any computer language.
276
277 ---
278
279 ## Installation
280
281 Use our **[automatic installer](https://github.com/firehol/netdata/wiki/Installation)** to build and install it on your system.
282
283 It should run on **any Linux** system (including IoT). It has been tested on:
284
285 - Alpine
286 - Arch Linux
287 - CentOS
288 - Debian
289 - Fedora
290 - Gentoo
291 - openSUSE
292 - PLD Linux
293 - RedHat Enterprise Linux
294 - SUSE
295 - Ubuntu
296
297 ---
298
299 ## Documentation
300
301 Check the **[netdata wiki](https://github.com/firehol/netdata/wiki)**.
302
303 ## License
304
305 netdata is GPLv3+.
306
307 It re-distributes other open-source tools and libraries. Please check its [License Statement](https://github.com/firehol/netdata/blob/master/LICENSE.md).