Improvements to NMS Sync in Unimus 2.1.0
The "NMS Sync" feature of Unimus was heavily reworked and improved in Unimus 2.1.0. It is now fully compatible with Zones, and allows for much more flexibility in how you adopt devices into Unimus. This article is an overview of the changes and new options available for NMS Sync.
The NMS Sync
functionality was originally intended to ease device management (adding / removing devices) and onboarding of networks into Unimus. If you use a monitoring system (NMS / RMM), your network infrastructure should already be present in your NMS - so instead of having to manually add your network(s) into Unimus, you could just configure Unimus to pull in devices from your NMS. This makes it much easier and faster to deploy Unimus into new network(s), but also automates the ongoing management of devices in Unimus. If you deploy a new device, you can just add it to your NMS, and Unimus will automatically adopt it from there instead of having to manually add the device to multiple systems. NMS Sync
was originally introduced all the way back in 0.1.3, and while we have been adding connectors for new NMS systems continually over the years, the way how NMS Sync
was configured and worked has remained mostly the same. With the introduction of Zones in 2.0 however, the way NMS Sync
was implemented started to show it's age.
We started seeing requests for importing to different Zones from different containers / tags inside an NMS, or to import into a single Unimus instance from multiple NMSes. With 2.1, we have reworked how NMS Sync
is configured and works, and it should now be flexible enough to support a wide range of use-cases.
Sync Presets
We have changed NMS Sync
configuration to be preset-based. A preset defines a single policy of where from, what, and where to import. You can create as many presets as you would like, pointing to a single NMS system, or pointing to multiple different NMS systems.
Here is how a configured preset looks like:
The left section defines where to import from - the details of the NMS itself. The right section defines Sync rules
, or what to import, and where to import it to.
Sync Rules
Sync Rules tell the Sync Presets from where inside the NMS to adopt devices from, and to which Zone in Unimus these devices should be imported into. A single Sync Rule can specify multiple sources from within the NMS - for example multiple containers, or Tags or tree roots where devices in the NMS are located. For each NMS we support, the options are a little different, as it depends on how devices inside the NMS are organized. You can create as many rules for a single preset as you need.
Here is an example where we configure 2 rules for sync from Zabbix. One rule imports from the Internal infrastructure
Zabbix group into the Default
Zone in Unimus, and the 2nd rule import from 2 Zabbix groups (`Managed routers` and Customer CPEs
) into Zone 3
in Unimus:
Examples
The easiest example is if you have a single NMS system and would like to import devices only to a single Zone in Unimus. In this case, a single Sync Preset with a single Sync Rule will be completely sufficient. Just setup your NMS details, and create a single Sync Rule. Inside the Sync Rule, you can setup multiple sources (containers, tags or IDs) from that NMS, and point them all to the Default Zone.
If you have a single NMS system, but would like to import different nodes from the NMS into different Zones in Unimus, a single Sync Preset will also be sufficient. You can create multiple Sync Rules, each rule would define the sources inside the NMS, and would point the devices to be imported into separate Zones. So in the end, you would create as many Sync Rules as you have Zones in Unimus you want to import devices into.
Finally, If you have multiple NMS systems from which you would like to import to Unimus, you can create multiple Sync Presets - one for each NMS. Inside these presets, you can create rules that define which devices from each of the NMSes (presets) are adopted, and into which Zone they should be imported to.
Supported NMSes
As of 2.1.0, Unimus supports syncing from 7 different NMS systems:
- NetXMS
- Zabbix
- PRTG
- LibreNMS
- Panopta
- Powercode
- Observium
If you use a different NMS system that we don't have support for yet, please get in touch with us!
Migration
If you already use Unimus and have an existing NMS Sync configuration, upgrading to 2.1 will automatically migrate your configuration to presets. After the upgrade, you don't need to do any manual reconfiguration - everything should continue working as expected.
The updates to NMS Sync are available starting with Unimus 2.1.0. Please head over to the Download section to download the latest Unimus release.