GitHub - ktty/netdata: Real-time performance monitoring, done right!

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.

  • CPU usage, interrupts, softirqs and frequency (total and per core)

  • RAM, swap and kernel memory usage (including KSM and kernel memory deduper)

  • Disks (per disk: I/O, operations, backlog, utilization, space, etc)

    sda

  • Network interfaces (per interface: bandwidth, packets, errors, drops, etc)

    dsl0

  • 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)

  • netfilter / iptables Linux firewall (connections, connection tracker events, errors, etc)

  • Linux DDoS protection (SYNPROXY metrics)

  • Processes (running, blocked, forks, active, etc)

  • Entropy (random numbers pool, using in cryptography)

  • NFS file servers, v2, v3, v4 (I/O, cache, read ahead, RPC calls)

  • Network QoS (yes, the only tool that visualizes network tc classes in realtime)

    qos-tc-classes

  • Linux Control Groups (containers), systemd, lxc, docker, etc

  • Applications, by grouping the process tree (CPU, memory, disk reads, disk writes, swap, threads, pipes, sockets, etc)

    apps

  • 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)

  • Apache web server mod-status (v2.2, v2.4) and cache log statistics (multiple servers)

  • Nginx web server stub-status (multiple servers)

  • mySQL databases (multiple servers, each showing: bandwidth, queries/s, handlers, locks, issues, tmp operations, connections, binlog metrics, threads, innodb metrics, etc)

  • Redis databases (multiple servers, each showing: operations, hit rate, memory, keys, clients, slaves)

  • memcached databases (multiple servers, each showing: bandwidth, connections, items, etc)

  • ISC Bind name server (multiple servers, each showing: clients, requests, queries, updates, failures and several per view metrics)

  • Postfix email server message queue (entries, size)

  • exim email server message queue (emails queued)

  • IPFS (Bandwidth, Peers)

  • Squid proxy server (multiple servers, each showing: clients bandwidth and requests, servers bandwidth and requests)

  • Hardware sensors (temperature, voltage, fans, power, humidity, etc)

  • NUT UPSes (load, charge, battery voltage, temperature, utility metrics, output metrics)

  • Tomcat (accesses, threads, free memory, volume)

  • PHP-FPM (multiple instances, each reporting connections, requests, performance)

  • hddtemp (disk temperatures)

  • 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.

    It should run on any Linux system. It has been tested on: