data not collected in the data warehouse

Scom 2012 R2

version 7.1.10226.1360

SQL cluster

SQL 2008 R2

I just install squared up but notice that new server are not getting information from SCOM. datawarehouse is not updating data. I already went trough this article but no look

I notice that servers are in main operationmanager db and I can get performance dashboard from scom. But when I try to do for specific object or metric. not data was show.

Any help would be appreciated

When viewing performance data in the monitoring workspace in SCOM, you are accessing data from the OpsDB. Squared Up, however, gains data from the Data warehouse. If thereā€™s an issue with the DW then Squared Up wonā€™t be able to gain any data.

Check these two articles to see if Squared Up is at fault:

https://support.squaredup.com/v4/Troubleshooting/Dashboards/TroubleshootingThePerformanceTile/

https://support.squaredup.com/v4/Troubleshooting/Installation_And_Config/TroubleshootingTheDataWarehouseConnection/

If the above didnā€™t help, then check the event log on the management servers. Can you see anything in there that points towards an issue?

A few common issues:

  • Transaction log full
  • Database full
  • Permissions
Digging through the event log should highlight the problem.

Ill try this, I forgot to mention that If is a server that is already in the SCOM, I can pull all info, but not from new ones.

When I run the script from Tao Yang I get this error:

Ā 

VERBOSE: Trying to load Microsoft.EnterpriseManagement.OperationsManager from GACā€¦

VERBOSE: Trying to load Microsoft.EnterpriseManagement.Runtime from GACā€¦

VERBOSE: Get all nested setting types

You cannot call a method on a null-valued expression.

At D:\temp\2019\DW HealthCheck Script v1.1\SCOMDWHealthCheck.ps1:188 char:2

  • $TopLevelNestedTypes = $SettingType.GetNestedTypes()

  • 
    
  • CategoryInfo : InvalidOperation: (:slight_smile: [], RuntimeException

  • FullyQualifiedErrorId : InvokeMethodOnNull

VERBOSE: Getting setting values

VERBOSE: Total number of Management Group default value found: 0.

You cannot call a method on a null-valued expression.

At D:\temp\2019\DW HealthCheck Script v1.1\SCOMDWHealthCheck.ps1:855 char:2

  • $DWSQLAddress = $DWServerAddress.split("")[1]

  • 
    
  • CategoryInfo : InvalidOperation: (:slight_smile: [], RuntimeException

  • FullyQualifiedErrorId : InvokeMethodOnNull

You cannot call a method on a null-valued expression.

At D:\temp\2019\DW HealthCheck Script v1.1\SCOMDWHealthCheck.ps1:856 char:2

  • $DWSQLPort = $DWServerAddress.split(",")[1]

  • 
    
  • CategoryInfo : InvalidOperation: (:slight_smile: [], RuntimeException

  • FullyQualifiedErrorId : InvokeMethodOnNull

You cannot call a method on a null-valued expression.

At D:\temp\2019\DW HealthCheck Script v1.1\SCOMDWHealthCheck.ps1:857 char:2

  • $DWServerName = $DWServerAddress.split(",")[0].split("")[0]

  • 
    
  • CategoryInfo : InvalidOperation: (:slight_smile: [], RuntimeException

  • FullyQualifiedErrorId : InvokeMethodOnNull

VERBOSE: DW Server Name:

You cannot call a method on a null-valued expression.

At D:\temp\2019\DW HealthCheck Script v1.1\SCOMDWHealthCheck.ps1:859 char:2

  • $DWSQLAddress = $DWServerAddress.split("")[1]

  • 
    
  • CategoryInfo : InvalidOperation: (:slight_smile: [], RuntimeException

  • FullyQualifiedErrorId : InvokeMethodOnNull

You cannot call a method on a null-valued expression.

At D:\temp\2019\DW HealthCheck Script v1.1\SCOMDWHealthCheck.ps1:860 char:2

  • $DWSQLPort = $DWServerAddress.split(",")[1]

  • 
    
  • CategoryInfo : InvalidOperation: (:slight_smile: [], RuntimeException

  • FullyQualifiedErrorId : InvokeMethodOnNull

VERBOSE: DW SQL Instance: The Default Instance

VERBOSE: DW SQL Server Port: Default or dynamic port

VERBOSE: DW SQL Database:

Test-PsRemoting : Cannot bind argument to parameter ā€˜ComputerNameā€™ because it is an empty string.

At D:\temp\2019\DW HealthCheck Script v1.1\SCOMDWHealthCheck.ps1:884 char:51

  • $bDWRemotingEnabled = Test-PsRemoting -Computer $DWServerName

  • 
    
  • CategoryInfo : InvalidData: (:slight_smile: [Test-PsRemoting], ParameterBindingValidationException

  • FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Test-PsRemoting

D:\temp\2019\DW HealthCheck Script v1.1\SCOMDWHealthCheck.ps1 : Unable to establish WinRM (PS Remoting) session to the OpsMgr Dataware House SQL server . Please make sure WinRM is enabled

and properly configured.

At line:1 char:1

  • .\SCOMDWHealthCheck.ps1 -SDK ā€œaubriprsom02ā€ -OpenReport -Verbose

  • 
    
  • CategoryInfo : NotSpecified: (:slight_smile: [Write-Error], WriteErrorException

  • FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,SCOMDWHealthCheck.ps1

VERBOSE: Testing remote WMI connectivity to management server ā€œAUBRIPRSOM02.maau.groupā€

VERBOSE: Testing Remote Windows Event Log connectivity to management server ā€œAUBRIPRSOM02.maau.groupā€

VERBOSE: Testing remote WMI connectivity to management server ā€œAUBRIPRSOM01.maau.groupā€

VERBOSE: Testing Remote Windows Event Log connectivity to management server ā€œAUBRIPRSOM01.maau.groupā€

Pre-requisites check failed. This script is unable to continue. Please make sure all pre-requisites are met and then re-run the script.

Ā 

Ā 

If this helps, If I go to monitor in SCOM, I can see all servers with information but if I try a performance view with widgets, not metrics available. Donā€™t know if this is directly with OP and OPDW

1 Like

Update:

Ā 

This has been fixed with this script:

With this blogpost I want to make a ā€˜catch-allā€™ knowledge-article containing problems and fixes I learned in the field regarding SCOM DW synchronization issues. I will update this post regularly if I encounter any new phenomenon on this subject.

Possible Cause 1: The synchronization objects and settings are missing from the management group

Diagnosis

Run the following powershell-commands in the SCOM powershell interface of the affected management group:

get-SCOMClass -name:Microsoft.SystemCenter.DataWarehouseSynchronizationService|Get-ScomClassInstance

If no objects are returned it means that the workflows responsible for synchronizing data are not running.

Add-pssnapin microsoft.enterprisemanagement.operationsmanager.client
Set-location OperationsManagerMonitoring::
New-managementgroupconnection <SCOM management server>
get-DefaultSetting ManagementGroup\DataWarehouse\DataWarehouseDatabaseName $DataWarehouseDatabaseName

get-DefaultSetting ManagementGroup\DataWarehouse\DataWarehouseServerName $DataWarehouseSqlServerInstance

If the default settings are not set this indicates that the DW registration has been broken.

Causes

The breakage and disappearance of the DW synchronization objects and settings can happen when a SCOM 2007->2012 upgrade fails and you have to recover the RMS. The issue is hard to detect (especially if you do not use reporting much) as no errors are generated.

Solution

The settings and objects need to be regenerated manually using the script below. This will add all necessary objects to SCOM with the correct server and database references. The DW properties will also be added to the default-settings section.

You will have to edit the script and enter the Operations Manager Database server name, Data Warehouse servername and console path in the script . This is a PowerShell script which needs to copied to text and rename to .ps1 after entering the required information to run under PowerShell.

#Populate these fields with Operational Database and Data Warehouse Information

#Note: change these values appropriately

$OperationalDbSqlServerInstance = ā€œ<OpsMgrDB server instance. If its default instance, only server name is required>ā€

$OperationalDbDatabaseName = ā€œOperationsManagerā€

$DataWarehouseSqlServerInstance = ā€œ<OpsMgrDW server instance. If its default instance, only server name is required>ā€

$DataWarehouseDatabaseName = ā€œOperationsManagerDWā€

$ConsoleDirectory = ā€œ<OpsMgr Console Location by default it will be C:\Program Files\System Center 2012\Operations Manager\Consoleā€

$dataWarehouseClass = get-SCOMClass -name:Microsoft.SystemCenter.DataWarehouse

$seviewerClass = get-SCOMClass -name:Microsoft.SystemCenter.OpsMgrDB.AppMonitoring

$advisorClass = get-SCOMClass -name:Microsoft.SystemCenter.DataWarehouse.AppMonitoring

$dwInstance = $dataWarehouseClass | Get-SCOMClassInstance

$seviewerInstance = $seviewerClass | Get-SCOMClassInstance

$advisorInstance = $advisorClass | Get-SCOMClassInstance

#Update the singleton property values

$dwInstance.Item($dataWarehouseClass.Item(ā€œMainDatabaseServerNameā€)).Value = $DataWarehouseSqlServerInstance

$dwInstance.Item($dataWarehouseClass.Item(ā€œMainDatabaseNameā€)).Value = $DataWarehouseDatabaseName

$seviewerInstance.Item($seviewerClass.item(ā€œMainDatabaseServerNameā€)).Value = $OperationalDbSqlServerInstance

$seviewerInstance.Item($seviewerClass.item(ā€œMainDatabaseNameā€)).Value = $OperationalDbDatabaseName

$advisorInstance.Item($advisorClass.item(ā€œMainDatabaseServerNameā€)).Value = $DataWarehouseSqlServerInstance

$advisorInstance.Item($advisorClass.item(ā€œMainDatabaseNameā€)).Value = $DataWarehouseDatabaseName

$dataWarehouseSynchronizationServiceClass = get-SCOMClass -name:Microsoft.SystemCenter.DataWarehouseSynchronizationService

#$dataWarehouseSynchronizationServiceInstance = $dataWarehouseSynchronizationServiceClass | Get-SCOMClassInstance

$mg = New-Object Microsoft.EnterpriseManagement.ManagementGroup -ArgumentList localhost

$dataWarehouseSynchronizationServiceInstance = New-Object Microsoft.EnterpriseManagement.Common.CreatableEnterpriseManagementObject -ArgumentList $mg,$dataWarehouseSynchronizationServiceClass

$dataWarehouseSynchronizationServiceInstance.Item($dataWarehouseSynchronizationServiceClass.Item(ā€œIdā€)).Value = [guid]::NewGuid().ToString()

#Add the properties to discovery data

$discoveryData = new-object Microsoft.EnterpriseManagement.ConnectorFramework.IncrementalDiscoveryData

$discoveryData.Add($dwInstance)

$discoveryData.Add($dataWarehouseSynchronizationServiceInstance)

$discoveryData.Add($seviewerInstance)

$discoveryData.Add($advisorInstance)

$momConnectorId = New-Object System.Guid(ā€œ7431E155-3D9E-4724-895E-C03BA951A352ā€³)

$connector = $mg.ConnectorFramework.GetConnector($momConnectorId)

$discoveryData.Overwrite($connector)

#Update Global Settings. Needs to be done with PS V1 cmdlets

Add-pssnapin microsoft.enterprisemanagement.operationsmanager.client

cd $ConsoleDirectory

.\Microsoft.EnterpriseManagement.OperationsManager.ClientShell.NonInteractiveStartup.ps1

Set-DefaultSetting ManagementGroup\DataWarehouse\DataWarehouseDatabaseName $DataWarehouseDatabaseName

Set-DefaultSetting ManagementGroup\DataWarehouse\DataWarehouseServerName $DataWarehouseSqlServerInstance

If the script ran successfully and you run the commands specified in the diagnosis-section you should receive valid object- and settings information. The synchronization should start within a few moments.

Ā 

Source:
http://scug.be/jan/2014/07/01/scom-dw-not-being-updated-with-operational-data/

Thanks for support, Im working now with data in my SCOM