@cryptotaxi247 / netdata-1 / commits / 0c935fd0b

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 [![Build Status](https://travis-ci.com/netdata/netdata.svg?branch=master)](https://travis-ci.com/netdata/netdata) [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/2231/badge)](https://bestpractices.coreinfrastructure.org/projects/2231) [![License: GPL v3+](https://img.shields.io/badge/License-GPL%20v3%2B-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](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) [![analytics](http://www.google-analytics.com/collect?v=1&t=pageview&_s=1&ds=github&dr=https%3A%2F%2Fgithub.com%2Fnetdata%2Fnetdata&dl=https%3A%2F%2Fmy-netdata.io%2Fgithub%2Freadme&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)]()
1 +# netdata [![Build Status](https://travis-ci.com/netdata/netdata.svg?branch=master)](https://travis-ci.com/netdata/netdata) [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/2231/badge)](https://bestpractices.coreinfrastructure.org/projects/2231) [![License: GPL v3+](https://img.shields.io/badge/License-GPL%20v3%2B-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![analytics](http://www.google-analytics.com/collect?v=1&t=pageview&_s=1&ds=github&dr=https%3A%2F%2Fgithub.com%2Fnetdata%2Fnetdata&dl=https%3A%2F%2Fmy-netdata.io%2Fgithub%2Freadme&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)]()
2
3 [![Code Climate](https://codeclimate.com/github/netdata/netdata/badges/gpa.svg)](https://codeclimate.com/github/netdata/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=netdata/netdata&utm_campaign=Badge_Grade) [![LGTM C](https://img.shields.io/lgtm/grade/cpp/g/netdata/netdata.svg?logo=lgtm)](https://lgtm.com/projects/g/netdata/netdata/context:cpp) [![LGTM JS](https://img.shields.io/lgtm/grade/javascript/g/netdata/netdata.svg?logo=lgtm)](https://lgtm.com/projects/g/netdata/netdata/context:javascript) [![LGTM PYTHON](https://img.shields.io/lgtm/grade/python/g/netdata/netdata.svg?logo=lgtm)](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 ![image](https://user-images.githubusercontent.com/2662304/48305662-9de82980-e537-11e8-9f5b-aa1a60fbb82f.png)
21
22 +[![Tweet about netdata!](https://img.shields.io/twitter/url/http/shields.io.svg?style=social&label=Tweet%20about%20netdata)](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/>[![netdata/netdata (official)](https
71
72 ## Why Netdata
73
72 -Netdata is a monitoring agent you install on all your systems.
74 +Netdata has a quite different approach to monitoring.
75
74 -It is:
76 +In its simplest from, Netdata is a monitoring agent you install on all your systems. It is:
77
78 - a **metrics collector** - for system and application metrics (including web servers, databases, containers, etc)
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