Skip to content

rConfig - Device Sync Overview

4 mins V7 Pro

Device Sync is a feature that allows you to sync devices from a source to rConfig. This is useful if you have a large number of devices that you want to import into rConfig. You can sync devices from integrated sources such as Zabbix, Nagious, Observium, and more.

The table below shows the Upstream platforms that have been tested with rConfig on the respective rConfig Professional versions.

Upstream PlatformrConfig VersionUpstream VersionTested
Zabbix7.0.06.4.10Yes

We will add more systems to this list as we test them over time. If you have a provider not on this list and would like to add it, please contact us.

The rest of the doc will present you with the high level concepts of device sync. For individual setup and configuration, please see the respective documents for the upstream systems.

Note: It is important to have an administrator level access to the upstream system to configure and set it up for integration with rConfig.

How it works

We designed the entire device sync process to be as simple as possible, but there are a few steps to follow. The process follows a well known ETL (Extract, Transform, Load) pattern. After we are connected to the upstream system, we extract the devices in raw format, then we parse the devices and transform and map them to rConfig format. After this we import the devices into an rConfig devices staging table. Finally you can review the devices and import them into the main rConfig devices table. An administrator will design and setup the process after which everything is validated, and then the process is scheduled to run at regular intervals.

We expect the process to be run at regular intervals to keep the devices in sync with the upstream system. The process is designed to be idempotent, so it will not create duplicate devices in rConfig and the staging tables are cleared after the devices are imported into the main rConfig devices table. Any errors that occur during the process are logged and can be reviewed by the administrator in the rConfig logs.

Device Sync is a multi step process:

  • First you need to configure the upstream system to allow rConfig to connect to it.
  • Then you need to configure rConfig to connect to the upstream system.
  • Once the connection is established, you can then sync devices from the upstream system to rConfig.
  • First we extract the devices in raw format from the upstream system.
  • Then we parse the devices and transform and map them to rConfig format.
  • After this we import the devices into an rConfig devices staging table.
  • Finally you can review the devices and import them into the main rConfig devices table.

Once the entire process is complete, you can then use the devices in rConfig as you would with any other device. You can run commands, backup configs, and more.

Extracting hosts

The first step in the process is to extract the devices from the upstream system. This is done using the upstream systems API. The devices are extracted in raw format and then parsed and transformed into rConfig format. We expect to apply fiters per the upstream system to only extract the devices that you want to import into rConfig. Once the devices are extracted, they are ready to be imported into rConfig.

Transforming and Mapping

The next step in the process is to transform and map the devices to rConfig format. This is done using tags that need to be applied on the upstream system. The tags are then used to categorize the devices in rConfig. The tags are listed below and are used to map the correct fields and values for the final list of imported devices in rConfig. All tags are required for a successful import.

Upstream TagDescriptionValues
rconfig::credentialsetCredential SetSingle ID, or Name of an rConfig Credential Set
rconfig::categoryCategorySingle ID, or Name of an rConfig Category
rconfig::tagTagMultiple ID, or Name of an rConfig Tag. Must be comma seperated if multiple i.e. 1, 2, 1003, Routers, Switches
rconfig::vendorVendorArbitrary String
rconfig::modelModelSingle ID, or Name of an rConfig Vendor
rconfig::templateTemplateSingle ID, or Name of an rConfig Template
rconfig::promptPromptEnable Prompt String. Macros, or variables maybe used on a per system basis. For further details, please consult our upstream system’s documentation.
rconfig::enable_promptEnable PromptEnable Prompt String. Macros, or variables maybe used on a per system basis. For further details, please consult our upstream system’s documentation.

Importing devices

The final step in the process is to import the devices into rConfig. This is via a devices staging table. The devices are imported into the staging table and then reviewed by an administrator. Once the devices are reviewed, they can be imported into the main rConfig devices table. The staging table is then cleared and the process is complete.

Command vs UI

The entire process can be done via the rConfig UI, or via the rConfig CLI. The UI is designed to be simple and intuitive, and the CLI is designed to give more verbose output for troubleshooting. The choice is yours. Please see the respective documents for more information.

Conclusion

Device Sync is a powerful feature that allows you to sync devices from a source to rConfig. This is useful if you have a large number of devices that you want to import into rConfig. You can sync devices from integrated sources such as Zabbix, Nagious, Observium, and more. The process is designed to be idempotent, so it will not create duplicate devices in rConfig. and the staging tables are cleared after the devices are imported into the main rConfig devices table. Any errors that occur during the process are logged and can be reviewed by the administrator in the rConfig logs.