]> arthur.barton.de Git - netdata.git/blob - README.md
fail2bain plugin: "Currently In Jail" chart renamed
[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 `Mar 20th, 2017` - **[netdata v1.6.0 released!](https://github.com/firehol/netdata/releases)**
37
38  - central netdata is here! headless collectors, proxies, streaming of metrics, etc.
39  - [monitoring ephemeral nodes (auto-scaled VMs)](https://github.com/firehol/netdata/wiki/monitoring-ephemeral-nodes)
40  - [monitoring ephemeral containers and VM guests](https://github.com/firehol/netdata/wiki/monitoring-ephemeral-containers)
41  - [monitoring web servers](https://github.com/firehol/netdata/wiki/The-spectacles-of-a-web-server-log-file)
42  - apps.plugin ported for FreeBSD
43  - [monitoring IPMI](https://github.com/firehol/netdata/wiki/monitoring-IPMI)
44  - dozens of new and improved plugins
45  - dozens of new and improved alarms
46  - dozens more improvements and performance optimizations
47
48 ---
49
50 ## Features
51
52 <p align="center">
53 <img src="https://cloud.githubusercontent.com/assets/2662304/19168687/f6a567be-8c19-11e6-8561-ce8d589e8346.gif"/>
54 </p>
55
56  - **Stunning interactive bootstrap dashboards**<br/>
57    mouse and touch friendly, in 2 themes: dark, light
58    
59  - **Amazingly fast**<br/>
60    responds to all queries in less than 0.5 ms per metric,
61    even on low-end hardware
62    
63  - **Highly efficient**<br/>
64    collects thousands of metrics per server per second,
65    with just 1% CPU utilization of a single core, a few MB of RAM and no disk I/O at all
66    
67  - **Sophisticated alarming**<br/>
68    hundreds of alarms, **out of the box**!<br/>
69    supports dynamic thresholds, hysteresis, alarm templates,
70    multiple role-based notification methods (such as email, slack.com,
71    pushover.net, pushbullet.com, telegram.org, twilio.com, messagebird.com)
72    
73  - **Extensible**<br/>
74    you can monitor anything you can get a metric for,
75    using its Plugin API (anything can be a netdata plugin,
76    BASH, python, perl, node.js, java, Go, ruby, etc)
77    
78  - **Embeddable**<br/>
79    it can run anywhere a Linux kernel runs (even IoT)
80    and its charts can be embedded on your web pages too
81    
82  - **Customizable**<br/>
83    custom dashboards can be built using simple HTML (no javascript necessary)
84    
85  - **Zero configuration**<br/>
86    auto-detects everything, it can collect up to 5000 metrics
87    per server out of the box
88    
89  - **Zero dependencies**<br/>
90    it is even its own web server, for its static web files and its web API
91    
92  - **Zero maintenance**<br/>
93    you just run it, it does the rest
94    
95  - **scales to infinity**<br/>
96    requiring minimal central resources
97    
98  - **several operating modes**<br/>
99    autonomous host monitoring, headless data collector, forwarding proxy, store and forward proxy, central multi-host monitoring, in all possible configurations.
100    Each node may have different metrics retention policy and run with or without health monitoring.
101    
102  - **time-series back-ends supported**<br/>
103    can archive its metrics on `graphite`, `opentsdb`, `prometheus`, json document DBs, in the same or lower detail
104    (lower: to prevent it from congesting these servers due to the amount of data collected)
105
106 ![netdata](https://cloud.githubusercontent.com/assets/2662304/14092712/93b039ea-f551-11e5-822c-beadbf2b2a2e.gif)
107
108 ---
109
110 ## What does it monitor?
111
112 netdata collects several thousands of metrics per device.
113 All these metrics are collected and visualized in real-time.
114
115 > _Almost all metrics are auto-detected, without any configuration._
116
117 This is a list of what it currently monitors:
118
119 - **CPU**<br/>
120   usage, interrupts, softirqs, frequency, total and per core, CPU states
121
122 - **Memory**<br/>
123   RAM, swap and kernel memory usage, KSM (Kernel Samepage Merging), NUMA
124
125 - **Disks**<br/>
126   per disk: I/O, operations, backlog, utilization, space, software RAID (md)
127
128    ![sda](https://cloud.githubusercontent.com/assets/2662304/14093195/c882bbf4-f554-11e5-8863-1788d643d2c0.gif)
129
130 - **Network interfaces**<br/>
131   per interface: bandwidth, packets, errors, drops
132
133    ![dsl0](https://cloud.githubusercontent.com/assets/2662304/14093128/4d566494-f554-11e5-8ee4-5392e0ac51f0.gif)
134
135 - **IPv4 networking**<br/>
136   bandwidth, packets, errors, fragments,
137   tcp: connections, packets, errors, handshake,
138   udp: packets, errors,
139   broadcast: bandwidth, packets,
140   multicast: bandwidth, packets
141
142 - **IPv6 networking**<br/>
143   bandwidth, packets, errors, fragments, ECT,
144   udp: packets, errors,
145   udplite: packets, errors,
146   broadcast: bandwidth,
147   multicast: bandwidth, packets,
148   icmp: messages, errors, echos, router, neighbor, MLDv2, group membership,
149   break down by type
150
151 - **Interprocess Communication - IPC**<br/>
152   such as semaphores and semaphores arrays
153
154 - **netfilter / iptables Linux firewall**<br/>
155   connections, connection tracker events, errors
156
157 - **Linux DDoS protection**<br/>
158   SYNPROXY metrics
159
160 - **fping** latencies</br>
161   for any number of hosts, showing latency, packets and packet loss
162
163    ![image](https://cloud.githubusercontent.com/assets/2662304/20464811/9517d2b4-af57-11e6-8361-f6cc57541cd7.png)
164
165
166 - **Processes**<br/>
167   running, blocked, forks, active
168
169 - **Entropy**<br/>
170   random numbers pool, using in cryptography
171
172 - **NFS file servers and clients**<br/>
173   NFS v2, v3, v4: I/O, cache, read ahead, RPC calls
174
175 - **Network QoS**<br/>
176   the only tool that visualizes network `tc` classes in realtime
177
178    ![qos-tc-classes](https://cloud.githubusercontent.com/assets/2662304/14093004/68966020-f553-11e5-98fe-ffee2086fafd.gif)
179
180 - **Linux Control Groups**<br/>
181   containers: systemd, lxc, docker
182
183 - **Applications**<br/>
184   by grouping the process tree and reporting CPU, memory, disk reads,
185   disk writes, swap, threads, pipes, sockets - per group
186
187    ![apps](https://cloud.githubusercontent.com/assets/2662304/14093565/67c4002c-f557-11e5-86bd-0154f5135def.gif)
188
189 - **Users and User Groups resource usage**<br/>
190   by summarizing the process tree per user and group,
191   reporting: CPU, memory, disk reads, disk writes, swap, threads, pipes, sockets
192
193 - **Apache and lighttpd web servers**<br/>
194    `mod-status` (v2.2, v2.4) and cache log statistics, for multiple servers
195
196 - **Nginx web servers**<br/>
197   `stub-status`, for multiple servers
198
199 - **Tomcat**<br/>
200   accesses, threads, free memory, volume
201
202 - **web server log files**<br/>
203   extracting in real-time, web server performance metrics and applying several health checks
204
205 - **mySQL databases**<br/>
206   multiple servers, each showing: bandwidth, queries/s, handlers, locks, issues,
207   tmp operations, connections, binlog metrics, threads, innodb metrics, and more
208
209 - **Postgres databases**<br/>
210   multiple servers, each showing: per database statistics (connections, tuples
211   read - written - returned, transactions, locks), backend processes, indexes,
212   tables, write ahead, background writer and more
213
214 - **Redis databases**<br/>
215   multiple servers, each showing: operations, hit rate, memory, keys, clients, slaves
216
217 - **mongodb**<br/>
218   operations, clients, transactions, cursors, connections, asserts, locks, etc
219
220 - **memcached databases**<br/>
221   multiple servers, each showing: bandwidth, connections, items
222
223 - **elasticsearch**<br/>
224   search and index performance, latency, timings, cluster statistics, threads statistics, etc
225
226 - **ISC Bind name servers**<br/>
227   multiple servers, each showing: clients, requests, queries, updates, failures and several per view metrics
228
229 - **NSD name servers**<br/>
230   queries, zones, protocols, query types, transfers, etc.
231
232 - **Postfix email servers**<br/>
233   message queue (entries, size)
234
235 - **exim email servers**<br/>
236   message queue (emails queued)
237
238 - **Dovecot** POP3/IMAP servers<br/>
239
240 - **ISC dhcpd**<br/>
241   pools utilization, leases, etc.
242
243 - **IPFS**<br/>
244   bandwidth, peers
245
246 - **Squid proxy servers**<br/>
247   multiple servers, each showing: clients bandwidth and requests, servers bandwidth and requests
248
249 - **HAproxy**<br/>
250   bandwidth, sessions, backends, etc
251
252 - **varnish**<br/>
253   threads, sessions, hits, objects, backends, etc
254
255 - **OpenVPN**<br/>
256   status per tunnel
257
258 - **Hardware sensors**<br/>
259   `lm_sensors` and `IPMI`: temperature, voltage, fans, power, humidity
260
261 - **NUT and APC UPSes**<br/>
262   load, charge, battery voltage, temperature, utility metrics, output metrics
263
264 - **PHP-FPM**<br/>
265   multiple instances, each reporting connections, requests, performance
266
267 - **hddtemp**<br/>
268   disk temperatures
269
270 - **smartd**<br/>
271   disk S.M.A.R.T. values
272
273 - **SNMP devices**<br/>
274   can be monitored too (although you will need to configure these)
275
276 And you can extend it, by writing plugins that collect data from any source, using any computer language.
277
278 ---
279
280 ## Installation
281
282 Use our **[automatic installer](https://github.com/firehol/netdata/wiki/Installation)** to build and install it on your system.
283
284 It should run on **any Linux** system (including IoT). It has been tested on:
285
286 - Alpine
287 - Arch Linux
288 - CentOS
289 - Debian
290 - Fedora
291 - Gentoo
292 - openSUSE
293 - PLD Linux
294 - RedHat Enterprise Linux
295 - SUSE
296 - Ubuntu
297
298 ---
299
300 ## Documentation
301
302 Check the **[netdata wiki](https://github.com/firehol/netdata/wiki)**.
303
304 ## License
305
306 netdata is GPLv3+.
307
308 It re-distributes other open-source tools and libraries. Please check its [License Statement](https://github.com/firehol/netdata/blob/master/LICENSE.md).