Low level discovery documentation
Network interface discovery support has been added for the following platforms:
Mounted filesystem discovery returns filesystem names along with their types.
Network interface discovery support has been added for the following platforms:
It is possible to filter by regular expression on the filesystem name or type.
Host inventory now can be populated automatically. Items have a property that allows to store their value in any of the inventory fields if inventory is set to Automatic mode.
WEB scenarios could be monitored by remote proxies. It allows monitoring of WEB applications from various geographical locations.
Also new items "Last error message of scenario '$1'" with key web.test.error[<a scenario name>] will be added to all existing scenarios during database upgrade.
Zabbix now supports multiple interfaces per host. You can configure several interface-host pairs in the host properties, and specify which should be used as the default for several item types (Zabbix agent, SNMP and IPMI). Additionally, you can override interface on the item level. When a template is linked to a host that has multiple interfaces defined, default interface for that type used (which currently is the first interface in the list). A single item can only be monitored on a single interface.
Interfaces that are used in any items can not be removed and link Remove is greyed out for them.
Together with the ability to use user macros in any of the port fields this should provide a flexible and powerful way to monitor multi-homed hosts.
For SNMP items, port on the item level, if specified, overrides the interface port.
Interface for an item can be selected in item properties. Both in item properties and item mass update form interfaces are grouped by their type.
Ability to monitor JMX without deploying additional software has been introduced in the form of a Java gateway.
Visible host name has been implemented; UTF8 support; new macros ({HOST.HOST}, {HOST.NAME}, {HOST.IP}); {IPADDRESS}, {HOSTNAME} deprecated
Zabbix frontend has received a redesign. The login page, table view, configuration wizard, default trigger severity colours all have a fresh new look.
The frontend has been changed to be more user friendly, especially on smaller screens. Many pages that previously required horizontal scrolling now fit in the screen thanks to improved layout and tabbed interface.
The following pages have been redone:
Support for Microsoft Internet Explorer 6 will not be provided anymore. While we were at that, we also dropped IE7 support.
If an outdated browser will be detected by Zabbix frontend, a warning page will be displayed. It will link to download pages for multiple more recent browsers. User would not be blocked from accessing Zabbix frontend, though - that would still be possible via the link in the lower right corner.
Multiple sections of frontend have their performance improved, including:
For Zabbix 2.0, a completely new set of network icons is provided, and several new icons have been introduced.
<list of icons>
Previously, selecting a range of entities in Zabbix frontend was not very intuitive - one had to hold down Ctrl both for the range start and range end. Starting with 2.0, range selection works as in most other software. One just clicks on a checkbox that should start range selection, then, holding down shift, clicks on the checkbox that should be the end for the range. It works the same way for selecting and unselecting (taking the choice from the very first click).
Dashboard elements can now be arranged in a custom layout by dragging and dropping them in the desired location. They can be placed in up to 3 columns.
Frontend translations are now managed by gettext. This means that standard tools like Pootle, Poedit or Virtaal can be used to translate Zabbix frontend. That should also allow working on smaller sections of the translation and improve collaboration possibilities.
Network maps have received a couple of improvements regarding URL handling.
** Multiple URLs for map elements **
In previous Zabbix versions, it was possible to add single URL for each network map element. Now it is possible to add multiple, while also giving a label for each. This can be done on two levels:
For example, here two URLs have been defined on the element (host) level:
On the map level, URLs can be defined for all element types. Here, URL is defined for each available element type:
Of course, it is also possible to add multiple URLs for the same element type.
When these URLs have been configured, in the monitoring section clicking on a map element will list them (by name) in the popup menu. If the element has it's own URLs and there are map level URLs for its type defined, they will be combined in the same menu:
From the already existing macros, in map URLs macro {TRIGGER.ID} can be used.
Additionally, 3 new macros have been added that also can be used in element URL fields:
** Grid selection saving **
In previous versions, map grid options like whether to display grid or align to it were discarded after the map configuration form was closed. Starting with 2.0.0, selected grid options are saved for each map individually.
** Setting label type per map element type **
In previous versions, one could select map label type for all map elements in the map. Starting with 2.0.0, it is possible to enable Advanced labels feature per map and choose map element label per element type - image, trigger, host, host group and map.
** Displaying hosts from a host group **
For host group element, it is now possible to specify that it should display all hosts in a group. In that case, area can be specified where hosts will be placed.
** Icon mapping **
Automatic icon selection for host type map elements has been added. It utilises values from host inventory fields to select icon for map elements.
Icon maps are configured in Administration → General → Icon maps. Each icon map has a unique name, default icon and a list of mappings. Each mapping has a match order, expression for matching (PCRE regular expression or Zabbix expression), icon and reference to an inventory field. Icon map can be assigned to a map in the map configuration form, and overridden on map element level.
When deciding on which icon should be used, regular expression will be matched against specified inventory field. Order in which mappings are tried depends on match order.
** Select elements by dragging **
You can now drag a rectangle in map configuration view and select all elements in it.
** Highlighting selected link **
Selected map link now is highlighted in the list of links.
** Changed element highlighting **
Instead of filled rectangle, to indicate selection elements are now highlighted with a thick rectangular border.
** Element properties window changes **
Map element properties window has received multiple modifications.
Trigger severity names and colours can now be easily customised in Administration → General → Trigger severities.
The way triggers are displayed in the frontend can now be customised in Administration → General → Trigger displaying options. That includes both OK/PROBLEM and acknowledged/not acknowledged.
Additionally, time for how long OK triggers are shown after changing state and for how long trigger is blinking after changing state can now be configured in the frontend, instead of modifying include/defines.inc.php file.
Ability to report on hosts by their gathered inventory data has been added to Monitoring → Inventory view.
Events from Monitoring → Events page can now be exported to a CSV file by using a button in the upper right corner.
Only currently visible events are exported.
Confirmation for user executable scripts
User scripts that can be configured on the frontend in Administration → Scripts can now display a confirmation message before being executed. A custom message confirmation message can be entered by the administrator. This feature should be especially useful with potentially dangerous operations (like a reboot script) or ones that might take a long time.
Confirmation can be tested in the configuration form. In that case, Execute button is disabled.
Ability to specify script type
Before, if a user script would have to be an IPMI command, it had to follow a syntax of IPMI <command>. Starting with Zabbix 2.0, it is an option in the script editing form.
Ability to execute scripts on Zabbix agent
Before Zabbix 2.0, user scripts could be executed on the Zabbix server only. Starting with 2.0, a script can be configured to be executed on the agent instead. For this feature to work, agent must be configured to allow remote commands.
Displaying of actions that use media types
In media type configuration screen it's now possible to view and access actions that directly refer to this media type (it's selected in the Send only to dropdown). When sorting by that column, entries are only sorted by whether they are referenced, actions referencing media types do not influence the sort order. It is possible to go directly to action configuration from this page as well.
Enabling and disabling media types
For graphs with many items added, legend could grow pretty huge, and there might be other reasons why somebody might want to hide the legend. Starting with Zabbix 2.0.0, that is possible for custom graphs with a simple checkbox:
Popups with additional information that appear on mouse roll-over are designed to better fit within smaller screens, such as in mobile devices.
monitoring - shows 80-100% upon mouseover (and a tooltip), reordered sla values, aligned by decimal point, removed graph "show" link (now it's on the bar, link to report is on the service name), expected sla shown in black not green, more...
multiple service dependencies can be selected now
Screens can be defined in templates. They are available for all hosts that are linked to the template. They can be accessed from the host popup menu everywhere, and from the search results.
Triggers element (by host or by host group) in screens now can be sorted by severity, host or date.
https://support.zabbix.com/browse/ZBXNEXT-746
In the monitoring section, this sorting can only be viewed but not changed. Additionally, in the monitoring section this element shows how many triggers are visible, if not all of them can be shown.
Previously it was not easy to debug why some upload failed if it exceeded PHP option max_upload_filesize limit. Now Zabbix shows a warning when uploading a too large XML or image file.
For configuration wizard requirements step, Recommended column was removed, as it did not serve any real purpose. Additionally, for failed PHP configuration requirements exact configuration parameters are now listed in the error messages.
Better text, visuals, removed 2nd and 8th steps
Trigger configuration helper does not allow setting parameter in seconds for trigger function last() anymore
In the search results page, individual blocks have been placed below each other. They can also be collapsed and expanded now.
Host popup menu has been added to the Monitoring → Events, "Event details", and Monitoring → Overview pages. In Monitoring → Overview this menu is available only when hosts are displayed on the left hand side.
In 2.0 macros expanding is turned off by default and new option is introduced for map configuration screen that allows to enable or disable it. Maps that utilize a lot of macros should benefit greatly from turning macro expanding off performance wise.
In the frontend debug functionality, SQL query formatting has been improved for better readability.
If no trigger dependencies are added and their controlling checkbox is marked in the trigger mass update, all dependencies for selected triggers will be removed now.
...and 'description' is now 'name'
Added {ITEM.DESCRIPTION} and {ITEM.KEY} macros.
system.localtime key now supports parameters:
net.tcp.dns and net.tcp.dns.query have been renamed to net.dns and net.dns.record, respectively. Old syntax still supported as an alias. They are also now supported on Windows.
Additional functionality:
net.tcp.service and net.tcp.service.perf now support https and telnet.
system.cpu.util on Solaris was unified with other platforms - kernel parameter was changed to system and wait parameter was changed to iowait.
system.cpu.num is now supported for OSX
system.cpu.load now accepts percpu as the first parameter - if specified, total load divided by online CPU count is returned (default is still all and returns normal load value)
vm.memory.size now supports more modes for various platforms. See supported by platform and vm.memory.size parameters pages for more information.
added optional suppressing of processing of older data in log[], logrt[] and eventlog[]
additional parameter mode controls this:
The format of simple checks has been changed. The possibility of using IP addresses in simple checks has been added. The upgrade process converts all existing simple checks.
User parameters, external checks and other item types that return text (character, log, text types of information) now may send an empty string which will be accepted as a valid value. Before this, an empty value returned by an user parameter or external check would be treated as an unsupported item, and ignored for other item types by the Zabbix server.
External check parameter handling was changed. Previously, only one parameter was accepted. Starting with Zabbix 2.0, the key syntax conforms to other types of items and multiple comma-separated parameters may be passed.
Additionally, the hardcoded first parameter {HOST.CONN} for external checks has been removed and now external check parameters may be fully customised. Upgrade process adds this macro as a first parameter to all existing external checks.
Multi-line values can now be stored for the output of external scripts.
Aggregate items now support time postfixes.
Items that are especially useful for automated inventory data collection:
A status item has been removed as it was not easy to use and understand. Instead, a new internal item - zabbix[host,<type>,available] has been added. It allows to properly monitor host availability by each of states - Zabbix agent, SNMP, IPMI, JMX - and returns values for available, unavailable and unknown. The database upgrade process doesn't convert all existing 'status' keys and associated triggers to the new syntax, so they have to be converted manually.
Multiple general configuration parameters that previously were only read upon server startup are now also stored in the configuration cache. They are updated together with common configuration cache update.
Refresh unsupported items is now also synchronised to the Zabbix proxy.
Trigger cache has been introduced. Currently it holds the following information about triggers:
Trigger cache is part of the configuration cache and is updated the same way and at the same time as other parts of it. Note that upgrading to 2.0.0 may increase configuration cache usage, especially if Zabbix instance has lots of triggers.
This should improve trigger related operation performance and reduce the load on the database.
In Zabbix 1.8, individual daemon processes (for example, pollers) cache user macros and update this information every 5 minutes. In Zabbix 2.0, user macros are included in the general configuration cache and updated every CacheUpdateFrequency seconds.
The amount of work history syncer and escalator processes have to do for escalations has been reduced, which resulted in improved performance when processing large amount of events.
Order of database file import has been changed - images must be imported before data.sql now.
Active agent auto-registration now supports monitoring added hosts with passive checks. When active agent asks for checks, if it has configuration parameters ListenIP or ListenPort defined in the configuration file, these are sent along to the server. If multiple IP addresses are specified, the first one is sent to the server.
Server, when adding a new auto-registered host, uses received IP address and port to configure the agent. If no port value is received, 10050 is used. If no IP address value is received, the one used for incoming connection is used.
For active agent auto-registration notifications there are also two new macros supported:
{HOST.IP}
(or its deprecated version {IPADDRESS}
){HOST.PORT}
For network discovery and active agent autoregistration, host DNS entry is now populated by doing a reverse lookup from Zabbix server or Zabbix proxy, if discovery is performed by a proxy.
The way Zabbix handles unknown events has been redesigned. Before, in Monitoring → Events section, if event flow was OK → UNKNOWN → OK, hiding unknown events would display two successive OK events. Starting with 2.0.0, only the oldest OK event would be display in such a case. An exception is triggers with "Multiple PROBLEM events" - for these, multiple successive events would be always shown.
(should document how acknowledges work from server & frontend side)
Trigger status UNKNOWN has been removed - triggers will always be in OK or PROBLEM state, although they might get additional unknown status. This status will only be used for informational purposes.
In interface IP and DNS fields the following macros are supported:
In trigger names, additional following macros are supported:
For 2.0, user macros can now be used in these additional locations:
Additionally, macro {TRIGGER.KEY<1-9>} has been renamed to {ITEM.KEY<1-9>}.
New item type has been added - boolean. It translates textual representation into either 0 or 1. All values are matched in a case-insensitive way. TRUE is stored as 1 and FALSE is stored as 0. Currently recognised values are:
TRUE | FALSE |
---|---|
true | false |
t | f |
yes | no |
y | n |
up | down |
running | unused |
enabled | disabled |
available | unavailable |
Additionally, any non-zero numeric value is considered to be TRUE and zero is considered to be FALSE.
User group access property "API access" has been removed. Starting with Zabbix 2.0, all users have full access to the API.
In previous versions of Zabbix, specifying time till midnight differed depending on the location - in some locations it was "23:59", in others - "24:00". Starting with Zabbix 2.0 this has been unified so midnight is always specified as "24:00".
Before, Zabbix hosts had "normal" and "extended" profile. In Zabbix 2.0 both profiles were merged into single "host inventory".
Starting with Zabbix 2.0, escalations are always enabled and can not be disabled. By default a condition "Trigger value = PROBLEM" is added to new actions, so only problem notifications are sent. This makes recovery message checkbox operate in a more intuitive way. This action condition can be removed by the user.
Specify IPMI as a type instead of obscure syntax
Execute custom global scripts
Execute SSH and telnet commands
For custom scripts, ability to execute on the Zabbix server or agent was added
Before 2.0 this was hard-coded to /etc/zabbix . Since 2.0 the default changed to /usr/local/etc and depends on compile-time installation variable sysconfdir (which was ignored before Zabbix 2.0).
Before 2.0 the default location for external scripts was /etc/zabbix/externalscripts . Since 2.0 this changed to /usr/local/share/zabbix/externalscripts and depends on compile-time installation variable datadir. This location can be changed using configuration parameter ExternalScripts (server and proxy).
Before 2.0 the default location for alert scripts that are used for actions was /home/zabbix/bin . Since 2.0 this changed to /usr/local/share/zabbix/alertscripts and depends on compile-time installation variable datadir. This location can be changed using configuration parameter AlertScriptsPath (server).
If you are using a packaged version of Zabbix the following information can be irrelevant because the locations might depend on a distribution policy.
When installing Zabbix the following configuration files are created if missing:
/usr/local/etc is default value of compile-time installation variable sysconfdir.
The following directories are created for includes:
These directories are not automatically handled as "Include" directories, you would have to set them in appropriate configuration file.
The following directory is created when installing server or proxy:
The following directory is created when installing server:
/usr/local/share is default value of compile-time installation variable datadir.
Information about unsupported items is now passed from Zabbix proxies to the server.
Zabbix agent daemon parameter ServerActive has been simplified. Instead of overriding Server parameter, ServerActive now is the only parameter that's used for active checks. Additionally, ServerPort parameter has been removed - host ports now should be specified in the ServerActive parameter.
See the "See also" section at the bottom of this page to read more details about these changes.
Zabbix agent daemon configuration has been simplified by removing DisableActive and DisablePassive parameters. Instead, not specifying ServerActive will not do any active item processing, and specifying StartAgents=0 will disable processing of incoming connections for passive items.
While Zabbix did offer monitoring of files larger than 2GB before, this support was not consistent - it varied by platform and by item. Since 2.0, support for files exceeding 2GB is available also on 32-bit systems in all components, including tasks like logfile monitoring, file size monitoring etc. See large file support section for more information.