Monitor your HTTPS certificates with Zabbix
June 19, 2019Server monitoring with iLO (HP), iDRAC (DELL) and IPMI technologies with Zabbix
January 12, 2020Improvements and news in Zabbix 4.4
One of the components of our tool, Minerva, has released a new update, version 4.4. We will now proceed to explain some of the most useful new features offered by this tool.
Among the improvements of this new agent is an optimization of the use of TCP connections, reusing them to send several items in the same connection, with the consequent decrease in the number of connections created, optimizing the resources of both the agent and the network.
An important improvement for active agents is the ability to create programmable intervals in the same way as on the server, i.e. to be able to program an item so that it only sends values at the specified intervals, for example, Monday to Friday from 9 to 17. This way we avoid sending unnecessary data and storing it.
Another important improvement is the ability to maintain the connection to services, e.g. databases, in order to be able to indicate whether there was a fall between two connections and inform Zabbix of this. With the previous agent, if two consecutive checks showed that there was a connection, you would never know about the service drop.
At the moment, this new agent is only available for some Linux versions.
For the minor improvements, we have the improvements in the part of the display tables. Which mainly consist of adding or modifying data from the tables. On the hand, in the tables of "problems" and "Last data" the description of the alerts or items was added for a greater facility of identification of the same ones.
Agent
For the first time in a long time (basically since version 1.0), we have a new agent. This new agent will be written in GO, although it will recycle things from the previous agent, which was written in C. For the moment, both agents will be available, although with time the latter will replace the previous one.Among the improvements of this new agent is an optimization of the use of TCP connections, reusing them to send several items in the same connection, with the consequent decrease in the number of connections created, optimizing the resources of both the agent and the network.
An important improvement for active agents is the ability to create programmable intervals in the same way as on the server, i.e. to be able to program an item so that it only sends values at the specified intervals, for example, Monday to Friday from 9 to 17. This way we avoid sending unnecessary data and storing it.
Another important improvement is the ability to maintain the connection to services, e.g. databases, in order to be able to indicate whether there was a fall between two connections and inform Zabbix of this. With the previous agent, if two consecutive checks showed that there was a connection, you would never know about the service drop.
At the moment, this new agent is only available for some Linux versions.
Gui
On the part of data visualization there were quite minor improvements and a quite remarkable. We are going to start with the minor ones and finally we will comment on the important improvement.For the minor improvements, we have the improvements in the part of the display tables. Which mainly consist of adding or modifying data from the tables. On the hand, in the tables of "problems" and "Last data" the description of the alerts or items was added for a greater facility of identification of the same ones.
On the other hand, in the problems section, we added an interesting feature, which is to be able to write a custom text (either with a predefined text with us, with the value of the monitored variables or with a combination of both) that will be seen in the table. This will make it easier to see the value of the monitored variable to better understand the severity of the corresponding alert.
In the "hosts" table, the current annoying format of "{PROXY}:{HOST}" will be eliminated for the teams that are monitored by a proxy, leaving only the name of the host. To compensate for this, the table will be expanded by one column. In this column the name of the proxy that monitors a host will appear. With this change we get a greater clarity when looking for the equipments. At the same time it is clearer which are the hosts that monitor each proxy.
On the other hand, in the "Macros" section, there is now a new field in macros. This field is the description, which is useful to avoid long names in macros to make them very descriptive. Now we can have macros of normal length, supported by a full description.
Finally, let's talk about the important change within visualization. This new feature is a bar graph. This allows you to create more varied display screens. Anyway, these screens are still quite limited, so they are still not very useful, which forces us to delegate this visualization to other platforms, such as Grafana.
The alerts also incorporate a new macro, which represents the ID of the event associated with the problem. This is very useful to automate the creation of tasks, being able to specify exactly which is the ID of the problem to solve.
On the discovery rules side, a couple of new preprocessing options are added. One of them, which may be interesting, is the "XML Path", which expands the number of formats that understand these rules. Another option that they add is the "CSV to JSON", which has the same characteristics as the previous one, although with the advantage that, when transforming it to JSON, you can apply all the options that these have associated. This last option is also added to the preprocessing of the items.
The number of dependent items that can have a single item is expanded. This value goes from 999 to 29999. As we see it is a substantial increase that may well come with the next point.
For the items, a new key is created for a database monitor. This key, called "db.odbc.get", makes it possible for a database query to return several rows for analysis. This is good next to the previous point because from a single query we can get many rows (output in JSON format) and then make many items dependent. This way we avoid many unnecessary queries to the database.
Finally, now you can auto-register computers as before but register with the DNS domain, instead of with the IP, in case you have a computer that can vary this IP.
Nor are the new implementations in the data processing part negligible, which will facilitate the task of how to send the data to Zabbix. Many of them are focused on not having to translate between formats, which is one of the most annoying tasks of data collection.
The truth is that the new version has many interesting improvements. Let's see what improvements Zabbix provides in future versions.
In the "hosts" table, the current annoying format of "{PROXY}:{HOST}" will be eliminated for the teams that are monitored by a proxy, leaving only the name of the host. To compensate for this, the table will be expanded by one column. In this column the name of the proxy that monitors a host will appear. With this change we get a greater clarity when looking for the equipments. At the same time it is clearer which are the hosts that monitor each proxy.
On the other hand, in the "Macros" section, there is now a new field in macros. This field is the description, which is useful to avoid long names in macros to make them very descriptive. Now we can have macros of normal length, supported by a full description.
Finally, let's talk about the important change within visualization. This new feature is a bar graph. This allows you to create more varied display screens. Anyway, these screens are still quite limited, so they are still not very useful, which forces us to delegate this visualization to other platforms, such as Grafana.
Databases
Support for a new database is added. This database is called TimescaleDB. This database, built on Postgres, specializes in temporal data analysis, so it would be the perfect database for Zabbix. Hopefully the performance of the platform will improve.Export
File export is greatly simplified. A lot of unnecessary data is eliminated, i.e. with default values or directly without a value. On the other hand, they replace many numeric values with their correspondence in text, to make it more easily understandable and editable directly, without having to resort to Zabbix's own interface.Server
One of the most important changes is the extension of the alert capabilities by adding the JavaScript engine to Zabbix. In this way, there is less reliance on external scripts, which helps to keep as much logic as possible within Zabbix, making it much easier to maintain alerts.The alerts also incorporate a new macro, which represents the ID of the event associated with the problem. This is very useful to automate the creation of tasks, being able to specify exactly which is the ID of the problem to solve.
On the discovery rules side, a couple of new preprocessing options are added. One of them, which may be interesting, is the "XML Path", which expands the number of formats that understand these rules. Another option that they add is the "CSV to JSON", which has the same characteristics as the previous one, although with the advantage that, when transforming it to JSON, you can apply all the options that these have associated. This last option is also added to the preprocessing of the items.
The number of dependent items that can have a single item is expanded. This value goes from 999 to 29999. As we see it is a substantial increase that may well come with the next point.
For the items, a new key is created for a database monitor. This key, called "db.odbc.get", makes it possible for a database query to return several rows for analysis. This is good next to the previous point because from a single query we can get many rows (output in JSON format) and then make many items dependent. This way we avoid many unnecessary queries to the database.
Finally, now you can auto-register computers as before but register with the DNS domain, instead of with the IP, in case you have a computer that can vary this IP.
Conclusions
Many of the improvements seen will be very useful to regular users of the platform, especially those focused on improving the tables showing the monitoring data. That not for being simple, they stop being less effective, obtaining that the work is facilitated enough.Nor are the new implementations in the data processing part negligible, which will facilitate the task of how to send the data to Zabbix. Many of them are focused on not having to translate between formats, which is one of the most annoying tasks of data collection.
The truth is that the new version has many interesting improvements. Let's see what improvements Zabbix provides in future versions.
CEO & MANAGING DIRECTOR
Expert in IT monitoring, systems and networks.
Minerva is our enterprise-grade monitoring platform based on Zabbix and Grafana.
We help you monitor your network equipment, communications and systems!
Subscribe to our Newsletter