Moviri Integrator for BMC Helix Capacity Optimization - Entuity
“Moviri Integrator for BMC Helix Continuous Optimization – Entuity” allows extracting data from the Entuity network monitoring tool into BMC Helix Continuous Optimization for relevant capacity metrics.
The integration supports the extraction of both performance and configuration data across network components monitored by Entuity (also marketed as “Entuity Network Monitoring and Analytics for BMC ProactiveNet Performance Management” by BMC). Furthermore the connector is able to replicate relationships and logical dependencies among entities defined in Entuity into BMC Helix Continuous Optimization, thus enabling grouping and multiple perspectives.
The connector supports configuration parameters that allow devices filtering, metrics filtering, historical recovery, limiting data volume processed in a single run and many other settings.
The documentation is targeted at BMC Helix Continuous Optimization administrators, in charge of configuring and monitoring the integration between BMC Helix Continuous Optimization and Entuity.
- Requirements
- Datasource Check and Configuration
- Connector configuration
- Troubleshooting
- Configuration and Performance Metrics Mapping
- Lookup Fields
Requirements
Official name of data source software
“Entuity” (product marketed by Entuity company)
or
“Entuity Network Monitoring and Analytics for BMC ProactiveNet Performance Management” (product marketed by BMC through Market Zone program)
or
“Entuity for TrueSight Operations Management” (product marketed by BMC through Market Zone program)
Supported versions of data source software
- Entuity Network Monitoring and Analytics Version 9.0.00 to 14.0.00
- Entuity for TrueSight Operations Management 14.5.00 to 17.00
- Entuity 12.5 to 17.0
Supported configurations of data source software
Moviri – Entuity Extractor requires the configuration of the Data Export component. The supported DBMS is MySQL.
Datasource Check and Configuration
Preparing to connect to the data source software
In order to make data available to third party solutions, Entuity provide a data export module, which can export different (configurable) datasets to an external MySQL database.
The integration between BMC Helix Continuous Optimization and Entuity takes advantage of this feature. If there are active export jobs already in place, the BMC Helix Continuous Optimization-job can re-use the existing database instance; otherwise a MySQL database instance has to be identified in order to host a database schema in which Entuity job will write.
This is the step-by-step procedure to enable the daily data export:
- Create an empty MySQL Database (default name is eye_bco) that is reachable from Entuity server and BMC Helix Continuous Optimization ETL Engine
Check which version of Entuity is installed: from Entuity menu choose Help → About Entuity
- Open the package:
“Moviri Integrator Version 2.5.00 for Helix Capacity Optimization.zip”
and extract the file “sw_data_export_def_bco_*****.cfg “ according to your Entuity version and installed modules:
- Use sw_data_export_def_bco_165_QoS.cfg for Entuity version>=16.5 and QoS module enabled
- Use sw_data_export_def_bco_165_noQoS.cfg for Entuity version>=16.5 and QoS module disabled
- Use sw_data_export_def_bco_16orLess_QoS.cfg for Entuity version<=16.0 and QoS module enabled
- Use sw_data_export_def_bco_16orLess_noQoS.cfg for Entuity version<=16.0 and QoS module disabled
- The extracted cfg file contains Entuity data export configuration (datasets and job), which enable the daily data export for BMC Helix Continuous Optimization. Open it, edit the job connection parameters (see below) and rename the file to sw_data_export_def_bco_Entuity.cfg
# BMC Helix Continuous Optimization Export Job configuration
[DataExportJob ~BCO Export Job]
Description=BCO Export Job
DbName=eye_bco #Enter here the name of MySQL export DB
DbUser=<username> #Enter here username of MySQL export DB
DbPassword=<password> #Enter here password of MySQL export DB
DbServer=<hostname>:<port> #Enter here hostname and port of MySQL export DB
ViewName=All Views
Backfill= 604800 #Enter time period (in seconds) of how far data
#export should go to get data
Ageout=1209600 #Enter time period (in seconds) of how long data
#should be retained
Schedule=Daily
Datasets=~BCO Devices,~BCO Modules,~BCO Processors,~BCO Processor Utilization,~BCO Processor Utilization Avg,~BCO Device Memory Utilization,~BCO Ports,~BCO Port Traffic,~BCO Port Fault,~BCO Router Resources,~BCO Switch Resources,~BCO Device View Membership,~BCO Memories,~BCO Memory,~BCO View,~BCO Latency,~BCO SNMP RespTime,~BCO MonitoredDevice,~BCO ClassMap,~BCO PolicyMap,~BCO QoS Class Map,~BCO Root
IsEnabled=0
For more details please see Entuity Data Export guide - Place configuration file “sw_data_export_def_bco.cfg” file into the ‘etc’ folder under Entuity/ENMA installation folder (e.g. /opt/entuity/etc).
- Edit the ‘etc/sw_data_export_def_site_specific.cfg’ file to add the following line:
!sw_data_export_def_bco.cfg - Shut the Entuity/ENMA package/service down if it is not already down.
- Run the ‘install/configure’ utility making sure that the Data Export module is enabled.
- Start the Entuity/ENMA package running.
Log into the web interface using the ‘’admin” user (default password is “admin”). Display the list of default Data Export jobs using Administration > Data Export > Jobs . This list should look as follows:
The configuration of the “~BCO Export Job” can be viewed and should look as follows:
- Go back to the Jobs page. An export can be initiated manually by clicking the “Run” for the “~BCO Export Job”. Check the status of the job by clicking “History”. If the job hasn’t finished try again in a minute or so.
- The data will have been written to tables the export database.
The automatic daily scheduled running of the ~BCO Export Job can be enabled by checking the appropriate box on the Jobs page. It is preconfigured to maintain a 2 weeks rolling window of statistics and the first time the export is run it will export the previous 7 days. In a multi EYE-Server deployment the procedure needs to be applied on all EYE-Severs whose monitored devices have to be imported into BMC Helix Continuous Optimization. In this case, each EYE-Server deployment needs to target a different database. Multiple databases can be hosted by the same server.
Connector configuration
Connection parameters configuration
The Entuity ETL needs to be configured in order to successfully connect to MySQL export database. Select the following properties under the ETL run configuration, Connection parameters panel:
- Database type: “Other database”
JDBC driver: your MySQL JDBC driver of choice, that must be present on the ETL engine in the following path: <<
BMC Helix Continuous Optimization
installation directory>>/etl/libext (e.g. /opt/bmc/BCO/etl/libext)
Multiple data export job configuration
Entuity supports environments with different Entuity server instances, in order to manage them in BMC Helix Continuous Optimization, it must be performed the same data export configuration procedure (see par. 3.6) in all the Entuity instances and all the instances are properly configured through the Entuity page Administration -> Multi-Server Administration (for detail see Entuity documentation).
The BMC Helix Continuous Optimization export jobs (one on each Entuity server) can write data
- in the same MySQL database (the ETL consider each Job as a different source) -> one ETL instance is enough to read all data
- in different MySQL database -> is needed one ETL instance for each MySQL database (different configurations in the connection parameters panel, see par. 3.6.7) and different configurations in Entuity export file (see par 3.6.4)
- Is NOT supported to configure export jobs of two different Entuity schema versions (Entuity 12.5-14.5 and EYE 2012) in the same MySQL database.
Connector configuration attributes
Property Name | Value Type | Required? | Default | Description |
Filters on Entuity servers/Devices to import | ||||
Entuity server White List (separator ;) | String | No |
| Semicolon-separated list of Entuity servers whose data is going to be imported, SQL wildcard “%” and “_” can be used . |
Entuity server Black List (separator ;) | String | No |
| Semicolon-separated list of Entuity servers whose data is not going to be imported, SQL wildcard “%” and “_” can be used. |
Devices White List (separator ;) | String | No |
| Semicolon-separated list of Devices whose data is going to be imported, SQL wildcard “%” and “_” can be used. |
Devices Black List (separator ;) | String | No |
| Semicolon-separated list of Devices whose data is not going to be imported, SQL wildcard “%” and “_” can be used. |
Interfaces White List (sep ;) | String | No |
| Semicolon-separated list of devicename:interface (name or description) whose data is going to be imported, SQL wildcard “%” and “_” can be used . |
Interfaces Black List (sep ;) | String | No |
| Semicolon-separated list of devicename:interface (name or description) whose data is not going to be imported, SQL wildcard “%” and “_” can be used . |
QoS class White List (sep ;) | String | No |
| Semicolon-separated list of QoS class whose data is going to be imported, SQL wildcard “%” and “_” can be used. |
QoS class Black List (sep ;) | String | No |
| Semicolon-separated list of QoS classes whose data is not going to be imported, SQL wildcard “%” and “_” can be used. |
Folder White List (sep ;) | String | No |
| Semicolon-separated list of Folders whose data is going to be imported, SQL wildcard “%” and “_” can be used. |
Folder Black List (sep ;) | String | No |
| Semicolon-separated list of Folders whose data is not going to be imported, SQL wildcard “%” and “_” can be used. |
Filters on metric to import | ||||
Collect devices system resources utilization metrics | Boolean | Yes | Yes | Collect system metrics like CPU, memory, backplane utilization and memory largest free |
Collect interfaces traffic metrics | Boolean | Yes | Yes | Collect for each interface metrics like inbound and outbound traffic in bps and utilization in % |
Collect interfaces error metrics (basic) | Boolean | Yes | Yes | Collect for each interface one aggregated errors metric that summarize errors and discards |
Collect interfaces error metrics (detail) | Boolean | Yes | No | Collect for each interface the following errors metrics inbound discards and errors % and outbound discards and errors % |
Collect virtual interfaces (Traffic metrics) | Boolean | Yes | No | Collect also traffic metrics on virtual interfaces (error metrics are not imported) |
Collect loopback interfaces | Boolean | Yes | No | Collect data also for loopback interfaces |
Collect latency and response time | Boolean | Yes | No | Collect devices SNMP response time and ICMP latency |
Collect interfaces QoS bitrate and drops | Boolean | Yes | No | Collect interfaces QoS metrics (Pre-policy and post-policy bitrate and drop %) |
List of CO metric to import (separator ; - empty= all metrics) | String | No |
| Fine-grain metric filter: if not empty collect only CO metric specified in the list |
Filters on device type to import | ||||
Extract device of category "Managed Host" | Boolean | Yes | No | Import devices type: “Managed host” |
Extract device of category "VM Platform" | Boolean | Yes | No | Import devices type: “VM Platform” |
Extract device of category "Unclassified" | Boolean | Yes | No | Import devices type: “Unclassified” |
Property Name | Value Type | Required? | Default | Description |
Entity naming | ||||
Use hostname as sysname instead of Entuity device name | Boolean | Yes | No | Map BMC Helix Continuous Optimization system name to Entuity Stream Attribute “System Name” (in Entuity interface under Explorer > Managed Host: %selected_device% > Advanced) instead of Entuity device name |
Entity relationships | ||||
---|---|---|---|---|
Ignore Entuity views relationships - attach all devices to root domain | Boolean | Yes | No | Attach all systems to ETL root domain, by default the ETL extracts the Entuity relationships information |
Time management | ||||
Extract hour data (do not load 5min detail) | Boolean | Yes | false | Import 1 hour as maximum time detail and collect different statistics (avg, max, min, sum, count), compared to 5 min detail, it save disk space. |
Max days to extract (0=no limits) | Number | No | 0 | Limit max number of days extracted in a single execution |
Hours to extract in a single query | Number | No | 24 | To prevent overloading Entuity export db, the extraction query can be split in many small query on the basis of this parameter |
Default value for lastcounter | String | No |
| If lastcounter for a specific Entuity server is not set, use this entry. Please insert a date subsequent to the start of the export job |
Time management: Recovery mode | ||||
Recovery mode active | Boolean | Yes | false | When recovery is active, ETL extracts data in the time window specified by the next two properties and lastcounters are not updated |
Recovery from date (yyyy-mm-dd hh24:mi:ss) | String | No |
| “From” timestamp when recovery mode is active. Date format is specified between the brackets |
Recovery to date (yyyy-mm-dd hh24:mi:ss) | String | No |
| “To” timestamp when recovery mode is active. Date format is specified between the brackets |
Guidelines to choose the right ETL configuration
In order to set the ETL configuration that match your needs, in this paragraph some common use cases are presented.
Scenario 1: “Typical” network capacity analysis and planning Goal: ensure the right network capacity (traffic and device resource utilization) |
Scenario 2: “in-depth” network capacity analysis and planning for particular services/applications/devices Goal: react on short-term growth (traffic and device resource utilization) Data resolution: detail |
Scenario 3: Quality network capacity analysis and planning Goal: ensure the right network capacity and quality Data resolution: hour
|
The choice of correct configuration brings you benefits also in terms of shorter execution time and saved disk space on database.
Every Entuity ETL instance configuration applies to all jobs/devices selected, if there are different scenario needs for different jobs/devices, is recommended to create many ETL instances with different configuration which filters on particular jobs/devices (e.g. There are both a big and stable environment (scenario 1) and the introduction of a new service (scenario2))
Data volume considerations
The following table is a reference to estimate the data volume produced daily by Entuity ETL for each device, interface and module based on which metric filter in ETL configuration is active (see “Filters on metric to import” in par. 5.3)
Metric type | Component | ETL filters on metric to import | Daily detail samples | Daily hour samples |
Performance | Device | System resources utilization metrics | 2880 | 240 |
Device | no filter | 3 | 3 | |
Device | Latency and response time | 576 | 48 | |
Interface | Interfaces traffic metrics | 1152 | 96 | |
Interface | Interfaces error metrics (detail) | 1152 | 96 | |
Interface | Interfaces error metrics (basic) | 288 | 24 | |
Interface | Interfaces QoS bitrate and drops | 1152 | 96 | |
Configuration | Device | no filter | 13 | 13 |
Module | no filter | 2 | 2 | |
Interface | no filter | 5 | 5 |
As a reference, it has been chosen a device with 24 active interfaces
Device with 24 active interfaces | ||
ETL filters on metric to import | Daily detail samples | Daily hour samples |
System | 3594 | 474 |
System+traffic | 30666 | 2682 |
System+traffic+errors basic | 37578 | 3258 |
System+traffic+errors detail | 58314 | 4986 |
System+traffic+QoS (5 CoS) | 138714 | 11994 |
In a data center with 3 network interfaces for each server and devices with 24 interfaces, the volume of samples collected using System+ traffic filter (as in par 5.3.1 – scenario 1) is approximately :
Server number | Network interfaces needed | Network devices needed | Daily detail samples (Millions) | Daily hour samples (Millions) |
100 | 300 | 12,5 | 0,4 | 0,0 |
1000 | 3000 | 125 | 3,8 | 0,3 |
10000 | 30000 | 1250 | 38,3 | 3,4 |
100000 | 300000 | 12500 | 383,3 | 33,5 |
Historical data extraction
In order to perform a historical recovery of data, please use “recovery mode properties” settings:
Recovery mode active= true and filling the two properties “from date” and “to date” in order to specify the time window. When recovery mode is active, the lastcounter will not be updated.
If the ETL is newly created and has no lastcounter defined, the “default lastcounter” is used.
The pre-condition for an historical extraction is the presence of data inside the Entuity export DB.
Supported Platforms
For all metrics imported by the ETL and described below in this section, the following apply:
Supported
BMC Helix Continuous Optimization
Entity Type: Network device, Router, Switch, Firewall
Troubleshooting
For ETL troubleshooting, please refer to official BMC documentation available here.
Configuration and Performance Metrics Mapping
The ETL connects to the Entuity data export DB and extracts data from a set of defined tables. The metrics supported by the ETL are stored in tables populated by the job “~BCO Export Job”.
There are some differences in the data model between Entuity 12.5 or later versions and EYE 2012, in the following tables are present two columns that specify which metrics belongs to which version
Performance metrics
Entuity component | Entuity Stream | Entuity Metric | CO Dataset | CO Metric | Factor |
|
| ||||||
PortEx | portTrafficRateChain | inTrafficRate/inSpeed | SYSNET | BYIF_IN_UTIL | 1 |
|
PortEx | portTrafficRateChain | outTrafficRate/outSpeed | SYSNET | BYIF_OUT_UTIL | 1 |
|
PortEx | portTrafficRateChain | inTrafficRate | SYSNET | BYIF_IN_BIT_RATE | 1 |
|
PortEx | portTrafficRateChain | outTrafficRate | SYSNET | BYIF_OUT_BIT_RATE | 1 |
|
PortEx | portFaultChain | inDiscards | SYSNET | BYIF_IN_PKT_DISC_PCT | 0,01 |
|
PortEx | portFaultChain | inFault | SYSNET | BYIF_IN_PKT_ERR_PCT | 0,01 |
|
PortEx | portFaultChain | outDiscards | SYSNET | BYIF_OUT_PKT_DISC_PCT | 0,01 |
|
PortEx | portFaultChain | outFault | SYSNET | BYIF_OUT_PKT_ERR_PCT | 0,01 |
|
PortEx | portFaultChain | greatest(swc_inFault,swc_outFault,swc_inDiscards,swc_outDiscards) | SYSNET | BYIF_PKT_ERR_PCT | 0,01 |
|
PortEx | classMapStream | classMapPrePolicyBitRate | SYSNET | BYIFCLASS_PREPOLICY_BIT_RATE |
|
|
PortEx | classMapStream | classMapPostPolicyBitRate | SYSNET | BYIFCLASS_POSTPOLICY_BIT_RATE |
|
|
PortEx | classMapStream | classMapDropPkt64/ classMapPrePolicyPkt64 | SYSNET | BYIFCLASS_DROP_PCT |
|
|
PortEx | classMapStream | classMapNoBufDropPkt64/classMapPrePolicyPkt64 | SYSNET | BYIFCLASS_DROP_NOBUFFER_PCT |
|
|
Processor | processorUtilChain | CPUUtil | SYSGEN | BYCPU_CPU_UTIL | 0,01 |
|
DeviceEx | unifiedDeviceCPU_5min | averageDeviceProcessorUtilPercent | SYSGEN | CPU_UTIL | 0,01 |
|
DeviceEx | unifiedDeviceMemory_5min | averageDeviceMemoryUsedPercent | SYSGEN | MEM_UTIL | 0,01 |
|
DeviceEx | ICMPLatency5MinuteRollup | averageLatency5Minute | NETDEV | ICMP_LATENCY |
|
|
DeviceEx | devResponseTime | snmpResponseTimeAverage | NETDEV | SNMP_RESPONSE_TIME |
|
|
DeviceEx | devResponseTime | snmpFailureRate | NETDEV | SNMP_FAILURE_RATE |
|
|
memory | memoryStatusChain | memoryFreeContig (I/O) | NETDEV | MEM_IOALLOCATED_LARGEST_FREE | 1 |
|
memory | memoryStatusChain | memoryFree (I/O) | NETDEV | MEM_IOALLOCATED_FREE | 1 |
|
memory | memoryStatusChain | memoryFreeContig | NETDEV | MEM_CPUALLOCATED_LARGEST_FREE | 1 |
|
memory | memoryStatusChain | memoryFree (PROCESSOR) | NETDEV | MEM_CPUALLOCATED_FREE | 1 |
|
memory | memoryStatusChain | memoryUsed (I/O) | NETDEV | MEM_IOALLOCATED_USED | 1 |
|
memory | memoryStatusChain | memoryUsed (PROCESSOR) | NETDEV | MEM_CPUALLOCATED_USED | 1 |
|
Switch Device | switchBusUtilClientChain | systemBusUtil | NETDEV | BACKPLANE_UTIL | 0,01 |
|
PortEx |
| Physical ports with operational status UP | NETDEV | NETIF_UP_NUM |
|
|
PortEx |
| Physical ports with operational status DOWN | NETDEV | NETIF_DOWN_NUM |
|
|
PortEx |
| Physical ports with operational status OTHER | NETDEV | NETIF_OTHER_NUM |
|
|
PortEx |
| Ports (physical+virtual) with operational status UP | NETDEV | NETIF_PV_UP_NUM_C |
|
|
PortEx |
| Ports (physical+virtual) with operational status DOWN | NETDEV | NETIF_PV_DOWN_NUM_C |
|
|
PortEx |
| ports(physical+virtual) with operational status OTHER | NETDEV | NETIF_PV_OTHER_NUM_C |
|
|
Configuration metrics
Entuity component | Entuity Stream | Entuity Metric | CO Dataset | CO Metric |
|
| |||||
DeviceEx | chassisInventory | sysLocation | SYSGLB | LOCATION_SITE |
|
DeviceEx | chassisInventory | sysDescr | SYSGLB | DESCRIPTION |
|
DeviceEx |
| devicePowerConsumption | SYSGLB | PWR_CONSUMPTION |
|
DeviceEx |
| device type | SYSGLB | NETDEV_CATEGORY |
|
DeviceEx |
| devManufacturer | SYSGLB | HW_VENDOR |
|
DeviceEx |
| devModel | SYSGLB | HW_MODEL |
|
DeviceEx |
| softwareVersion | SYSGLB | SW_VER |
|
DeviceEx |
| dev polled ip addr | SYSGLB | NET_IP_ADDRESS |
|
DeviceEx | chassisInventory | chassis sysname | SYSGLB | HOST_NAME |
|
memory |
| memorySize | SYSGLB | TOTAL_REAL_MEM |
|
Module |
| moduleName | NETDEV | BYSLOT_MODULE_NAME |
|
Module |
| moduleDescr | NETDEV | BYSLOT_MODULE_DESCR |
|
Port |
| Physical/Virtual interface | SYSNET | BYIF_VIRTUAL_INDICATOR |
|
Port |
| Administrative status | SYSNET | BYIF_ADMIN_STATUS |
|
Port |
| Duplex status | SYSNET | BYIF_DUPLEX_STATUS |
|
Port |
| Spare | SYSNET | BYIF_SPARE_STATUS |
|
Port |
| portOperationalStatus | SYSNET | BYIF_STATUS |
|
Port |
| ifDescr | SYSNET | BYIF_DESC |
|
Port |
| count (physical) | SYSNET | NETIF_NUM |
|
Port |
| count(virtual) | SYSNET | NETVIF_NUM |
|
Port |
| max(swc_portInSpeed,swc_portOutSpeed) | NETDEV | BYIF_BANDWIDTH |
|
Port | classMapStream | swc_classMapBandwidth | NETDEV | BYIFCLASS_BANDWIDTH |
|
Lookup Fields
The ETL for Entuity supports the multiple lookup methodology available in BMC Helix Continuous Optimization. This means that, for each BMC Helix Continuous Optimization entity, more than one lookup values is stored.
Lookup values for Systems
Considering a system named hq01 with Entuity internal identifier 1-730, the lookup table is filled-up by the ETL with the following fields:
Lookup field | Lookup Value | System |
ENTTYPE | net:rtr | hq01 |
ENTUITY_ID | 1-730 | hq01 |
HOSTNAME | hq01 | hq01 |
_COMPATIBILITY_ | hq01 | hq01 |
Lookup values for Domains
Considering a domain named “FW & VPN” with Entuity internal identifier “Firewalls & VPN”, the lookup table is filled-up by the ETL with the following fields:
Lookup field | Lookup Value | System |
ENTUITY_ID | Firewalls & VPN | FW & VPN |
HOSTNAME | Firewalls & VPN | FW & VPN |
_COMPATIBILITY_ | Firewalls & VPN | FW & VPN |
Entuity “My network” view (Regional in EYE 2012) became “All networks” in BMC Helix Continuous Optimization and all Entuity user-defined views are placed into the folder “Entuity views”