Add 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 inner peace of mind for productive systems.

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

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

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

Here we need to make a small digression. You may ask, why not use the internal Zabbix 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 keep track of the relevance of data (in fact, not only that).

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

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

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.

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

Now let’s move on to the map service. We find it a handy tool for viewing the statuses of distributed objects on a TV in an office with a large leather chair.

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

Geographic map is implemented using js library leaflet and plugin for clustering objects… Events from the monitoring system and a link to the corresponding object in the CMDB are added to each tag. The cluster status is determined by the worst event for nested tags. If necessary, you can integrate the map with any monitoring system with an open API.

You can see the integration code in project repositories… Contributions are welcome.

If you are interested in our approach, on this page you can leave a request for a demonstration. We will tell you in more detail and show.

Similar Posts

Leave a Reply