X-Git-Url: https://arthur.barton.de/gitweb/?p=netdata.git;a=blobdiff_plain;f=README.md;h=cff7f31bde7e3eee0c61c6a298d1cb38a08631c3;hp=1720aac8303cdb996e9301d3eb7b5895d434c651;hb=f74a2240c8b8e7a469170d6300bfd4fb79ef52c1;hpb=3028b87ee19e8550df6b9decc49733d595e0bd6e diff --git a/README.md b/README.md index 1720aac8..cff7f31b 100644 --- a/README.md +++ b/README.md @@ -1,148 +1,277 @@ -[![Build Status](https://travis-ci.org/firehol/netdata.svg?branch=master)](https://travis-ci.org/firehol/netdata) -Coverity Scan Build Status -[![Docker Pulls](https://img.shields.io/docker/pulls/titpetric/netdata.svg)](https://hub.docker.com/r/titpetric/netdata/) +# 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) +> *New to netdata? Here is a live demo: [http://my-netdata.io](http://my-netdata.io)* -[![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) +**netdata** is a system for **distributed real-time performance and health monitoring**. +It provides **unparalleled insights, in real-time**, of everything happening on the +system it runs (including applications such as web and database servers), using +**modern interactive web dashboards**. -[![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) +_netdata is **fast** and **efficient**, designed to permanently run on all systems +(**physical** & **virtual** servers, **containers**, **IoT** devices), without +disrupting their core function._ +netdata runs on **Linux**, **FreeBSD**, and **MacOS**. -# netdata - -> Oct 4th, 2016 -> -> [netdata v1.4.0 released!](https://github.com/firehol/netdata/releases) -> -> - the fastest netdata ever (with a better look too)! -> - improved IoT and containers support! -> - alarms improved in almost every way! -> - new plugins: softnet netdev, extended TCP metrics, UDPLite, NFS v2, v3 client (server was there already), NFS v4 server & client, APCUPSd, RetroShare -> - improved plugins: mysql, cgroups, hddtemp, sensors, phpfm, tc (QoS) +[![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) --- -> Aug 28th, 2016 -> -> [netdata v1.3.0 released!](https://github.com/firehol/netdata/releases) -> -> - netdata has **[health monitoring / alarms](https://github.com/firehol/netdata/wiki/health-monitoring)**! -> - netdata **[generates badges](https://github.com/firehol/netdata/wiki/Generating-Badges)** that can be embeded anywhere! -> - netdata plugins are now written in python! -> - new plugins: redis, memcached, nginx_log, ipfs, apache_cache +## User base ---- +*Since May 16th 2016 (the date the [global public netdata registry](https://github.com/firehol/netdata/wiki/mynetdata-menu-item) was released):*
+[![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/) -**Real-time performance and health monitoring, done right!** +*in the last 24 hours:*
+[![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) -This is the default dashboard of **netdata**: +--- - - real-time, per second updates, snappy refreshes! - - 300+ charts out of the box, 2000+ metrics monitored! - - zero configuration, zero maintenance, zero dependencies! - - dozens of health monitoring alarms, out of the box! +## News -Live demo: [http://my-netdata.io](http://my-netdata.io) +

+Netdata is featured at GitHub's State Of The Octoverse 2016
+ +

-![netdata](https://cloud.githubusercontent.com/assets/2662304/14092712/93b039ea-f551-11e5-822c-beadbf2b2a2e.gif) +`Mar 20th, 2017` - **[netdata v1.6.0 released!](https://github.com/firehol/netdata/releases)** + + - central netdata is here! headless collectors, proxies, streaming of metrics, etc. + - [monitoring ephemeral nodes (auto-scaled VMs)](https://github.com/firehol/netdata/wiki/monitoring-ephemeral-nodes) + - [monitoring ephemeral containers and VM guests](https://github.com/firehol/netdata/wiki/monitoring-ephemeral-containers) + - [monitoring web servers](https://github.com/firehol/netdata/wiki/The-spectacles-of-a-web-server-log-file) + - apps.plugin ported for FreeBSD + - [monitoring IPMI](https://github.com/firehol/netdata/wiki/monitoring-IPMI) + - dozens of new and improved plugins + - dozens of new and improved alarms + - dozens more improvements and performance optimizations --- ## Features -**netdata** is a highly optimized Linux daemon providing **real-time performance monitoring for Linux systems, Applications, SNMP devices, over the web**! - -It tries to visualize the **truth of now**, in its **greatest detail**, so that you can get insights of what is happening now and what just happened, on your systems and applications. +

+ +

+ + - **Stunning interactive bootstrap dashboards**
+ mouse and touch friendly, in 2 themes: dark, light + + - **Amazingly fast**
+ responds to all queries in less than 0.5 ms per metric, + even on low-end hardware + + - **Highly efficient**
+ collects thousands of metrics per server per second, + with just 1% CPU utilization of a single core, a few MB of RAM and no disk I/O at all + + - **Sophisticated alarming**
+ hundreds of alarms, **out of the box**!
+ supports dynamic thresholds, hysteresis, alarm templates, + multiple role-based notification methods (such as email, slack.com, + pushover.net, pushbullet.com, telegram.org, twilio.com, messagebird.com) + + - **Extensible**
+ you can monitor anything you can get a metric for, + using its Plugin API (anything can be a netdata plugin, + BASH, python, perl, node.js, java, Go, ruby, etc) + + - **Embeddable**
+ it can run anywhere a Linux kernel runs (even IoT) + and its charts can be embedded on your web pages too + + - **Customizable**
+ custom dashboards can be built using simple HTML (no javascript necessary) + + - **Zero configuration**
+ auto-detects everything, it can collect up to 5000 metrics + per server out of the box + + - **Zero dependencies**
+ it is even its own web server, for its static web files and its web API + + - **Zero maintenance**
+ you just run it, it does the rest + + - **scales to infinity**
+ requiring minimal central resources + + - **several operating modes**
+ autonomous host monitoring, headless data collector, forwarding proxy, store and forward proxy, central multi-host monitoring, in all possible configurations. + Each node may have different metrics retention policy and run with or without health monitoring. + + - **time-series back-ends supported**
+ can archive its metrics on `graphite`, `opentsdb`, `prometheus`, json document DBs, in the same or lower detail + (lower: to prevent it from congesting these servers due to the amount of data collected) -This is what you get: - -- **Stunning bootstrap dashboards**, out of the box (theme-able: dark, light) -- **Blazingly fast** and **super efficient**, mostly written in C (for default installations, expect just 2% of a single core CPU usage and a few MB of RAM) -- **Zero configuration** - you just install it and it auto-detects everything -- **Zero dependencies**, it is its own web server for its static web files and its web API -- **Zero maintenance**, you just run it, it does the rest -- **Custom dashboards** that can be built using simple HTML (no javascript necessary) -- **Extensible**, you can monitor anything you can get a metric for, using its Plugin API (anything can be a netdata plugin - from BASH to python and node.js, so you can easily monitor any application, any API) -- **Embeddable**, it can run anywhere a Linux kernel runs (even IoT) and its charts can be embedded on your web pages too +![netdata](https://cloud.githubusercontent.com/assets/2662304/14092712/93b039ea-f551-11e5-822c-beadbf2b2a2e.gif) --- ## What does it monitor? -This is what it currently monitors (most with zero configuration): +netdata collects several thousands of metrics per device. +All these metrics are collected and visualized in real-time. -- **CPU usage, interrupts, softirqs and frequency** (total and per core) +> _Almost all metrics are auto-detected, without any configuration._ -- **RAM, swap and kernel memory usage** (including KSM and kernel memory deduper) +This is a list of what it currently monitors: -- **Disks** (per disk: I/O, operations, backlog, utilization, space, etc) +- **CPU**
+ usage, interrupts, softirqs, frequency, total and per core, CPU states + +- **Memory**
+ RAM, swap and kernel memory usage, KSM (Kernel Samepage Merging), NUMA + +- **Disks**
+ per disk: I/O, operations, backlog, utilization, space, software RAID (md) ![sda](https://cloud.githubusercontent.com/assets/2662304/14093195/c882bbf4-f554-11e5-8863-1788d643d2c0.gif) -- **Network interfaces** (per interface: bandwidth, packets, errors, drops, etc) +- **Network interfaces**
+ per interface: bandwidth, packets, errors, drops ![dsl0](https://cloud.githubusercontent.com/assets/2662304/14093128/4d566494-f554-11e5-8ee4-5392e0ac51f0.gif) -- **IPv4 networking** (bandwidth, packets, errors, fragments, tcp: connections, packets, errors, handshake, udp: packets, errors, broadcast: bandwidth, packets, multicast: bandwidth, packets) +- **IPv4 networking**
+ bandwidth, packets, errors, fragments, + tcp: connections, packets, errors, handshake, + udp: packets, errors, + broadcast: bandwidth, packets, + multicast: bandwidth, packets + +- **IPv6 networking**
+ bandwidth, packets, errors, fragments, ECT, + udp: packets, errors, + udplite: packets, errors, + broadcast: bandwidth, + multicast: bandwidth, packets, + icmp: messages, errors, echos, router, neighbor, MLDv2, group membership, + break down by type + +- **Interprocess Communication - IPC**
+ such as semaphores and semaphores arrays -- **IPv6 networking** (bandwidth, packets, errors, fragments, ECT, udp: packets, errors, udplite: packets, errors, broadcast: bandwidth, multicast: bandwidth, packets, icmp: messages, errors, echos, router, neighbor, MLDv2, group membership, break down by type) +- **netfilter / iptables Linux firewall**
+ connections, connection tracker events, errors -- **netfilter / iptables Linux firewall** (connections, connection tracker events, errors, etc) +- **Linux DDoS protection**
+ SYNPROXY metrics -- **Linux DDoS protection** (SYNPROXY metrics) +- **fping** latencies
+ for any number of hosts, showing latency, packets and packet loss -- **Processes** (running, blocked, forks, active, etc) + ![image](https://cloud.githubusercontent.com/assets/2662304/20464811/9517d2b4-af57-11e6-8361-f6cc57541cd7.png) -- **Entropy** (random numbers pool, using in cryptography) -- **NFS file servers and clients**, v2, v3, v4 (I/O, cache, read ahead, RPC calls) +- **Processes**
+ running, blocked, forks, active -- **Network QoS** (yes, the only tool that visualizes network `tc` classes in realtime) +- **Entropy**
+ random numbers pool, using in cryptography + +- **NFS file servers and clients**
+ NFS v2, v3, v4: I/O, cache, read ahead, RPC calls + +- **Network QoS**
+ the only tool that visualizes network `tc` classes in realtime ![qos-tc-classes](https://cloud.githubusercontent.com/assets/2662304/14093004/68966020-f553-11e5-98fe-ffee2086fafd.gif) -- **Linux Control Groups** (containers), systemd, lxc, docker, etc +- **Linux Control Groups**
+ containers: systemd, lxc, docker -- **Applications**, by grouping the process tree (CPU, memory, disk reads, disk writes, swap, threads, pipes, sockets, etc) +- **Applications**
+ by grouping the process tree and reporting CPU, memory, disk reads, + disk writes, swap, threads, pipes, sockets - per group ![apps](https://cloud.githubusercontent.com/assets/2662304/14093565/67c4002c-f557-11e5-86bd-0154f5135def.gif) -- **Users and User Groups resource usage**, by summarizing the process tree per user and group (CPU, memory, disk reads, disk writes, swap, threads, pipes, sockets, etc) +- **Users and User Groups resource usage**
+ by summarizing the process tree per user and group, + reporting: CPU, memory, disk reads, disk writes, swap, threads, pipes, sockets + +- **Apache and lighttpd web servers**
+ `mod-status` (v2.2, v2.4) and cache log statistics, for multiple servers + +- **Nginx web servers**
+ `stub-status`, for multiple servers -- **Apache web servers** mod-status (v2.2, v2.4) and cache log statistics (multiple servers - compatible with lighttpd too) +- **Tomcat**
+ accesses, threads, free memory, volume -- **Nginx web servers** stub-status (multiple servers) +- **web server log files**
+ extracting in real-time, web server performance metrics and applying several health checks -- **mySQL databases** (multiple servers, each showing: bandwidth, queries/s, handlers, locks, issues, tmp operations, connections, binlog metrics, threads, innodb metrics, etc) +- **mySQL databases**
+ multiple servers, each showing: bandwidth, queries/s, handlers, locks, issues, + tmp operations, connections, binlog metrics, threads, innodb metrics, and more -- **Redis databases** (multiple servers, each showing: operations, hit rate, memory, keys, clients, slaves) +- **Postgres databases**
+ multiple servers, each showing: per database statistics (connections, tuples + read - written - returned, transactions, locks), backend processes, indexes, + tables, write ahead, background writer and more -- **memcached databases** (multiple servers, each showing: bandwidth, connections, items, etc) +- **Redis databases**
+ multiple servers, each showing: operations, hit rate, memory, keys, clients, slaves -- **ISC Bind name servers** (multiple servers, each showing: clients, requests, queries, updates, failures and several per view metrics) +- **mongodb**
+ operations, clients, transactions, cursors, connections, asserts, locks, etc -- **Postfix email servers** message queue (entries, size) +- **memcached databases**
+ multiple servers, each showing: bandwidth, connections, items -- **exim email servers** message queue (emails queued) +- **elasticsearch**
+ search and index performance, latency, timings, cluster statistics, threads statistics, etc -- **IPFS** (Bandwidth, Peers) +- **ISC Bind name servers**
+ multiple servers, each showing: clients, requests, queries, updates, failures and several per view metrics -- **Squid proxy servers** (multiple servers, each showing: clients bandwidth and requests, servers bandwidth and requests) +- **NSD name servers**
+ queries, zones, protocols, query types, transfers, etc. -- **Hardware sensors** (temperature, voltage, fans, power, humidity, etc) +- **Postfix email servers**
+ message queue (entries, size) -- **NUT and APC UPSes** (load, charge, battery voltage, temperature, utility metrics, output metrics) +- **exim email servers**
+ message queue (emails queued) -- **Tomcat** (accesses, threads, free memory, volume) +- **Dovecot** POP3/IMAP servers
-- **PHP-FPM** (multiple instances, each reporting connections, requests, performance) +- **ISC dhcpd**
+ pools utilization, leases, etc. -- **hddtemp** (disk temperatures) +- **IPFS**
+ bandwidth, peers -- **SNMP devices** can be monitored too (although you will need to configure these) +- **Squid proxy servers**
+ multiple servers, each showing: clients bandwidth and requests, servers bandwidth and requests + +- **HAproxy**
+ bandwidth, sessions, backends, etc + +- **varnish**
+ threads, sessions, hits, objects, backends, etc + +- **OpenVPN**
+ status per tunnel + +- **Hardware sensors**
+ `lm_sensors` and `IPMI`: temperature, voltage, fans, power, humidity + +- **NUT and APC UPSes**
+ load, charge, battery voltage, temperature, utility metrics, output metrics + +- **PHP-FPM**
+ multiple instances, each reporting connections, requests, performance + +- **hddtemp**
+ disk temperatures + +- **smartd**
+ disk S.M.A.R.T. values + +- **SNMP devices**
+ can be monitored too (although you will need to configure these) And you can extend it, by writing plugins that collect data from any source, using any computer language. @@ -150,22 +279,30 @@ And you can extend it, by writing plugins that collect data from any source, usi ## Installation -Use our **[automatic installer](https://github.com/firehol/netdata/wiki/Installation)** to build and install it on your system +Use our **[automatic installer](https://github.com/firehol/netdata/wiki/Installation)** to build and install it on your system. -It should run on **any Linux** system. It has been tested on: +It should run on **any Linux** system (including IoT). It has been tested on: -- Gentoo +- Alpine - Arch Linux -- Ubuntu / Debian - CentOS +- Debian - Fedora +- Gentoo +- openSUSE +- PLD Linux - RedHat Enterprise Linux - SUSE -- Alpine Linux -- PLD Linux +- Ubuntu --- ## Documentation Check the **[netdata wiki](https://github.com/firehol/netdata/wiki)**. + +## License + +netdata is GPLv3+. + +It re-distributes other open-source tools and libraries. Please check its [License Statement](https://github.com/firehol/netdata/blob/master/LICENSE.md).