rConfig - Device Sync Overview
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 Platform | rConfig Version | Upstream Version | Tested |
---|---|---|---|
Zabbix | 7.0.0 | 6.4.10 | Yes |
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 Tag | Description | Values |
---|---|---|
rconfig::credentialset | Credential Set | Single ID, or Name of an rConfig Credential Set |
rconfig::category | Category | Single ID, or Name of an rConfig Category |
rconfig::tag | Tag | Multiple ID, or Name of an rConfig Tag. Must be comma seperated if multiple i.e. 1, 2, 1003, Routers, Switches |
rconfig::vendor | Vendor | Arbitrary String |
rconfig::model | Model | Single ID, or Name of an rConfig Vendor |
rconfig::template | Template | Single ID, or Name of an rConfig Template |
rconfig::prompt | Prompt | Enable Prompt String. Macros, or variables maybe used on a per system basis. For further details, please consult our upstream system’s documentation. |
rconfig::enable_prompt | Enable Prompt | Enable 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.