Update readme (#4605)
* updated readme * updated readme * updated readme * updated readme * updated readme * updated readme * updated readme * updated readme * updated readme
Costa Tsaousis committed
Nov 11, 2018 at 18:17 UTC
0c935fd0b5830fb4bdc90fd098dc1d1e81e1489b
1 file changed
+87
-29
README.md
+87
-29
@@ -1,4 +1,4 @@
1
-# netdata [](https://travis-ci.com/netdata/netdata) [](https://bestpractices.coreinfrastructure.org/projects/2231) [](https://www.gnu.org/licenses/gpl-3.0) [](https://twitter.com/intent/tweet?text=Netdata,%20real-time%20performance%20and%20health%20monitoring,%20done%20right!&url=https://my-netdata.io/&via=linuxnetdata&hashtags=netdata,monitoring) []()
1
+# netdata [](https://travis-ci.com/netdata/netdata) [](https://bestpractices.coreinfrastructure.org/projects/2231) [](https://www.gnu.org/licenses/gpl-3.0) []()
2
3
[](https://codeclimate.com/github/netdata/netdata) [](https://www.codacy.com/app/netdata/netdata?utm_source=github.com&utm_medium=referral&utm_content=netdata/netdata&utm_campaign=Badge_Grade) [](https://lgtm.com/projects/g/netdata/netdata/context:cpp) [](https://lgtm.com/projects/g/netdata/netdata/context:javascript) [](https://lgtm.com/projects/g/netdata/netdata/context:python)
4
@@ -12,12 +12,15 @@ _Netdata is **fast** and **efficient**, designed to permanently run on all syste
12
13
Netdata is **free, open-source software** and it currently runs on **Linux**, **FreeBSD**, and **MacOS**.
14
15
-## Warning!
15
+---
16
+
17
People get **addicted to netdata**.<br/>
18
Once you use it on your systems, **there is no going back**! *You have been warned...*
19
20

21
22
+[](https://twitter.com/intent/tweet?text=Netdata,%20real-time%20performance%20and%20health%20monitoring,%20done%20right!&url=https://my-netdata.io/&via=linuxnetdata&hashtags=netdata,monitoring)
23
+
24
## Contents
25
26
1. [How it looks](#how-it-looks) - have a quick look at it
@@ -29,10 +32,9 @@ Once you use it on your systems, **there is no going back**! *You have been warn
32
7. [Features](#features) - what features does it have
33
8. [Visualization](#visualization) - unique visualization features
34
9. [What does it monitor](#what-does-it-monitor) - which metrics it collects
32
-10. [Installation](#installation) - install it on all your systems
33
-11. [Documentation](#documentation) - read the docs
34
-12. [Community](#community) - disucss with others and get support
35
-13. [License](#license) - check the license of netdata
35
+10. [Documentation](#documentation) - read the docs
36
+11. [Community](#community) - disucss with others and get support
37
+12. [License](#license) - check the license of netdata
38
39
40
## How it looks
@@ -69,16 +71,16 @@ Docker pulls as reported by docker hub:<br/>[
79
- a **time-series database** - all stored in memory (does not touch the disks while it runs)
80
- a **metrics visualizer** - super fast, interactive, modern, optimized for anomaly detection
81
- an **alarms notification engine** - an advanced watchdog for detecting performance and availability issues
82
81
-All the above, packaged together in a very flexible, extremely modular, distributed application.
83
+All the above, are packaged together in a very flexible, extremely modular, distributed application.
84
85
This is how netdata compares to other monitoring solutions:
86
@@ -99,6 +101,81 @@ Netdata is **open-source**, **free**, super **fast**, very **easy**, completely
101
It has been designed by **SysAdmins**, **DevOps** and **Developers** for troubleshooting performance problems,
102
not just visualize metrics.
103
104
+### Simplicity
105
+
106
+> Most monitoring solutions require endless configuration of whatever imaginable.
107
+
108
+Well... this is a linux box. Why do we need to configure every single metric we need to monitor.
109
+Of course it has a CPU and RAM and a few disks, and ethernet ports, it may run a firewall, a web server, or a database server and so on.
110
+Why do we need to configure all these metrics?
111
+
112
+Netdata metrics collection is designed to support **configuration-less** operation. So, you just install and run netdata.
113
+You will need to configure something only if it cannot be auto-detected.
114
+
115
+Of course you can enable, tweak or disable things.
116
+But by default, if netdata can connect to a web server you run on your systems, it will automatically
117
+collect all performance metrics. This happens for all data collection plugins when technically possible.
118
+It will also automatically collect all available system values for CPU, memory, disks, network interfaces,
119
+QoS (with labels if you also use [FireQOS](http://firehol.org/)), etc.
120
+Even for processes that do not offer performance metrics, it will automatically group the whole process
121
+tree and provide metrics like CPU usage, memory allocated, opened files, sockets, disk activity, swap
122
+activity, etc per application group.
123
+
124
+### Performance monitoring
125
+
126
+According to reports, performance issues are 10x more common compared to outages.
127
+
128
+> Take any performance monitoring solution and try to troubleshoot a performance problem.
129
+> At the end of the day you will have to `ssh` to the server(s) to understand what exactly is happening.
130
+> You will have to use `iostat`, `iotop`, `vmstat`, `top`, `ethtool` and probably a few dozen more console tools to figure
131
+> out the problem.
132
+
133
+With netdata, this need is eliminated significantly. Of course you will ssh. Just not for monitoring performance.
134
+
135
+One key parameter to effectively troubleshoot performance issues, is that the root cause is most probably unknown.
136
+If you were aware of the element that affected performance, most probably you would have fixed it already.
137
+
138
+The approach of most monitoring solutions (including commercial SaaS providers) that instruct their users and customers
139
+to collect only the metrics they understand, is contradictory to the nature of performance monitoring. If we knew the metrics
140
+before hand, most probably we would have a lot less performance issues.
141
+
142
+So, Netdata collects everything. The more metrics collected, the more insights we will have when we need them.
143
+
144
+Netdata is better than most console tools. Netdata visualizes the data, while the console tools just show their values.
145
+The detail is the same. Actually, netdata is more precise than most console tools,
146
+it will interpolate all collected values to second boundary, so that even if something took a few microseconds more to be
147
+collected, netdata will correctly estimate the per second rate.
148
+
149
+### Realtime monitoring
150
+
151
+> Any performance monitoring solution that does not go down to per second collection and visualization of the data,
152
+> is useless. It will make you happy to have it, but it will not help you more than that.
153
+
154
+Visualizing the present in **real-time and in great detail**, is the most important value a performance monitoring
155
+solution should provide. The next most important is the last hour, again per second. The next is the last 8 hours
156
+and so on, up to a week. In my 20+ years in IT, I needed just once or twice to look a year back. And this was mainly
157
+out of curiosity.
158
+
159
+Of course, real-time monitoring requires resources. So netdata is extremely optimized to be very efficient:
160
+
161
+- collecting performance data is a repeating process - you do the same thing again and again.
162
+ Netdata has been designed to learn from each iteration, so that the next one will be faster.
163
+ It learns the sizes of files (it even keeps them open when it can), the number of lines and
164
+ words per line they contain, the sizes of the buffers it needs to process them, etc.
165
+ It adapts, so that everything will be as ready as possible for the next iteration.
166
+
167
+- internally, it uses hashes and indexes (b-trees), to speed up lookups of metrics, charts, dimensions, settings.
168
+
169
+- it has an in-memory round robin database based on a custom floating point number that allows it to pack values
170
+ and flags together, in 32 bits, to lower its memory footprint.
171
+
172
+- its internal web server is capable of generating JSON responses from live performance data with speeds comparable
173
+ to static content delivery (it does not use printf, it is actually 11 times faster than in generating JSON compared
174
+ to printf).
175
+
176
+Netdata will use some CPU and memory, but it will not produce any disk I/O at all, apart its logs (which you can disable if you like).
177
+
178
+
179
## Quick Start
180
181
You can quickly install netdata on a Linux box (physical, virtual, container, IoT) with the following command:
@@ -296,6 +373,7 @@ Its [Plugin API](collectors/plugins.d) supports all programing languages (anythi
373
- **SNMP** - SNMP devices can be monitored too (although you will need to configure these).
374
- **port_check** - checks TCP ports for availability and response time.
375
- **IPVS** - collects metrics from the Linux IPVS load balancer.
376
+- **LibreSwan** - collects metrics per IPSEC tunnel.
377
378
#### Processes
379
- **System Processes** - running, blocked, forks, active.
@@ -399,26 +477,6 @@ Its [Plugin API](collectors/plugins.d) supports all programing languages (anythi
477
478
And you can extend it, by writing plugins that collect data from any source, using any computer language.
479
402
----
403
-
404
-## Installation
405
-
406
-Use our **[automatic installer](https://github.com/netdata/netdata/wiki/Installation)** to build and install it on your system.
407
-
408
-It should run on **any Linux** system (including IoT). It has been tested on:
409
-
410
-- Alpine
411
-- Arch Linux
412
-- CentOS
413
-- Debian
414
-- Fedora
415
-- Gentoo
416
-- openSUSE
417
-- PLD Linux
418
-- RedHat Enterprise Linux
419
-- SUSE
420
-- Ubuntu
421
-
480
---
481
482
## Documentation