Moviri - Microsoft SCOM Extractor
"Moviri Integrator for BMC Helix Continuous Optimization – Microsoft SCOM" allows collecting information from the Microsoft System Center Operation Manager tool. It is able to extract and summarize resources performance data, configuration data and relationships among IT entities. Moviri Integration for Microsoft SCOM supports SCOM instances mandatorily configured with data warehouse component. In the following table are shown the Management Packs supported by "Moviri Integrator for BMC Helix Continuous Optimization - Microsoft SCOM". Windows Server Microsoft.Windows.Server.2016 Microsoft.Windows.Server.2012.R2 Microsoft.Windows.Server.2012 Microsoft.Windows.Server.2008 Microsoft.Windows.Server.2003 Microsoft.Windows.Server.2000 Microsoft.Windows.Server.Library Microsoft.Windows.Library Microsoft.Windows.Server.ClusterSharedVolumeMonitoring Windows Cluster Microsoft.Windows.Cluster.Management.Library IIS Microsoft.Windows.InternetInformationServices.2016 Microsoft.Windows.InternetInformationServices.2012 Microsoft.Windows.InternetInformationServices.2008 Microsoft.Windows.InternetInformationServices.2003 Microsoft.Windows.InternetInformationServices.2000 AppFabric Microsoft.Windows.Server.AppFabric.Monitoring SQL Server Microsoft.SQLServer.2016 Microsoft.SQLServer.2014 Microsoft.SQLServer.2012 Microsoft.SQLServer.2008 Microsoft.SQLServer.2005 Microsoft.SQLServer.Library Hyper-V Microsoft.SystemCenter.VirtualMachineManager.2019 Microsoft.SystemCenter.VirtualMachineManager.2016 Microsoft.SystemCenter.VirtualMachineManager.2012 Microsoft.Virtualization.Reports.2008.R2 Microsoft.SystemCenter.VirtualMachineManager.2008.R2 Microsoft.SystemCenter.VirtualMachineManager.Library Microsoft.Windows.Server.ClusterSharedVolumeMonitoring In order to extract virtualization metrics, the connector requires: The following matrix presents the supported versions of the above-mentioned components. SCOM VMM SCOM Management Packs 2019 2019 Microsoft.SystemCenter.VirtualMachineManager.Reports, 2016 2016 Microsoft.SystemCenter.VirtualMachineManager.2016.Reports, 2012 2012 Microsoft.SystemCenter.VirtualMachineManager.2012.Reports, 2007 R2 2008 Microsoft.Virtualization.Reports.2008.R2, As a first step, please ensure that the correct version of SCOM is installed. You can perform this check from the "About" section of the SCOM Console (as shown in Figure 2). In order for SCOM to store historical metrics, it needs to be configured to use data warehouse database. If your SQL Server authentication mode is set to "Mixed mode" it is suggested to use a user with SQL Server Authentication for the connector, however both Authentication types are supported. A working network connection between VMM and SCOM is required to have SCVMM collected metrics available into the SCOM datawarehouse. The connect SCOM 2012 to SCVMM 2012 / SCOM 2016 to SCVMM 2016 you need to access the SCVMM Settings panel and click on "Settings" (Red square), then on "System Center settings" (blue square) as shown in the following figure The same steps are valid also for the connection between SCOM 2007 and VMM2008 and shown in the following figure: Standard windows management pack do not expose any property to detect if a system is a VM or a physical server, in order to get that information “Moviri VM Detector” management pack enable SCOM to collect the VM technology using a WMI query on all agent monitored systems. To activate the “Moviri VM Detector” on SCOM In order to make ensure data is available in SCOM DWH, please make sure that the SCOM Monitoring views do present the relevant metrics by selecting them and setting a proper chart time frame. Please repeat this step for each desired management pack and entity type you are interested in. This section describes the available configuration properties for the integrator. Section "SCOM - Data Selection" Property Name Type Required? Description Metric classes to import Checkbox Yes import metric classes belonging to selected classes: - Windows Cluster relationships and shared disks - Extensible Management Pack Management Pack version for Hyper-V (Leave empty if use all) Checkbox No Import Management Pack version for Hyper-v from the following list: - Microsoft.SystemCenter.VirtualMachineManager.Reports (2019+) - Microsoft.SystemCenter.VirtualMachineManager.2016.Reports - Microsoft.SystemCenter.VirtualMachineManager.Discovery (2019+) - Microsoft.SystemCenter.VirtualMachineManager.2016.Discovery - Microsoft.SystemCenter.VirtualMachineManager.2012.Reports - Microsoft.SystemCenter.VirtualMachineManager.2012.Discovery - Microsoft.SystemCenter.VirtualMachineManager.Library - Microsoft.SystemCenter.VirtualMachineManager.2008.R2 - Microsoft.Virtualization.Reports.2008.R2 - Microsoft.Windows.Server.ClusterSharedVolumeMonitoring - Microsoft.Windows.Server.Library - Microsoft.Windows.Server.2016.Discovery (2016+) - Microsoft.Windows.Server.2012.Discovery - Microsoft.Windows.Server.2008.Discovery - Microsoft.Windows.Server.2003.Discovery Enable Extensible Management Pack File Path Boolean Yes Use extensible management pack file path (see Extensible-module-for-SCOM-Integrator) Custom Management Pack String No If defined, the ETL will look for the standard Windows Server metrics in the custom management pack. Management pack filter String No Advanced property - Semicolon-separated list of management packs whose data is going to be imported. Empty list means all. Extensible module file location String No Path on the ETL engine in which the configuration file for the extensible module is placed Activate filtering on Checkbox No For each box checked, the console shows two additional properties: whitelist and blacklist, which can be filled with a semicolon-separated list of SQL Like operator expressions, in order to filter imported entities (for detailed instructions see par. 5.1.1) - Virtual clusters - Cluster shared disks and volumes Exclude VM detected by Moviri VM Detector management pack Checkbox No Filter virtual machines (VMware or Hyper-V) using the information extracted from Moviri VM detector management pack (for details see Filter virtual machines using Moviri VM Detector management pack) Import relationships Checkbox Yes Section "SCOM – Settings" Property Name Type Required? Description Default last counter (YYYY-MM-DD HH24:MI:SS, -x for x days back) String yes Default value of the last counter. By default, if no last counter has been set, data will be extracted from this date. By setting “-x” the extraction will start from x days ago. Limit configuration metrics import to x days back (0 = no limit) Integer yes Even if the lastcounter is older, imports the last conf value (currently valid) plus all the samples starting from x days ago. This strategy prevents to repeat loading high volume of conf metrics Import configuration metrics for a system only only if performance metrics are present Boolean yes Advanced property - For each MP Import configuration metrics only if perf metrics are extracted, otherwise skip conf metrics. Useful to not load any metric for decommissioned systems with conf metrics still valid. Recovery mode active Boolean yes If it is set to true the "Since date" and "To date" parameters will be took in to account as lower and upper bound of the import time interval. The last counters will not be affected Since (YYYY-MM-DD HH24:MI:SS) String No Lower bound of the import time interval. This property is required if it is needed to import data for a specific time period. To (YYYY-MM-DD HH24:MI:SS) String No Upper bound of the import time interval. This property is required if it is needed to import data for a specific time period. Relocate all series in time zone * String yes SCOM stores all data in UTC format. This property allows timestamps to be shifted to your timezone of choice. Time zone name has to be in Java format – see below. For no shifting fill with "UTC". Assign time zones to series Boolean yes If set to true, information about the time zone chosen in the previous property will be recorded into CO. If set to false the timestamps computed according to the previous property will be loaded without time zone information. Remove SQL Server prefix Boolean yes If it is set to false the database instances name format will be like "HOST:DATABASEINSTANCE", otherwise it will be "DATABASEINSTANCE" Compute size and occupation metrics even for aggregated data** Boolean yes If set to true, the computed metrics will be computed even for hourly data Compute aggregations Boolean yes Advanced property - If set to true, aggregates VM metrics to compute Host-level and Cluster-level metrics and windows server and SQL BY metrics to compute global metrics In-Memory aggregations Boolean yes Advanced property - If set to true, runs the aggregations in memory (quickest, requires more memory) Data Resolution Radio yes If it is set to 'RAW', raw data will be imported, otherwise, if it is set to 'HOUR' hourly data will be imported Max days to extract in a single run Integer No If recovery mode is not active, this property specifies the maximum number of days the etl can extract in a single run, empty or zero means no limit. (*)The property "Relocate all series to time zone" has to be filled with the name of the time zone in IANA (Internet Assigned Numbers Authority, see http://www.iana.org/time-zones/) format. Some time zone names examples are the following: Europe/Rome, Europe/London, America/New_York, Australia/Melbourne. If the connector is extracting data at hour level, there might be a chance that the related derived metric could be wrong, in case the SCOM Agent sample them at different instants. For those reasons, it is possible to choose whether enable or not the computation of the derived metrics, setting properly the "Compute size and occupation metrics even for aggregated data" property. To give a detailed view on metrics and management pack, the property “Metric classes to import” is mapped on the following Management packs. Metric class MP Windows MP SQL Server MP Hyper-V Windows Server CPU, Memory and Configuration metrics (Basic) X Windows Server Memory (Advanced) X Windows Server Logical Disk Performance X Windows Server Logical Disk Occupation X Windows Server Physical Disk Performance X Windows Server Network Interface X Windows Cluster relationships and shared disks X Internet Information Services X Windows Server Appfabric X Windows Server Configuration metrics X SQL Server Database storage X SQL Server Database performance X Hyper-V (with Relationships) X Moviri integrator for Capacity Optimization supports the most common Management Packs, the extensible module is a framework that to enable the extension of the metric supported in any Management packs. To enable the extensible module it’s necessary to check “extensible module” in the property Management pack to import and to set the location of the mapping file in Extensible module file location. To write correctly a new mapping file please follow the procedure shown in Extensible-module-for-SCOM-Integrator. In order to restrict SCOM ETL extraction only to chosen entities, it is possible to activate filtering by entity type based on combination of whitelist and blacklist. If whitelist and blacklist are empty, no filter will be applied. Figure below shows a configuration example: filtering is active on physical servers, databases and virtual machines. Physical servers: Included: all servers matching "websrv%" or "appsrv%" Databases: Included: all DB instances Virtual machines: Included: all VM matching "vm1" Moviri ETL allows to connect to SCOM DWH using SQL Server Authentication or Windows Authentication.Below are shown how to configure the database connection attributes in "Connection parameters" tab Windows Authentication If Moviri VM Detector Management Pack has been installed on SCOM, detected VMs can be excluded from the data import. In order to do so: The following figure shows an example of a valid ETL configuration. In this particular configuration, the following properties are set: In order to perform an historical import, in tab "SCOM – Settings " is available the Recovery mode option. When activated, fields "Since date" and "To date" will be shown, and the task imports data for the defined time interval without taking into account the last counters and without modifying them, "max days to extract in a single run" property is ignored too. The following table outlines the supported platform and the mapping to BMC Helix Continuous Optimizationentity types. Supported Platform BMC Helix Continuous Optimization Entity Type Standalone Windows Instance Generic Windows Internet Information Services Web Server Generic SQL Server Instance Database Instance Hyper-V Cluster Virtual Cluster – Microsoft HyperV Hyper-V Hypervisor Virtual Host – Microsoft HyperV Hyper-V Virtual Machine Virtual Machine – Microsoft HyperV Hyper-V View leverages data imported by Moviri Integrator. For more information, see Hyper-V views. Missing data can represent a common problem; as shown above, in this case a WARNING would be associated to the ETL task. This can be due to a number of scenarios, among which: The parameter "Max days to extract" is set (greater then 0), if the lastcounter is too far in the past to find data: the oldest data available must be lower than the lastcounter+max days to extract (see Figure 20) SCOM managed entities are mapped to BMC Helix Continuous Optimization ones according to their Display Name. Exceptions to this rule are described in the next sections. The BMC Helix Continuous Optimization entity name is extracted from the Path or Fullname SCOM managed entity attributes, in case SCOM metrics refers to lower-level entities. This applies for example to Disks, which SCOM models as first-class managed entities (Display Name is for example “C:”) but BMC Helix Continuous Optimization treats them as metric subobjects assigned to the host system. Every Hyper-V hypervisor hosts a particular virtual machine for management purposes, called root (or parent or host) partition. The root partition has the same name of the hypervisor system. As traditional agents can be installed on this partition (such as SCOM Agent for Windows monitoring), metric clashing could possibly occur if the agent inside the root partition measures metrics that are also provided at the hypervisor level (i.e. CPU_UTIL). In order to avoid such circumstances and clearly distinguish between the two concepts, BMC Helix Continuous Optimization represents root partitions and hypervisors as distinct entities. To achieve this, the BMC Helix Continuous Optimization name of the root (parent) partition is prefixed with a specific label (“Root:”). A prefix is also used for naming lookup: the lookup name is prefixed with the “hvrootpart:” label for this purpose. Moviri Integration for BMC ETL lookup mechanism. One single entry is used as entity identifier: Lookup field = “DEFAULT”. The following table shows, for each supported entity, what information is used as lookup value field. BMC Helix Continuous Optimization connector uses standard BMC Helix Continuous Optimization Entity Type Lookup value field System (Generic) hostname Virtual Host hostname Virtual Machine hostname Database Instance hostname:instancename Cluster Disk / Cluster shared volume clustername:diskname Here below some lookup tables as example: The connector provides a set of object relationships that aims at organizing imported entities in BMC workspace according to the following rules. The connector arranges the collected systems under a domain of choice. A hierarchy rule associated to the ETL is automatically created by BMC to process the Object-Relationship data. The Cluster nodes and cluster disks are shown in the BMC tree as children of the cluster they belong, Figure 25 – SQL Server tree example. The cluster system which own the nodes relationships could be monitored from others management packs as well, and depending on cluster name configuration, the same cluster can be named with its name without domain or with its FQDN. Using the default ETL loader settings the domain suffix is not removed from datasource name, and a duplicate cluster system can be created in Helix CO. To prevent duplicate cluster system creation, it’s suggested to verify what system will be created running the ETL in simulation mode and looking at the log (if the ETL has already ran, check also the existing system in CO). When a potential duplicate cluster has been detected, one of the following actions can be performed: The SQL Server instances are shown in the BMC tree as children of the host on which they are running (Figure 25 – SQL Server tree exampleFigure 25). In the above figure each host has one or more SQL Server instances. Each SQL Server instance could have one or more Databases. The connector represents databases as subobject of their SQL Server instance. The connector also imports, for each database, data about filegroups. Filegroups are represented within BMC as subobject of the SQL Server instances. All the database space metrics are associated to the SQL Server instance. They have as subject the database name if they are related to the whole DB, while, if they are related to a specific filegroup of a database, they have a subobject composed by the database name and the filegroup name. Hyper-V entities are organized according to the following relationships: An example of such relationships is presented in Figure 26. In this particular example, the cluster system “Cluster04” contains a single Hyper-V system “hyperv-laptop” which is hosting three virtual machines (“Root:hyperv-laptop”, “WinSrv2008 – 3”, “WinSrv2008 – 4”). Furthermore, the standalone Hyper-V system “movsrv19” is hosting six virtual machines (“Mediaroom 2008”, “Media”, “RD”, “Root:movsrv19”, “WinSrv2008”, “WinSrv2008 – memdyn”). A relation among the Hyper-V host and its root partition is also provided. SELECT ManagementPackSystemName, ManagementPackDefaultName, ManagementPackDefaultDescription FROM dbo.vManagementPack SELECT mpv.ManagementPackSystemName, pruv.ObjectName, pruv.CounterNameFROM dbo.vPerformanceRuleInstance privJOIN dbo.vPerformanceRule pruv WITH (NOLOCK) ON pruv.RuleRowId = priv.RuleRowIdJOIN dbo.vRule rv WITH (NOLOCK) ON rv.RuleRowId = priv.RuleRowIdJOIN dbo.vManagementPack mpv WITH (NOLOCK) ON mpv.ManagementPackRowId = rv.ManagementPackRowIdWHERE mpv.ManagementPackSystemName = '<MP NAME>' --FILTER ON MP (e.g. 'Microsoft.Windows.Server.2008.Monitoring')GROUP BY pruv.ObjectName,pruv.CounterName, mpv.ManagementPackSystemNameORDER BY mpv.ManagementPackSystemName, pruv.ObjectName,pruv.CounterName SELECT mpv.ManagementPackSystemName, pruv.ObjectName, pruv.CounterName, mev.Path, mev.Displayname, priv.InstanceName, max(prv.DATETIME) AS maxTSFROM Perf.vPerfDaily prv WITH (NOLOCK)JOIN dbo.vManagedEntity mev WITH (NOLOCK) ON mev.ManagedEntityRowId = prv.ManagedEntityRowIdJOIN dbo.vPerformanceRuleInstance priv WITH (NOLOCK) ON priv.PerformanceRuleInstanceRowId = prv.PerformanceRuleInstanceRowIdJOIN dbo.vPerformanceRule pruv WITH (NOLOCK) ON pruv.RuleRowId = priv.RuleRowIdJOIN dbo.vRule rv WITH (NOLOCK) ON rv.RuleRowId = priv.RuleRowIdJOIN dbo.vManagementPack mpv WITH (NOLOCK) ON mpv.ManagementPackRowId = rv.ManagementPackRowIdJOIN dbo.vManagedEntityType met WITH (NOLOCK) ON mev.ManagedEntityTypeRowId = met.ManagedEntityTypeRowIdWHERE mpv.ManagementPackSystemName = '<MP NAME>' -- FILTER ON MP (e.g. 'Microsoft.Windows.Server.2008.Monitoring')AND pruv.ObjectName = '<Object name>' -- FILTER ON Object (e.g. 'LogicalDisk')AND pruv.CounterName = '<Counter name>' -- FILTER ON Counter (e.g. '% Idle Time')GROUP BY pruv.ObjectName, pruv.CounterName, mpv.ManagementPackSystemName,mev.Path, mev.Displayname,priv.InstanceNameORDER BY mpv.ManagementPackSystemName, pruv.ObjectName, pruv.CounterName,priv.InstanceName SELECT mp.ManagementPackSystemName, metp.PropertySystemName, met.ManagedEntityTypeSystemNameFROM dbo.vManagedEntityTypeProperty metpINNER JOIN dbo.vManagedEntityType met ON metp.ManagedEntityTypeRowId = met.ManagedEntityTypeRowIdJOIN dbo.vManagementPack mp ON met.ManagementPackRowId = mp.ManagementPackRowIdWHERE mp.ManagementPackSystemName = '<MP NAME>' -- FILTER ON MPORDER BY met.ManagedEntityTypeSystemName, mp.ManagementPackSystemName, metp.PropertySystemName SELECT mp.ManagementPackSystemName,metp.PropertySystemName,met.ManagedEntityTypeSystemName,me.DisplayName,me.Path,meps.PropertyValue,CONVERT(VARCHAR, meps.FromDateTime, 120) AS FromDateTime,CONVERT(VARCHAR, ISNULL(meps.ToDateTime, SYSDATETIME()), 120) AS ToDateTimeFROM dbo.vManagedEntityPropertySet mepsINNER JOIN dbo.vManagedEntity me ON meps.ManagedEntityRowId = me.ManagedEntityRowIdINNER JOIN dbo.vManagedEntityTypeProperty metp ON meps.PropertyGuid = metp.PropertyGuidINNER JOIN dbo.vManagedEntityType met ON me.ManagedEntityTypeRowId = met.ManagedEntityTypeRowIdJOIN dbo.vManagementPack mp ON met.ManagementPackRowId = mp.ManagementPackRowIdWHERE mp.ManagementPackSystemName = '<MP name>' -- FILTER ON MPand metp.PropertySystemName = '<Property name>' -- FILTER ON PropertyORDER BY met.ManagedEntityTypeSystemName, mp.ManagementPackSystemName, me.DisplayName, me.Path, metp.PropertySystemName, meps.PropertyValueRequirements
Supported versions of data source software
Supported configurations of data source software
The supported DBMS versions, for the data warehouse DB, are Microsoft SQL Server 2000, 2005, 2008, 2012, 2014, 2016, 2019.Supported Management packs
Virtual Machine Manager
Microsoft.SystemCenter.VirtualMachineManager.Discovery,
Microsoft.SystemCenter.VirtualMachineManager.Library
Microsoft.SystemCenter.VirtualMachineManager.2016.Discovery,
Microsoft.SystemCenter.VirtualMachineManager.Library
2012 SP1
2012 R2
Microsoft.SystemCenter.VirtualMachineManager.2012.Discovery,
Microsoft.SystemCenter.VirtualMachineManager.Library
Microsoft.SystemCenter.VirtualMachineManager.2008.R2Datasource Check and Configuration
Preparing to connect to the data source software
Figure 9: Version Check in MS SCOM Console
Please also ensure that the data warehouse DBMS version is compliant with the requirement described in Section 2.5.
The connector needs a Login that has at least read rights on the data warehouse DB. SQL Server allows two authentication types:Connect SCVMM to SCOM
SCVMM 2012 to SCOM 2012 and SCVMM 2016 to SCOM 2016
Now you have to click on "System Center Operations Manager", access to properties (by right click), then insert SCOM management server hostname and credentials, as shown in the following figure:VMM 2008 to SCOM 2007 R2
Install Moviri VM Detector management pack in SCOM (optional)
SCOM Data Availability Check
As an example, the following figure shows the Host Performance view of the SCOM 2012 Virtual Machine Manager Management Pack.Connector configuration
Connector configuration attributes
- Windows Server CPU, Memory and Configuration metrics (Basic)
- Windows Server Memory (Advanced)
- Windows Server Logical Disk Performance
- Windows Server Logical Disk Occupation
- Windows Server Physical Disk Performance
- Windows Server Network Interface
- Windows Server Configuration metrics
- Internet Information Services
- Windows Server AppFabric
- SQL Server Database storage
- SQL Server Database performance
- Hyper-V (with Relationships)
Filters are available for the following entity types:
- Physical servers
- Windows clusters
- Database
- Virtual machines
- Virtual hosts
(**)"Compute size and occupation metrics even for aggregated data": some of the metrics the connector extracts are not directly available in the SCOM data warehouse database. They are computed using other metrics – they are called derived metrics (for more details, see section 6.2.3) . It could happen that the base metrics (upon which the derived are computed) are collected from the SCOM Agent at different time instants. In this case, if the connector is extracting data at raw level, the related derived metric will be not computed.Management pack and metric classes valid combinations
Extensible module – Customized metric support
Filtering systems with whitelist and blacklist
The two properties accept list of expressions semicolon separated, and expression can be:
Excluded: "websrv25"
Excluded: all DB instances matching "dbprod%"
Excluded: no VM excludedDatabase Connection parameters configuration
SQL Server Authentication
Filter virtual machines using Moviri VM Detector management pack
Connector configuration example
Historical data extraction
Supported Platforms
Hyper-V View
Troubleshooting
In case of such a scenario, a better strategy can be to unset the max days to extract property and run the ETL more frequently (up to every hour, at least 3/4 times a day) so that each extraction collects less than one day of data without setting any limit.
Entity Naming Conventions
SCOM Lower-level entities
Hyper-V Root Partition
Lookup Fields
Object Relationships
Assignment of imported entities to a specified domain
Windows cluster, Windows computer and cluster disks
SQL Server Instances and Databases
Hyper-V Clusters, Hosts, Datastore and Virtual Machines
SQL queries to execute on SCOM DWH
(Q1) list all installed MPs
(Q2) list all PERF objects and counters given a MP
(Q3) list all systems with max data timestamp given a combination of MP, object, counter
(Q4) list all CONF properties given a MP
(Q5) list all systems with value and validity period given a combination of MP, Propertyname