Real-time performance monitoring, done right!



Netdata is high-fidelity infrastructure monitoring and troubleshooting.
Open-source, free, preconfigured, opinionated, and always real-time.

Latest release Build status CII Best Practices License: GPL v3+ analytics
Code Climate Codacy LGTM C LGTM PYTHON


Netdata's distributed, real-time monitoring Agent collects thousands of metrics from systems, hardware, containers, and applications with zero configuration. It runs permanently on all your physical/virtual servers, containers, cloud deployments, and edge/IoT devices, and is perfectly safe to install on your systems mid-incident without any preparation.

You can install Netdata on most Linux distributions (Ubuntu, Debian, CentOS, and more), container platforms (Kubernetes clusters, Docker), and many other operating systems (FreeBSD, macOS). No sudo required.

Netdata is designed by system administrators, DevOps engineers, and developers to collect everything, help you visualize metrics, troubleshoot complex performance problems, and make data interoperable with the rest of your monitoring stack.

People get addicted to Netdata. Once you use it on your systems, there's no going back! You've been warned...

Users who are addicted to Netdata

Latest release: v1.30.0, March 31, 2021

The v1.30.0 release of Netdata brings major improvements to our packaging and completely replaces Google Analytics/GTM for product telemetry. We're also releasing the first changes in an upcoming overhaul to both our dashboard UI/UX and the suite of preconfigured alarms that comes with every installation.



Netdata in action

Here's what you can expect from Netdata:

  • 1s granularity: The highest possible resolution for all metrics.
  • Unlimited metrics: Netdata collects all the available metrics—the more, the better.
  • 1% CPU utilization of a single core: It's unbelievably optimized.
  • A few MB of RAM: The highly-efficient database engine stores per-second metrics in RAM and then "spills" historical metrics to disk long-term storage.
  • Minimal disk I/O: While running, Netdata only writes historical metrics and reads error and access logs.
  • Zero configuration: Netdata auto-detects everything, and can collect up to 10,000 metrics per server out of the box.
  • Zero maintenance: You just run it. Netdata does the rest.
  • Stunningly fast, interactive visualizations: The dashboard responds to queries in less than 1ms per metric to synchronize charts as you pan through time, zoom in on anomalies, and more.
  • Visual anomaly detection: Our UI/UX emphasizes the relationships between charts to help you detect the root cause of anomalies.
  • Scales to infinity: You can install it on all your servers, containers, VMs, and IoT devices. Metrics are not centralized by default, so there is no limit.
  • Several operating modes: Autonomous host monitoring (the default), headless data collector, forwarding proxy, store and forward proxy, central multi-host monitoring, in all possible configurations. Use different metrics retention policies per node and run with or without health monitoring.

Netdata works with tons of applications, notifications platforms, and other time-series databases:

  • 300+ system, container, and application endpoints: Collectors autodetect metrics from default endpoints and immediately visualize them into meaningful charts designed for troubleshooting. See everything we support.
  • 20+ notification platforms: Netdata's health watchdog sends warning and critical alarms to your favorite platform to inform you of anomalies just seconds after they affect your node.
  • 30+ external time-series databases: Export resampled metrics as they're collected to other local- and Cloud-based databases for best-in-class interoperability.

💡 Want to leverage the monitoring power of Netdata across entire infrastructure? View metrics from any number of distributed nodes in a single interface and unlock even more features with Netdata Cloud.

Get Netdata

User base Servers monitored Sessions served Docker Hub pulls
New users today New machines today Sessions today Docker Hub pulls today

To install Netdata from source on most Linux systems (physical, virtual, container, IoT, edge), run our one-line installation script. This script downloads and builds all dependencies, including those required to connect to Netdata Cloud if you choose, and enables automatic nightly updates and anonymous statistics.

bash <(curl -Ss

To view the Netdata dashboard, navigate to http://localhost:19999, or http://NODE:19999.


You can also try out Netdata's capabilities in a Docker container:

docker run -d --name=netdata \
  -p 19999:19999 \
  -v netdataconfig:/etc/netdata \
  -v netdatalib:/var/lib/netdata \
  -v netdatacache:/var/cache/netdata \
  -v /etc/passwd:/host/etc/passwd:ro \
  -v /etc/group:/host/etc/group:ro \
  -v /proc:/host/proc:ro \
  -v /sys:/host/sys:ro \
  -v /etc/os-release:/host/etc/os-release:ro \
  --restart unless-stopped \
  --cap-add SYS_PTRACE \
  --security-opt apparmor=unconfined \

To view the Netdata dashboard, navigate to http://localhost:19999, or http://NODE:19999.

Other operating systems

See our documentation for additional operating systems, including Kubernetes, .deb/.rpm packages, and more.


When you're finished with installation, check out our single-node or infrastructure monitoring quickstart guides based on your use case.

Or, skip straight to configuring the Netdata Agent.

Read through Netdata's documentation, which is structured based on actions and solutions, to enable features like health monitoring, alarm notifications, long-term metrics storage, exporting to external databases, and more.

How it works

Netdata is a highly efficient, highly modular, metrics management engine. Its lockless design makes it ideal for concurrent operations on the metrics.

Diagram of Netdata's core functionality

The result is a highly efficient, low-latency system, supporting multiple readers and one writer on each metric.


This is a high-level overview of Netdata features and architecture. Click on it to view an interactive version, which has links to our documentation.

An infographic of how Netdata works


Netdata's documentation is available at Netdata Learn.

This site also hosts a number of guides to help newer users better understand how to collect metrics, troubleshoot via charts, export to external databases, and more.


Netdata is an inclusive open-source project and community. Please read our Code of Conduct.

Find most of the Netdata team in our community forums. It's the best place to ask questions, find resources, and engage with passionate professionals.

You can also find Netdata on:


Contributions are the lifeblood of open-source projects. While we continue to invest in and improve Netdata, we need help to democratize monitoring!

  • Read our Contributing Guide, which contains all the information you need to contribute to Netdata, such as improving our documentation, engaging in the community, and developing new features. We've made it as frictionless as possible, but if you need help, just ping us on our community forums!
  • We have a whole category dedicated to contributing and extending Netdata on our community forums
  • Found a bug? Open a GitHub issue.
  • View our Security Policy.

Package maintainers should read the guide on building Netdata from source for instructions on building each Netdata component from source and preparing a package.


The Netdata Agent is GPLv3+. Netdata re-distributes other open-source tools and libraries. Please check the third party licenses.

Is it any good?


When people first hear about a new product, they frequently ask if it is any good. A Hacker News user remarked:

Note to self: Starting immediately, all raganwald projects will have a “Is it any good?” section in the readme, and the answer shall be “yes.".

  • what our users say about netdata?

    what our users say about netdata?

    In this thread we collect interesting (or funny, or just plain) posts, blogs, reviews, articles, etc - about netdata.

    1. don't start discussions on this post
    2. if you want to post, post the link to the original post and a screenshot!
    help wanted 
    opened by ktsaou 116
  • Prometheus Support

    Prometheus Support

    Hey guys,

    I recently started using prometheus and I enjoy the simplicity. I want to begin to understand what it would take to implement prometheus support within Netdata. I think this is a great idea because it allows the distributed fashion of netdata to exist along with having persistence at prometheus. Centralized graphing (not monitoring) can now happen with grafana. Netdata is a treasure trove of metrics already - making this a worth wild project.

    Prometheus expects a rest end point to exist which publishes a metric, labels, and values. It will poll this endpoint at a desired time frame and ingest the metrics during that poll.

    To get the ball rolling, how are you currently serving http in Netdata? Is this an embedded sockets server in C ?

    opened by ldelossa 108
  • python.d enhancements

    python.d enhancements

    @paulfantom I am writing here a TODO list for python.d based on my findings.

    • [x] DOCUMENTATION in wiki.

    • [x] log flood protection - it will require 2 parameters: logs_per_interval = 200 and log_interval = 3600. So, every hour (this_hour = int(now / log_interval)) it should reset the counter and allow up to logs_per_interval log entries until the next hour.

      This is how netdata does it:

    • [x] support ipv6 for SocketService (currently redis and squid)

    • [x] netdata passes the environment variable NETDATA_HOST_PREFIX. cpufreq should use this to prefix sys_dir automatically. This variable is used when netdata runs in a container. The system directories /proc, /sys of the host should be exposed with this prefix.

    • [ ] the URLService should somehow support proxy configuration.

    • [ ] the URLService should support Connection: keep-alive.

    • [x] The service that runs external commands should be more descriptive. Example running exim plugin when exim is not installed:

      python.d ERROR: exim_local exim [Errno 2] No such file or directory
      python.d ERROR: exim_local exim [Errno 2] No such file or directory
      python.d ERROR: exim: is misbehaving. Reason:'NoneType' object has no attribute '__getitem__'
    • [x] This message should be a debug log No unix socket specified. Trying TCP/IP socket.

    • [x] This message could state where it tried to connect: [Errno 111] Connection refused

    • [x] This message could state the hostname it tried to resolve: [Errno -9] Address family for hostname not supported

    • [x] This should state the job name, not the name:

      python.d ERROR: redis/local: check() function reports failure.
    • [x] This should state with is the problem:

      # ./plugins.d/python.d.plugin debug cpufreq 1
      INFO: Using python v2
      python.d INFO: reading configuration file: /etc/netdata/python.d.conf
      python.d INFO: MODULES_DIR='/root/netdata/python.d/', CONFIG_DIR='/etc/netdata/', UPDATE_EVERY=1, ONLY_MODULES=['cpufreq']
      python.d DEBUG: cpufreq: loading module configuration: '/etc/netdata/python.d/cpufreq.conf'
      python.d DEBUG: cpufreq: reading configuration
      python.d DEBUG: cpufreq: job added
      python.d INFO: Disabled cpufreq/None
      python.d ERROR: cpufreq/None: check() function reports failure.
      python.d FATAL: no more jobs
    • [x] ~~There should be a configuration entry in python.d.conf to set the PATH to be searched for commands. By default everything in /usr/sbin/ is not found.~~ Added #695 to do this at the netdata daemon for all its plugins.

    • [x] The default retries in the code, for all modules, is 5 or 10. I suggest to make them 60 for all modules. There are many services that cannot be restarted within 5 seconds.

      Made it in #695

    • [x] When a service reports failure to collect data (during update()), there should be log entry stating the reason of failure.

    • [x] Handling of incremental dimensions in LogService

    • [x] Better autodetection of disk count in

    • [ ] Move logging mechanism to utilize logging module.

    more to come...

    opened by ktsaou 100
  • netdata package maintainers

    netdata package maintainers

    This issue has been converted to a wiki page

    For the latest info check it here:

    I think it would be useful to prepare a wiki page with information about the maintainers of netdata for the Linux distributions, automation systems, containers, etc.

    Let's see who is who:

    Official Linux Distributions

    | Linux Distribution | Netdata Version | Maintainer | Related URL | | :-: | :-: | :-: | :-- | | Arch Linux | Release | @svenstaro | netdata @ Arch Linux | | Arch Linux AUR | Git | @sanskritfritz | netdata @ AUR | | Gentoo Linux | Release + Git | @candrews | netdata @ gentoo | | Debian | Release | @lhw @FedericoCeratto | netdata @ debian | | Slackware | Release | @willysr | netdata @ slackbuilds | Ubuntu | | | | | Red Hat / Fedora / Centos | | | | | SuSe / openSuSe | | | |


    System|Initial PR|Core Developer|Package Maintainer |:-:|:-:|:-:|:-:| FreeBSD|#1321|@vlvkobal|@mmokhi


    System|URL|Core Developer|Package Maintainer |:-:|:-:|:-:|:-:| MacOS Homebrew Formula|link|@vlvkobal|@rickard-von-essen

    Unofficial Linux Packages

    | Linux Distribution | Netdata Version | Maintainer | Related URL | | :-: | :-: | :-: | :-- | | Ubuntu | Release | @gslin | netdata @ gslin ppa |

    Embedded Linux

    | Embedded Linux | Netdata Version | Maintainer | Related URL | | :-: | :-: | :-: | :-- | | ASUSTOR NAS | ? | William Lin | | | OpenWRT | Release | @nitroshift | openwrt package | | ReadyNAS | Release | @NAStools | | | QNAP | Release | QNAP_Stephane | | | DietPi | Release | @Fourdee | |

    Linux Containers

    | Containers | Netdata Version | Maintainer | Related URL | | :-: | :-: | :-: | :-- | | Docker | Git | @titpetric | |

    Automation Systems

    | Automation Systems | Netdata Version | Maintainer | Related URL | | :-: | :-: | :-: | :-- | | Ansible | git | @jffz | | | Chef | ? | @sergiopena | |

    If you know other maintainers of distributions that should be mentioned, please help me complete the list...

    cc: @mcnewton @philwhineray @alonbl @simonnagl @paulfantom

    area/docs area/packaging 
    opened by ktsaou 95
  • new prometheus format

    new prometheus format

    Based on recent the discussion on #1497 with @brian-brazil, this PR changes the format netdata sends metrics to prometheus.

    One of the key differences of netdata with traditional time-series solutions, is that it organises metrics in hosts having collections of metrics called charts.


    Each chart has several properties (common to all its metrics):

    chart_id - it serves 3 purposes: defines the chart application (e.g. mysql), the application instance (e.g. mysql_local or mysql_db2) and the chart type, However, there is another format: disk_ops.sda (it should be disk_sda.ops). There is issue #807 to normalize these better, but until then, this is how netdata works today.

    chart_name - a more human friendly name for chart_id.

    context - this is the same with above with the application instance removed. So it is or disk.ops. Alarm templates use this.

    family is the submenu of the dashboard. Unfortunately, this is again used differently in several cases. For example disks and network interfaces have the disk or the network interface. But mysql uses it just to group multiple chart together and postgres uses both (groups charts, and provide different sections for different databases).

    units is the units for all the metrics attached to the chart.


    Then each chart contains metrics called dimensions. All the dimensions of a chart have the same units of measurement and should be contextually in the same category (ie. the metrics for disk bandwidth are read and write and they are both in the same chart).

    So, there are hosts (multiple netdata instances), each has its own charts, each with its own dimensions (metrics).

    The new prometheus format

    The old format netdata used for prometheus was: CHART_DIMENSION{instance="HOST}

    The new format depends on the data source requested. netdata supports the following data sources:

    • as collected or raw, to send the raw values collected
    • average, to send averages
    • sum or volume to send sums

    The default is the one defined in netdata.conf: [backend].data source = average (changing netdata.conf changes the format for prometheus too). However, prometheus may directly ask for a specific data source by appending &source=SOURCE to the URL (SOURCE being one of the options above).

    When the data source is as collected or raw, the format of the metrics is:


    In all other cases (average, sum, volume), it is:


    The above format fixes #1519

    time range

    When the data source is average, sum or volume, netdata has to decide the time-range it will calculate the average or the sum.

    The first time a prometheus server hits netdata, netdata will respond with the time frame defined in [backend].update every. But for all queries after the first, netdata remembers the last time it was accessed and responds with the time range since the last time prometheus asked for metrics.

    Each netdata server can respond to multiple prometheus servers. It remembers the last time it was accessed, for each prometheus IP requesting metrics. If the IP is not good enough to distinguish prometheus servers, each prometheus may append &server=PROMETHEUS_NAME to the URL. Then netdata will remember the last time it was accessed for each PROMETHEUS_NAME given.


    instance="HOSTNAME" is sent only if netdata is called with format=prometheus_all_hosts. If netdata is called with format=prometheus, the instance is not added to the metrics.

    host tags

    Host tags are configured in netdata.conf, like this:

        host tags = tag1="value1",tag2="value2",...

    Netdata includes this line at the top of the response:

    netdata_host_tags{tag1="value1",tag2="value2"} 1 1499541463610

    The tags are not processed by netdata. Anything set at the host tags config option is just copied. netdata propagates host tags to masters and proxies when streaming metrics.

    If the netdata response includes multiple hosts, netdata_host_tags also includes `instance="HOSTNAME".

    opened by ktsaou 93
  • Redis python module + minor fixes

    Redis python module + minor fixes

    1. Nginx is shown as nginx: local in dashboard while using python or bash module.
    2. NetSocketService changed name to SocketService, which now can use unix sockets as well as TCP/IP sockets
    3. changed and tested new python shebang (yes it works)
    4. fixed issue with wrong data parsing in
    5. changed whitelisting method in ExecutableService. It is very probable that whitelisting is not needed, but I am not sure.
    6. Added

    I have tested this and it works.

    After merging this I need to take a break from rewriting modules to python. There are only 3 modules left, but I don't have any data to create as well as (so I cannot code parsers). I also need to do some more research to create since using iw isn't the best method.

    opened by paulfantom 90
  • How to install openvpn plugin

    How to install openvpn plugin

    Question summary

    Hi, I'm new in servers and first time install debian 9 server on VPS. Then install openvpn with openvpn-install script. I try to install few montitoring tools for my server but always fault. Now I found netdata and it works like a charm. Install script is wanderfull ;) To monitor my openvpn server I have to do something with those files: python.d.plugin,, python.d/ovpn_status_log.conf? I don't see any tutorial so can anyone guide me what to do?

    OS / Environment

    Debian 9 64bit

    Component Name


    Expected results

    see openvpn traffic

    Regards, Przemek

    area/external/python question 
    opened by PrzemekSkw 83
  • Cloud Sign-In

    Cloud Sign-In

    Introduces support code to allow for Cloud Sign In.

    area/registry area/web cloud 
    opened by gmosx 81
  • Prototype: monitor disk space usage.

    Prototype: monitor disk space usage.

    This is just a prototype for disccussing some questions at this point.

    This will fix issues #249 and #74 when implemented properly.


    1. Should we realy implement this at proc_diskstats.c? This does not get it's values from proc. I implemented it there because the file system data is already there and it produces a graph in this section.
    2. Shall we use statvfs (only mounted filesystems) or statfs (every filesystem)? If we use statfs we have to query mountinfo


    • [x] Only add charts for filesystems where disk space is avaiable
    • [x] Do not allocate and free buffer statvfs all the time
    • [ ] Add this feature to the wiki
    • [x] Make unit more readable (TB, GB, MB depending on filesystem size)
    • [x] Do not display disk metrics for containers, only for disks

    This change is Reviewable

    opened by simonnagl 80
  • python.d modules configuration documentation

    python.d modules configuration documentation

    I suggest to add this header in all python.d/*.conf files:

    # netdata python.d.plugin configuration for ${MODULE}
    # This file is in YaML format. Generally the format is:
    # name: value
    # There are 2 sections:
    #  - global variables
    #  - one or more JOBS
    # JOBS allow you to collect values from multiple sources.
    # Each source will have its own set of charts.
    # JOB parameters have to be indented (example below).
    # ----------------------------------------------------------------------
    # Global Variables
    # These variables set the defaults for all JOBs, however each JOB
    # may define its own, overriding the defaults.
    # update_every sets the default data collection frequency.
    # If unset, the python.d.plugin default is used.
    # update_every: 1
    # priority controls the order of charts at the netdata dashboard.
    # Lower numbers move the charts towards the top of the page.
    # If unset, the default for python.d.plugin is used.
    # priority: 60000
    # retries sets the number of retries to be made in case of failures.
    # If unset, the default for python.d.plugin is used.
    # Attempts to restore the service are made once every update_every
    # and only if the module has collected values in the past.
    # retries: 10
    # ----------------------------------------------------------------------
    # JOBS (data collection sources)
    # The default JOBS share the same *name*. JOBS with the same name
    # are mutually exclusive. Only one of them will be allowed running at
    # any time. This allows autodetection to try several alternatives and
    # pick the one that works.
    # Any number of jobs is supported.
    # All python.d.plugin JOBS (for all its modules) support a set of
    # predefined parameters. These are:
    # job_name:
    #     name: myname     # the JOB's name as it will appear at the
    #                      # dashboard (by default is the job_name)
    #                      # JOBs sharing a name are mutually exclusive
    #     update_every: 1  # the JOB's data collection frequency
    #     priority: 60000  # the JOB's order on the dashboard
    #     retries: 10      # the JOB's number of restoration attempts
    # Additionally to the above, ${MODULE} also supports the following.

    where ${MODULE} is the name of each module.

    opened by ktsaou 75
  • Add xfs to filesystem

    Add xfs to filesystem


    More details will come after to be merged.

    Component Name


    Test Plan
    Additional Information

    | Distribution | Kernel Version | |--------------|----------------| |Slackware current | 5.12.9 | |Manjaro | 5.10.36-2 | |Ubuntu 18.0.4 | 5.4.114 | |Debian 10.9 | 4.19.171 | |Ubuntu 18.0.4 | 4.15.18 | |CentOS 7.9 | 3.10.0-1160.25 |

    area/collectors area/docs area/web 
    opened by thiagoftsm 0
  • Extra posthog attributes

    Extra posthog attributes


    This PR adds a few more attributes to posthog, and makes a few changes.


    • Moves set_late_global_environment() before starting any threads to make sure that any events from other threads (e.g. exporting) carries those attributes.
    • Provides the full agent version to analytics, instead of the short string of just the major version.
    • Changes the first META event to be META_START


    • netdata_is_in_ci: To indicate whether this agent is in a CI environment.
    • config_oom_score: The OOM score of the agent (assuming it can be read, and set).
    • netdata_install_type: Tries to read the string from the .install-type file, in /etc/. If it doesn't exist, it will be set to an empty string.
    • config_private_registry_used: If the user has specified a different than the default in registry to announce.
    • config_is_private_registry: If the user has enabled private registry (Note: Does it also need to have a custom registry to announce?
    • config_https_available: A list of three values, always on the same position, i.e. exporting|streaming|web. Each one will be there depending on the following:

    If a user has added ssl keys in /etc/ ssl folder, and the agent is able to use them, web will appear. If along with that the user has enabled ssl for streaming, and it has been negotiated with the parent, streaming will appear. If a user along with the keys has enabled ssl for exporting (I understand only some engines support it, if at least one has it enabled) exporting will appear in the string.

    Component Name


    Test Plan

    Compile with NETDATA_INTERNAL_CHECKS, use the debug flag of 0x0000000080000000 and check the debug log if attributes are correctly picked up.

    Additional Information

    We'll leave this PR as a draft at the moment, to discuss the keys with @andrewm4894 and include a change to detect ACLK Legacy/NG, as soon as the changes for building both go into master.

    area/daemon area/exporting 
    opened by MrZammler 0
  • Bump normalize-url from 4.5.0 to 4.5.1

    Bump normalize-url from 4.5.0 to 4.5.1

    Bumps normalize-url from 4.5.0 to 4.5.1.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the Security Alerts page.
    dependencies javascript 
    opened by dependabot[bot] 0
  • ACLK-NG New Cloud NodeInstance related msgs

    ACLK-NG New Cloud NodeInstance related msgs


    Review first! This is stacked on top of #11225 so the PR will be much much smaller after it is merged and this one is rebased.

    currently only to see results of CI tests (to have better coverage of OSs)

    Component Name
    Test Plan
    Additional Information
    ACLK area/build area/ci 
    opened by underhood 0
  • Disable telemetry in CI.

    Disable telemetry in CI.


    It skews our data in (probably) strange ways.

    Component Name


    Test Plan


    area/ci area/packaging no changelog 
    opened by Ferroin 0
  • BUG: - Doesn't work after latest commit

    BUG: - Doesn't work after latest commit

    Latest update to the references a file that does not exist and hence the install script will fail every time. This script does not create that file as other install scripts does, so should be very easy to reproduce.

    Error: 212: .: Can't open /opt/netdata/etc/netdata/.install-type

    bug needs triage 
    opened by tvarsis 0
  • fix eBPF installer flag --enable-ebpf

    fix eBPF installer flag --enable-ebpf

    Bug report summary

    If I provide the installer with --enable-ebpf it means I specifically ask to build ebpf (as a user I say I really want this feature). In such case, if there is a failure to use it the error need to be more explicit and not some hidden warning on line 235 out of 2000 of installer output.

    Currently, it just prints a warning that users need to search for in the log and he will just be wondering why the charts are missing.

    Installation method


    Component Name

    eBPF build system/installer

    Steps To Reproduce

    for example install netdata with flag --enable-ebpf on system where packaging/ fails

    Expected behavior

    To keep the pattern of netdata and in general the behaviour should be:

    • default - try to build, warn if can't but continue
    • disable-XYZ - don't even attempt build
    • enable-XYZ - I really want this feature. If you can't build it be loud and let me know why!
    area/packaging internal priority/low 
    opened by underhood 10
  • Allows ACLK NG and Legacy to coexist

    Allows ACLK NG and Legacy to coexist


    This allows both ACLK-NG and Legacy to coexist together and agent decides at startup which one will be used based on aclk implementation config param of cloud section of netdata.conf

    This has origin in good idea from @Ferroin (asking why can't we have both :D)

    Some of the things can be done nicer... e.g. aclk_stats of NG and Legacy could be merged. This is not done as this should be done with minimal amount of effort as Legacy will be removed soon (would be lot of wasted effort) + time pressures.

    Component Name


    Test Plan
    Additional Information
    ACLK area/build area/ci 
    opened by underhood 5
  • Move cleanup of obsolete charts to a separate thread

    Move cleanup of obsolete charts to a separate thread


    If there are a lot of charts in the database, a call to rrdhost_cleanup_obsolete_charts is quite a CPU-intensive task. It doesn't make sense to call it on every chart creation. We are moving it to a separate thread and make sure it won't run too frequently.

    Fixes #11186.

    Component Name

    Netdata core

    Test Plan
    1. Valgrind

    for i in $(seq 1 1000); do sudo ip link add dev dumm$i type dummy; sudo ip link set dev dumm$i up; echo "created iface dumm$i"; done
    for i in $(seq 1 1000); do sudo ip link del dev dumm$i up; echo "deleted iface dumm$i"; done
    for i in $(seq 1 50); do docker run -d --rm --name nginx$i nginx; done
    docker stop $(docker ps -a -q --filter='ancestor=nginx')
    area/build area/collectors area/daemon area/database area/exporting area/streaming area/web data-collection-mteam 
    opened by vlvkobal 1
  • Add vkalintiris as a code owner for more components

    Add vkalintiris as a code owner for more components


    Doing this so that I can keep track of open PRs and be able to review them quickly.

    Component Name


    Test Plan


    Additional Information


    opened by vkalintiris 1
  • v1.31.0(May 19, 2021)

    The v1.31.0 release of Netdata comes with re-packaged and redesigned elements of the dashboard to help you focus on your metrics, even more Linux kernel insights via eBPF, on-node machine learning to help you find anomalies, and much more.

    This release contains 10 new collectors, 54 improvements (7 in the dashboard), 31 documentation updates, and 29 bug fixes.

    At a glance

    We re-packaged and redesigned portions of the dashboard to improve the overall experience. Part of this effort is better handling of dashboard code during installation—anyone using third-party packages (such as the Netdata Homebrew formula) will start seeing new features and the new designs starting today. The timeframe picker has moved to the top panel, and just to its right are two counters with live CRITICAL and WARNING alarm statuses for your node. Click on either of these two open the alarms modal.

    We've also pushed a number of powerful new collectors, including directory cache monitoring via eBPF. By monitoring directory cache, developers and SREs alike can find opportunities to optimize memory usage and reduce disk-intensive operations.

    Our new Z-scores and changefinder collectors use machine learning to let you know, at a glance, when key metrics start to behave oddly. We'd love to get feedback on these sophisticated, subjective new brand of collectors!

    Netdata Learn, our documentation and educational site, got some refreshed visuals and an improved navigation tree to help you find the right doc quickly. Hit Ctrl/⌘ + k to start a new search!

    Update now

    If you're not receiving automatic updates on your node(s), check our update doc for details.


    • @jsoref for fixing numerous spelling mistakes.
    • @Steve8291 for improving plugins error logging on restart and documentation improvement.
    • @vincentkersten for updating the nvidia-smi collector documentation.
    • @Avre for updating the install on cloud providers doc.
    • @endreszabo for adding renaming libvirtd LXC containers support.
    • @RaitoBezarius for adding attribute 249 support to the smartd_log module.
    • @Habetdin for updating the fping version.
    • @wangpei-nice for fixing .deb and .rpm packaging of the eBPF plugin.
    • @tiramiseb for improving the installation method for Alpine.
    • @BastienBalaud for upgrading the OKay repository for RHEL8.
    • @tknobi for adding the Nextcloud plugin to the third-party collector list.
    • @jilleJr for adding IPv6 listen address example to the Nginx proxy doc.
    • @cherouvim for formatting and wording in the Apache proxy doc.
    • @yavin87 for fixing spelling in the infrastructure monitoring quickstart.
    • @tnyeanderson for improving dash-example.html.
    • @tomcbe for fixing Microsoft Teams notification method naming.
    • @tnyeanderson For improving the dash-example documentation.
    • @diizzyy for fixing a bug in the FreeBSD plugin.



    • Bundle the react dashboard code into the agent repo directly. (#11139, @Ferroin)
    • Add dashboard info strings for systemdunits collector. (#10904, @ilyam8)
    • Update dashboard version to v2.17.0. (#10856, @allelos)
      • Top bar, side panel and overall navigation has been redesigned.
      • Top bar now includes a light bulb icon with news/features and the number of CRITICAL or WARNING alarms.
      • Documentation and settings buttons moved to the sidebar.
      • Improved rendering of sign in/sign up option button along with an operational status option (under user settings).
      • In the left panel, nodes show a status badge and are now searchable if there are more than 4.



    Bug fixes




    Bug fixes



    • Allow the remote write configuration to have multiple destinations (#11005, @vlvkobal)

    Bug fixes

    Packaging and installation


    Bug fixes

    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.31.0.tar.gz(11.94 MB)
    sha256sums.txt(449 bytes)
  • v1.30.1(Apr 12, 2021)

    This is a patch release to address discovered issues since 1.30.0.


    • @jsoref for fixing numerous spelling mistakes.


    Packaging / Installation

    • Don’t use glob expansion in argument to cd in updater. (#10936, @Ferroin)
    • Bumped version of OpenSSL bundled in static builds to 1.1.1k. (#10884, @Ferroin)
    • Fix bundling of ACLK-NG components in dist tarballs. (#10894, @Ferroin)

    Bug Fixes

    • Fix memory corruption issue when executing context queries in RAM/SAVE memory mode. (#10933, @stelfrag)
    • Add a CRASH event when the agent fails to properly shutdown. (#10893, @stelfrag)
    • Fix incorrect health log entries. (#10822, @stelfrag)
    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.30.1.tar.gz(6.82 MB)
    sha256sums.txt(449 bytes)
  • v1.30.0(Mar 31, 2021)

    The v1.30.0 release of Netdata brings major improvements to our packaging and completely replaces Google Analytics/GTM for product telemetry. We're also releasing the first changes in an upcoming overhaul to both our dashboard UI/UX and the suite of preconfigured alarms that comes with every installation.

    v1.30.0 contains 3 new collectors, 3 enhancements to notifications method, 38 improvements (13 in the dashboard), 16 documentation updates, and 17 bug fixes.

    At a glance

    The ACLK-NG is a much faster method of securely connecting a node to Netdata Cloud. In addition, there are no external dependencies to our custom libmosquitto and libwebsockets libraries, which means there's no more need to build these during installation. To enable ACLK-NG on a node that's already running the Netdata Agent, reinstall with the --aclk-ng option:

    bash <(curl -Ss --aclk-ng --reinstall

    We replaced Google Analytics/GTM, which we used for collecting product telemetry, with a self-hosted instance of the open-source PostHog project. When sending statistics to PostHog, any fields that might contain identifiable information, such as an IP address or URL, are hardcoded. If you previously opted-out of anonymous statistics, this migration does not change your existing settings.

    We also published a developer environment (devenv) to simplify contributing to the Netdata Agent. The devenv packages everything you need to develop improvements on the Netdata Agent itself, or its collectors, in a single Docker image. Read more about this devenv, and get started, in the Netdata community repo.


    • @aazedo for adding collection of attribute 233 (Media Wearout Indicator (SSD)) to the smartd_log collector
    • @ossimantylahti for fixing a typo in the email notifications readme
    • @KickerTom for renaming abs to ABS to avoid clash with standard definitions
    • @Steve8291 for improving email, cron and ups groups in the apps_group.conf
    • @liepumartins for adding wireguard to the vpn group in the apps_group.conf
    • @eltociear for fixing typos in main.h, backend_prometheus.c and dashboard_info.js
    • @Habetdin for fixing broken external links in the WEB GUI
    • @salazarp for updating the syntax for Caddy v2
    • @RaitoBezarius for adding support to change IRC_PORT



    • Add max value to the nvidia_smi.fan_speed gauge. (#10780, @ilyam8)
    • Add state map to duplex and operstate charts. (#10752, @vlvkobal)
    • Add supervisord to dashboard_info.js. (#10754, @ilyam8)
    • Fix broken external links. (#10586, @Habetdin)
    • Make network state map syntax consistent in dashboard_info.js. (#10849, @ilyam8)
    • [email protected] (#10761, @jacekkolasa)
      • Fix alarms log export.
      • Persist relative timeframe.
      • Allow multirow names in the replicated nodes list.
      • Fix the date & time picker overlap.
      • Update Font Awesome.
      • Truncate long names.
      • Update links: change to
      • Remove Google's GA & GTM completely, in favor of open-source PostHog.


    Bug fixes


    • Add wmi_ prefix to the wmi collector network alarms. (#10782, @ilyam8)
    • Add collector prefix to the external collectors alarms. (#10830, @ilyam8)
    • Apply adapter_raid alarms for every logical/physical device. (#10820, @ilyam8)
    • Apply megacli alarms for every adapter/physical disk. (#10834, @ilyam8)
    • Exclude cgroups network interfaces from packets dropped alarms. (#10806, @ilyam8)
    • Fix various alarms critical and warning thresholds hysteresis. (#10779, @ilyam8)
    • Improve alarms info fields. (#10853, @ilyam8)
    • Make VerneMQ alarms less sensitive. (#10770, @ilyam8)
    • Make alarms less sensitive. (#10688, @ilyam8)
    • Remove exporting_metrics_lost template. (#10829, @ilyam8)
    • Remove ram_in_swap alarm. (#10789, @ilyam8)
    • Use separate packets_dropped_ratio alarms for wireless network interfaces. (#10785, @ilyam8)


    • Add ability to change port number when using IRC notification method. (#10824, @RaitoBezarius)
    • Add dump_methods parameter to (#10772, @MrZammler)
    • Log an error if there is a failure during an email alarm notification. (#10818, @ilyam8)



    • Add monitoring of synchronization system calls to the eBPF collector. (#10814, @thiagoftsm)
    • Add monitoring of Linux page cache to the eBPF collector. (#10693, @thiagoftsm)


    • Add k6.conf to the StatsD collector. (#10733, @OdysLam)
    • Clean up the eBPF collector. (#10680, @thiagoftsm)
    • Use working set for memory utilization in the cgroups collector. (#10712, @vlvkobal)
    • Add new configuration parameters to the example Python collector. (#10777, @andrewm4894)
    • Add carrier and MTU charts for network interfaces. (#10866, @vlvkobal)
    • Improve email, cron, and UPS groups in the apps.plugin configuration. (#9313, @Steve8291)
    • Add Wireguard to the vpn group in the apps.plugin configuration. (#10743, @liepumartins)
    • Add alarm values collection to the Python alarms collector. (#10675, @andrewm4894)
    • Add attribute 233 (Media Wearout Indicator (SSD)) collection to the python smartd_log collector. (#10711, @aazedo)
    • Move network interface speed, duplex, and operstate variables to charts. (#10740, @vlvkobal)
    • Update go.d.plugin version to v0.28.1. (#10826, @ilyam8)
    • Add a noauthcodecheck workaround flag to the freeipmi collector. (#10701, @vlvkobal)

    Bug fixes

    • Fix eBPF collector compatibility with kernels v5.11+. (#10707, @thiagoftsm)
    • Fix disks identification in the diskstats collector. (#10843, @vlvkobal)
    • Fix the count of cpuset.cpus in the cgroups collector. (#10757, @ilyam8)
    • Fix disk utilization and backlog charts in the diskstats collector. (#10705, @vlvkobal)


    Bug fixes

    • Fix adding duplicate _total suffixes for the Prometheus collector. (#10674, @vlvkobal)

    Packaging and installation


    Bug fixes

    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.30.0.tar.gz(6.49 MB)
    sha256sums.txt(449 bytes)
  • v1.29.3(Feb 23, 2021)

    Release v1.29.3

    Release v1.29.3 is a patch release to improve the stability of the Netdata Agent.

    We discovered a bug that when proc.plugin attempts to collect the operstate parameter for a virtual network interface. If the chart is obsoleted, the Netdata Agent crashes. This bug was fixed in #10667. We're grateful to @gaia for first identifying this issue and working with our engineers, along with @sdellenb, to provide logs and point us toward the source of the bug.

    This release also contains additional bug fixes and improvements.


    • Fixed condition controlling use of static LWS in RPM builds. (#10661, @Ferroin)


    • Improve the StatsD documentation and associated Statsd dashboard improvements. (#10640, @OdysLam)
    • Fix broken links in docs and add collectors to list. (#10651, @joelhans)
    • Fix wrong link on docs Netdata Agent daemon. (#10659, @OdysLam)

    Bug fixes

    • Fix proc.plugin to invalidate RRDSETVAR pointers on obsoletion. (#10667, @mfundul)
    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.29.3.tar.gz(6.42 MB)
    sha256sums.txt(449 bytes)
  • v1.29.2(Feb 18, 2021)

    Release v1.29.2

    Release v1.29.2 is a patch release to improve the stability of the Netdata Agent.

    We discovered that an improvement introduced in v1.29.0 could inadvertently set all os_* host labels to unknown, which could affect users who leverage these host labels to organize their nodes, deploy health entities, or export metrics to external time-series databases. This bug was fixed in #10647.

    This release also contains additional bug fixes and improvements.


    • @tinyhammers for making the Opsgenie API URL configurable.
    • @vjt for documenting the scheme option in the elastic search collector.
    • @rda0 for the fix that does not allow binary data to be printed.
    • @fayak for adding freeswitch to the app_groups.conf file.



    • Fix a typo in web/gui/ (#10623, @OdysLam)
    • Add resetting CapabilityBoundingSet workaround to the python.d collectors (that use sudo). (#10587, @ilyam8)
    • Document the scheme option in the Elasticsearch collector. (#10572, @vjt)
    • Update claiming instructions for Docker containers. (#10570, @Ferroin)

    Bug fixes

    • Fix the context filtering on the data query endpoint. (#10652, @stelfrag)
    • Fix container/host detection in the script. (#10647, @ilyam8)
    • Add a small delay to the ipv4_tcp_resets alarms. (#10644, @ilyam8)
    • Fix collecting operstate for virtual network interfaces. (#10633, @ilyam8)
    • Fix sendmail unrecognized option F error. (#10631, @ilyam8)
    • Fix so that raw binary data should never be printed. (#10603, @rda0)
    • Change KSM memory chart type to stacked. (#10598, @ilyam8)
    • Allow the REMOVED alarm status via ACLK if the previous status was WARN/CRIT. (#10533, @stelfrag)
    • Reduce excessive logging in the ACLK. (#10596, @underhood)
    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.29.2.tar.gz(6.42 MB)
    sha256sums.txt(449 bytes)
  • v1.29.1(Feb 9, 2021)

  • v1.29.0(Feb 3, 2021)

    Release v1.29.0

    The v1.29.0 release of the Netdata Agent is a maintenance release that brings incremental but necessary improvements that make your monitoring experience more robust. We've pushed improvements and bug fixes to the installation and update scripts, enriched our library of collectors, and focused on fixing bugs reported by the community.

    This release contains 2 new collectors, the migration of 3 collectors from Python to Go, 25 other improvements, 25 documentation updates, and 26 bug fixes.

    At a glance

    Netdata now collects and meaningfully organizes metrics from both the Couchbase JSON document database and the nginx-module-vts module for exposing metrics about NGINX virtual hosts. Click either of the links to head straight into the documentation that explains what they collect and how to configure both based on whether they're collecting over localhost or across nodes.

    We've also migrated more collectors from Python to Go in our continued efforts to make data collection faster and more robust. The newest effort includes our Redis, Pika, and Energi Core Wallet collectors.

    On the dashboard, we improved the responsiveness of panning forward and backward through historical metrics data by preventing unnecessary updates and reducing the number of calls. The charts should also now immediately update when you stop panning.


    • @slavox for fixing temperature parsing in the hddtemp collector.
    • @skibbipl for issuing a fix for the updater.
    • @jsoref for the huge number of spelling fixes.
    • @nabijaczleweli for the fix in the diskplace plugin.
    • @Steve8291 for the documentation fix on using the Bash shell for debugging.
    • @kdvlr for the added instructions on Telegram notifications.
    • @grinapo for the improvement on the Python-based Fail2Ban collector.
    • @dpsy4 for the support for per series styling for dygraphs
    • @ski2per for adding nginxvts collector
    • @hamedbrd for adding couchbase collector
    • @g3offrey for improving prometheus collector default configuration




    Packaging and installation

    • Properly handle arguments and responses for triggering Docker builds. (#10545, @Ferroin)
    • Properly handle saved temporary directory on updates. (#10550, @Ferroin)
    • Update go.d.plugin version to v0.27.0. (#10544, @Ilyam8)
    • Update messages about checksum validation failures on install. (#10448, @Ferroin)
    • Switch to using system libwebsockets for RPM builds. (#10507, @Ferroin)
    • Persist $TMPDIR from installer to updater. (#10384, @Ferroin)


    Bug fixes

    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.29.0.tar.gz(6.41 MB)
    sha256sums.txt(449 bytes)
  • v1.28.0(Dec 18, 2020)

    Release v1.28.0 is a hotfix release to address a deadlock in the Netdata Agent. We intended to release this hotfix as v1.27.1, but we can't backtrack on a release once we've begun to publish new Docker images and binary packages on other platforms.

    If the Agent-Cloud link (ACLK) connection drops and the Agent fails to queue an on_connect message, it also fails to properly release a lock in the web server thread.

    Bug fix

    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.28.0.tar.gz(6.40 MB)
    sha256sums.txt(449 bytes)
  • v1.27.0(Dec 17, 2020)

    Release v1.27.0

    The v1.27.0 release of the Netdata Agent brings dramatic improvements to long-term metrics storage via the database engine, and new dashboard features like a time & date picker for visualizing precise timeframes. Two new collectors bring incredible new value to existing features, including a bit of machine learning magic.

    This release contains 8 new collectors, 1 new notification method (2 others enhanced), 54 improvements, 41 documentation updates, and 58 bug fixes.

    At a glance

    The Netdata Agent now uses SQLite to store host, chart, and dimension metadata. This replaces the only metadata log files, which were located inside of the /var/cache/netdata/dbengine folder for both multihost and legacy children nodes streaming to a parent node. With SQLite powering the metadata log, you should notice faster Agent startups, as it no longer needs to replay metadata log files. The Agent no longer puts archived charts into memory on startup, further reducing memory usage. This is just the first of several improvements to the database engine and metadata log, with more coming in future releases.

    The database engine now uses a new extent cache that improves query time by 10% under certain workloads and reduces disk I/O by 10%.

    The Netdata Agent's local dashboard has received numerous improvements and bugfixes since v1.26. Perhaps most prominent is the new time & date picker, which helps you select precise timeframes when investigating an anomaly or troubleshooting an incident. See the dashboard repository's releases for the full changelog.

    We also introduced two new collectors that monitor the Netdata Agent itself in unique ways. First is the anomalies collector, which uses machine learning (ML) to perform unsupervised anomaly detection on a node running the Netdata Agent. This collector trains itself to understand the baseline of specific charts, then charts anomalous data. A new alarms collector visualizes the volume of Netdata alarms triggered over time.


    • Ali Dinifar, from ZDResearch, for reporting a stack buffer overflow vulnerability in web_client.c, which our team resolved within 24 hours.
    • @ernestojpg for adding the number of allocated/stored objects within each storage to the varnish collector.
    • @ernestojpg for adding support for MSE (Massive Storage Engine) to the varnish collector.
    • @jurgenhaas for adding allocated space metrics to the oracledb collector.
    • @autoalan for fixing a spelling mistake in the haproxy collector README.
    • @ysamouhos for fixing a spelling mistake in
    • @voriol for fixing the Ansible deployment guide.
    • @scatenag for adding an option to exclude zero memory allocated users to the nvidia_smi collector.
    • @fayak for adding per queue charts to the rabbitmq collector.
    • @atnartur for fixing Markdown syntax in the custom dashboard documentation.
    • @alexmyczko for removing redundant build dependencies from Debian control file.
    • @KickerTom for fixing compilation with HTTPS disabled.
    • @hexchain for fixing a database endless loop bug when cleaning obsolete charts.
    • @wash2 for fixing the libreswan collector parsing.
    • @Saruspete for fixing a platform dependent printf format.
    • @KickerTom for fixing an eBPF cross compilation error and updating libnetdata headers to be compatible with C++.
    • @WBTMagnum for fixing typos in the
    • @Jiab77 for adding support to hide the SSO iframe.
    • @martinpal for adding HBA drives support to the hpssa collector.
    • @hamedbrd for fixing response and upstream response time histogram charts in the web_log collector.
    • @hamedbrd for adding custom time fields feature to the web_log collector.
    • @ski2per for adding directories size collection to the filecheck collector.


    Netdata Cloud




    • Add HTTP and HTTPS support to the simple exporting connector. (#9911, @vlvkobal)




    Bug fixes

    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.27.0.tar.gz(6.40 MB)
    sha256sums.txt(449 bytes)
  • v1.26.0(Oct 14, 2020)

    Release v1.26.0

    The v1.26.0 release of the Netdata Agent brings exciting new collectors written in Go, a new integration with the DevOps startup StackPulse, and massive improvements to the way users navigate Netdata's documentation. We've also added compatibility with an exciting new feature that's coming soon to Netdata Cloud—stay tuned!

    This release contains 3 new collectors, 1 new notifcation method, 21 improvements, 13 documentation updates, and 12 bug fixes.

    At a glance

    The Netdata Agent can now collect metrics from files/directories, systemd units, and ISC DHCP servers. These new collectors are part of our larger effort to migrate all collectors to Go, which provides more extensibility compared to previous implementations. You can read about each of these new collectors in our docs: filecheck, systemd, isc_dhcpd.

    We're excited to extend our health watchdog even further to integrate with StackPulse, which is designed to help SREs manage and respond to incidents with code and automation. You can read more about how to configure Netdata to send notifications to StackPulse in the docs.

    We rearchitected our docs/education site, Netdata Learn, to focus on users actions rather than the Netdata Agent's hierarchy of code. The core docs now better guide users through the most important actions, such as configuring collectors and interacting with charts, independent of whether they use only the Netdata Agent, or the Agent in combination with Netdata Cloud. Of course, all of our reference documentation is still alive and kicking for those who want to dive into every configuration option or API query. We also revamped our guides page with better visuals, a search/filter, and more rational categories.


    We're grateful to the Netdata community for their contributions for this release.

    • @HolgerHees for fixing the comment syntax in Netdata's systemd file. (#10066,
    • @Saruspete for fixing a file descriptor leak in the Infiniband colector (proc.plugin).
    • @hamedbrd for adding a new Go-based systemd unit state collector and fixing gauges for the go.d.plugin/web_log collector.
    • @chadknutson for adding chart for churn rates to python.d/rabbitmq.
    • @hydrogen-mvm for adding a missing period in the Netdata dashboard.
    • @roedie for adding a missing libelf-dev dependency.
    • @Dim-P) and @disko for documentation improvements.


    • Add the ability to send Agent alarm notifications to StackPulse. (#9965, @thiagoftsm)
    • Add a way to get build configuration info from the Agent. (#9913, @Ferroin)
    • Add chart for churn rates to python.d/rabbitmq. (#10031, @chadknutson)
    • Add failed dim to the connection_fails alarm in the Portcheck alarm. (#10048, @ilyam8)
    • Improve the data query when using the context parameter (#9978, @stelfrag).
    • Add a context parameter to the data endpoint. (#9931, @stelfrag)

    Netdata Cloud




    • Rename NETDATA_PORT to NETDATA_LISTENER_PORT. (#10045, @knatsakis)
    • Add a few changes that were missed by the systemd updater support. (#10007, @Ferroin)
    • Switch to our installer's bundling code for libJudy in static installs. (#9988, @Ferroin)
    • Add improved auto-update support. (#9966, @Ferroin)
    • Add missing libelf-dev dependency. (#9974, @roedie)
    • Update RPM spec file to use automatic dependency list generation. (#9937, @Ferroin)
    • Add support for using /etc/cron.d for auto-updates. (#9598, @Ferroin)
    • Add more stringent check for C99 support in configure script. (#9982, @Ferroin)


    Bug fixes

    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.26.0.tar.gz(4.25 MB)
    sha256sums.txt(449 bytes)
  • v1.25.0(Sep 14, 2020)

    Release v1.25.0

    The v1.25.0 release of the Netdata Agent is focused on improving Netdata's usability across the board. We added more customization to how the Prometheus collector implemented in v1.24 meaningfully visualizes metrics. In addition, we've focused on fixing bugs and ensuring that core functionality of the Netdata Agent, such as the ACLK, works more efficiently.

    This release contains 1 new collector, 27 improvements, 15 documentation updates, and 59 bug fixes.

    At a glance

    Improved filtering and grouping for the Prometheus collector gives you more flexibility in how Netdata collects and visualizes metrics from more than 600 Prometheus endpoints. The Prometheus collector is designed to visualize every metric exposed on a Prometheus endpoint generically, but one chart for every metric is often not the most meaningful presentation. Filtering and grouping options bring the same "bespoke" feeling that you find in our other collectors, such as having input/output metrics on a single chart instead of two.

    You can read about filtering and grouping in our documentation right now. If you haven't heard about the generic Prometheus collector, read our v1.24 blog post for details on why we continuously make Netdata more interoperable with other monitoring solutions.

    We also made significant improvements to the robustness and responsiveness of the Agent-Cloud link (ACLK), which is used to stream metrics and alarm status if you sign up for Netdata Cloud and claim your nodes. The disconnect and reconnect process is now more reliable, and all metrics data is now Gzip compressed. Now that the payloads are smaller and more quickly processed, you'll see improved responsiveness when viewing dashboards in Netdata Cloud.

    We added a new Elasticsearch collector, written in Go, to help you collect metrics from and monitor Elasticsearch instances. This collector is preinstalled with the Netdata Agent and often works with zero configuration, but can also be tweaked to collect only specific stats, gather metrics with TLS, and more. See the documentation for generated charts and configuration options.


    We're grateful to the Netdata community for a huge wave of contributions for this release.

    • @mklepaczewski for adding a JSON log parser to the go.d/web_log collector.
    • @glesys-andreas for adding socket support for the go.d/phpfpm collector.
    • @K900 for adding and documenting how to read container names from Podman.
    • @pando85 for fixing the link to Caddyfile's basicauth in the Docker documentation.
    • @roedie for improving Debian packaging by streamlining control and init files.
    • @vsc55 for adding support for IP ranges in the python.d/isc_dhcpd collector.
    • @mrbarletta for fixing MySQL collector documentation to mention the netdata user.
    • @Saruspete for fixing RPM build script version issues.
    • @michmach for improving the uninstall script to correctly state if the group was deleted.
    • @Steve8291 for removing PrivateMounts in systemd journal logs.
    • @mrbrutti for updating to enable Netdata Cloud support in macOS.
    • @weijing24 for adding RAM info for macOS to
    • @scottymuse for fixing latency-avg chart units in the python.d/dnsdist collector.
    • @Ancairon for improving proc.plugin to collect the active processes limit on Linux systems.
    • @scatenag for fixing TLS over LDAP in the python.d/openldap collector.
    • @florianmagnin for adding new options to the python.d/varnish collector for multiple storage backends.
    • @devinrsmith for fixing the print message when building for Ubuntu Focal.


    Netdata Cloud




    • Improve handling of offline installs (#9805, @Ferroin)
    • Improve Debian packaging by streamlining control and init files (#8982, @roedie)
    • Remove dependency on libJudy for systems which don't have it (#9859, @Ferroin)
    • Add code to bundle libJudy on systems which do not provide a usable copy of it (#9776, @Ferroin)
    • Improve temporary directory checking in installer and updater (#9797, @Ferroin)
    • Add proper certificate handling cURL in our static build (#9733, @Ferroin)


    Bug fixes

    • Fix setting the default value of the home directory to the environment's HOME (#9711, @cakrit)
    • Fix memory mode none not dropping stale dimension data (#9917, @mfundul)
    • Fix memory mode none not marking dimensions as obsolete (#9912, @mfundul)
    • Fix race condition with orphan hosts (#9862, @mfundul)
    • Fix the log level in cgroup-network helper (#9836, @vlvkobal)
    • Fix empty dbengine files (#9820, @mfundul)
    • Fix timestamps for global variables in Prometheus output (#9779, @vlvkobal)
    • Fix long stats.d chart names (suggested by @vince-lessbits) (#9783, @amoss)
    • Fix HTTP header for the remote write exporting connector (#9775, @vlvkobal)
    • Fix netfilter to close when receiving a SIGPIPE (#9756, @thiagoftsm)
    • Fix exporting update point (#9748, @vlvkobal)
    • Fix for ignored LXC containers (#9645, @vlvkobal)
    • Fix issue with missing alarms (#9712, @stelfrag)
    • Fix child memory corruption by removing broken optimization in the sender thread (#9703, @amoss)
    • Fix crash when receiving malformed labels via streaming. (#9715, @mfundul)
    • Fix collectors on MacOS and FreeBSD to ignore archived charts. (#9695, @mfundul)
    • Fix sending follow-up alarms when the initial status matches the notification (#9698, @cakrit)
    • Fix typo in option name used to use bundled libJudy (#9893, @prologic)
    • Fix handling of libJudy bundling for RPM packages (#9875, @Ferroin)
    • Fix another typo in the libJudy bundling code (#9904, @Ferroin)
    • Fix missing newline concatentation slash causing failures in RPM builds (#9900, @prologic)
    • Fix high CPU in IPFS collector by disabling call to the /api/v0/stats/repo endpoint by default (#9687, @ilyam8)
    • Fix flushing errors (#9738, @mfundul)
    • Fix bugs in handling of Python 3 dependencies on install (#9839, @Ferroin)
    • Fix RPM build script version issues (#9808, @Saruspete)
    • Fix installation to not install eBPF plugin components when they shouldn't be installed (#9844, @vlvkobal)
    • Fixed tmpdir handling failure on macOS/FreeBSD. (#9842, @Ferroin)
    • Fix to correctly state whether the group was deleted (#9835, @michmach)
    • Fix updater bug introduced by incomplete variable rename in #8808 (#9834, @Ferroin)
    • Fixed bug in installer introduced by #8808 (#9831, @Ferroin)
    • Fix systemd journal logs to remove PrivateMounts (#9619, @Steve8291)
    • Fix to correctly pass REINSTALL_OPTIONS (#8808, @prologic)
    • Fix handling of offline installs (#9805, @Ferroin)
    • Fix install if system does not have ebpf.plugin (#9809, @roedie)
    • Fix packaging to enable eBPF collector only if enabled in config.h (#9752, @Saruspete)
    • Fix numerous bugs in duplicate install handling (#9769, @Ferroin)
    • Fix netdata/netdata Docker image size (#9669, @prologic)
    • Fix global GUID map memory leak (#9725, @stelfrag)
    • Fix buffer overflow in rrdr structure (#9903, @mfundul)
    • Fix HTTP error messages in alarm notifications (#9887, @thiagoftsm)
    • Fix lock order reversal (Coverity defect CID 361629) (#9888, @mfundul)
    • Fix missing macOS RAM info in (#9882, @weijing24)
    • Fix latency-avg chart units in python.d/dnsdist (#9871, @scottymuse)
    • Fix TLS over LDAP in the python.d/openldap collector (#9853, @scatenag)
    • Fix multi-host DB corruption when legacy metrics reside in localhost. (#9855, @mfundul)
    • Fix compilation warnings on FreeBSD (#9845, @underhood)
    • Fix proxy forwarding claim_id to old parent (#9828, @underhood)
    • Fix old dashboard third-party packaging (#9814, @jacekkolasa)
    • Fix loading custom dashboard_info in /old dashboard (#9792, @jacekkolasa)
    • Fix unit tests for exporting engine (#9766, @vlvkobal)
    • Fix code formatting for the mdstat collector (#9749, @vlvkobal)
    • Fix health notifications configuration to clarify which notifications are received when the "|critical" limit is set (#9740, @cakrit)
    • Fix print message when building for Ubuntu Focal (#9694, @devinrsmith)
    • Fix alarm redirection link for Cloud to stop showing 404 (#9688, @cakrit)
    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.25.0.tar.gz(4.20 MB)
    sha256sums.txt(449 bytes)
  • v1.24.0(Aug 10, 2020)

    Release v1.24.0

    The v1.24.0 release of the Netdata Agent brings enhancements to the breadth of metrics we collect with a new generic Prometheus/OpenMetrics collector and enhanced storage and querying with a new multi-host database mode.

    At a glance

    This release broadens our commitment to open standards, interoperability, and extensibility with a new generic Prometheus collector that works seamlessly with any application that makes its metrics available in the Prometheus/OpenMetrics exposition format, including support for Windows 10 via windows_exporter. Netdata will autodetect over 600 Prometheus endpoints and instantly generate charts with all the exposed metrics, meaningfully visualized.

    The Netdata Agent database engine enables long-term storage of per-second metrics inside the Agent using both RAM and disk space. In our new, multi-host database mode, parent and child nodes share resources in a single instance. Any pre-existing child node metrics remain in the legacy dbengine paths to ensure backward compatibility. To migrate those nodes to the new multi-host DB, simply delete those metric cache paths. This new mode supports distributed queries for the Agent as well as specific scenarios like streaming metrics from the child to parent database, streaming multiple child nodes to a single parent, and remembering which child or children are connected to the database even if streaming hasn't started.


    • @lassebm for the FreeBSD interface error alarms
    • @Saruspete for fixing the RPM default permissions for /usr/libexec/netdata
    • @Steve8291 for adjusting to run in bash
    • @bmatheny for adding pihole to the dns app group
    • @tinyhammers for templatizing the health/megacli alarms

    New Features


    • Add documentation to provide a comprehensive guide for package maintainers (#9467, @Ferroin)
    • Add documentation to provide a comprehensive guide for package maintainers (#9467, @Ferroin)

    Packaging / Installation

    • Remove delay in updater script for non-interactive runs from install scripts. (#9589, @Ferroin)
    • Remove runtime support for Polymorphic Linux from our Docker containers. (#9566, @Ferroin)
    • Add better checks for existing installs to the kickstart scripts. (#9408, @Ferroin)
    • Require cloud build to succeed in make dist checks. (#9218, @Ferroin)
    • Use the libbpf library for the eBPF plugin (#9490, @vlvkobal)
    • Fix Travis CI and remove deprecated/removed builds that have no upstream LXC image (#9630, @prologic)
    • Fetch libbpf from netdata fork (#9637, @vlvkobal)
    • Fix RPM default permissions for /usr/libexec/netdata (#9621, @Saruspete)
    • Add eBPF collector support to DEB and RPM packages. (#9628, @Ferroin)
    • Add sandboxing exception for /run/netdata. (#9613, @Ferroin)
    • Remove delay in updater script for non-interactive runs from install scripts. (#9589, @Ferroin)
    • Add proper handling for autogen on Ubuntu 18.04 (#9586, @Ferroin)
    • Remove runtime support for Polymorphic Linux from our Docker containers. (#9566, @Ferroin)
    • Add CAP_SYS_RESOURCE to capability bounding set. (#9569, @Ferroin)
    • Add better checks for existing installs to the kickstart scripts. (#9408, @Ferroin)
    • Enable simple sandboxing on systemd service (#9234, @Izorkin)
    • Revert the eBPF package bundling that breaks the release and DEB packages. (#9552, @prologic)
    • Add libbpf patch to make dist. (#9571, @Ferroin)

    Bug Fixes

    Other Notable Changes

    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.24.0.tar.gz(4.18 MB)
    sha256sums.txt(449 bytes)
  • v1.23.2(Jul 16, 2020)

    Netdata v1.23.2

    Release v1.23.2 of the Netdata Agent is a patch for one significant issue.

    PR #9491 fixed a buffer overrun vulnerability in Netdata's JSON parsing code. This vulnerability could be used to crash Agents remotely, and in some circumstances, could be used in an arbitrary code execution (ACE) exploit.

    We strongly encourage all Netdata users to update their nodes to v1.23.2 as soon as possible.

    This release also contains additional bug fixes and improvements.


    • @Saruspete for adding Infiniband monitoring to Netdata!
    • @meesaltena for fixing a typo in
    • @anirudhdggl for tweaking the PyMySQL library to respect the my.cnf parameter when monitoring MySQL.
    • @candrews for cleaning up the exporting engine by wrapping header definitions in compilation conditions.
    • @RubenKelevra for deploying an update to the IPFS collector that makes it compatible with IPFS v0.5.0+.
    • @vsc55 for adding support for returning headers using python.d's UrlService.


    • Add support for multiple ACLK query processing threads (#9355, @underhood)
    • Add Infiniband monitoring to collector proc.plugin (#9091, @Saruspete)
    • Change the HTTP method to make the IPFS collector compatible with 0.5.0+ (#9248, @RubenKelevra)
    • Add support for returning headers using python.d's UrlService (#9236, @vsc55)


    • Fix broken link in Kavenegar notification doc (#9492, @joelhans)
    • Add documentation for installing Netdata on k8s clusters (#9364, @joelhans)
    • Add notices to packaging docs for access errors and Cloud dependencies (#9422, @joelhans)
    • Fix broken link to Polyverse in Docker documentation (#9426, @joelhans)
    • Add notice to eBPF documentation about incompatibility with static builds (#9418, @joelhans)

    Packaging / installation


    Bug fixes

    • Fix vulnerability in JSON parsing (#9491, @underhood)
    • Fixed stored number accuracy (#9540, @stelfrag)
    • Fix transition from archived to active charts not generating alarms (#9536, @mfundul)
    • Fix PyMySQL library to respect my.cnf parameter (#9526, @anirudhdggl)
    • Remove health from archived metrics (#9520, @mfundul)
    • Update exporting engine to read the prefix option from instance config sections (#9463, @vlvkobal)
    • Fix display error in Swagger API documentation (#9417, @underhood)
    • Wrap exporting engine header definitions in compilation conditions (#9458, @candrews)
    • Improve cgroups collector to autodetect unified cgroups (#9249, @underhood)
    • Fix CMake build failing if ACLK is disabled (#9537, @underhood)
    • Fix now_ms in charts.d collector to prevent tc-qos-helper crashes (#9510, @ilyam8)
    • Fix python.d crashes by adding a lock to stdout write function (#9508, @ilyam8)
    • Fix an issue with random crashes when updating a chart's metadata on the fly (#9509, @stelfrag)
    • Fix ACLK protocol version always parsed as 0 (#9502, @underhood)
    • Fix the check condition for chart name change (#9503, @stelfrag)
    • Fix the exporting engine unit tests (#9460, @vlvkobal)
    • Fix a Coverity defect for resource leaks (#9462, @vlvkobal)
    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.23.2.tar.gz(4.15 MB)
    sha256sums.txt(449 bytes)
  • v1.23.1(Jul 1, 2020)

    Netdata v1.23.1

    Release v1.23.1 of the Netdata Agent is a patch for two significant issues.

    PR #9436 fixed an issue where dimensions were marked obsolete and archived simultaneously, which caused segmentation faults. We're grateful to marioem, who first reported the issue, and other members of the Netdata community who contributed their insights and valuable log information, which we used to diagnose and fix the bug.

    PR [#9428] fixed a significant issue with duplicate alarm IDs, which caused issues in how alarms were sent and displayed in Netdata Cloud.

    This release also contains a few additional bug fixes that were not fully reviewed before the release of v1.23.0.

    Bug fixes

    • Disallow dimensions and chart being obsolete and archived simultaneously. (#9436, @mfundul)
    • Fix duplicate alarm ids in health-log.db (#9428, @stelfrag)
    • Show cgroups/containers ran by Kubelet without access to Kubernetes cluster information (#9321, @cakrit)
    • Fix children version on stream (#9438, @thiagoftsm)
    • Fix internal registry (#9434, @thiagoftsm)
    • Correct virtualization detection in (#9425, @Ferroin)
    • Fix the unittest execution (#9445, @thiagoftsm)
    • Update description in registry with minor copy edits (#9441, @amoss)
    • Stop reading from /proc/sys/kernel/osrelease at trailing newline (#9374, @sjuxax)
    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.23.1.tar.gz(4.13 MB)
    sha256sums.txt(449 bytes)
  • v1.23.0(Jun 24, 2020)

    Release v1.23.0

    The v1.23.0 release of the Netdata Agent is all about unlocking new depths of visibility for your applications, services, and systems. We have Kubernetes service discovery, new eBPF metrics like virtual filesystem switch and bandwidth per process out of the Linux kernel at event frequency, more interoperability with your monitoring stack thanks to a new exporting engine, and much more.

    This release contains 2 new collectors, 1 new exporting connector, 1 new alarm notification method, 55 improvements, 45 documentation updates, and 40 bug fixes.

    At a glance

    Our service discovery collector detects Kubernetes (k8s) pods and immediately collects metrics from 22 different services as the associated pods are created, destroyed, and scaled. Service discovery is installed when you use our Helm chart, which means you can now collect and visualize service-, pod-, Kubelet-, kube-proxy-, and node-level k8s metrics with one helm install command and zero configuration. All our Kubernetes monitoring components are open source and free for clusters of any size.

    Our low-level Linux kernel monitoring via eBPF is now supercharged. Thanks to an integration with apps.plugin, you can now monitor how a specific application interacts with the Linux kernel. This update also includes new metrics, such as virtual filesystem switch, bandwidth per process, and much more. Netdata collects these metrics at an event frequency, even better than our famous 1s granularity, so that you can debug applications or anomalies with pinpoint accuracy. The eBPF collector is also now installed and enabled by default except on static builds.

    Read our guide on troubleshooting apps with eBPF metrics for more details.

    Netdata is now more interoperable with your existing monitoring stack thanks to the exporting engine, which replaces the backends system. You can now export to multiple external databases through Graphite, Google Cloud Pub/Sub, Prometheus remote write, MongoDB, and JSON connectors, plus others. Send metrics as soon as they're collected to enrich single pane of glass views or analyze Netdata's metrics with machine learning.

    Read our guide on exporting metrics to Graphite for specifics on just one of many pipelines you can set up to archive your Netdata metrics.

    We're also releasing an improvement for the availability of your monitoring and metrics: persistent metadata. The Agent now writes metadata to disk alongside metrics to allow access to non-active charts from Netdata Cloud and enable future features.

    We added some enhancements to our documentation site, including a new guides section. We'll continue to populate with more use case- and scenario-based content to help you monitor, troubleshoot, visualize, and export your Netdata metrics.



    • Added libuv thread names support to FATAL log level. (#9382) by mfundul
    • Updated the React dashboard to v1.0.14_2. (#9350) by jacekkolasa
    • Improved PR guidelines for developers and contributors. (#8809) by prologic
    • Removed master-slave verbiage and replaced it with parent-child. (#9323) by amoss, (#9312) by joelhans
    • Added support for persistent metadata. (#9324) by stelfrag
    • Add verbose prints when spawn server fails to spawn. (#9305) by mfundul
    • Updated streaming protocol calculate clock-slew and gap-size when child nodes reconnect to a parent. (#9214) by amoss
    • Implemented a new incremental parser for internal plugins and child nodes. (#9074) by stelfrag
    • Improved database engine by reducing its minimum size to 64 MiB. (#9094) by mfundul
    • Added alphabetical sort and automatic scroll to dash.html. (#8762) by tnyeanderson
    • Added a spawn server to improved Agent scalability by reducing the impact of alarm execution and notification to critical sections in the main health thread. (#8407) by mfundul

    Netdata Cloud

    • Added metrics for ACLK performance and status to the Netdata Monitoring section of the dashboard. (#9269) by underhood
    • Improved the node re-claiming process by regenerating the topic base. (#9044) by amoss


    • Updated the Go orchestrator to v0.19.2. (#9340) by ilyam8
    • Added the agent-service-discovery collector plugin to apps_group.conf. (#9315) by ilyam8
    • Improved consistency of Kubernetes cgroup names. (#9303) by cakrit
    • Updated the Go orchestrator to v0.19.1. (#9309) by ilyam8
    • Added imunify and lsphp to apps_groups.conf. (#9284) by thiagoftsm
    • Updated the Go orchestrator to v0.19.0. (#9294) by ilyam8
    • Added support for the eBPF collector in static installations ( (#8879) by prologic
    • Updated the eBPF kernel-collector to v0.4.0. See the changelog for details. (#9212) by Ferroin
    • Added integration between ebpf.plugin and apps.plugin. (#9178) by thiagoftsm
    • Converted the eBPF collector into a modular design to allow multiple eBPF programs to run in parallel. (#9148) by thiagoftsm
    • Added an OSD size collection chart to the Ceph collector. (#8649) by elelayan
    • Updated the eBPF kernel-collector to v0.2.0. See the changelog for details. (#9118) by prologic
    • Improved to better handle certain cases when gathering info on the system's disk capacity. (#7902) by Ferroin
    • Changed the eBPF collector to install and enable it by default. (#8665) by Ferroin
    • Enhanced the Samba collector to only use sudo when not running as the root user. (#9038) by Duffyx
    • Renamed the eBPF collector from ebpf_process.plugin to ebpf.plugin. (#8822) by thiagoftsm
    • Added more command line options to the eBPF collector to support upcoming features. (#8879) by thiagoftsm
    • Added compatibility for Varnish Cache Plus in the varnish collector. (#8940) by pgjavier


    • Added new streaming files into CMake build. (#9316) by underhood
    • Added support for macOS/Homebrew in (#8286) by Ferroin
    • Improved reliability of checksums for installation scripts. (#9165) by prologic
    • Added required bundle for libuuid on ClearLinux. (#9060) by Ferroin
    • Removed conflicting EPEL packages. (#9108) by Saruspete


    • Moved nc backend to exporting. (#9030) by thiagoftsm
    • Added missing checks to exporting engine. (#9034) by thiagoftsm
    • Added new alarms for exporting engine resource usage and deprecation of backends. (#9075) by thiagoftsm
    • Added an error report to the AWS Kinesis connector. (#9048) by thiagoftsm
    • Added memory cleanup to remaining exporting connectors. (#9098) by thiagoftsm
    • Added a warning if the exporting engine's update interval is not a multiple of the database's update interval. (#9131) by vlvkobal
    • Added anonymous statistics to exporting engine to collect usage data. (#9125) by vlvkobal
    • Improved dynamic memory cleanup for Pub/Sub exporting connector. (#9112) by vlvkobal
    • Improved dynamic memory cleanup for the MongoDB exporting connector. (#9103) by vlvkobal
    • Finalized the main cleanup function for the exporting engine. (#9099) by vlvkobal
    • Added a function to help clean up memory on exit. (#9081) by vlvkobal
    • Added a Google Cloud Pub/Sub connector to the exporting engine. (#8855) by vlvkobal


    • Added support for Matrix notifications. (#9196) by okias


    • Removed Gentoo from CI checks. (#9327) by prologic
    • Added a random offset to the update script when running non-interactively. (#9245) by Ferroin
    • Added a CI check for building against LibreSSL. (#9216) by prologic
    • Added a health check functionality to Docker images. (#9172) by Ferroin
    • Added CI for static builds of the Netdata Agent (used by (#9130) by prologic
    • Removed deprecated documentation Dockerfile and associated Docker Hub image. (#9126) by prologic
    • Removed deprecated documentation tooling. (#8783) by prologic
    • Added a CI job to check Markdown links during PRs. (#9003) by joelhans
    • Removed Polyverse Polymorphic Linux from Docker builds to reduce the image size. (#8802) by Ferroin


    • Fixed a typo in the Synology installation documentation. (#9400) by pkrasam
    • Added a guide for troubleshooting with eBPF metrics. (#9352) by joelhans
    • Improved the FreeBSD installation documentation. (#9116) by thoggs
    • Added a missing slash to the claiming documentation. (#9257) by oneoneonepig
    • Changed the recommended repository for CentOS 8 users. (#9308) by Ferroin
    • Added a guide for exporting metrics to Graphite. (#9285) by joelhans
    • Added a link in the eBPF documentation to the kernel documentation for ftrace. (#9211) by Steve8291
    • Fixed curly to straight apostrophe. (#8723) by zack-shoylev
    • Added documentation and dashboard information for new eBPF-apps.plugin integration. (#9199) by thiagoftsm
    • Moved and refactored docs to accomodate new Guides section on Learn. (#9266) by joelhans
    • Removed outdated information/links from main README and registry doc. (#9265) by joelhans
    • Added notes/known issues section to installation page. (#9053) by joelhans
    • Fixed ambiguity in health reference for of and foreach options in lookup line. (#9255) by underhood
    • Added a new "home base" document for the exporting engine. (#9246) by joelhans
    • Improved database engine documentation for streaming setups. (#9177) by joelhans
    • Fixed typo in eBPF collector (#9205) by Steve8291
    • Fixed typo in (#9151) by stephenrauch
    • Removed the "experimental" label from the exporting engine documentation. (#9171) by vlvkobal
    • Fixed typo in step 3 of step-by-step guide. (#9150) by waybeforenow
    • Added a Certbot troubleshooting section to step 10 of the step-by-step guide. (#9000) by Jelmerrevers
    • Updated eBPF documentation to reflect default enabled status. (#9105) by joelhans
    • Added ACLK connection details. (#9047) by zack-shoylev
    • Added CMake to the list of packages to install on FreeBSD installations. (#9031) by zvarnes
    • Improved Synology installation document with better formatting and instructions. (#8658) by thenktor
    • Updated pfSense installation document with new packages and processes. (#8544) by electropup42
    • Updated documentation contributing guidelines and Netdata style guide. (#8781) by joelhans
    • Added links to promote database engine calculator. (#9067) by joelhans
    • Updated exporting engine documentation to prepare for enabling it by default. (#9066) by vlvkobal
    • Added requirements to the ProxySQL collector documentation. (#9071) by ilyam8
    • Added proc.plugin configuration example for high-processor systems. (#9062) by joelhans
    • Added frontmatter for exporting connectors. (#9052) by joelhans
    • Fixed grammar error in HAProxy documentation. (#8703) by cherouvim
    • Updated FreeBSD package installation documentation. (#8643) by thenktor
    • Fixed docker run instruction in claiming document. (#9058) by ilyam8
    • Added a note about restarting a node during reclaiming. (#9049) by zack-shoylev
    • Removed mentions of old Cloud and replaced them with new Cloud/dashboard. (#8874) by joelhans
    • Fixed broken link in web server log guide on GitHub. (#9033) by joelhans
    • Removed emoji from step-by-step guide. (#8872) by MeganBishopMoore
    • Added text to claiming documentation about reclaiming. (#9027) by joelhans
    • Updated daemon output with new URLs and dates. (#8965) by joelhans
    • Added netdatalib and netdatacache volumes to the Docker-with-Caddy documentation. (#8999) by webash
    • Fixed an incorrect file name in the Go-based web log collector. (#8964) by gruentee
    • Removed incorrect UNUSED from flood protection configuration options documentation. (#8964) by mfundul
    • Fixed internal links and removed obsolete admonitions. (#8946) by joelhans
    • Updated docs with go-live claiming and ACLK information. (#8960) by joelhans

    Bug fixes

    • Fixed a Coverity defect. (#9402) by amoss
    • Fix a bug in the simple exporting connector that caused crashes when both opentsdb:https and another connector were enabled together. (#9389) by vlvkobal
    • Fixed missing host variables on stream. (#9396) by thiagoftsm
    • Fixed race-hazard in streaming during the shutdown sequence. (#9370) by amoss
    • Fixed error handling and recovery during compaction and metadata log replay. (#9354) by stelfrag
    • Fixed ACLK shutdown sequence. (#9367) by underhood
    • Fixed logging by replacing assert() calls with new fatal_assert(). (#9349) by mfundul
    • Fixed issues with CentOS 6 installations by getting Netdata execution path early to avoid user permission issues. (#9339) by mfundul
    • Fixed issues with ebpf.plugin and apps.plugin integration. (#9333) by thiagoftsm
    • Fixed Coverity warnings in database. (#9338) by mfundul
    • Fixed compiler warnings from the database when the Agent is compiled with the --disable-cloud flag. (#9337) by stelfrag
    • Fixed invalid memory access in databases to avoid Coverity errors. (#9326) by stelfrag
    • Fixed broken updates to do enabling the eBPF collector by default with a dummy --enable-ebpf flag. (#9310) by Ferroin
    • Fixed exporting to Cortex by adding an additional HTTP header to the Prometheus remore write connector. (#9302) by vlvkobal
    • Fixed a race hazard causing crashes in streaming configurations. (#9297) by amoss
    • Fixed handling of OpenSSL on CentOS/RHEL by bundling a static copy and selecting a configuration directory at install time. (#9263) by Ferroin
    • Fixed static installation from overwriting netdata.conf. (#9174) by Ferroin
    • Fixed compilation on older systems (Ubuntu 14.04 LTS, Debian 8, CentOS 6). (#9198) by ktsaou
    • Fixed broken unit tests for the exporting engine. (#9183) by vlvkobal
    • Fixed an issue with the exporting engine not cleaning a string on exit. (#9188) by vlvkobal
    • Fixed issue with incremental parser breaking CMake builds. (#9186) by stelfrag
    • Fixed the eBPF collector failing to install on certain systems. (#9182) by prologic
    • Fixed Coverity warning. (#9180) by thiagoftsm
    • Fixed required packages for Gentoo builds. (#9141) by vsc55
    • Fixed Coverity warning. (#9157) by stelfrag
    • Fixed broken collector plugins due to bug in parser. (#9158) by stelfrag
    • Fixed the Xenstat collector to correctly track the last number of vCPUs. (#8720) by rushikeshjadhav
    • Fixed incorrect link in to help users submit a GitHub issue. (#8911) by prologic
    • Fixed enable/start of netdata service in Debian package. (#9005) by MrFreezeex
    • Fixed buffer splitting in the Kinesis exporting connector. (#9122) by vlvkobal
    • Fixed suid bits on plugin for Debian packaging. (#8996) by MrFreezeex
    • Fixed zombie procesess in Docker image by restoring SIGCHLD signal handler. (#9107) by mfundul
    • Fixed static installation to not overwrite netdata.conf when updating. (#9046) by Ferroin
    • Fixed typo in the dashboard's description of the mem.kernel chart. (#9096) by Neamar
    • Fixed incorrectly formatted TYPE lines in the Prometheus backend/exporter. (#9086) by jeffgdotorg
    • Fixed error handling in the exporting connector. (#8910) by vlvkobal
    • Added a missing bracket to the Netdata API swagger .json file. (#8814) by dpsy4
    • Fixed the health entity calculation used for ram_in_use and used_ram_to_ignore in systems using ZFS. (#8913) by araemo
    • Fixed incorrect hostnames in the exporting engine. (#8892) by vlvkobal
    • Fixed an issue with the PostgreSQL collector to correctly ignore template1/template0 databases. (#8929) by slavaGanzin
    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.23.0.tar.gz(4.13 MB)
    sha256sums.txt(449 bytes)
  • v1.22.1(May 12, 2020)

    Netdata v1.22.1

    Release v1.22.1 is a hotfix release to address issues related to packaging and how Agents connect to Netdata Cloud.

    With packaging, we fixed an error that caused DEB and RPM packages to only display the old dashboard and not the new React version. We also fixed an issue that caused Netdata Docker containers to fail due to incorrect permissions. Finally, we ensured JSON-C is correctly fetched and built for compatibility with Netdata Cloud.

    We appreciate our community's help in identifying and diagnosing these issues so we could fix them quickly.

    For Netdata Cloud, we optimized the on-connect payload sent through the Agent-Cloud link to improve latency between Agents and Cloud. We also removed a check for old alarm status when sending alarms to Cloud via the ACLK.

    Finally, we made a fix that ensures Agents running on systems using the musl C library can receive auto-updates.

    Bug fixes

    • Fixed the latency issue on the ACLK and suppress the diagnostics. (#8992) by amoss and stelfrag
    • Restored old semantics of "netdata -W set" command. (#8987) by mfundul
    • Added JSON-C packaging fils to make dist. (#8986) by Ferroin
    • Fixed bundling of React dashboard in DEB and RPM packages. (#8988) by Ferroin
    • Removed check for old alarm status. (#8978) by stelfrag
    • Fixed shutdown via netdatacli with musl C library. (#8931) by mfundul
    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.22.1.tar.gz(4.06 MB)
    sha256sums.txt(449 bytes)
  • v1.22.0(May 11, 2020)

    Release v1.22.0

    Release v1.22.0 marks the official launch of our rearchitected Netdata Cloud! This Agent release contains both backend and interface changes necessary to connect your distributed nodes to this dramatically improved experience.

    Netdata Cloud builds on top of our open source monitoring Agent to give you real-time visibility for your entire infrastructure. Once you've connected your Agents to Cloud, you can view key metrics, insightful charts, and active alarms from all your nodes in a single web interface. When an anomaly strikes, seamlessly navigate to any node to troubleshoot and discover the root cause with the familiar Netdata dashboard.

    Animated GIF of Netdata Cloud

    Sign in to Cloud and read our Get started with Cloud guide for details on updating your nodes, claiming them, and navigating the new Cloud.

    While Netdata Cloud offers a centralized method of monitoring your Agents, your metrics data is not stored or centralized in any way. Metrics data remains with your nodes and is only streamed to your browser through Cloud.

    In addition, Cloud only expands on the functionality of the wildly popular free and open source Agent. We will never make any of our open source Agent features Cloud-exclusive, and we will actively continue to develop the Agent so that we can integrate new features with Netdata Cloud.

    This release also contains 1 new collector, 1 new exporting connector, 1 new alarm notification method, 27 improvements, 16 documentation updates, and 22 bug fixes.

    At a glance

    We added a new collector called whoisquery that helps you monitor a domain name's expiration date. You can track as many domains as you'd like, and set custom warning and critical thresholds for each. For more information on setup and configuration, see the Whois domain expiry monitoring documentation.

    We added a new connector to our experimental exporting engine: Prometheus remote write. You can use this connector to send Netdata metrics to your choice of more than 20 external storage providers for long-term archiving and further analysis.

    Our new documentation experience is now available at Netdata Learn! We encourage you to try it out and give us feedback or ask questions in our GitHub issues. Learn features documentation for both the Agent and Cloud in separate-but-connected vaults, which streamlines the experience of learning about both products.

    While Learn only features documentation for now, we plan on releasing more types of educational content serving the Agent's open-source community of developers, sysadmins, and DevOps folks. We'll have more to announce soon, but in the meantime, we hope you enjoy what we believe is a smoother (and prettier) docs experience.


    • amishmm for updating netdata.conf and
    • adamwolf for fixing a typo in
    • lassebm for fixing a crash when shutting down an Agent with the ACLK disabled.
    • yasharne for adding a new whoisquery collector and for adding health alarm templates for both the whoisquery and x509check collectors.
    • illumine for adding Dynatrace as a new alarm notification method.
    • slavaGanzin, carehart, Jiab77, and IceCodeNew for documentation fixes and improvements.

    Breaking changes

    • The previous iteration of Netdata Cloud, accessible through various Sign in and Nodes view (beta) buttons on the Agent dashboard, is deprecated in favor of the new Cloud experience.
    • Our old documentation site ( was replaced with Netdata Learn. All existing backlinks redirect to the new site.
    • Our localization project is no longer actively maintained. We're grateful for the hard work of its contributors.


    Netdata Cloud



    • Added missing NETDATA_STOP_CMD in (#8897) by prologic
    • Added JSON-C dependency handling to installation and packaging. (#8776) by Ferroin
    • Added a check to wait for a recently-published tag to appear in Docker Hub before publishing new images. (#8713) by knatsakis
    • Removed obsolete scripts from Docker images. (#8704) by knatsakis
    • Removed obsolete DEVEL support from Docker images. (#8702) by knatsakis
    • Improved how we publish Docker images by pushing synchronously. (#8701) by knatsakis


    • Enabled internal statistics for the exporting engine in the Agent dashboard. (#8635) by vlvkobal
    • Implemented a Prometheus exporter web API endpoint. (#8540) by vlvkobal


    • Added a certificate revocation alarm for the x509check collector. (#8684) by yasharne
    • Added the ability to send Agent alarm notifications to Dynatrace. (#8476) by illumine


    • Disabled document-start yamllint check. (#8522) by ilyam8
    • Simplified Docker build/publish scripts to support only a single architecture. (#8747) by knatsakis
    • Added Fedora 32 to build checks. (#8417) by Ferroin
    • Added libffi to ArchLinux CI tests as a workaround for an upstream bug. (#8476) by Ferroin


    • Updated main copyright and links for the year 2020 in daemon help output. (#8937) by zack-shoylev
    • Moved bind to to [web] section and update to sync it with recent changes. (#8454) by amishmm
    • Put old dashboard behind a prefix instead of using a script to switch. (#8754) by Ferroin
    • Enabled the truthy rule in yamllint. (#8698) by ilyam8
    • Added Borg backup, Squeezebox servers, Hiawatha web server, and Microsoft SQL to apps.plugin so that it can appropriately group them by type of service. (#8646), (#8655), (#8656), and (#8659) by vlvkobal


    • Add custom label to collectors frontmatter to fix sidebar titles in generated docs site at (#8936) by joelhans
    • Added instructions to persist metrics and restart policy in Docker installations. (#8813) by joelhans
    • Fixed modifier in Nginx guide to ensure correct paths and filenames. (#8880) by slavaGanzin
    • Added documentation for working around Clang build errors. (#8867) by Ferroin
    • Fixed typo in Docker installation instructions. (#8861) by carehart
    • Added Docker instructions to claiming docs. (#8755) by joelhans
    • Capitalized title in streaming doc. (#8712) by zack-shoylev
    • Updated pfSense doc and added warning for apcupsd users. (#8686) by cryptoluks
    • Improved offline installation instructions to point to correct installation scripts and clarify process. (#8680) by IceCodeNew
    • Added missing path to the process of editing charts.d.conf. (#8740) by Jiab77
    • Added combined claiming and ACLK documentation. (#8724) by joelhans
    • Standardized how we link between various Agent-specific documentation. (#8638) by joelhans
    • Pinned mkdocs-material to re-enable Netlify builds of documentation site. (#8639) by joelhans
    • Updated main with v1.21 release news. (#8619) by joelhans
    • Changed references of MacOS to macOS. (#8562) by joelhans

    Bug fixes

    • Fixed kickstart error by removing old cron symlink. (#8849) by prologic
    • Fixed bundling of old dashboard in binary packages. (#8844) by Ferroin
    • Fixed typo in (#8811) by adamwolf
    • Fixed failure output during installations by removing old function call. (#8824) by Ferroin
    • Fixed script to prevent broken package builds. (#8823) by prologic
    • Fixed mdstat failed devices alarm. (#8752) by ilyam8
    • Fixed rare race condition in old Cloud iframe. (#8786) by jacekkolasa
    • Removed no-clear-notification options from portcheck health templates. (#8748) by ilyam8
    • Fixed issue in system-info.shregarding the parsing of lscpu output. (#8754) by Ferroin
    • Fixed old URLs to silence Netlify's mixed content warnings. (#8759) by knatsakis
    • Fixed master streaming fatal exits. (#8780) by thiagoftsm
    • Fixed email authentiation to Cloud/Nodes View. (#8757) by jacekkolasa
    • Fixed non-escaped characters in private registry URLs. (#8757) by jacekkolasa
    • Fixed crash when shutting down an Agent with the ACLK disabled. (#8725) by lassebm
    • Fixed Docker-based builder image. (#8718) by ilyam8
    • Fixed status checks for UPS devices using the apcupsd collector. (#8688) by ilyam8
    • Fixed the build matrix in the build and install GitHub Actions checks. (#8715) by Ferroin
    • Fixed eBPF collector compatibility with the 7.x family of RedHat. (#8694) by thiagoftsm
    • Fixed alarm notification script by adding a check to the Dynatrace notification method. (#8654) by ilyam8
    • Fixed threads_creation_rate chart context in the python.d MySQL collector. (#8636) by ilyam8
    • Fixed errors shown when running on certain Linux systems. (#8606) by ilyam8
    • Fixed sudo check in charts.d libreswan collector to prevent daily security notices. (#8569) by ilyam8
    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.22.0.tar.gz(4.06 MB)
    sha256sums.txt(449 bytes)
  • v1.21.1(Apr 13, 2020)

    Netdata v1.21.1

    Release v1.21.1 is a hotfix release to improve the performance of the new React dashboard, which was merged and enabled by default in v1.21.0.

    The React dashboard shipped in v1.21.0 did not properly freeze charts that were outside of the browser's viewport. If a user who loaded many charts by scrolling through the dashboard, charts outside of their browser's viewport continued updating. This excess of chart updates caused all charts to update more slowly than every second.

    v.1.21.1 includes improvements to the way the Netdata dashboard freezes, maintains state, and restores charts as users scroll.

    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.21.1.tar.gz(4.02 MB)
    sha256sums.txt(449 bytes)
  • v1.21.0(Apr 5, 2020)

    Netdata v1.21.0

    Release v1.21.0 contains 2 new collectors, 3 new exporting connectors, 37 bug fixes, 46 improvements, and 25 documentation updates. We also made 26 bug fixes or improvements related to the upcoming release of Netdata Cloud.

    At a glance

    We added a new collector for Apache Pulsar, a popular open-source distributed pub-sub messaging system. We use Pulsar in our Netdata Cloud infrastructure (more on that later this month!), and are excited to start sharing metrics about our own Pulsar systems when the time comes. The Pulsar collector attempts to auto-detect any running Pulsar processes, but you can always configure the collector based on your setup.

    Also new in v1.21 is a VerneMQ collector. We use the open-source MQ Telemetry Transport (MQTT) broker for Netdata Cloud as well. As with Pulsar, you can configure the VerneMQ collector to auto-detect your installation in just a few steps.

    Our experimental exporting engine received significant updates with new connectors for Prometheus remote write, MongoDB, and AWS Kinesis Data Streams. You can now send Netdata metrics to more than 20 additional external storage providers for long-term archiving and deeper analysis. Learn more about the exporting engine in our documentation.

    We upgraded our TLS compatibility to include 1.3, which applies to HTTPS for both Netdata's web server and streaming connections. TLS 1.3 is the most up-to-date version of the TLS protocol, and contains important fixes and improvements to ensure strong encryption. If you enabled TLS in the web server or streaming, Netdata attempts to use 1.3 by default, but you can also set the version and ciphers explicitly. Learn more in the documentation.

    The Netdata dashboard has been completely re-written in React. While the look and behavior hasn't changed, these under-the-hood changes enable a suite of new features, UX improvements, and design overhauls. With React, we'll be able to work faster and better resource our talented engineers.

    As part of the ongoing work to polish our eBPF collector tech preview, we've now proven the collector's performance is very good, and have vastly expanded the number of operating system versions the collector works on. Learn how to enable it in our documentation. We've also extensively stress-tested the eBPF collector and found that it's impressively fast given the depth of metrics it collects! Read up on our benchmarking analysis on GitHub.


    • Jiab77 for helping remove extra printed \n in various installation methods.
    • SamK for fixing missing folders in /var/ for .deb installations.
    • kevenwyld for improving Netdata's support of RHEL distributions.
    • WoozyMasta for adding in the ability to get Kubernetes pod names with kubectl in bare-metal deployments.
    • paulmezz for adding the ability to to connect to non-admin user IDs when trying to collect metrics from a Ceph storage cluster.
    • ManuelPombo for adding additional charts to our Postgres collector, and anayrat for helping review the changes.
    • Default for adding lsyncd to the backup group in apps.plugin.
    • bceylan, peroxy, toadjaune, grinapo, m-rey, and YorikSar for documentation fixes.

    Breaking changes



    • Extended TLS support for 1.3. (#8505) by thiagoftsm
    • Switched to the React dashboard code as the default dashboard. (#8363) by Ferroin


    • Added a new Pulsar collector. (#8364) by ilyam8
    • Added a new VerneMQ collector. (#8236) by ilyam8
    • Added high precision timer support for plugins such as idlejitter. (#8441) by mfundul
    • Added an alarm to the dns_query collector that detects DNS query failure. (#8434) by ilyam8
    • Added the ability to get the pod name from cgroup with kubectl in bare-metal deployments. (#7416) by WoozyMasta
    • Added the ability to connect to non-admin user IDs for a Ceph storage cluster. (#8276) by paulmezz
    • Added connections (backend) usage to Postgres monitoring. (#8126) by ManuelPombo
    • eBPF: Added support for additional Linux kernels found in Debian 10.2 and Ubuntu 18.04. (#8192) by thiagoftsm


    • Added missing override for Ubuntu Eoan. (#8547) by prologic
    • Added Docker build arguments to pass extra options to Netdata installer. (#8472) by Ferroin
    • Added deferred error message handling to the installer. (#8381) by Ferroin
    • Fixed cosmetic error checking for CentOS 8 version in (#8339) by prologic
    • Added various fixes and improvements to the installers. (#8315) by Ferroin
    • Migrated to installing only Python 3 packages during installation. (#8318) by Ferroin
    • Improved support for RHEL by not installing the CUPS plugin when v1.7 of CUPS cannot be installed. (#7216) by kevenwyld
    • Added support for Clear Linux in (#8154) by Ferroin
    • Removed Fedora 29 from CI and packaging. (#8100) by Ferroin
    • Removed Ubuntu 19.04 from CI and packaging. (#8040) by Ferroin
    • Removed OpenSUSE Leap 15.0 from CI. (#7990) by Ferroin


    • Added a MongoDB connector to the exporting engine. (#8416) by vlvkobal
    • Added a Prometheus Remote Write connector to the exporting engine. (#8292) by vlvkobal
    • Added an AWS Kinesis connector to the exporting engine. (#8145) by vlvkobal


    • Fixed typo in main (#8547) by bceylan
    • Updated the update instructions with per-method details. (#8394) by joelhans
    • Updated paragraph on (#8347) by prologic
    • Added Patti's dashboard video to the documentation. (#8385) by joelhans
    • Fixed go.d modules in the (#8380) by ilyam8
    • Added frontmatter to all documentation in bulk. (#8354) and (#8372) by joelhans
    • Fixed MDX parsing in installation guide. (#8362) by joelhans
    • Fixed typo in eBPF documentation. (#8360) by ilyam8
    • Fixed links in packaging/installer to work on GitHub and docs. (#8319) by joelhans
    • Fixed typo in main (#8335) by peroxy
    • Removed mention saying that .deb packages are experimental. (#8250) by toadjaune
    • Added standards for abbreviations/acronyms to docs style guide. (#8313) by joelhans
    • Tweaked eBPF documentation, and added performance data. (#8261) by joelhans
    • Added requirements for the exim collector. (#8096) by petarkozic
    • Fixed misspelling of openSUSE and SUSE. (#8233) by m-rey
    • Added OpenGraph tags to documentation pages. (#8224) by joelhans
    • Fixed typo in custom dashboard documentation. (#8213) by shortpatti
    • Removed extra asterisks in main README. (#8193) by grinapo
    • Added eBPF README to documentation navigation and improved page title. (#8191) by joelhans
    • Fixed figure+image without closing tag in new documentation. (#8177) by joelhans
    • Corrected instructions for running Netdata behind Apache. (#8169) by cakrit
    • Added PR title guidelines to the contribution guidelines to make more meaningful. (#8150) by cakrit
    • Fixed formatting in Custom dashboards documentation. (#8102) by YorikSar
    • Updated the manual install documentation with better information about CentOS 6. (#8088) by Ferroin
    • Added tutorials to support v1.20 release (#7943) by joelhans


    • Added logic to bail early on LWS build if cmake is not present. (#8559) by Ferroin
    • Added python.d configuration files to YAML linting CI process and increase line limit to 120 characters. (#8541) and (#8542) by ilyam8
    • Cleaned up GitHub Actions workflows. (#8383) by Ferroin
    • Migrated tests from Travis CI to Github Workflows. (#8331) by prologic
    • Covered with Coverity scan. (#8388) by prologic
    • Added support for cross-host docker-compose builds. (#7754) by amoss
    • Reconfigured Travis CI to retry transient failures on lifecycle tests. (#8203) by prologic
    • Switched to [email protected] in GitHub Actions. (#8170) by ilyam8


    • Added lsyncd to the backup group in apps.plugin. (#8159) by Default

    Netdata Cloud

    • Fixed compiler warnings in the claiming code. (#8567) by vlvkobal
    • Fixed regressions in cloud functionality (build, CI, claiming). (#8568) by underhood
    • Switched over to soft feature flag. (#8545) by amoss
    • Improved claiming behavior to run as netdata user by default, or override if necessary. (#8516) by amoss
    • Updated the info endpoint for Cloud notifications. (#8519) by amoss
    • Added correct error logging for ACLK challenge/response. (#8538) by stelfrag
    • Cleaned up Cloud configuration files to move [agent_cloud_link] settings to [cloud]. (#8501) by underhood
    • Enhanced ACLK header payload to include timestamp-offset-usec. (#8499) by stelfrag
    • Added ACLK build failures to anonymous statistics. (#8429) by underhood
    • Added ACLK connection failures to anonymous statistics. (#8456) by underhood
    • Added HTTP proxy support to ACLK. (#8406)/(#8418) by underhood
    • Improved ownership of the claim.d directory. (#8475) by amoss
    • Fixed the ACLK response payload to match the new specification. (#8420) by stelfrag
    • Added the new cloud info in the info endpoint. (#8430) by amoss
    • Implemented ACLK Last Will and Testament. (#8410) by stelfrag
    • Fixed JSON parsing in ACLK. (#8426) by stelfrag
    • Fixed outstanding problems in claiming and add SOCKS5 support. (#8406)/(#8404) by amoss and underhood
    • Fixed the type value for alarm updates in the ACLK. (#8403) by stelfrag
    • Improved performance of ACLK. (#8399)/(#8401) by amoss
    • Improved the ACLK's agent "pop-corning" phase. (#8398) by stelfrag
    • Improved ACLK according to results of the smoke-test. (#8358) by amoss and underhood
    • Added code to bundle LWS in binary packages. (#8255) by Ferroin
    • Added libwebsockets files to make dist. (#8275) by Ferroin
    • Adapted the claiming script to new API responses. (#8245) by hmoragrega
    • Fixed claiming script to reflect Netdata Cloud API changes. (#8220) by cosmix
    • Added libwebsockets bundling code to (#8144) by Ferroin

    Bug fixes

    • Removed notifications from the dashboard and fixed the /default.html route. (#8599 by jacekkolasa
    • Fixed help-tooltips styling, private registry node deletion, and the right-hand sidebar "jumping" on document clicks. (#8553 by jacekkolasa
    • Fixed errors reported by Coverity. (#8593) by thiagoftsm, (#8579) by amoss, and (#8586) by thiagoftsm
    • Added netdata.service.* to .gitignore to hide system/netdata.service.v235 file. (#8556) by vlvkobal
    • Fixed Debian 8 (Jessie) support. (#8590) and (#8593) by prologic
    • Fixed broken Fedora 30/31 RPM builds. (#8572) by prologic
    • Fixed broken pipe ignoring in apps.plugin. (#8554) by vlvkobal
    • Fixed the bytespersec chart context in the Python Apache collector. (#8550) by ilyam8
    • Fixed charts.d.plugin to exit properly during Netdata service restart. (#8529) by ilyam8
    • Fixed minimist dependency vulnerability. (#8537) by jacekkolasa
    • Fixed our Debian/Ubuntu packages to package the expected systemd unit files. (#8468) by prologic
    • Fixed auto-updates for static ( installs. (#8507) by prologic
    • Fixed openSUSE 15.1 RPM package builds. (#8494) by prologic
    • Fixed how SimpleService truncates Python module names. (#8492) by ilyam8
    • Removed erroneous \n in uninstaller output. (#8446) by prologic
    • Fixed install-required-packages script to self-update apt. (#8491) by prologic
    • Added proper prefix to Python module names during loading. (#8474) by ilyam8
    • Fixed how the Netdata updater script cleans up after being run. (#8414) by prologic
    • Fixed the flushing error threshold with the database engine. (#8425) by mfundul
    • Fixed memory leak for host labels streaming from slaves to master. (#8460) by thiagoftsm
    • Fixed support for uninstalling the eBPF collector in the uninstaller. (#8444) by prologic
    • Fixed a bug involving stop_all_netdata uv_pipe_connect() in the installer. (#8444) by prologic
    • Fixed installer output regarding newlines. (#8447) by prologic
    • Fixed broken dependencies for Ubuntu 19.10. (#8397) by prologic
    • Fixed streaming scaling. (#8375) by mfundul
    • Fixed missing characters in kernel version field by encoding slave fields. (#8216) by thiagoftsm
    • Fixed installation for Ubuntu 14.04 (#7690) by Ehekatl
    • Fixed dependencies for Debian Jessie. (#8290) by Ferroin
    • Fixed dependency names for Arch Linux. (#8334) by Ferroin
    • Removed extra printed \n in various installers. (#8324)/(#8325)/(#8326) by Jiab77
    • Fixed missing folders in /var/ for .deb packages. (#8314) by SamK
    • Fixed Ceph collector to get osd_perf_infos in versions 14.2 and higher. (#8248) by ilyam8
    • Fixed RHEL / CentOS 8.x dependencies for Judy-devel and others.(#8202) by prologic
    • Removed extraneous commas from chart information in dashboard. (#8266) by FlyingSixtySix
    • Removed tmem collection from xenstat_plugin to allow Netdata on Xen 4.13 to compile successfully. (#7951) by rushikeshjadhav
    • Fixed get_latest_version for nightly channel update script. (#8172) by ilyam8
    • Restricted messages to Google Analytics. (#8161) by thiagoftsm
    • Fixed Python 3 dict access in OpenLDAP collector module. (#8162) by Mic92
    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.21.0.tar.gz(4.02 MB)
    sha256sums.txt(449 bytes)
  • v1.20.0(Feb 20, 2020)

    Netdata v1.20.0

    Release v1.20.0 contains 3 new collectors, 54 bug fixes, 89 improvements, and 38 documentation updates.

    At a glance

    Our first major release of 2020 comes with an alpha version of our new eBPF collector. eBPF (extended Berkeley Packet Filter) is a virtual bytecode machine, built directly into the Linux kernel, that you can use for advanced monitoring and tracing.

    With this release, the eBPF collector monitors system calls inside your kernel to help you understand and visualize the behavior of your file descriptors, virtual file system (VFS) actions, and process/thread interactions. You can already use it for debugging applications and better understanding how the Linux kernel handles I/O and process management.

    The eBPF collector is in a technical preview, and doesn't come enabled out of the box. If you'd like to learn more about_why_ eBPF metrics are such an important addition to Netdata, see our blog post: Linux eBPF monitoring with Netdata. When you're ready to get started, enable the eBPF collector by following the steps in our documentation.

    This release also introduces host labels, a powerful new way of organizing your Netdata-monitored systems. Netdata automatically creates a handful of labels for essential information, but you can supplement the defaults by segmenting your systems based on their location, purpose, operating system, or even when they went live.

    You can use host labels to create alarms that apply only to systems with specific labels, or apply labels to metrics you archive to other databases with our exporting engine. Because labels are streamed from slave to master systems, you can now find critical information about your entire infrastructure directly from the master system.

    Our host labels tutorial will walk you through creating your first host labels and putting them to use in Netdata's other features.

    Finally, we introduced a new CockroachDB collector. Because we use CockroachDB internally, we wanted a better way of keeping tabs on the health and performance of our databases. Given how popular CockroachDB is right now, we know we're not alone, and are excited to share this collector with our community. See our tutorial on monitoring CockroachDB metrics for set-up details.

    We also added a new squid access log collector that parses and visualizes requests, bandwidth, responses, and much more. Our apps.plugin collector has new and improved way of processing groups together, and our cgroups collector is better at LXC (Linux container) monitoring.

    Speaking of collectors, we revamped our collectors documentation to simplify how users learn about metrics collection. You can now view a collectors quickstart to learn the process of enabling collectors and monitoring more applications and services with Netdata, and see everything Netdata collects in our supported collectors list.


    We're extremely grateful to the following contributors for their help since our last major release in November 2019. Whether it's their first or fiftieth contribution, insights from our users not only help make Netdata better, but also remind us why we're so lucky to be part of a vibrant open-source community.

    • k0ste and DefauIt for improving the application groups of the apps plugin.
    • gmeszaros for a fix to the broken updater.
    • blaines for an elastisearch collector fix.
    • stevenh for adding freeipmi support to our Docker image and lassebm for related fixes and documentation.
    • yasharne for helping us improve the httpcheck collector.
    • candrews for the introduction of -fno-common in CFLAGS.
    • Jiab77 for fixing a typo in the installer options.
    • amishmm for improvements to the systemd service files.
    • tnyeanderson for continuing to improve his multi-host sample dashboard.
    • yasharne and especially schneiderl for corrections to the docs.
    • lucasRolff for improvements to the litespeed collector.
    • Ehekatl for the improvements to the Prometheus remote write API and the fix to thesoftnet alarm.
    • wonsangki for translating several docs into Korean.
    • candrews for fixing the option to disable the Prometheus remote API from configure.
    • kkoomen for improvements to the Apache proxy guide.
    • vzDevelopment for assistance with the unicode support in the python.d plugin.
    • hexchain for the addition of pressure stall information to the proc plugin.
    • nabijaczleweli and rex4539 for documentation fixes.

    Breaking Changes

    • Removed deprecated bash collectors apache, cpu_apps, cpufreq, exim, hddtemp, load_average, mem_apps, mysql, nginx, phpfpm, postfix, squid, tomcat #7962 (ilyam8). If you were still using one of these collectors with custom configurations, you can find the new collector that replaces it in the supported collectors list.
    • Modified the Netdata updater to prevent unecessary updates right after installation and to avoid updates via local tarballs #7939 (prologic). These changes introduced a critical bug to the updater, which was fixed via #8057 #8076 (prologic) and #8028 (gmeszaros). See issue 8056 if your Netdata is stuck on v1.19.0-432.


    Host Labels

    New Collectors

    • eBPF kernel collector #7979 (thiagoftsm) #8075 (prologic)
    • CockroachDB (go.d.plugin #322)
    • squidlog: squid access log parser (go.d.plugin #304)

    Collector improvements

    • apps.plugin
    • varnish: Added SMF metrics (cache on disk) #7926 (ilyam8)
    • phpfpm: Fixed per process chart titles and readme #7876 (ilyam8)
    • python.d: Formatted the code in all modules #7832 (ilyam8)
    • node.d/snmp: - Added snmpv3 support #7802 (ilyam8) - Formatted the code in snmp.node.js #7816 (ilyam8)
    • cgroups: Improved LXC monitoring by filtering out irrelevant LXC cgroups #7760 (vlvkobal)
    • litespeed: Added support for different .rtreport format #7705 (lucasRolff)
    • freeipmi: Added support to the docker image #7081 (stevenh)
    • proc.plugin: Added pressure stall information #7209 #7547 (hexchain)
    • sensors: Improved collection logic #7447 (ilyam8)
    • proc: Started monitoring network interface speed, duplex, operstate #7395 (stelfrag)
    • smartd_log: Fixed the setting in the reallocated sectors count, by setting ATTR5 chart algorithm to absolute #7384 (ilyam8)
    • nvidia-smi: Allow executing nvidia-smi in normal instead of loop mode #7372 (ilyam8)
    • wmi: collect logon metrics, collect logical_disk disk latency metrics
    • weblog: handle MKCOL, PROPFIND, MOVE, SEARCH http request methods
    • scaleio: storage pools and sdcs metrics. (#294)

    Exporting Engine

    • Implemented the main flow for the Exporting Engine #7149 (vlvkobal)



    • Fixed missing directory when creating the symbolic link during eBPF installation and remove future options. #8133 (prologic)
    • Fixed NetData installer on *BSD systems after libmosquitto and eBPF functionality was enabled. #8121 (prologic)
    • Fixed issues with the RPM nightly builds resulting from the bundled libmosquitto functionality that was recently merged. #8109 (Ferroin)
    • Corrected the invocations of mktemp so that they produce temporary directories in $TEMPDIR instead of the current directory, in a way that is compatible with busybox. #8066 (Ferroin)
    • Improved CI/CD workflow to install required packages and build the agent across all the OS/Distro(s) we support #7969 #7949 (prologic)
    • Updated the installer to download go.d.plugin, only if we have a new version #7946 (ilyam8)
    • Assorted cleanup items in the RPM spec file. #7927 (Ferroin)
    • Added a new, simpler, Alpine based Dockerfile for quick dev and testing #7914 (prologic)
    • Added minor fixes and improvements to the installer/updater shell scripts. #7847 (prologic)
    • Added ReviewDog CI checks
    • Stopped removing netdata groups/users during uninstall (Debian postrm) #7817 (prologic)
    • Started using the system service manager to shut down Netdata. #7814 (Ferroin)
    • Improved the systemd service files, by removing unecessary ExecStartPre lines and moving global options to netdata.conf #7790 (amishmm)
    • Removed unnessecary echo calls from the updater. #7783 (Ferroin)
    • Fixed warnings in the Debian package build process and enabled the builds to work with older versions of dpkg-buildpackage by modifying the formatting of the trailer line in the Debian changelog template. #7763 (Ferroin)
    • Cleaned up static build process, by using /bin/sh and removing use of sudo #7725 (prologic)
    • Added auto-updates to kickstart-static64 installations. #7704 (Ferroin)
    • Added static build support for Prometheus remote write #7691 (Ehekatl)
    • Moved the script for installing required packages into the main repo. #7563 (Ferroin)
    • Updated the distribution support matrix. #7636 (Ferroin)
    • Added Ubuntu 19.10 to packaging and lifecycle checks. #7629 (Ferroin
    • Removed EOL distros from CI jobs. #7628 (Ferroin)
    • Made the netdata installer more flexible, to accommodate install with ssl on MacOS #6922 (paulkatsoulakis)
    • Improved shutdown of the Netdata agent on update and uninstall. #7595 (Ferroin)
    • Added Fedora 31 CI integrations. #7524 (Ferroin)
    • Removed CentOS 6 package building and lifecycle tests #7425 (knatsakis), #7430 (ncmans)
    • Removed -f option from groupdel in uninstaller. #7507 (Ferroin)
    • Injected archived backports repository on Debian Jessie for CI package builds. #7495 (Ferroin)
    • Set the default release channel to stable #7399 (ncmans)
    • Removed EOL'd Ubuntu Trusty (14.04) from build #7481 (ncmans)
    • Corrected installer instructions during a non-privileged install #7393 (julidegulen)



    • Added support for opting out of telemetry via the DO_NOT_TRACK environment variable #7846 #7929 (prologic)
    • Fixed typo in the installer options to disable telemetry #7843 (Jiab77)
    • Improved documentation of opting out of anonymous statistics #7597 (joelhans)
    • Added anon tracking notice for installers #7437 (ncmans)


    Bug fixes

    • Fixed problems reported by Coverity for eBPF collector plugin. #8135 (thiagoftsm)
    • Fixed invalid literal for float\(\): NN.NNt error in the elasticsearch python plugin, by adding terabyte unit parsing. #8013 (blaines)
    • Fixed timeout failing in docker containers which broke some python.d collectors #8002 (ilyam8)
    • Fixed python collectors to work on synology6 #7980 (ilyam8)
    • Fixed problem with the httpcheck python collector not being able to check URLs with the POST method, by adding body to the URLService #7956 (ilyam8). Also record the new options in httpcheck.conf #7952 (yasharne)
    • Fixed appearing to fail #7955 (ilyam8)
    • Fixed error/warnings found by shellcheck for the #7938 (prologic)
    • Fixed editing configuration via edit-config, when NetData is installed to a symlinked /opt #7933 (prologic)
    • Fixed installation failures due to .keep files #7829 (prologic)
    • Fixed installation on FreeBSD systems with non GNU sed #7796 (prologic)
    • Fixed Source0 URL in RPM spec #7794 (prologic)
    • Fixed text if current version is >= latest version and already installed #8078 (prologic)
    • Fixed CentOS 7 RPM build failures. #7993 (Ferroin)
    • Fixed wrong messages during the build process #7989 (Ferroin)
    • Fixed the unit tests for the exporting engine #7784 (vlvkobal)
    • Fixed a Coverity issue with an unchecked return value #7780 (vlvkobal)
    • Fixed port in use after uninstall issue, by resolving a libuv IPC pipe cleanup problem #7778 (mfundul)
    • Fixed dbengine repeated global flushing errors and collectors being blocked, by dropping dirty dbengine pages if the disk cannot keep up #7777 (mfundul)
    • Fixed issue with alarm notifications occasionally ignoring the configured severity filter when the ROLE was set to root. #7769 (thiagoftsm)
    • Fixed Netlink Connection Tracker charts in the nfacct plugin #7727 (vlvkobal)
    • Fixed support for read-only /lib on SystemD systems like CoreOS in static build installation #7726 (prologic)
    • Fixed invalid shell installer error and netdata not starting from its installed location. #7698 (Ferroin)
    • Fixed metric values sent via remote write to Prometheus backends, when using average/sum #7694 (Ehekatl)
    • Fixed unclosed brackets in softnet alarm #7693 (Ehekatl)
    • Fixed SEGFAULT when localhost initialization failed #7663 (underhood)
    • Fixed the handling of permissions in the installer script and the RPM spec file so that theya re consistent with each other and with a clean install done with make install. #7632 (Ferroin)
    • Reduced the number of broken pipe error log entries, after a SIGKILL #7588 (thiagoftsm)
    • Fixed a syntax error in the packaging functions. #7686 (Ferroin)
    • Fixed Coverity errors by restoring support for protobuf 3.0 #7683 (vlvkobal)
    • Fixed inability to disable Prometheus remote API #7674 (candrews)
    • Fixed SEGFAULT from the cpuidle plugin #7664 (Saruspete)
    • Fixed samba collector not working, due to inability to run sudo #7655 (ilyam8)
    • Fixed invalid css/js resource errors when URL for slave node has no final / on streaming master #7643 (underhood)
    • Fixed keys_redis chart in the redis collector, by populating keys at runtime #7639 (ilyam8)
    • Fixed UrlService bytes decoding and logger unicode encoding in the python.d plugin #7601 #7614 (ilyam8), #7376 (vzDevelopment)
    • Fixed a warning in the prometheus remote write backend #7609 (vlvkobal)
    • Fixed not detecting more than one adapter in the hpssa collector #7580 (gnoddep)- Fixed race condition in dbengine #7565 (thiagoftsm)
    • Fixed race condition with the dbenging page cache descriptors #7478 (mfundul)
    • Fixed dbengine dirty page flushing warning #7469 (mfundul)
    • Fixed missing parenthesis on alarm softnet.conf #7476 (Steve8291)
    • Fixed race condition in the dbengine #7533 (mfundul)
    • Fixed "Master thread EXPORTING takes too long to exit. Giving up" error, by cleaning up the main exporting engine thread on exit #7558 (vlvkobal)
    • Fixed rabbitmq error "update() unhandled exception: invalid literal for int() with base 10" #7464 (ilyam8)
    • Fixed some LGTM alerts #7441 (jacekkolasa)
    • Fixed valgrind errors #7532 (mfundul)
    • Fixed monit collector LGTM warnings (#7387 (ilyam8)
    • Fixed the following go.d.plugin collector issues: - mysql: panic in Cleanup (#326) - unbound: gather metrics via unix socket (#319) - logstash: pipelines chart (#317) - unbound: configuration file parsing. Support include mechanism. (#298) - logstash: pipelines metrics parsing (#293) - phpfpm: processes metrics parsing (#297)
    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.20.0.tar.gz(3.87 MB)
    sha256sums.txt(449 bytes)
  • v1.19.0(Nov 27, 2019)

    Netdata v1.19.0

    Release v1.19.0 contains 2 new collectors, 19 bug fixes, 17 improvements, and 19 documentation updates.

    At a glance

    We completed a major rewrite of our web log collector to dramatically improve its flexibility and performance. The new collector, written entirely in Go, can parse and chart logs from Nginx and Apache servers, and combines numerous improvements. Netdata now supports the LTSV log format, creates charts for TLS and cipher usage, and is amazingly fast. In a test using SSD storage, the collector parsed the logs for 200,000 requests in about 200ms, using 30% of a single core.

    This Go-based collector also has powerful custom log parsing capabilities, which means we're one step closer to a generic application log parser for Netdata. We're continuing to work on this parser to support more application log formatting in the future.

    We have a new tutorial on enabling the Go web log collector and using it with Nginx and/or Apache access logs with minimal configuration. Thanks to Wing924 for starting the Go rewrite!

    We introduced more cmocka unit testing to Netdata. In this release, we're testing how Netdata's internal web server processes HTTP requests—the first step to improve the quality of code throughout, reduce bugs, and make refactoring easier. We wanted to validate the web server's behavior but needed to build a layer of parametric testing on top of the CMocka test runner. Read all about our process of testing and selecting cmocka on our blog post: Building an agile team's 'safety harness' with cmocka and FOSS.

    Netdata's Unbound collector was also completely rewritten in Go to improve how it collects and displays metrics. This new version can get dozens of metrics, including details on queries, cache, uptime, and even show per-thread metrics. See our tutorial on enabling the new collector via Netdata's amazing auto-detection feature.

    We fixed an error where invalid spikes appeared on certain charts by improving the incremental counter reset/wraparound detection algorithm.

    Netdata can now send health alarm notifications to IRC channels thanks to Strykar!

    And, Netdata can now monitor AM2320 sensors, thanks to hard work from Tom Buck.


    Our thanks go to:

    • andyundso for fixing the packagecloud binary installation in Debian 8.
    • Strykar for adding support IRC health notifications.
    • tommybuck for the new AM2320 sensors collector.
    • Saruspete for the new ability to provide metrics on fragmentation of free memory pages.
    • OdysLam for improving the documentation for new collector plugins.
    • k0ste, xginn8 and nodiscc for improving the configuration of the apps plugin.
    • amichelic for improving the web_log collector.
    • cherouvim, arkamar, half-duplex and CtrlAltDel64 for improving the documentation.
    • mniestroj for the fix to the dbengine compilation with musl standard C.
    • arkamar for an improvement to the xenstat collector.
    • vakartel for improving the cgroup network interfaces detection in Proxmox 6.


    New Collectors

    Collector improvements

    • We rewrote our web log parser in Go, drastically improving its flexibility and performance. go.d.plugin/#141 (ilyam8)
    • The Kubernetes kubelet collector now reads the service account token and uses it for authorization. We also added a new default job to collect metrics from https://localhost:10250/metrics. go.d.plugin/#285
    • Added a new default job to the Kubernetes coredns collector to collect metrics from http://kube-dns.kube-system.svc.cluster.local:9153/metrics. go.d.plugin/#285
    • apps.plugin: Synced FRRouting daemons configuration with the frr 7.2 release. #7333 (k0ste)
    • apps.plugin: Added process group for git-related processes. #7289 (nodiscc) -apps.plugin: Added balena to the container-engines application group. #7287 (xginn8)
    • web_log: Treat 401 Unauthorized requests as successful. #7256 (amichelic)
    • xenstat.plugin: Prepare for xen 4.13 by checking for check xenstat_vbd_error presence. #7103 (arkamar)
    • mysql: Added galera cluster_status alarm. #6989 (ilyam8)

    Metrics Database

    • Netdata generates alarms if the disk cannot keep up with data collection. #7139 (mfundul)


    • Fine tune various default alarm configurations. #7322 (Ferroin)
    • Update SYN cookie alarm to be less aggressive. #7250 (Ferroin)
    • Added support for IRC alarm notifications #7148 (Strykar)


    • Corrected the files indentation, to prevent unexpected errors. #7252 (knatsakis)
    • Rationalized ownership and permissions of /etc/netdata. #7244 (knatsakis)
    • Made various improvements to the installer script #7200 (knatsakis)
    • Include go.d.plugin version v0.11.0 #7365 (ilyam8)


    • Correct versions of FreeNAS that Netdata is available on. #7355 (knatsakis)
    • Update plugins.d/ #7335 (OdysLam)
    • Note regarding stable vs nightly was accidentally being shown as a code fragment in the installation documentation. #7330 (cakrit)
    • Properly link to translated documents from #7343 (cakrit)
    • Update documentation of the netdata-updater, to properly cover and installations. #7262 (knatsakis)
    • Converted the swagger documentation to OpenAPI3.0. #7257 (amoss)
    • Minor corrections to the netdata installer documentation. #7246 (paulkatsoulakis)
    • Fix typo in collectors README. #7242 (cherouvim)
    • Clarified database engine/RAM in getting started guide. #7225 (joelhans)
    • Suggest using /var/run/netdata for the unix socket, in running behind nginx documentation. #7206 (CtrlAltDel64)
    • Added GA links to new documents. #7194 (joelhans)
    • Added a page for metrics archiving to TimescaleDB. #7180 (joelhans)
    • Fixed typo in the contrib/debian descriptions for cupsd. #7154 (arkamar)
    • Added user information to MySQL Python module documentation. #7128 (prhomhyse)
    • Document the results of the spike investigation into CMake. #7114 (amoss)
    • Fix to docker-compose+Caddy installation. #7088 (joelhans)
    • Fixed broken links and added setup instructions for Telegram health notifications. #7033 (half-duplex)
    • Minor grammar change in /web/gui documentation #7363 (eviemsrs)


    Bug fixes

    • Fixed packagecloud binary installation in Debian 8. #7342 (andyundso)
    • Fixed missing libraries in certain compilations, by adding missing trailing backslash to #7326 (oxplot)
    • Prevented freezes due to isolated CPUs. #7318 (stelfrag)
    • Fixed missing streaming when slave has SSL activated. #7306 (thiagoftsm)
    • Fixed error 421 in IRC notifications, by removing a line break from the message. #7243 (thiagoftsm)
    • proc/pagetypeinfo collection could under particular circumstances cause high CPU load. As a workaround, we disabled pagetypeinfo by default. #7230 (vlvkobal)
    • Fixed incorrect memory allocation in proc plugin’s pagetypeinfo collector. #7187 (thiagoftsm)
    • Eliminated cached responses from the postgres collector. #7228 (ilyam8)
    • rabbitmq: Fixed "disk_free": "disk_free_monitoring_disabled" error. #7226 (ilyam8)
    • Fixed build with musl standard C library by including limits.h before using LONG_MAX. #7224 (mniestroj)
    • Fixed Apache module not working with letsencrypt certificate by allowing the python UrlService to skip tls_verify for http scheme. #7223 (ilyam8)
    • Fixed invalid spikes appearing in certain charts, by improving the incremental counter reset/wraparound detection algorithm. #7220 (mfundul)
    • Fixed DNS-lookup performance issue on FreeBSD. #7132 (amoss)
    • Fixed handling of the stable option, so that the installers and automatic updater respect it. #7083 (knatsakis), #7051 (oxplot)
    • Fixed handling of the static binary installer’s handling of the --auto-update option. #7076 (knatsakis)
    • Fixed cgroup network interfaces classification on Proxmox 6. #7037 (vakartel)
    • Added missing dbengine flags to the installer. #7027 (paulkatsoulakis)
    • Fixed issue with unknown variables in alarm configuration expressions always being evaluated to zero. #6984 (thiagoftsm)
    • Fixed issue of automatically picking up Pi-hole stats from a Pi-hole instance installed on another device by disabling the default job that collects metrics from http://pi.hole. go.d.plugin 289 (ilyam8)
    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.19.0.tar.gz(3.74 MB)
    sha256sums.txt(449 bytes)
  • v1.18.1(Oct 18, 2019)

    Netdata v1.18.1

    Release v1.18.1 contains 17 bug fixes, 5 improvements, and 5 documentation updates.

    At a glance

    Patch release 1.18.1 contains several bug fixes, mainly related to FreeBSD and the binary package generation process.

    Netdata can now send notifications to Google Hangouts Chat!

    On certain systems, the slabinfo plugin introduced in v1.18.0 added thousands of new metrics. We decided the collector's usefulness to most users didn't justify the increase in resource requirements. This release disables the collector by default.

    Finally, we added a chart under Netdata Monitoring to present a better view of the RAM used by the database engine (dbengine). The chart doesn't currently take into consideration the RAM used for slave nodes, so we intend to add more related charts in the future.


    We'd like to thank:

    • hendrikhofstadt for the Google Hangouts notifications
    • stevenh for the awesome zombie process reaper and the fix for the freeipmi collector
    • samm-git for the addition of the VMware VMXNET3 driver to the default interfaces list for FreeBSD
    • sz4bi for a documentation fix


    • Disable slabinfo plugin by default to reduce the total number of metrics collected #7056 (vlvkobal)
    • Add dbengine RAM usage statistics #7038 (mfundul)
    • Support Google Hangouts chat notifications #7013 (hendrikhofstadt)
    • Add CMocka unit tests #6985 (vlvkobal)
    • Add prerequisites to enable automatic updates for installations via the static binary ( #7060 (knatsakis)


    Bug fixes

    • Fix unbound collector timings: Convert recursion timings to milliseconds. #7121 (Ferroin)
    • Fix unbound collector unhandled exceptions #7112 (ilyam8)
    • Fix upgrade path from v1.17.1 to v1.18.x for deb packages #7118 (knatsakis)
    • Fix CPU charts in apps plugin on FreeBSD #7115 (vlvkobal)
    • Fix megacli collector binary search and sudo check #7108 (ilyam8)
    • Fix missing packages, by running the triggers for DEB and RPM package build in separate stages #7105 (knatsakis)
    • Fix segmentation fault in FreeBSD when statsd is disabled #7102 (vlvkobal)
    • Fix Clang warnings #7090 (thiagoftsm)
    • Fix python.d error logging: change chart suppress msg level from ERROR to INFO #7085 (ilyam8)
    • Fix freeipmi update frequency check: was warning that 5 was too frequent and it was setting it to 5. #7078 (stevenh)
    • Fix alarm configurations not getting loaded, via better handling of chart names with special characters #7069 (thiagoftsm)
    • Fix dbengine not working when mmap fails - mostly with BSD kernels #7065 (mfundul)
    • Fix FreeBSD issue due to incorrect size of a zeroed block #7061 (vlvkobal)
    • Don't write HTTP response 204 messages to the logs #7035 (vlvkobal)
    • Fix build when CMocka isn't installed #7129 (vlvkobal)
    • FreeBSD plugin: Add VMware VMXNET3 driver to the default interfaces list #7109 (samm-git)
    • Prevent zombie processes when a child is re-parented to netdata when its running in a container , by adding child process reaper #7059 (stevenh)
    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.18.1.tar.gz(3.72 MB)
    sha256sums.txt(449 bytes)
  • v1.18.0(Oct 10, 2019)

    Netdata v1.18.0

    Release v1.18.0 contains 5 new collectors, 19 bug fixes, 28 improvements, and 20 documentation updates.

    At a glance

    The database engine is now the default method of storing metrics in Netdata. You immediately get more efficient and configurable long-term metrics storage without any work on your part. By saving recent metrics in RAM and "spilling" historical metrics to disk for long-term storage, the database engine is laying the foundation for many more improvements to distributed metrics.

    We even have a tutorial on switching to the database engine and getting the most from it. Or, just read up on how performant the database engine really is.

    Both our python.d and go.d plugins now have more intelligent auto-detection by periodically dump a list of active modules to disk. When Netdata starts, such as after a reboot, the plugins use this list of known services to re-establish metrics collection much more reliably. No more worrying if the service or application you need to monitor starts up minutes after Netdata.

    Two of our new collectors will help those with Hadoop big data infrastructures. The HDFS and Zookeeper collection modules come with essential alarms requested by our community and Netdata's auto-detection capabilities to keep the required configuration to an absolute minimum. Read up on the process via our HDFS and Zookeeper tutorial.

    Speaking of new collectors—we also added the ability to collect metrics from SLAB cache, Gearman, and vCenter Server Appliances.

    Before v1.18, if you wanted to create alarms for each dimension in a single chart, you need to write separate entities for each dimension—not very efficient or user-friendly. New dimension templates fix that hassle. Now, a single entity can automatically generate alarms for any number of dimensions in a chart, even those you weren't aware of! Our tutorial on dimension templates has all the details.

    v1.18 brings support for installing Netdata on offline or air-gapped systems. To help users comply with strict security policies, our installation scripts can now install Netdata using previously-downloaded tarball and checksums instead of downloading them at runtime. We have guides for installing offline via or in our installation documentation. We're excited to bring real-time monitoring to once-inaccessible systems!


    Our thanks go to:


    Database engine

    New Collectors

    Collector improvements

    • rabbitmq: Add vhosts message metrics from /api/vhosts #6976 (ilyam8)
    • elasticsearch: collect metrics from _cat/indices #6965 (ilyam8)
    • mysql: collect galera cluster metrics #6962 (ilyam8)
    • Allow configuration of the python.d launch command from netdata.conf #6781 (amoss)
    • x509check: smtp cert check support (
    • dnsmasq_dhcp: respect conf-dir,conf-file,dhcp-host options (
    • plugin: respect previously running jobs after plugin restart (
    • httpcheck: add current state duration chart ( )
    • springboot2: fix context (


    • Enable alarm templates for chart dimensions #6560 (thiagoftsm)
    • Center the chart on the proper chart and time whenever an alarm link is clicked #6391 (thiagoftsm)



    • Add Portuguese (Brazil) translation of the installation instructions #16(lets00), #7004 (cakrit)
    • Fix broken links found via linkchecker #6983 (joelhans)
    • Clarification on configuring notification recipients #6961 (cakrit)
    • Fix Remark Lint for READMEs in database #6942, contrib #6921, daemon README #6920 and backends #6917 (prhomhyse)
    • Suggest using /run or /var/run for the unix socket #6916 (cakrit)
    • Improve documentation for the SNMP collector #6915 (cakrit)
    • Update docs for offline install #6884 (paulkatsoulakis)
    • Remove Dollar sign from Bash code in documentation and fix remark-lint warnings #6880 (prhomhyse)
    • Markdown syntax fixes for MDX parser #6877 (joelhans)
    • Update python.d module checklist to match the current paths and build system. #6874 (Ferroin)
    • Add instructions for simple SMTP transport #6870 (cakrit)
    • Add example for prometheus archiving source parameter #6869 (cakrit)
    • Fix broken links in the standard web dashboard doc #6854 (prhomhyse)
    • Overhaul of Getting started guide #6811 (joelhans)
    • NPM Packages version update #6801 (prhomhyse)
    • Update suggested grep command in “high performance netdata” to be more specific #6794 (n0coast)


    • API: Include family into the allmetrics JSON response #6966 (ilyam8)
    • API: Add fixed width option to badges #6903 (underhood)
    • Allow hostnames in Access Control Lists #6796 (amoss)
    • Functional test improvements for web and alarms tests #6783 (thiagoftsm)

    Bug fixes

    • Fix issue error in alarm notification script, when executed without any arguments #7003 (OneCodeMonkey)
    • Fix Coverity warnings #6992 #6970 #6941 #6797 (thiagoftsm), #6909 (cakrit)
    • Fix dbengine consistency when a writer modifies a page concurrently with a reader querying its metrics #6979 (mfundul)
    • Fix memory leak on netdata exit #6945 (vlvkobal)
    • Fix for missing boundary data points in certain cases #6938 (mfundul)
    • Fix unhandled exception log warnings in the python.d collector orchestrator start\_job #6928 (ilyam8)
    • Fix CORS errors when accessing the health management API, by permitingt x-auth-token in Access-Control-Allow-Headers #6894 (cakrit)
    • Fix misleading error log entries RRDSET: chart name 'XXX' on host 'YYY' already exists, by changing the log level for chart updates #6887 (vlvkobal)
    • Properly resolve all Kubernetes container names #6885 (cakrit)
    • Fix LGTM warnings #6875 (jacekkolasa)
    • Fix agent UI redirect loop during cloud sign-in #6868 (jacekkolasa)
    • Fix /var/lib/netdata/registry getting left behind after uninstall #6867 (davent)
    • Fix python.d.plugin bug in parsing configuration files with no explicitly defined jobs #6856 (ilyam8)
    • Fix potential buffer overflow in the web server #6817 (amoss)
    • Fix netdata group deletion on linux for uninstall script #6645 (mbarper)
    • Various cppcheck fixes #6386 (ac000)
    • Fix crash on FreeBSD due to do_dev_cpu_temperature stack corruption #7014 (samm-git)
    • Fix handling of illegal metric timestamps in database engine #7008 (mfundul)
    • Fix a resource leak #7007 (vlvkobal)
    • Fix rabbitmq collector error when no vhosts are available. #7018 (mfundul)
    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.18.0.tar.gz(3.69 MB)
    sha256sums.txt(449 bytes)
  • v1.17.1(Sep 12, 2019)

    Netdata v1.17.1

    Release v1.17.1 contains 2 bug fixes, 6 improvements, and 2 documentation updates.

    At a glance

    The main reason for the patch release is an essential fix to the repeating alarm notifications we introduced in v1.17.0. If you enabled repeating notifications, Netdata would not then send CLEAR notifications for the selected alarms.

    The release also includes a significant improvement to Netdata's auto-detection capabilities, especially after a system restart. Netdata now remembers which python.d plugin jobs were successfully collecting data the last time it was running, and retries to run those jobs for 5 minutes before giving up. As a result, you no longer have to worry if your system starts Netdata before the monitored services have had a chance to start properly. We will complete the same improvement for go.d plugins in v1.18.0.

    We also made some improvements to our binary packages and added a neat sample custom dashboard that can show charts from multiple Netdata agents.


    Our thanks go to:

    • tnyeanderson for Dash.html, the custom dashboard that can show charts from multiple hosts.
    • qingkunl for improving the charts auto-scaling feature with nanosec and num units.
    • Fohdeesha for documentation improvements
    • Saruspete for improving debugging capabilities with tags for threads and his significant involvement in many other issues


    Binary packages


    • Expand dashboard auto-scaling and convertible units. Added two more units that allow auto-scaling and conversion: nanoseconds and num. #5920 (qingkunl)

    Collector improvements

    • Auto-detect previously running python.d jobs and retry for 5 minutes #6661 (ilyam8)



    Bug fixes

    • Fix clear notifications for repeating alarms #6638 (thiagoftsm)
    • Stop from linking against dbengine and https libraries when dbengine or https are disabled #6658 (mfundul)
    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.17.1.tar.gz(3.68 MB)
    sha256sums.txt(449 bytes)
  • v1.17.0(Sep 3, 2019)

    Release v1.17.0 contains 38 bug fixes, 33 improvements, and 20 documentation updates.

    At a glance

    You can now change the data collection frequency at will, without losing previously collected values. A major improvement to the new database engine allows you not only to store metrics at variable granularity, but also to autoscale the time axis of the charts, depending on the data collection frequencies used during the presented time.

    You can also now monitor VM performance from one or more vCenter servers with a new VSphere collector. In addition, the proc plugin now also collects ZRAM device performance metrics and the apps plugin monitors process uptime for the defined process groups.

    Continuing our efforts to integrate with as many existing solutions as possible, you can now directly archive metrics from Netdata to MongoDB via a new backend.

    Netdata badges now support international (UTF8) characters! We also made our URL parser smarter, not only for international character support, but also for other strange API queries.

    We also added .DEB packages to our binary distribution repositories at Packagecloud, a new collector for Linux zram device metrics, and support for plain text email notifications.

    This release includes several fixes and improvements to the TLS encryption feature we introduced in v1.16.0. First, encryption slave-to-master streaming connections wasn't working as intended. And second, our community helped us discover cases where HTTP requests were not correctly redirected to HTTPS with TLS enabled. This release mitigates those issues and improves TLS support overall.

    Finally, we improved the way Netdata displays charts with no metrics. By default, Netdata displays charts for disks, memory, and networks only when the associated metrics are not zero. Users could enable these charts permanently using the corresponding configuration options, but they would need to change more than 200 options. With this new improvement, users can enable all charts with zero values using a single, global configuration parameter.


    Our thanks go to:

    • Steve8291 for all his help across the board!
    • alpes214 for improvements in health monitoring
    • fun04wr0ng for fixing a bug in the nfacct plugin
    • RaZeR-RBI for the ZRAM collector module
    • underhood for the UTF-8 parsing fixes in badges, that gave us support for internationalized badges
    • Ferroin]( for improving the python.d collectors handling of disconnected sockets
    • dex4er for improving our OS detection code
    • knatsakis for his help in our CI/CD pipeline
    • sunflowerbofh for .gitignore fixes
    • Cat7373 for fixing some issues with the spigotmc collector


    Database engine

    • Variable granularity support for data collection #6430 (mfundul)
    • Added tips on the UI to encourage users to try the new DB Engine, when they reach the end of their metrics history #6711 (jacekkolasa)

    Binary packages


    • Added support for plain text only email notifications #6485 (leo-lb)
    • Started showing “hidden” alarm variables in the responses of the chart and data API calls (#6054) #6615 (alpes214)
    • Added a new API call for alarm status counters, as a first step towards badges that will show the total number of alarms #6554 (alpes214)


    • Added configurable default locations for trusted CA certificates #6549 (thiagoftsm)
    • Added safer way to get container names #6441 (ViViDboarder)
    • Added SSL connection support to the python mongodb collector #6546 (ilyam8)

    New collectors

    Collector improvements




    • Updated our CLA, clarifying our intention to keep netdata FOSS #6504 (cakrit)
    • Updated terms of use for U.S. legal reasons #6631 (cakrit)
    • Updated logos in the infographic and remaining favicons #6417 (cakrit)
    • SSL vs. TLS consistency and clarification in documentation #6414 (joelhans)
    • Update #6406 (Steve8291)
    • Fix Web API Health documentation #6404 (thiagoftsm)
    • Added apps grouping debug messages #6375 (vlvkobal)
    • GCC warning and linting improvements #6392 (ac000)
    • Minor code readability changes #6539 (underhood)
    • Added global configuration option to show charts with zero metrics #6419 (vlvkobal)
    • Improved the way we parse HTTP requests, so we can avoid issues from edge cases #6247 #6714 (thiagoftsm)
    • Build DEB and RPM packages in parallel #6579 (knatsakis)
    • Updated package version requirements for LZ4 and libuv #6607 (mfundul)
    • Improved system OS detection for RHEL6 and Mac OS X #6612 (dex4er)
    • .travis.yml: Remove 'sudo: true' as it is now deprecated #6624 (knatsakis)
    • Modified the documentation build process to accept <> around links in markdown #6646 (cakrit)
    • Fixed spigotmc module typos in comments. #6680 (Cat7373)

    Bug fixes

    • Fixed the snappy library detection in some versions of OpenSuSE and CentOS #6479 (vlvkobal)
    • Fixed sensor chips filtering in python sensors collector #6463 (ilyam8)
    • Fixed user and group names in apps.plugin when running in a container, by mounting and reading /etc/passwd #6472 (vlvkobal)
    • Fixed possible buffer overflow in the JSON parser used for health notification silencers #6460 (thiagoftsm)
    • Fixed handling of corrupted DB files in dbengine, that could cause netdata to not start properly (CRC and I/O error handling) #6452 (mfundul)
    • Stopped docs icon from linking to streaming page instead of docs root #6445 (joelhans)
    • Fixed an issue with Netdata snapshots that could sometimes cause a problem during import. #6400 (jacekkolasa)
    • Fixed bug that would cause netdata to attempt to kill already terminated threads again, on shutdown. #6387 (emmrk)
    • Fixed out of memory (12) errors by reimplementing the myopen() function family #6339 (mfundul)
    • Fixed wrong redirection of users signing in after clicking Nodes #6544 (jacekkolasa)
    • Fixed python.d smartd collector increasing CPU usage #6540 (ilyam8)
    • Fixed missing navigation arrow in Documentation #6533 (joelhans)
    • Fixed mongodb python collector stock configuration mistake, by changing password to pass #6518 (ilyam8)
    • Fixed broken left navbar links in translated docs #6505 (cakrit)
    • Fixed handling of UTF8 characters in badges and added International Support to the URL parser #6426 (underhood)
    • Fixed nodes menu sizing (responsive) #6455 (builat)
    • Fixed issues with http redirection to https and streaming encryption #6468 (thiagoftsm)
    • Fixed broken links to and in dashboard_info.js #6461 (TheLovinator1)
    • Fixed bug with the nfacct plugin that resulted in missing dimensions from the charts #6098 (fun04wr0ng)
    • Stopped anonymous stats from trying to write a log under /tmp #6491 (cakrit)
    • Fixed a problem with edit-config, the configuration editor, not being able to run in MacOS. We no longer deliver edit-config as part of the distribution tarball, so that it can get generated with proper configuration during installation .#6507 (paulkatsoulakis)
    • Fixed issue with the netdata-updater that caused it not to run properly in static64 installations. #6520 (paulkatsoulakis)
    • Fixed some yamllint errors in our Travis configuration #6526 (knatsakis)
    • Properly delete obsolete dimensions for inactive disks in smartd_log #6547 (ilyam8)
    • Fixed .environment file getting overwritten, by moving tarball checksum information into lib dir of netdata #6555 (paulkatsoulakis)
    • Fixed handling of disconnected sockets in unbound python.d collector. #6561 (Ferroin)
    • Fixed crash in malloc #6583 (thiagoftsm)
    • Fixed installer error undefined reference to LZ4_compress_default #6589 (mfundul)
    • Fixed issue with mysql collector that resulted in showing only a single slave_status chart, regardless of the number of replication channels #6597 (ilyam8)
    • Fixed installer issue that would automatically enable the netdata service, even, if it was previously disabled #6606 (paulkatsoulakis)
    • Fixed a segmentation fault in backends #6627 (vlvkobal)
    • Fixed spigotmc plugin bugs #6635 (Cat7373)
    • Fixed installer error when running as a non-privileged user #6642 (paulkatsoulakis)
    • Fixed issue causing OpenSSL libraries to not be found on gentoo #6670 (paulkatsoulakis)
    • Fixed dbengine 100% CPU usage due to corrupted transaction payload handling #6731 (mfundul)
    • Fixed wrong default paths in certain installations #6678 (paulkatsoulakis)
    • Fixed exact path to netdata.conf in .gitignore #6709 (sunflowerbofh)
    • Fixed static64 installer bug that resulted in always overwriting configuration #6710 (paulkatsoulakis)

    Thanks to the community for their help!

    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.17.0.tar.gz(3.66 MB)
    sha256sums.txt(449 bytes)
  • v1.16.0(Jul 8, 2019)

    Release v1.16.0 contains 40 bug fixes, 31 improvements and 20 documentation updates

    At a glance

    Binary distributions. To improve the security, speed and reliability of new netdata installations, we are delivering our own, industry standard installation method, with binary package distributions. The RPM binaries for the most common OSs are already available on packagecloud and we’ll have the DEB ones available very soon. All distributions are considered in Beta and, as always, we depend on our amazing community for feedback on improvements.

    Netdata now supports SSL encryption! You can secure the communication to the web server, the streaming connections from slaves to the master and the connection to an openTSDB backend.

    This version also brings two long-awaited features to netdata’s health monitoring:

    • The health management API introduced in v1.12 allowed you to easily disable alarms and/or notifications while netdata was running. However, those changes were not persisted across netdata restarts. Since part of routine maintenance activities may involve completely restarting a monitoring node, netdata now saves these configurations to disk, every time you issue a command to change the silencer settings. The new LIST command of the API allows you to view at any time which alarms are currently disabled or silenced.
    • A way for netdata to repeatedly send alarm notifications for some, or all active alarms, at a frequency of your choosing. As a result, you will no longer have to worry about missing a notification, forgetting about a raised alarm. The default is still to only send a single notification, so that existing users are not surprised by a different behavior.

    As always, we’ve introduced new collectors, 5 of them this time.

    • Of special interest to people with Windows servers in their infrastructure is the WMI collector, though we are fully aware that we need to continue our efforts to do a proper port to Windows.
    • The new perf plugin collects system-wide CPU performance statistics from Performance Monitoring Units (PMU) using the perf_event_open() system call. You can read a wonderful article on why this is useful here.
    • The other three are collectors to monitor Dnsmasq DHCP leases, Riak KV servers and Pihole instances.

    Finally, the DB Engine introduced in v1.15.0 now uses much less memory and is more robust than before.


    As you’ll see in the detailed list below, once again we’ve had great help from our contributors.

    • Steve8291 was helping everywhere
    • apardyl added useful new alarms and helped with documentation
    • jchristgit wrote the Riak KV collector
    • Saruspete made improvements to the freeipmi plugin
    • kam1kaze has added new charts to the python mysql collector
    • akwan and mbarper improved the application monitoring, with new process groupings
    • nodiscc helped with bug and documentation fixes
    • dankohn) helped with the documentation
    • andvgal added an amazing configuration to help us run proper lint checks on our markdown files
    • octomike, Danamir, mbarper, Wing924, n0coast and toofar delivered bug fixes
    • josecv helped improve the Kubernetes helm chart.

    We can't stress enough the immense help we get just from users creating an issue in GitHub, helping us identify the root cause and validate the change in their infrastructure. Unfortunately, we are not able to list all of them here, but their contribution is invaluable.


    Binary packages



    New collectors

    • Go.d collector modules for WMI, [Dnsmasq DHCP leases)( and Pihole (ilyam8)
    • Riak KV instances collector #6286 (jchristgit)
    • CPU performance statistics using Performance Monitoring Units (PMU) via the perf_event_open() system call. (perf plugin) #6225 (vlvkobal)

    Collector improvements

    • Handle different sensor IDs for the same element in the freeipmi plugin #6296 (Saruspete)
    • Increase the cpu_limit chart precision in cgroup plugin #6172 (vlvkobal)
    • Added userstats and deadlocks charts to the python mysql collector #6118 #6115 (kam1kaze)
    • Add perforce server process monitoring to the apps plugin #6064 (akwan)


    DB engine improvements

    • Reduced memory requirements by 40-50% #6134 (mfundul)
    • Reduced the number of pages needed to be stored and indexed when using memory mode = dbengine, by adding empty page detection #6173 (mfundul)



    • Improve documentation about file descriptors and systemd configuration. #6372 (mfundul)
    • Update the documentation on charts with zero metrics #6314 (vlvkobal)
    • Document that that in versions before 1.16, the plugins.d directory may be installed in a different location in certain OSs #6301 (cakrit)
    • Remove single and multi-threaded web server configuration instructions #6291 (nodiscc)
    • Add more info on the stream.conf option health enabled by default = auto #6281 (cakrit)
    • Add comments about AWS SDK for C++ installation #6277 (vlvkobal)
    • Fix on the installation readme regarding the supported systems (first came RedHat, then the others) #6271 (paulkatsoulakis)
    • Update the new dbengine documentation #6264 (mfundul)
    • Remove CNCF logo and TOC presentation reference #6234 (dankohn)
    • Added code style guidance to CONTRIBUTING #6212 (cakrit)
    • Visibility fix for anonymous statistics #6208 (cakrit)
    • smartd documentation improvements #6207 (cakrit), #6203 (Steve8291)
    • Made custom notification's instructions clearer #6181 (cakrit)
    • Fix typo in the web server README #6146 (cakrit)
    • Registry documentation fixes #6144 (cakrit)
    • Changed 'netdata' to 'Netdata' in /docs/ and / #6137 (apardyl)
    • Update installer readme with OpenSUSE dependencies #6111 (mfundul)
    • Fixed minor typos in the daemon configuration documentation #6090 (Steve8291)
    • Mention anonymous statistics in additional places in the docs #6084 (cakrit)
    • Local remark-lint checks and autofix support #5898 (andvgal)


    • Pass the the cloud base url parameter to the notifications mechanism, so that modifications to the configuration are respected when creating the link to the alarm #6383 (ladakis)
    • Added a .gitattributes file to improve git diff for C files #6381 (ac000)
    • Improved logging, to be able to trace the CRITICAL: main[main] SIGPIPE received. error #6373 (vlvkobal)
    • Modify the limits of the stale bot, to close stale questions/discussions in GitHub faster #6297 (ilyam8)
    • Internal CI/CD improvements #6282 #6268 (paulkatsoulakis)
    • netdata/packaging: Add more distribution validations #6235 (paulkatsoulakis)
    • Move call to send_statistics later, to get more telemetry events from docker containers #6113 (vlvkobal), #6096 (cakrit)
    • Use github templating mechanisms to classify issues when they are created #5776 (paulfantom)

    Bug fixes

    • Fixed ram_available alarm #6261 (octomike)
    • Stop monitoring /dev and /run in the disk space and inode usage charts #6399 (vlvkobal)
    • Fixed the monitoring of the “time” group of processes #6397 (mbarper)
    • Fixed compilation error PERF_COUNT_HW_REF_CPU_CYCLES' undeclared here in old Linux kernels (perf plugin) #6382 (vlvkobal)
    • Fixed autodetection for openldap on Debian (apps.plugin) #6364 (nodiscc)
    • Fixed compilation error on CentOS 6 (nfacct plugin) #6351 (vlvkobal)
    • Fixed invalid XML page error (tomcat plugin) #6345 (Danamir)
    • Remove obsolete monit metrics #6340 (ilyam8)
    • Fixed Failed to parse error in adaptec_raid #6338 (ilyam8)
    • Fixed cluster_health_nodes and cluster_stats_nodes charts in the elasticsearch collector #6311 (Wing924)
    • A modified slave chart's "name" was not properly transferred to the master (streaming) #6304 (vlvkobal)
    • Netdata could run out of file descriptors when using the new DB engine #6303 (mfundul)
    • Fixed UI behavior when pressing the End key #6294 (thiagoftsm)
    • Fixed UI link to check the configuration file, to open in a new tab #6294 (thiagoftsm)
    • Fixed files not found during installation, due to different than expected location of the libexecdir directory #6272 (paulkatsoulakis)
    • Prevented Error: 'module' object has no attribute 'Retry' messages from python collectors, by enforcing minimum version check for the UrlService library #6263 (ilyam8)
    • Fixed typo that causes nfacct.plugin log messages to incorrectly show freeipmi #6260 (vlvkobal)
    • Fixed netdata/netdata docker image failure, when users pass a PGID that already exists on the system #6259 (paulkatsoulakis)
    • The daemon could get stuck during collection or during shutdown, when using the new dbengine. Reduced new dbengine IO utilization by forcing page alignment per dimension of chart. #6240 (mfundul)
    • Properly handle timeouts/no response in dns_query_time python collector #6237 (n0coast)
    • When a collector restarted after having stopped for a long time, the new dbengine would consume a lot of CPU resources. #6216 (mfundul)
    • Fixed error Assertionold_state & PG_CACHE_DESCR_ALLOCATED' failed` of the new dbengine. Eliminated a page cache descriptor race condition #6202 (mfundul)
    • tv.html failed to load the three left charts when accessed via https. Turn tv.html links to https #6198 (cakrit)
    • Change print level from error to info for messages about clearing old files from the database#6195 (mfundul)
    • Fixed warning regarding the x509check_last_collected_secs alarms. Changed the template update frequency to 60s, to match the chart’s update frequency #6194 (ilyam8)
    • Email notification header lines were not terminated with \r\n as per the RFC #6187 (toofar)
    • Some log entries would not be caught by the python web_log plugin. Fixed the regular expressions #6138 #6180 (ilyam8)
    • Corrected the date used in pushbullet notifications #6179 (cakrit)
    • Fixed FATAL error when using the new dbengine with no direct I/O support, by falling back to buffered I/O #6174 (mfundul)
    • Fixed compatibility issues with varnish v4 (varnish collector) #6168 (ilyam8)
    • The total number of disks in mdstat.XX_disks chart was displayed incorrectly. Fixed the "inuse" and "down" disks stacking. #6164 (vlvkobal)
    • The config option --disable-telemetry was being checked after restarting netdata, which means that we would still send anonymous statistics the first time netdata was started. #6127 (cakrit)
    • Fixed apcupsd collector errors, by passing correct info to the run function. #6126 (Steve8291)
    • apcupsd and libreswan were not enabled by default #6120 (Steve8291)
    • Fixed incorrect module name: energi to energid #6112 (Steve8291)
    • The nodes view did not work properly when a reverse proxy was configured to access netdata via paths containing subpaths (e.g. myserver/netdata) #6093 (gmosx)
    • Fix error message PLUGINSD : cannot open plugins directory #6080 #6089 (Steve8291)
    • Corrected invalid links to web_log.conf that appear on the agent UI #6087 (cakrit)
    • Fixed ScaleIO collector endpoint paths go.d PR 226 ilyam8
    • Fixed web client timeout handling in the go.d plugin httpcheck collector go.d PR 225 ilyam8
    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.16.0.tar.gz(3.59 MB)
    sha256sums.txt(449 bytes)
  • v1.15.0(May 22, 2019)

    Release v1.15.0 contains 11 bug fixes and 30 improvements.

    At a glance

    We are very happy and proud to be able to include two major improvements in this release: The aggregated node view and the new database engine.

    Aggregated node view

    The No. 1 request from our community has been a better way to view and manage their Netdata installations, via an aggregated view. The node menu with the simple list of hosts on the agent UI just didn't do it for people with hundreds, or thousands of instances. This release introduces the node view, which uses the power of Netdata Cloud to deliver powerful views of a Netdata-based monitoring infrastructure. Screenshot from 2019-05-17 19-57-58 You can read more about Netdata Cloud and the future of netdata here.

    New database engine

    Historically, Netdata has required a lot of memory for long-term metrics storage. To mitigate this we've been building a new DB engine for several months and will continue improving until it can become the default memory mode for new Netdata installations. The version included in release v1.15.0 already permits longer-term storage of compressed data and we'll continue reducing the required memory in following releases.

    Other major additions

    We have added support for the AWS Kinesis backend and new collectors for OpenVPN, the Tengine web server, ScaleIO (VxFlex OS), ioping-like latency metrics and Energi Core node instances.

    We now have a new, "text-only" chart type, cpu limits for v2 cgroups, docker swarm metrics and improved documentation.

    We continued improving the Kubernetes helmchart with liveness probes for slaves, persistence options, a fix for a Cannot allocate memory issue and easy configuration for the kubelet, kube-proxy and coredns collectors.

    Finally, we built a process to quickly replace any problematic nightly builds and added more automated CI tests to prevent such builds from being published in the first place.


    Our heartfelt gratitude for this release goes to the following people:

    • @kam1kaze for help with Kubernetes, a fix for the Docker image and documentation improvements.
    • @andvgal for the Energi Core daemon collector and the improvement of the python.d plugin.
    • @skrzyp1 for improving cgroup monitoring.
    • @Daniel15 for the much sought-after "text-only" new chart type.
    • @Fohdeesha, @SahAssar, and @smonff for improving the documentation.
    • @etienne-napoleone, @karuppiah7890 and @varyumin for their contributions to the Kubernetes helm chart.


    Bug fixes

    • Prowl notifications were not being sent, unless another notification method was also active #6022 (cakrit)
    • Fix exception handling in the python.d plugin #5997 (ilyam8)
    • The node applications group did not include all node processes. #5962 (jonfairbanks)
    • Installation would show incorrect message "FAILED Cannot install netdata init service." in some cases #5947 (paulkatsoulakis)
    • The nvidia_smi collector displayed incorrect power usage #5940 (ilyam8)
    • The python.d plugin would sometimes hang, because it lacked a connect timeout #5911 (ilyam8)
    • The mongodb collector raised errors due to various KeyErrors #5931 (ilyam8)
    • The smartd_log collector would show incorrect temperature values #5923 (ilyam8)
    • charts.d plugins would fail on docker, when using the timeout command #5938 (paulkatsoulakis)
    • Docker image had plugins not executable by user netdata #5917 (paulkatsoulakis)
    • Docker image was missing the lsns command, used to match network interfaces to containers #1 (kam1kaze)
    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.15.0.tar.gz(3.49 MB)
    sha256sums.txt(449 bytes)
  • v1.14.0(Apr 26, 2019)

    Release 1.14 contains 14 bug fixes and 24 improvements.

    At a glance

    The release introduces major additions to Kubernetes monitoring, with tens of new charts for Kubelet, kube-proxy and coredns metrics, as well as significant improvements to the netdata helm chart.

    Two new collectors were added, to monitor Docker hub and Docker engine metrics.

    Finally, v1.14 adds support for version 2 cgroups, OpenLDAP over TLS, NVIDIA SMI free and per process memory and configurable syslog facilities.


    Our contributors kicked the ball out of the park this time. Our thanks go to the following people: @ekartsonakis for the excellent addition of TLS support to the OpenLDAP collector @Wing924 whose cat apparently leaves him enough time to help us with springboot2 and a lot more! @huww98 for his contribution to the NVIDIA SMI plugin. @varyumin for his help on the Kubernetes helm chart. @skrzyp1 for the very significant addition of cgroup v2 support @hsegnitz for his contribution to the web server log plugin. @archisgore for the quick fixes to the Polyverse-enabled docker image. @tctovsli for his Rocket Chat notifications improvements. @JoeWrightss and @vinyasmusic for not letting us get away with spelling mistakes. @andvgal for the addition to the MongoDB collector. @piiiggg for the apache proxy documentation fix @Ferroin for general awesomeness.

    Bug Fixes

    • Fixed cases where the netdata version produced by the binary or the configure tools of the source code was wrong. Instead of getting something like netdata-v1.14.0-rc0-39a9sf9g we would get a netdata-39a9sf9g. #5860 (paulkatsoulakis)
    • Fixed unexpected crashes of the python plugin on macOS, caused by new security changes made in High Sierra. #5838 (ilyam8)
    • Fixed problem autodetecting failed jobs in python.d plugin. It now properly restarts jobs that are being rechecked, as soon as they are able to run. #5837 (ilyam8)
    • CouchdDB monitoring would stop sometimes with an exception. Fixed the unhandled exception causing the issue. #5833 (ilyam8)
    • The netdata api deliberately returned http error 400 when netdata ran in memory mode none. Modified the behavior to return responses, regardless of the memory mode #5819 (cakrit)
    • The python.d plugin sometimes does not receive SIGTERM when netdata exits, resulting in zombie processes. Added a heartbeat so that the process can exit on SIGPIPE. #5797 (ilyam8)
    • The new SMS Server Tools notifications did not handle errors well, resulting in cryptic error messages. Improved error handling. #5770 (cakrit)
    • The installers would crash on some FreeBSD systems, because sha256sum used by the installers is not available on all FreeBSD installations. Modified the installers to properly support FreeBSD. #5760 (paulkatsoulakis)
    • Running netdata behind a proxy in FreeBSD did not work, when using UNIX sockets. Added special handling of UNIX sockets for FreeBSD. #5756 (vlvkobal)
    • Fixed sporadic build failures of our Docker image, due to dependencies on the Polyverse package ( APK broken state). #5751 (archisgore)
    • Fix segmentation fault in streaming, when two dimensions had similar names. #5882 (vlvkobal)
    • Kubernetes Helm Chart: Fixed incorrect use of namespaces in ServiceAccount and ClusterRoleBinding RBAC fixes (varyumin).
    • Elastic search: The option to enable HTTPS was not included in the config file, giving the erroneous impression that HTTPS was not supported. The option was added. [#5834] ( (ilyam8)
    • RocketChat notifications were not being sent properly. Added default recipients for roles in the health alarm notification configuration. #5545 (tctovsli)


    • go.d.plugin v0.4.0 : Docker Hub and k8s coredns collectors, springboot2 URI filters support.
    • go.d.plugin v0.3.1 : Add default job to run k8s_kubelet.conf, k8s_kubeproxy, activemq modules
    • go.d.plugin v0.3.0 : Docker engine, kubelet and kub-proxy collectors. x509check module reading certs from file support
    • Added unified cgroup support that includes v2 cgroups #5407 (skrzyp1)
    • Disk stats: Added preferred disk id pattern, so that users can see the id they prefer, when multiple ids appear for the same device #5779 (vlvkobal)
    • NVIDIA SMI: Added memory free and per process memory usage charts to the collector #5796 (huww98)
    • OpenLDAP: Added TLS support, to allow monitoring of LDAPS. #5859 (ekartsonakis)
    • PHP-FPM: Add health check to raise alarms when the phpfm server is unreachable #5836 (ilyam8)
    • PostgreSQL: Our configuration options to connect to a DB did not support all possible option. Added option to connect to a PostreSQL instance by defining a connection string (URI). #5758 (ilyam8)
    • python.d.plugin: There was no way to delete obsolete dimensions in charts created by the python.d plugin. The plugin can now delete dimension at runtime. #5795 (ilyam8)
    • netdata supports sending its logs to Syslog, but the facility was hard-coded. We now support configurable Syslog facilities in netdata.conf. #5792 (thiagoftsm)
    • We encountered sporadic failures of our kickstart installation scripts after nightly releases. We add integrity tests to our pipeline to ensure we prevent faulty scripts from getting deployed. #5778 (paulkatsoulakis)
    • Kubernetes Helm Chart improvements: (cakrit) and (varyumin).
      • Added serviceName in statefulset spec to align with the k8s documentation
      • Added preStart command to persist slave machine GUIDs, so that pod deletion/addition during upgrades doesn't lose the slave history.
      • Disabled non-essential master netdata collector plugins to avoid duplicate data
      • Added preStop command to wait for netdata to exit gracefully before removing the container
      • Extended configuration file support to provide more control from the helm command line
      • Added option to disable Role-based access control
      • Added liveness and readiness probes.
    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.14.0.tar.gz(3.40 MB)
    sha256sums.txt(449 bytes)
  • v1.13.0(Mar 14, 2019)

    Release 1.13 contains 14 bug fixes and 8 improvements.

    At a glance

    netdata has taken the first step into the world of Kubernetes, with a beta version of a Helm chart for deployment to a k8s cluster and proper naming of the cgroup containers. We have big plans for Kubernetes, so stay tuned!

    A major refactoring of the python.d plugin has resulted in a dramatic decrease of the required memory, making netdata even more resource efficient.

    We also added charts for IPC shared memory segments and total memory used.


    • varyumin, who graciously shared the original Kubernetes Helm chart and is still helping improve it
    • p-thurner for his great work on the SSL certificate expiration module.
    • Ferroin for his priceless insights and assistance
    • Jaxmetalmax for graciously helping us identify and fix postgress connection issues


    • Kubernetes: Helm chart ( and proper cgroup naming #5576 (cakrit)
    • python.d.plugin: Reduce memory usage with separate process for initial module checking #5552 (ilyam8) and loaders cleanup #5602 (ilyam8)
    • IPC shared memory charts #5522 (vlvkobal)
    • mysql module add ssl connection support #5610 (ilyam8)
    • FreeIPMI: Have the debug option apply the internal freeipmi debug flags #5548 (cakrit)
    • Prometheus backend: Support legacy metric names for source=avg #5531 (cakrit)
    • Registry: Allow deleting the host we are looking at #5537 (cakrit)
    • SpigotMC: Use regexes for parsing. #5507 (Ferroin)

    Bug Fixes

    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.13.0.tar.gz(3.38 MB)
    sha256sums.txt(449 bytes)
  • v1.12.2(Feb 28, 2019)

    Patch release 1.12.2 contains 7 bug fixes and 4 improvements.

    At a glance

    The main motivation behind a new patch release is the introduction of a stable release channel. A "stable" installation and update channel was always on our roadmap, but it became a necessity when we realized that our users in China could not use the nightly releases published on Google Cloud. The "stable" channel is based on our official GitHub releases and uses assets hosted on GitHub.

    We are also introducing a new Oracle DB collector module, implemented in Python.

    Bug Fixes

    • Installer at isnt updated to master branch #5492
    • Zombie processes exist after restart netdata - add heartbeat to python.d plugin #5491
    • Verbose curl output causes unwanted emails from netdata-updater cronjob #5484
    • RocketChat notifications not working #5470
    • go.d.plugin installation fails due to insufficient timeout #5467
    • SIGSEGV crash during shutdown of tc plugin #5366
    • CMake warning for nfacct plugin #5379


    • Introduce stable installation channel #5487
    • Oracledb python module #5421
    • Show streamed servers even for users that are not signed in #5519
    • Prevent merging changes to when checksum in docs is wrong #5498
    Source code(tar.gz)
    Source code(zip) MB)
    netdata-v1.12.2.tar.gz(3.38 MB)
    sha256sums.txt(449 bytes)
cpupower-gui is a graphical program that is used to change the scaling frequency limits of the cpu, similar to cpupower.

cpupower-gui This program is designed to allow you to change the frequency limits of your cpu and its governor. The application is similar in function

null 136 Jun 2, 2021
Alerta monitoring system

Alerta Release 8.0 The Alerta monitoring tool was developed with the following aims in mind: distributed and de-coupled so that it is SCALABLE minimal

alerta 1.9k May 31, 2021
Vector is an on-host performance monitoring framework which exposes hand picked high resolution metrics to every engineer’s browser.

Project Status Today we are sharing with the community that we have contributed

Netflix, Inc. 3.5k May 30, 2021
Network flow analytics (Netflow, sFlow and IPFIX) with the Elastic Stack

ElastiFlow™ We have released the next generation of ElastiFlow™ which introduces the new ElastiFlow Unified Flow Collector for Netflow, IPFIX and sFlo

Rob Cowart 2.2k May 31, 2021
Analyzes resource usage and performance characteristics of running containers.

cAdvisor (Container Advisor) provides container users an understanding of the resource usage and performance characteristics of their running containe

Google 12.2k Jun 6, 2021
Adagios - Web Based Nagios Configuration

About Adagios is a web based Nagios configuration interface built to be simple and intuitive in design, exposing less of the clutter under the hood of

Opin Kerfi 319 May 25, 2021
A responsive, eye-pleasing Linux server statistics dashboard.

SWMP - Server Web Monitor Page A responsive, eye-pleasing Linux server statistics dashboard. Requirements Installation Settings Show Some Love <3 Cont

Fuzzy 247 May 18, 2021
rtop is an interactive, remote system monitoring tool based on SSH

rtop rtop is a remote system monitor. It connects over SSH to a remote system and displays vital system metrics (CPU, disk, memory, network). No speci

RapidLoop 1.9k Jun 3, 2021
Time Series Alerting Framework

Bosun Bosun is a time series alerting framework developed by Stack Exchange. Scollector is a metric collection agent. Learn more at Buildin

Bosun 3.2k Jun 3, 2021
A beautiful web dashboard for Linux

v2.0 A simple & low-overhead web dashboard for linux systems Demo | Docs Features Small ----- Under 400KB on disk (with .git removed)! Simple ---- A m

Afaq Tariq 9.6k Jun 6, 2021
A linux system information web dashboard using psutils and flask

psdash psdash is a system information web dashboard for linux using data mainly served by psutil - hence the name. Features Installation Getting start

Joakim Hamrén 2.3k Jun 6, 2021
Ubuntu application indicator to show various system parameters

* Use following string to use custom preview that is shown above. (Proprietary Nvidia driver needed, must be running): CPU {cpu} {cputemp} | GPU {

David Mohammed 508 Jun 3, 2021
Display and monitor your servers statistics in a beatiful way

ServerStatus ServerStatus is a full rewrite of mojeda's ServerStatus script, which in turn is a modified version of BlueVM's script. Live demo: https:

BotoX 733 Jun 4, 2021
Terminal bandwidth utilization tool

bandwhich This is a CLI utility for displaying current network utilization by process, connection and remote IP/hostname How does it work? bandwhich s

Aram Drevekenin 6.4k Jun 5, 2021