C Python JavaScript HTML Shell CSS Other
Latest commit 043c8bc Jan 6, 2018 @ktsaou ktsaou Merge pull request #3238 from ktsaou/master
move tcp active and passive opens to a separate chart;
Permalink
Failed to load latest commit information.
.travis Enable build and deploy of self-extractor Apr 3, 2017
build python modules installer updated Jun 22, 2016
charts.d check that the ipsec command is libreswan; fixes #3221 Jan 4, 2018
conf.d Merge pull request #3160 from kattunga/master Jan 3, 2018
contrib updated script Jan 3, 2018
diagrams added libreswan Jan 4, 2018
hooks Add hooks and packaging scripts Jan 24, 2016
installer added portable pidod Jan 3, 2018
m4 database flags are now using atomic operations when available Jul 2, 2017
makeself use alpine 3.7 for static builds Dec 27, 2017
node.d fix node.d.plugin responseProcessor failures; fixes #2955 Nov 13, 2017
packaging Fix script to build release correctly on OSX Jul 18, 2017
plugins.d Merge pull request #3160 from kattunga/master Jan 3, 2018
profile support any character in alarm variable names Oct 19, 2017
python.d isc_dhcpd: update_every 5 => 1 Dec 26, 2017
src move tcp active and passive opens to a separate chart; give idle jitt… Jan 5, 2018
system proper AND at openrc shell Oct 4, 2017
tests renaming the dimensions to lowercase. Aug 1, 2017
web move tcp active and passive opens to a separate chart; give idle jitt… Jan 5, 2018
.codacy.yml added asn-ber.js to codacy excludes Aug 27, 2017
.codeclimate.yml relaxed codeclimate thresholds Nov 30, 2017
.csslintrc added codeclimate coverage Jan 6, 2017
.eslintignore added codeclimate coverage Jan 6, 2017
.eslintrc added codeclimate coverage Jan 6, 2017
.gitignore added cppcheck config and simple script to run it Dec 26, 2017
.travis.yml attempt to fix travis bug on large stdout/stderr dumps Dec 26, 2017
CMakeLists.txt abstracted pthreads into netdata_threads Dec 28, 2017
COPYING added COPYING, fixed a few typos #182 Apr 5, 2016
ChangeLog Prepare release 1.9.0 Dec 16, 2017
Dockerfile Add an armv7hf docker build Nov 5, 2017
Dockerfile.armv7hf Add an armv7hf docker build Nov 5, 2017
LICENSE Rename LICENSE.txt to LICENSE May 12, 2017
LICENSE-REDISTRIBUTED.md copy to clipboard badge URLs Dec 23, 2017
LICENSE.md minor aesthetic changes to license files May 13, 2017
Makefile.am added cppcheck config and simple script to run it Dec 26, 2017
README.md updated README for 1.9.0 release Dec 16, 2017
autogen.sh make sure /etc/profile does not change the working directory; fixes #… Feb 4, 2017
configs.signatures updated configs.signatures Jan 3, 2018
configure.ac Post release 1.9.0 Dec 16, 2017
coverity-scan.sh removed duplicate shebang Dec 26, 2017
cppcheck.sh more code cleanup Dec 26, 2017
docker-build.sh Add an armv7hf docker build Nov 5, 2017
kickstart-static64.sh added --accept as a valid kickstart-static64.sh option; fixes #3220 Jan 4, 2018
kickstart.sh kickstart.sh should also run the installer; fixes #2387 Jun 25, 2017
netdata-installer.sh added missing quote Jan 5, 2018
netdata.cppcheck more code cleanup Dec 26, 2017
netdata.spec.in do not attempt to find cgroup-network on older distros; fixes #3169 Jan 3, 2018
package.json updated npm versions Jul 24, 2017

README.md

netdata Build Status Coverity Scan Build Status Codacy Badge Code Climate License: GPL v3+

New to netdata? Here is a live demo: http://my-netdata.io

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.

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.

Twitter Follow analytics


User base

Since May 16th 2016 (the date the global public netdata registry was released):
User Base Monitored Servers Sessions Served Docker Pulls

in the last 24 hours:
New Users Today New Machines Today Sessions Today


News

Dec 17th, 2017 - netdata v1.9.0 released!

A big release:

  • dashboard snapshots, for loading / saving selected time-frames
  • highlighted time-frames across all charts of the dashboard
  • IP access lists for filtering access to netdata
  • enhanced VMs and containers monitoring
  • auto-scaling of chart units
  • timezone conversion at the dashboard to allow comparing charts with server logs
  • python.d.plugin rewritten
  • dozens of more improvements, enhancements, features and compatibility fixes

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 alerting
    hundreds of alarms, out of the box!
    supports dynamic thresholds, hysteresis, alarm templates, multiple role-based notification methods (such as email, slack.com, flock.com, pushover.net, pushbullet.com, telegram.org, twilio.com, messagebird.com, kavenegar.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


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

  • Network interfaces
    per interface: bandwidth, packets, errors, drops

    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

  • 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

  • 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

  • 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

  • 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

  • couchdb
    reads/writes, request methods, status codes, tasks, replication, per-db, etc

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

  • PowerDNS
    queries, answers, cache, latency, 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)

  • chrony
    frequencies, offsets, delays, etc.

  • beanstalkd
    global and per tube monitoring

  • statsd
    netdata is a fully featured statsd server

And you can extend it, by writing plugins that collect data from any source, using any computer language.


netdata infographic

This is a high level overview of netdata feature set and architecture. Click it to to interact with it (it has direct links to documentation).

netdata-overview


Installation

Use our automatic installer to build and install it on your system.

It should run on any Linux system (including IoT). It has been tested on:

  • Alpine
  • Arch Linux
  • CentOS
  • Debian
  • Fedora
  • Gentoo
  • openSUSE
  • PLD Linux
  • RedHat Enterprise Linux
  • SUSE
  • Ubuntu

Interaction with netdata

After installation, you can interact with netdata using CLI and web dashboards. The default port of dashboard is 19999. To access the web dashboard on localhost, use: http://localhost:19999


Documentation

Check the netdata wiki.

License

netdata is GPLv3+.

It re-distributes other open-source tools and libraries. Please check the third party licenses.