Adding CMDB and Geographic Map to Zabbix

Habr, of course, is not a very suitable platform for romance, but we cannot but confess our love for Zabbix. In many of our monitoring projects, we have used Zabbix and really appreciate the harmony and consistency of this system. Yes, there is no fashionable event clustering and machine learning (and some other features available out of the box in commercial systems), but what is already there is definitely enough for internal peace of mind for productive systems.

Adding CMDB and Geographic Map to Zabbix

In this article, we will talk about a couple of tools for extending the functionality of Zabbix: CMDB based on the free iTop solution and a feature map based on OpenStreetMap (OSM). And at the end of the article, you will find a link to the repository with the front-end code for OSM.

We will analyze the general concept using the example of a conditional project for monitoring a retail network of pharmacies. The screenshot below is our demo stand, but we use a similar concept in a combat environment. The transition from the object is possible both to the nested map and to the object card in the CMDB.

Adding CMDB and Geographic Map to Zabbix

Each pharmacy is a set of the following equipment: a workstation (or several workstations), a router, IP cameras, a printer, and other peripherals. The workstations have Zabbix agents installed. From the workstation, a ping check is performed on the peripheral equipment. Similarly, on the object map, from the printer, you can go to its card in the CMDB and see the inventory data: model, delivery date, responsible person, etc. This is what the embedded map looks like.

Adding CMDB and Geographic Map to Zabbix

Here we need to make a small digression. You may ask, why not use Zabbix's internal inventory? In some cases it is enough, but we recommend that customers still use an external CMDB (itop not the only option, but this system is quite functional for its free). This is a convenient centralized repository where you can generate reports and monitor the relevance of data (in fact, not only that).

Adding CMDB and Geographic Map to Zabbix

The screenshot below is an example of a template for filling Zabbix inventory from iTop. All this data can then, of course, then be used in the text of notifications, which will allow you to have up-to-date information immediately in the event of an emergency.

Adding CMDB and Geographic Map to Zabbix

The screenshot below shows the location card. Here we can see a list of all IT equipment that is in the pharmacy. On the tab History you can track changes in the composition of the equipment.

Adding CMDB and Geographic Map to Zabbix

You can go to the card of any object, see what network devices it is connected to, find the contact information of the responsible engineer, find out when the ink cartridge was last replaced, etc.

Adding CMDB and Geographic Map to Zabbix

On the this page our general approach to integrating Zabbix with iTop.

Now let's move on to the map service. We consider it a convenient tool for viewing the status of distributed objects on a TV in an office with a large leather chair.

Adding CMDB and Geographic Map to Zabbix

When you click on the emergency label, a tooltip appears. From there, you can go to the object card in CMDB or in Zabbix. As you zoom in and out, the labels cluster into clusters with the color of the worst status.

Geographic map implemented using js-library Leaflet и object clustering plugin. Events from the monitoring system and a link to the corresponding object in the CMDB are added to each label. The status of clusters is determined by the worst event for nested labels. If necessary, you can integrate the map with any monitoring system with an open API.

You can see the front end code in project repositories. Contributions are welcome.

If you are interested in our approach, this page You can apply for a demo. We'll tell you more and show you.

Source: habr.com

Add a comment