Moviri - SolarWinds Orion Extractor
The Moviri - SolarWindsOrion Extractor is an ETL available in BMC Helix Continuous Optimization. It allows extracting data from the SolarWinds Orion platform.
The integration supports the extraction of both performance and configuration data from the SolarWinds Orion API. Furthermore, the connector is able to replicate relationships and logical dependencies among entities such as Nodes, CPU Loads, Volumes, and Interfaces.
The documentation is targeted at BMC Helix Continuous Optimization administrators, in charge of configuring and monitoring the integration between BMC Helix Continuous Optimization and SolarWinds Orion.
Step I. Complete the pre-configuration task
Check the required API version is supportedSolarWinds Orion API version 2025.4+ Tested on 2025.4 and will test as latest comes out |
Get access to SolarWinds Orion API |
The access to SolarWinds Orion API depends on the username and password. This is set during the installation of SolarWinds |
Step II. Configure the ETL
A. Configuring the basic properties
Some of the basic properties display default values. You can modify these values if required.
To configure the basic properties:
- In the console, navigate to Administration > ETL & System Tasks, and select ETL tasks.
- On the ETL tasks page, click Add > Add ETL. The Add ETL page displays the configuration properties. You must configure properties in the following tabs: Run configuration, Entity catalog, and Amazon Web Services Connection
- On the Run Configuration tab, select Moviri - SolarWindsOrion Extractor from the ETL Module list. The name of the ETL is displayed in the ETL task name field. You can edit this field to customize the name.
Click the Entity catalog tab, and select one of the following options:
Shared Entity Catalog:
- From the Sharing with Entity Catalog list, select the entity catalog name that is shared between ETLs.
- Private Entity Catalog: Select if this is the only ETL that extracts data from SolarWinds resources.
- Click the Connection tab, and configure the following properties:
| Network URL | String | Yes | Blank | SolarWinds Orion API URL ({http/https}://hostname:port). Default Port is 17778. It typically belongs to the range 17770 - 17779. |
| Username | String | Yes | Admin | This is set during the installation of SolarWinds Orion |
| Password | String | Yes | Blank | This is set during the installation of SolarWinds Orion |
Click the Extraction tab, and configure the following properties
| Default last counter | String | Yes | Default earliest time the connector should be pulling data from in UTC. Format as yyyy-MM-dd HH:mm:ss, for example, 2026-01-01 19:00:00. | |
| Extract configuration data | Boolean | YES | YES | Switch getting configuration data (default is to get the data) |
| Allowlist regex | String | No | An allowlist/whitelist that uses regex to get the selected entities | |
| Denylist regex | String | No | An denylist/blacklist that uses regex to eliminate the selected entities out of the list | |
| Time resolution | String | Yes | 1 hour | Select between 1 hour, 5 minutes, or 1 minute resolution of data |
| Import servers | Boolean | Yes | Yes | Choice to get the servers imported |
| Import network devices | Boolean | Yes | Yes | Choice of importing the network devices |
| Performance query increments | String | Yes | 15 Minutes | Select between 1 hour, 30 minutes, or 15 minutes This regulate the data points for each API call Adjust this parameter to regulate the amount of data pulled from the API call If performance issues or timeout exceptions/issues, we suggest lower this value. |
| Virtual machine identifier (semicolon separated list of hostnames) | List | semicolon separated list of hostnames | ||
| Filter for network interfaces | String | semicolon separated list | ||
| Tag for network devices | String | Insert a tag that will be applied to the network devices imported with this ETL. The tag will be associated to the tag type 'circuit'. | ||
| Import memory metrics for Unix devices | Boolean | Yes | No | Enable this flag to only import memory metrics from devices of type 'freebsd', 'VMware ESX Server', 'net-snmp - Linux', 'IBM PowerPC'. |
The following image shows a Run Configuration example for the “Moviri Integrator for BMC Helix Continuous Optimization SolarWindsOrion":
(Optional) Override the default values of the properties:
Run Configuration:
| Module selection | Select one of the following options:
|
| Module description | A short description of the ETL module. |
| Execute in simulation mode | By default, the ETL execution in simulation mode is selected to validate connectivity with the data source, and to ensure that the ETL does not have any configuration issues. In the simulation mode, the ETL does not load data into the database. This option is useful when you want to test a new ETL task. To run the ETL in the production mode, select No. BMC recommends that you run the ETL in the simulation mode after ETL configuration and then run it in the production mode. |
Object Relationship:
| Associate new entities to | Specify the domain to which you want to add the entities created by the ETL. Select one of the following options:
By default, a new domain with the same ETL name is created for each ETL. When the ETL is created, a new hierarchy rule with the same name of the ETL task is automatically created in the active state. If you specify a different domain for the ETL, the hierarchy rule is updated automatically. |
ETL Task Properties:
| Task group | Select a task group to classify the ETL. |
| Running on scheduler | Select a compatible scheduler for running the ETL. See following note on compatible scheduler. |
| Maximum execution time before warning | Indicates the number of hours, minutes, or days for which the ETL must run before generating warnings or alerts, if any. |
| Frequency | Select one of the following frequencies to run the ETL:
|
(Optional) B. Configuring the advanced properties
You can configure the advanced properties to change the way the ETL works or to collect additional metrics
To configure the advanced properties:
- On the Add ETL page, click Advanced.
- Configure the following properties:
- Click Save.
The ETL tasks page shows the details of the newly configured SolarWindsOrion ETL:
Step III. Run the ETL
After you configure the ETL, you can run it to collect data. You can run the ETL in the following modes:
A. Simulation mode: Only validates connection to the data source, does not collect data. Use this mode when you want to run the ETL for the first time or after you make any changes to the ETL configuration.
B. Production mode: Collects data from the data source.
A. Running the ETL in simulation mode
To run the ETL in the simulation mode:
- In the console, navigate to Administration > ETL & System Tasks, and select ETL tasks.
- On the ETL tasks page, click the ETL. The ETL details are displayed.
- In the Run configurations table, click the pencil icon to modify the ETL configuration settings.
- On the Run configuration tab, ensure that the Execute in simulation mode option is set to Yes, and click Save.
- Click Run active configuration. A confirmation message about the ETL run job submission is displayed.
- On the ETL tasks page, check the ETL run status in the Last exit column.
OK Indicates that the ETL ran without any error. You are ready to run the ETL in the production mode. If the ETL run status is Warning, Error, or Failed:
- On the ETL tasks page, click the pencil icon in the last column of the ETL name row.
- Check the log and reconfigure the ETL if required.
- Run the ETL again.
- Repeat these steps until the ETL run status changes to OK.
B. Running the ETL in the production mode
You can run the ETL manually when required or schedule it to run at a specified time.
Running the ETL manually
- On the ETL tasks page, click the ETL. The ETL details are displayed.
- In the Run configurations table, click the pencil icon to modify the ETL configuration settings. The Edit run configuration page is displayed.
- On the Run configuration tab, select No for the Execute in simulation mode option, and click Save.
- To run the ETL immediately, click Run active configuration. A confirmation message about the ETL run job submission is displayed.
When the ETL is run, it collects data from the source and transfers it to the database.
Scheduling the ETL run
By default, the ETL is scheduled to run daily. You can customize this schedule by changing the frequency and period of running the ETL.
To configure the ETL run schedule:
- On the ETL tasks page, click the ETL, and click Edit Task. The ETL details are displayed.
On the Edit task page, do the following, and click Save:
- Specify a unique name and description for the ETL task.
- In the Maximum execution time before warning field, specify the duration for which the ETL must run before generating warnings or alerts, if any.
- Select a predefined or custom frequency for starting the ETL run. The default selection is Predefined.
- Select the task group and the scheduler to which you want to assign the ETL task.
- Click Schedule. A message confirming the scheduling job submission is displayed.
When the ETL runs as scheduled, it collects data from the source and transfers it to the database.
Step IV. Verify data collection
Verify that the ETL ran successfully and check whether the SolarWinds Orion data is refreshed in the Workspace.
To verify whether the ETL ran successfully:
- In the console, click Administration > ETL and System Tasks > ETL tasks.
- In the Last exec time column corresponding to the ETL name, verify that the current date and time are displayed.
To verify that the SolarWinds Orion data is refreshed:
- In the console, click Workspace.
- Expand (Domain name) > Systems.
- In the left pane, verify that the hierarchy displays the new and updated SolarWinds instances.
- Click a SolarWinds entity, and click the Metrics tab in the right pane.
- Check if the Last Activity column in the Configuration metrics and Performance metrics tables displays the current date.
SolarWinds Orion Entities
| BHCO Entities | SolarWinds Orion Entity |
| Generic Systems, VMWare Virtual Machines | Nodes / CPU Loads / Volumes |
| Network Devices | Interfaces |
Entity Relationship
| Solarwinds Orion Entities | Relationship Type | Description |
| Nodes | Parent | The primary device (server, router, switch) being monitored. |
| CPU Load | Child/Metric | A performance metric within a node, often grouped with Memory as a primary resource, contributing to node health |
| Volume | Child/Metric | Disk storage on a node, showing capacity usage and remaining space. |
| Interface | Child/Metric | Specific network ports on a node (e.g., Ethernet 1/1, Gig0/0), showing traffic, errors, and utilization. |
Hierarchy
The connector is able to replicate relationships and logical dependencies among these entities as they are found configured.
Data Verification
The following sections provide some indications on how to verify on SolarWinds Orion if all the pre-requisites are in place before starting collecting data
Metrics Mapping
Node:
| LOCATION_SITE | Location | Conf |
| NET_IP_ADDRESS | IPAddress | Conf |
| OS_VER | IOSVersion | Conf |
| OS_TYPE | MachineType | Conf |
| OS_FAMILY | Vender | Conf |
| CPU_NUM | CPUCount | Conf |
| NETIF_NUM | count(distinct InterfaceID) | Conf |
| TOTAL_REAL_MEM | TotalMemory | Conf |
| BYIF_ADMIN_STATUS | adminStatus | Conf |
| BYIF_STATUS | operStatus | Conf |
| BYIF_IN_BIT_RATE | inAveragebps | Perf |
| BYIF_IN_PKT_DISC_PCT | avg(InDiscards)/avg(InTotalPkts) | Perf |
| BYIF_IN_PKT_ERR_PCT | avg(InErrors)/avg(InTotalPkts) | Perf |
| BYIF_IN_UTIL | avg(inPercentUtil*1.0/100) | Perf |
| BYIF_OUT_BIT_RATE | avg(outAveragebps*1.0) | Perf |
| BYIF_OUT_PKT_DISC_PCT | avg(OutTotalPkts) or avg(OutDiscards)/avg(OutTotalPkts) | Perf |
| BYIF_OUT_PKT_ERR_PCT | avg(OutTotalPkts)=0 or avg(OutErrors)/avg(OutTotalPkts) | Perf |
| BYIF_OUT_UTIL | avg(outPercentUtil*1.0/100) | Perf |
| CPU_UTIL | minLoad | Perf |
| MEM_USED | minMemoryUsed | Perf |
| MEM_UTIL | avgPercentMemoryUsed | Perf |
| NETIF_UP_NUM | sum(active) | Perf |
| NET_BIT_RATE | (BYIF_IN_BIT_RATE + BYIF_OUT_BIT_RATE) | Perf |
| UPTIME | SystemUpTime | Perf |
CPU Loads:
| CPU_UTIL | minLoad | Perf |
| TOTAL_REAL_MEM | totalMemory | Perf |
| MEM_USED | minMemoryUsed | Perf |
| MEM_UTIL | avgPercentMemoryUsed | Perf |
| BYCPU_CPU_UTIL | minLoad | Perf |
Volumes:
| BYFS_USED | VolumeSpaceUsed | Perf |
| BYFS_SIZE | VolumeSize | Perf |
| BYFS_FREE | VolumeSpaceAvailable | Perf |
| BYFS_USED_SPACE_PCT | VolumePercentUsed/100 | Perf |
Interfaces:
| BYIF_STATUS | OperStatus | Conf |
| BYIF_ADMIN_STATUS | AdminStatus | Conf |
| BYIF_DESC | Alias | Conf |
| NETDEV_CATEGORY | deviceCategory | Conf |
| BYIF_IN_BIT_RATE | avg(inAveragebps*1.0) | Perf |
| BYIF_OUT_BIT_RATE | avg(outAveragebps*1.0) | Perf |
| BYIF_IN_UTIL | avg(inPercentUtil*1.0/100) | Perf |
| BYIF_OUT_UTIL | avg(outPercentUtil*1.0/100) | Perf |
| BYIF_IN_PKT_RATE | avg(inTotalPkts*1.0) | Perf |
| BYIF_OUT_PKT_RATE | avg(outTotalPkts*1.0) | Perf |
| BYIF_IN_PKT_DISC_PCT | avg(InDiscards)/avg(InTotalPkts) | Perf |
| BYIF_OUT_PKT_DISC_PCT | avg(OutDiscards)/avg(OutTotalPkts) | Perf |
| BYIF_IN_PKT_ERR_PCT | avg(InErrors)/avg(InTotalPkts) | Perf |
| BYIF_OUT_PKT_ERR_PCT | avg(OutErrors)/avg(OutTotalPkts) | Perf |
| NET_BIT_RATE | (BYIF_IN_BIT_RATE + BYIF_OUT_BIT_RATE) | Perf |