Zabbix frontend is translated in many languages. For some, the coverage is great – 2.0.7 has been 100% translated in 9 languages. For some other translations the coverage is not that great… In preparation for Zabbix 2.2, there is a plan to remove translations below some threshold.
The Zabbix 2.0 translation team has done a great job, but there’s something else coming closer… no promises, but Zabbix 2.2 will come out one day 🙂
With lots of new features and improvements, translatable strings have changed significantly, too. Even for languages that are in great shape in 2.0, things don’t look that great in 2.2 – yet.
Zabbix offers a lot of methods for data gathering, including SNMP. SNMP has been a popular protocol for many years and probably will stay that way – it’s used on routers, switches, UPS devices, storage arrays and lots of other devices. Zabbix 2.2 will improve the existing SNMP support in several ways.
Zabbix comes with an impressive list of supported metrics for virtually all platforms. It covers the monitoring of performance and availability of OS including CPU, memory, network, processes, files, kernel parameters and more. Zabbix also performs agent-less checks for well-known services such as FTP, SSH, IMAP, POP3, HTTP, TCP, etc.
Extending Zabbix functionality is a trivial task thanks to user parameters (agent metrics) and external checks (agent-less monitoring). It is just a matter of adding a new line into the configuration file of the agent and you have a dozen of new metrics supported. Depending on security settings you may also use system.run, which does not require any changes on the agent side.
It works very well, but it has one major drawback, namely fork(). Zabbix has to fork a new process every time it handles a user metric, which is obviously not good for performance. It is not a big deal normally, however it could be a serious issue in case of monitoring of embedded systems, a large number of monitored parameters or heavy scripts with complex logic or long startup time.
Zabbix 2.2 comes with support of loadable modules for extending Zabbix agent and server without sacrificing performance.
The Monitoring -> Latest data page in the Zabbix frontend allows to see values for items. Items are grouped by application (if assigned), and they can be expanded and collapsed. Previously, any such operation would result in a full page reload. 2.2 will make this operation happen without a page reload.
In several previous articles in the Zabbix 2.2 series we already discussed several improvements for web monitoring – the ability to template it, customise the amount of retries and the ability to specify an HTTP proxy on the scenario level. There’s more – in 2.2 it will also be possible to parse content from a page and reuse it in further scenario steps.
In the previous article in 2.2 series we explored a new ability to extract values from a webpage. This was not the only feature that was extended this way – several other items gained similar functionality – notably, file content parsing and logfile parsing. The latter has been a popular feature request and should be good news for many users.
And now for some more detail on changes for item keys vfs.file.regexp, vfs.file.regmatch, log and logrt.
Zabbix has allowed to check whether a webpage contains a specific string for a long time – using the web.page.regexp agent item one could verify whether page contents match a regular expression or not, and return the matched string. But what if multiple matches were possible, but we were interested in a specific one? There was no built-in way to do that, but it is coming for Zabbix 2.2.
Value mapping is a neat, little feature in Zabbix that allows to see what a numeric code actually means. Well, what did that mean? For example, a UPS device might return “2”, which means “all is OK”, and “3”, which means “battery low”. There will be many different devices with different numeric codes, so remembering what they all mean is nearly impossible. Value mapping will show a human readable description, but the raw value will still follow in the parentheses – for example, Normal (2).
Until Zabbix 2.2, this was only supported for integers. Zabbix 2.2 will allow to configure value mapping also for decimal and string values.
Having explored two other improvements to the built-in web monitoring – ability to template it and change retry count – let’s take a look at another one. Until Zabbix 2.2, it was not possible to set HTTP proxy for web monitoring… well, that’s not entirely true – with a hack one could set HTTP proxy for the whole Zabbix server (or, since Zabbix 2.0, Zabbix proxy), but there was no way to set it per web scenario. Zabbix 2.2 will provide such a feature.
Continue reading “Zabbix 2.2 features, part 4 – HTTP proxy for web monitoring”