]> arthur.barton.de Git - netdata.git/blob - README.md
Merge pull request #1713 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) [![Docker Pulls](https://img.shields.io/docker/pulls/titpetric/netdata.svg)](https://hub.docker.com/r/titpetric/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 ---
14
15 ## User base
16
17 *Since May 16th 2016 (the date the [global public netdata registry](https://github.com/firehol/netdata/wiki/mynetdata-menu-item) was released):*<br/>
18 [![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)
19
20 *in the last 24 hours:*<br/>
21 [![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)
22
23 ---
24
25 ## News
26
27 <p align="center">
28 Netdata is featured at <b><a href="https://octoverse.github.com/" target="_blank">GitHub's State Of The Octoverse 2016</a></b><br/>
29 <a href="https://octoverse.github.com/" target="_blank"><img src="https://cloud.githubusercontent.com/assets/2662304/21743260/23ebe62c-d507-11e6-80c0-76b95f53e464.png"/></a>
30 </p>
31
32 `Jan 22nd, 2017` - **[netdata v1.5.0 released!](https://github.com/firehol/netdata/releases)**
33
34  - netdata now runs on **FreeBSD** and **MacOS**
35  - netdata now supports **Graphite**, **OpenTSDB**, **Prometheus** and compatible backends
36  - netdata now monitors **systemd Services**
37  - 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
38  - 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)
39  - dozens of new and improved alarms (including performance monitoring alarms for mysql)
40  - new alarm notifications: messagebird.com, pagerduty.com, pushbullet.com, twilio.com, hipchat, kafka
41  - dozens more improvements and performance optimizations
42
43 ---
44
45 ## Features
46
47 <p align="center">
48 <img src="https://cloud.githubusercontent.com/assets/2662304/19168687/f6a567be-8c19-11e6-8561-ce8d589e8346.gif"/>
49 </p>
50
51  - **Stunning interactive bootstrap dashboards**<br/>
52    mouse and touch friendly, in 2 themes: dark, light
53    
54  - **Amazingly fast**<br/>
55    responds to all queries in less than 0.5 ms per metric,
56    even on low-end hardware
57    
58  - **Highly efficient**<br/>
59    collects thousands of metrics per server per second,
60    with just 1% CPU utilization of a single core, a few MB of RAM and no disk I/O at all
61    
62  - **Sophisticated alarming**<br/>
63    supports dynamic thresholds, hysteresis, alarm templates,
64    multiple role-based notification methods (such as email, slack.com,
65    pushover.net, pushbullet.com telegram.org, twilio.com, messagebird.com)
66    
67  - **Extensible**<br/>
68    you can monitor anything you can get a metric for,
69    using its Plugin API (anything can be a netdata plugin,
70    BASH, python, perl, node.js, java, Go, ruby, etc)
71    
72  - **Embeddable**<br/>
73    it can run anywhere a Linux kernel runs (even IoT)
74    and its charts can be embedded on your web pages too
75    
76  - **Customizable**<br/>
77    custom dashboards can be built using simple HTML (no javascript necessary)
78    
79  - **Zero configuration**<br/>
80    auto-detects everything, it can collect up to 5000 metrics
81    per server out of the box
82    
83  - **Zero dependencies**<br/>
84    it is even its own web server, for its static web files and its web API
85    
86  - **Zero maintenance**<br/>
87    you just run it, it does the rest
88    
89  - **scales to infinity**<br/>
90    requiring minimal central resources
91    
92  - **back-ends supported**<br/>
93    can archive its metrics on `graphite` or `opentsdb`, in the same or lower detail
94    (lower: to prevent it from congesting these servers due to the amount of data collected)
95
96 ![netdata](https://cloud.githubusercontent.com/assets/2662304/14092712/93b039ea-f551-11e5-822c-beadbf2b2a2e.gif)
97
98 ---
99
100 ## What does it monitor?
101
102 netdata monitors several thousands of metrics per device.
103 All these metrics are collected and visualized in real-time.
104
105 > _Almost all metrics are auto-detected, without any configuration._
106
107 This is a list of what it currently monitors:
108
109 - **CPU**<br/>
110   usage, interrupts, softirqs, frequency, total and per core
111
112 - **Memory**<br/>
113   RAM, swap and kernel memory usage, KSM (Kernel Samepage Merging), NUMA
114
115 - **Disks**<br/>
116   per disk: I/O, operations, backlog, utilization, space
117
118    ![sda](https://cloud.githubusercontent.com/assets/2662304/14093195/c882bbf4-f554-11e5-8863-1788d643d2c0.gif)
119
120 - **Network interfaces**<br/>
121   per interface: bandwidth, packets, errors, drops
122
123    ![dsl0](https://cloud.githubusercontent.com/assets/2662304/14093128/4d566494-f554-11e5-8ee4-5392e0ac51f0.gif)
124
125 - **IPv4 networking**<br/>
126   bandwidth, packets, errors, fragments,
127   tcp: connections, packets, errors, handshake,
128   udp: packets, errors,
129   broadcast: bandwidth, packets,
130   multicast: bandwidth, packets
131
132 - **IPv6 networking**<br/>
133   bandwidth, packets, errors, fragments, ECT,
134   udp: packets, errors,
135   udplite: packets, errors,
136   broadcast: bandwidth,
137   multicast: bandwidth, packets,
138   icmp: messages, errors, echos, router, neighbor, MLDv2, group membership,
139   break down by type
140
141 - **Interprocess Communication - IPC**<br/>
142   such as semaphores and semaphores arrays
143
144 - **netfilter / iptables Linux firewall**<br/>
145   connections, connection tracker events, errors
146
147 - **Linux DDoS protection**<br/>
148   SYNPROXY metrics
149
150 - **fping** latencies</br>
151   for any number of hosts, showing latency, packets and packet loss
152
153    ![image](https://cloud.githubusercontent.com/assets/2662304/20464811/9517d2b4-af57-11e6-8361-f6cc57541cd7.png)
154
155
156 - **Processes**<br/>
157   running, blocked, forks, active
158
159 - **Entropy**<br/>
160   random numbers pool, using in cryptography
161
162 - **NFS file servers and clients**<br/>
163   NFS v2, v3, v4: I/O, cache, read ahead, RPC calls
164
165 - **Network QoS**<br/>
166   the only tool that visualizes network `tc` classes in realtime
167
168    ![qos-tc-classes](https://cloud.githubusercontent.com/assets/2662304/14093004/68966020-f553-11e5-98fe-ffee2086fafd.gif)
169
170 - **Linux Control Groups**<br/>
171   containers: systemd, lxc, docker
172
173 - **Applications**<br/>
174   by grouping the process tree and reporting CPU, memory, disk reads,
175   disk writes, swap, threads, pipes, sockets - per group
176
177    ![apps](https://cloud.githubusercontent.com/assets/2662304/14093565/67c4002c-f557-11e5-86bd-0154f5135def.gif)
178
179 - **Users and User Groups resource usage**<br/>
180   by summarizing the process tree per user and group,
181   reporting: CPU, memory, disk reads, disk writes, swap, threads, pipes, sockets
182
183 - **Apache and lighttpd web servers**<br/>
184    `mod-status` (v2.2, v2.4) and cache log statistics, for multiple servers
185
186 - **Nginx web servers**<br/>
187   `stub-status`, for multiple servers
188
189 - **Tomcat**<br/>
190   accesses, threads, free memory, volume
191
192 - **mySQL databases**<br/>
193   multiple servers, each showing: bandwidth, queries/s, handlers, locks, issues,
194   tmp operations, connections, binlog metrics, threads, innodb metrics, and more
195
196 - **Postgres databases**<br/>
197   multiple servers, each showing: per database statistics (connections, tuples
198   read - written - returned, transactions, locks), backend processes, indexes,
199   tables, write ahead, background writer and more
200
201 - **Redis databases**<br/>
202   multiple servers, each showing: operations, hit rate, memory, keys, clients, slaves
203
204 - **memcached databases**<br/>
205   multiple servers, each showing: bandwidth, connections, items
206
207 - **ISC Bind name servers**<br/>
208   multiple servers, each showing: clients, requests, queries, updates, failures and several per view metrics
209
210 - **Postfix email servers**<br/>
211   message queue (entries, size)
212
213 - **exim email servers**<br/>
214   message queue (emails queued)
215
216 - **Dovecot** POP3/IMAP servers<br/>
217
218 - **IPFS**<br/>
219   bandwidth, peers
220
221 - **Squid proxy servers**<br/>
222   multiple servers, each showing: clients bandwidth and requests, servers bandwidth and requests
223
224 - **Hardware sensors**<br/>
225   temperature, voltage, fans, power, humidity
226
227 - **NUT and APC UPSes**<br/>
228   load, charge, battery voltage, temperature, utility metrics, output metrics
229
230 - **PHP-FPM**<br/>
231   multiple instances, each reporting connections, requests, performance
232
233 - **hddtemp**<br/>
234   disk temperatures
235
236 - **SNMP devices**<br/>
237   can be monitored too (although you will need to configure these)
238
239 And you can extend it, by writing plugins that collect data from any source, using any computer language.
240
241 ---
242
243 ## Installation
244
245 Use our **[automatic installer](https://github.com/firehol/netdata/wiki/Installation)** to build and install it on your system.
246
247 It should run on **any Linux** system (including IoT). It has been tested on:
248
249 - Alpine
250 - Arch Linux
251 - CentOS
252 - Debian
253 - Fedora
254 - Gentoo
255 - openSUSE
256 - PLD Linux
257 - RedHat Enterprise Linux
258 - SUSE
259 - Ubuntu
260
261 ---
262
263 ## Documentation
264
265 Check the **[netdata wiki](https://github.com/firehol/netdata/wiki)**.
266
267 ## License
268
269 netdata is GPLv3+.
270
271 It re-distributes other open-source tools and libraries. Please check its [License Statement](https://github.com/firehol/netdata/blob/master/LICENSE.md).