Release Notes 1.12 - hilbix/netdata GitHub Wiki
At a glance
Release 1.12 is made out of 211 pull requests and 22 bug fixes. The key improvements are:
- Introducing
netdata.cloud
, the free netdata service for all netdata users - High performance plugins with go.d.plugin (data collection orchestrator written in Go)
- 7 new data collectors and 11 rewrites of existing data collectors for improved performance
- A new management API for all netdata servers
- Bind different functions of the netdata APIs to different ports
- Improved installation and updates
netdata.cloud
netdata.cloud
is a free service for all netdata users. Currently it replaces the old netdata registry, while providing single sign on with GitHub and Google accounts.
Using netdata.cloud
we plan to provide the following features:
- distributed authentication (password protection) for all netdata installations
- network view for all nodes
- cross node custom dashboard editor, storage and sharing
- centralized health monitoring and alarm notifications
and many more.
Read more about netdata.cloud
here.
Bind API functions to different ports
netdata can now bind its API functions to different ports.
The following API functions can be isolated:
dashboard
for access the dashboardbadges
for generating badgesstreaming
for receiving streamed metrics from remote netdata serversmanagement
for receiving management commandsregistry
for accessing the netdata registrynetdata.conf
for downloading the current configuration
To bind API functions to different ports, append =function|function|...
to the port definition, like this:
[web]
bind to = *:19999=dashboard|netdata.conf *:20000=streaming
The above will bind netdata:
- on all IPs (
*
) at port19999
for dashboard access and access tonetdata.conf
- on all IPs (
*
) at port20000
for receiving streamed data from remote netdata servers
For more information about binding API functions to different ports, check this.
Management API
Netdata now has a management API. We plan to provide a full set of configuration commands using this API.
In this release, the management API supports disabling or silencing alarms during maintenance periods.
For more information about the management API, check this.
Anonymous statistics
Anonymous usage information is collected by default and sent to Google Analytics. The statistics calculated from this information will be used for:
-
Quality assurance, to help us understand if netdata behaves as expected and help us identify repeating issues for certain distributions or environment.
-
Usage statistics, to help us focus on the parts of netdata that are used the most, or help us identify the extend our development decisions influence the community.
Information is sent to Netdata via two different channels:
- Google Tag Manager is used when an agent's dashboard is accessed.
- The script
anonymous-statistics.sh
is executed by the Netdata daemon, when Netdata starts, stops cleanly, or fails.
Both methods are controlled via the same opt-out mechanism.
For more information, check this.
Data collection
This release introduces a new Go plugin orchestrator. This plugin has its own github repo. It is open-source, using the same license and we welcome contributions. The orchestrator can also be used to build custom data collection plugins written in Go. We have used the orchestrator to write many new Go plugins in our go.d plugin github repo. For more information, check this.
New data collectors:
- Activemq (Go)
- Consul (Go)
- Lighttpd2 (Go)
- Solr (Go)
- Springboot2 (Go)
- mdstat - nonredundant arrays (C)
- CUPS printing system (C)
High performance versions of older data collectors:
- apache (Go)
- dns_query (Go)
- Freeradius (Go)
- Httpcheck (Go)
- Lighttpd (Go)
- Portcheck (Go)
- Nginx (Go)
- cpufreq (C)
- cpuidle (C)
- mdstat (C)
- power supply (C)
Other improved data collectors:
- Fix the python plugin clock (collectors falling behind).
- adaptec_raid: add to python.d.conf.
- apcupsd: Detect if UPS is online.
- apps: Fix process statistics collection for FreeBSD.
- apps: Properly lookup docker container name when running in ECS.
- fail2ban: Add 'Restore Ban' action.
- go_expavar: Don't check for duplicate expvars.
- hddtemp: Don't use disk model as dim name.
- megacli: add to python.d.conf.
- nvidia_smi: handle
N/A
values. - postgres: Fix integer out of range error on Postgres 11, fix locks count.
- proc: Don't show zero charts for ZFS filesystem.
- proc; Fix cached memory calculation.
- sensors: Don't ignore 0 RPM fans on start.
- smartd_log: check() unhandled exception: list index out of range.
- SNMP: Gracefully ignore the offset if the value is not a number.
Packaging and Installation
- Upload nightly builds to Google Cloud. Use the nightlies in new installations and updates.
- Improved uninstaller.
- Scramble packages in docker images with polymorphic Linux.
- Building RPMs: Fix permissions for log files, remove rolling version suffix.
Health Monitoring
- Add Prowl notifications for iOS users.
- Show count of active alarms per state in email notifications.
- Show evaluated expression and expression variable values in email notifications.
- Improve support for slack recipients (channels/users).
- Custom notifications: Fix bug with alarm role recipients.
Dashboards
- Server filtering in
my-netdata
menu when signed in tonetdata.cloud
- All units are now IEC-compliant abbreviations (KiB, MiB etc.).
- GUI: Make entire row clickable in the registry menu showing the list of servers.
Backends
- Do not report stale metrics to prometheus.
Other
- Deprecated multi-threaded and single-threaded web servers, in preparation for Windows support.
- Documentation improvements.
- Treat
DT_UNKNOWN
files as regular files. - API: Stricter rules for URL separators.