## NetData [NetData](http://my-netdata.io/) 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**. _netdata is **fast** and **efficient**, designed to permanently run on all systems (**physical** & **virtual** servers, **containers**, **IoT** devices), without disrupting their core function._ [![Install Piwigo with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=piwigo) **Customization brought by the package:** * grant MySQL statistics access via a `netdata` user * NGINX root log statistics via putting `netdata` user in the `adm` group * Dovecot statistics via giving access to Dovecot stats stocket to `netdata` user (works only with Dovecot 2.2.16+) **Further recommendations:** We don't allow YunoHost packages to make sensible changes to system files. So here are further customizations you can make to allow more monitoring: * NGINX: * requests/connections: follow [these recommandations](https://github.com/firehol/netdata/tree/master/python.d#nginx) to enable `/stab_status` (for example by putting the `location` section in `/etc/nginx/conf.d/yunohost_admin.conf` * weblogs: you can monitor all your NGINX weblogs for errors; follow [these recommendations](https://github.com/firehol/netdata/tree/master/python.d#nginx_log) * PHP-FPM: follow [these recommandations](https://github.com/firehol/netdata/tree/master/python.d#phpfpm) ## Features

- **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) ![netdata](https://cloud.githubusercontent.com/assets/2662304/14092712/93b039ea-f551-11e5-822c-beadbf2b2a2e.gif) --- ## What does it monitor? netdata collects several thousands of metrics per device. All these metrics are collected and visualized in real-time. > _Almost all metrics are auto-detected, without any configuration._ This is a list of what it currently monitors: - **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 ![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 - **IPv6 networking**
bandwidth, packets, errors, fragments, ECT, UDP: packets, errors, UDP-Lite: 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 - **netfilter / iptables Linux firewall**
connections, connection tracker events, errors - **Linux DDoS protection**
SYNPROXY metrics - **fping** latencies
for any number of hosts, showing latency, packets and packet loss ![image](https://cloud.githubusercontent.com/assets/2662304/20464811/9517d2b4-af57-11e6-8361-f6cc57541cd7.png) - **Processes**
running, blocked, forks, active - **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 - **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, 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 - **Tomcat**
accesses, threads, free memory, volume - **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, and more - **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 - **Redis databases**
multiple servers, each showing: operations, hit rate, memory, keys, clients, slaves - **mongodb**
operations, clients, transactions, cursors, connections, asserts, locks, etc. - **memcached databases**
multiple servers, each showing: bandwidth, connections, items - **elasticsearch**
search and index performance, latency, timings, cluster statistics, threads statistics, etc. - **ISC Bind name servers**
multiple servers, each showing: clients, requests, queries, updates, failures and several per view metrics - **NSD name servers**
queries, zones, protocols, query types, transfers, etc. - **Postfix email servers**
message queue (entries, size) - **exim email servers**
message queue (emails queued) - **Dovecot** POP3/IMAP servers
- **ISC dhcpd**
pools utilization, leases, etc. - **IPFS**
bandwidth, peers - **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) - **statsd**
[netdata is a fully featured statsd server](https://github.com/firehol/netdata/wiki/statsd) And you can extend it, by writing plugins that collect data from any source, using any computer language. ## Links * Report a bug: https://github.com/YunoHost-Apps/netdata_ynh/issues * NetData website: http://my-netdata.io/