Here it is! The expected and desired Zabbix 3.0 is here with the fount of new features. Let’s skim them over and put them in practice.
What were you awaiting the most?
The frontend in 3.0 comes with a more modern design, being now more convenient and easier to use. The UI is now cleaner with some usability improvements, for example, Users section has been split into User groups and Users. Plus, all the minor adjustments, like the change in font face and size, lead to a more lightweight and user-friendly frontend.
As regards a more modern appearance of Zabbix 3.0, now you have many themes for choice: the original light is a default theme, but you might also like the stylish dark.
See other improvements at Redesigned web interface
Encryption of traffic between all Zabbix components (server, proxies, agents and command-line utilities) protects from intercepting of data.
Encryption also provides authentication – only components with trusted certificate or pre-shared key can take part in communication. The authentication is mutual - e.g. not only Zabbix server examines agent's certificate but the agent also can be configured to examine server's certificate issuer and subject.
Encryption is optional and configurable for individual components (e.g. some proxies and agents can be configured to use encrypted communications with server while others can use unencrypted communications as before).
Users uninterested in encryption can use Zabbix as before. However their Zabbix installations will be upgraded to be ready to support encryption. They can start using encryption gradually at any time.
There is no need to open new ports on firewalls – encrypted and unencrypted connections share the same ports.
For more details read Encryption
Problem prediction long before they occur – in Zabbix 3.0 this will turn into reality.
Some say, that even in 2016 disks are still filling up… To prevent applications suffering from free disk space shortage, Zabbix can predict when this situation is going to happen and warn in advance. So that one can add more disk space just in time before it really becomes an issue and causes any damage.
Future behavior of the monitored system will be determined based on the historic data. Plus, you can choose appropriate interval and forecast horizon.
Just see the example below, where Zabbix predicts how soon file system on /home will be full looking at the last hour values.
Let’s say, one needs 10 hours to add extra storage (as on the screenshot above). And let's assume 1 hour of disk usage history is enough to make a decent forecast. The real problem is when vfs.fs.size[/,free] (free space on “/”) is 0 bytes (or less). Zabbix should raise an alarm when the 10 hour forecast of free space on “/” based on 1 hour historical data is 0 bytes or:
Alternatively, one can swap forecast horizon (10 hours) and threshold to reach (0 bytes) and use a different trigger function:
Underlying statistical analysis is the same no matter which function you choose, so pick whichever you like better!
With a new item called “proc.cpu.util” available on Linux and Solaris platforms, now it is possible to monitor CPU utilization of a specified process or a group of processes.
For example, an administrator of a hosting server could be interested in monitoring of CPU resources used by system users. Using item key
he would be able to monitor CPU utilization of all processes running by user john. If he would only be interested in java applications running by that user he would use
Besides filtering processes by name and user you can specify type of CPU utilization (system, user), command line (regular expressions are supported) and other parameters.
See full specification at Supported item keys
History cache optimization
There was an issue of the speed of processing cached data. History cache worked fast when the stored items / values ratio was high. But the lower the stored items / values ratio was, the more history slots must have been iterated to pick the values for processing.
Now the history cache internal structure is redesigned. When a small set of items is flooding server with values, history syncers will process the cached data in short order.
History index cache was added to keep index of the history cache. A new zabbix[wcache,index,<mode>] internal check was added to monitor history index cache usage.
In the example above you can see 8 history syncers processing 500000 values for 100 items.
In 3.0, actions and action condition will be stored in configuration cache and no longer be queried from the database. This is done in order to ease the work with big installations and a grand amount of actions and events.
Previously, if you needed to check something once a day you were not able to specify an hour or minute of the check. The check could be performed at night or in the afternoon and you were not able to control that. Now you can schedule time intervals of item execution yourself.
For example, you would like to monitor your office computers. But during non-working hours they are turned off. Due to this reason you would like to avoid the alarms. So with scheduling interval you can specify that the item is to be checked only on week days during working hours.
In the example above item checking will take place every 5 minutes (m/5) from 9 to 6p.m. (h9-18) each working day (wd1-5), meaning 9:00, 9:05, 9:10, etc.
More information on item checking time is available at Custom intervals
Now Zabbix supports private maps, screens and slide shows with the ability to share with other users and user groups.
The functionality enables creation and management of maps, screens and slide shows for regular users without admin rights.
For instance, in the example below you have created a map with the unique rights to manage it.
Now you can easily change the settings and add other users who will have an access to this map.
Read more at Private maps, screens and slide shows
Escalator process of Zabbix server is responsible for processing actions. On large installations the number of actions can be big and single escalator process might be not able to handle the load. This may result in notifications being sent with the latency. Since 3.0 it is possible to specify more than one escalator process to be run. This is configured in Zabbix server configuration file, for example:
In this example, before: 1 escalator process, after: 4 escalator processes.
See the Configuration file parameter
To help with logical grouping of items created from item prototypes by low-level discovery (LLD), it is now possible to assign the discovered items to application that are based on the values of LLD macros. There is now an option for creating application prototypes in item prototype definition.
The housekeeper process of Zabbix server is responsible for deleting old data from the database. If there is a lot to delete, it may require a lot of system resources. This might negatively affect other Zabbix processes that are performing more important tasks.
Since 3.0 it is possible to disable automatic housekeeper procedures and execute it and Zabbix proxy. Automatic housekeeping procedures can be disabled in configuration file:
Manual execution of Zabbix server housekeeper is done using command-line option:
zabbix_server -R housekeeper_execute
For more information visit Server process
Zabbix daemons now run in foreground accepting –f (--foreground) command line option. To redirect Zabbix logs to standard output when running in foreground set LogType configuration parameter to console.
Among other advantages this functionality allows easy dockerizing of Zabbix components.
Trigger dependencies have been part of Zabbix for quite a while. If you are monitoring a host that is behind a router, you don't want to receive an alert about the host if the router goes down.
But this feature was not available for trigger prototypes. Not until 3.0. In 3.0 you are able to do it. This allows you, for example, to have triggers with different thresholds (e. g. warning, emergency) for discovered disk devices when monitoring their free space.
More information is available at Trigger dependencies
In order to have a direct method to check if a certain service is running properly and not to log in on a server to find out the names of services on a host, the new low-level discovery item “service.discovery” is introduced.
It allows now to explore Windows services automatically and use prototypes to define items and triggers for each service’s state. Services of interests can be filtered using regexp discovery filters.
Find full specification at Discovery of Windows services
Previously, Zabbix server could only send email alerts by connecting to a hardcoded port 25 of the specified SMTP server and sending an email without encryption or authentication. Now it will be possible to point out the encryption and authentication when configuring e-mail alerts.
Read about E-mail configuration for more details.
Value mappings can now be imported and exported separately. Furthermore, hosts and templates are exported together with the configured value mappings. Also when importing value mappings, there is an option to create new and update existing value mappings from XML.
Take a look at the whole list of functionality included in Zabbix 3.0:
- New web interface
- Encryption support
- Predictive trigger functions
- SMTP authentication options
- Item checking at specific times
- Custom parameter support for alert scripts
- Private maps, screens and slide shows
- Exporting and importing value maps
- Dependencies between trigger prototypes
- Multiple OID support in SNMP discovery
- Linking to applications based on discovery values
- Graph improvements
- Resolution of user macros made transparent
- Automated selection of host inventory mode
- Bulk acknowledgement made more flexible
- VMware monitoring improvements
- Context support in user macros
- Running Zabbix daemons in foreground
- Frontend improvements
- Daemon improvements
- Forced housekeeper execution
- Default configuration file improvements
- Performance improvements
- Value cache improvements
- Zabbix agent crash log on Windows platforms
- TCP connection timeout on Windows platforms
- Support for IPv6 addresses in Java gateway
- Proxy configuration size increase
- Logging IP addresses of incoming/outgoing connections between Zabbix server and Zabbix proxy
- Setting DebugLevel=5 in daemon configuration file
- Database recovery message on DebugLevel=2
- Host availability improvements
- Support for multiple escalators
- Printing defaults with --help option
- Dropping Inetd Zabbix agent
- History cache improvements
- Action and action condition caching
- Item changes/improvements
- Function improvements
- Macro improvements
- Commandline utilities improvements
- API improvements
- Miscellaneous improvements
- Value map changes
Try Zabbix 3.0 today!
Read more about major improvements and new functionality in Release notes.
All the necessary information you need to know to manage your monitoring with Zabbix successfully is explicitly documented in our User Manual.
If you have any questions, you can always ask them to our best specialists live during our free Webinars. Sign up for What’s New in 3.0 webinar.