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