FAQ, GUIDE, SCOM, System Center, Troubleshooting

SCOM 2019 installation – Reports fail to deploy [FIX]

The installation of System Center Operations Manager 2019 is pretty straightforward, but despite the installation being successful we still receive an error when trying to access the Reporting feature.

The Issue

Scenario:

We have installed System Center Operations Manager (SCOM) 2019 with SQL Server Reporting Services (SSRS) 2017, we receive an event ID 31567 error with the description:

“Failed to deploy reporting component to the SQL Server Reporting Services server” 

Below is an screenshot of how the error may look like:
scom2019_install_fail1

 

The Solution

The 14.0.600.1274 and later versions of  SQL Server Reporting Services 2017 include new advanced settings that restricts the set of extensions of resource files that can be uploaded to a report server.

The new setting is called AllowedResourceExtensionsForUpload

There are two (2) methods of solving this issue:

Method 1

1. Open the SQL Server Management Studio, and then connect to a report server instance that Operations Manager uses.

scom2019_install_fail_2

2. Right-click the report server name, select Properties.

scom2019_install_fail_3

3. In the Server Properties window, select Advanced.

scom2019_install_fail_4
4. Locate the AllowedResourceExtensionsForUpload setting, add *.* to the list of extensions, and then select OK.

scom2019_install_fail_5
5. Restart the SQL Server Reporting Services (SSRS)

Stopping the SSRS:

scom2019_install_fail_6

Starting the SSRS:

scom2019_install_fail_7

Method 2

The second method of doing this is by using the power of PowerShell, create a PowerShell script of the script below:

$ExtensionAdd = @(

'CustomConfiguration'
'Report'
'AvailabilityMonitor'
'TopNApplications'
'Settings'
'License'
'ServiceLevelTrackingSummary'
'CustomPerformance'
'MostCommonEvents'
'PerformanceTop'
'Detail'
'DatabaseSettings'
'ServiceLevelObjectiveDetail'
'PerformanceDetail'
'ConfigurationChange'
'TopNErrorGroupsGrowth'
'AvailabilityTime'
'rpdl'
'mp'
'TopNErrorGroups'
'Downtime'
'TopNApplicationsGrowth'
'DisplayStrings'
'Space'
'Override'
'Performance'
'AlertDetail'
'ManagementPackODR'
'AlertsPerDay'
'EventTemplate'
'ManagementGroup'
'Alert'
'EventAnalysis'
'MostCommonAlerts'
'Availability'
'AlertLoggingLatency'
'PerformanceTopInstance'
'rdl'
'PerformanceBySystem'
'InstallUpdateScript'
'PerformanceByUtilization'
'DropScript'
)

Write-Verbose -Message '***'
$Message = 'Step 12 of 12. Allowed Resource Extensions for Upload'
Write-Verbose -Message $Message

$Uri = [System.Uri]"https://$ServiceAddress/ReportServer/ReportService2010.asmx"

$Proxy = New-WebServiceProxy -Uri $Uri -UseDefaultCredential

$Type = $Proxy.GetType().Namespace + '.Property'

$Property = New-Object -TypeName $Type
$Property.Name = 'AllowedResourceExtensionsForUpload'

$Current = $Proxy.GetSystemProperties( $Property )

$ValueCurrent = $Current.Value -split ','

$ValueAdd = $ExtensionAdd | ForEach-Object -Process {

"*.$psItem"
}

$ValueSet = $ValueCurrent + $ValueAdd | Sort-Object -Unique

$Property.Value = $ValueSet -join ','

$Proxy.SetSystemProperties( $Property )


Note:
You have to populate the $ServiceAddress variable by using a valid address of your report service for HTTPS. If you don’t use HTTPS at all, change the script to use HTTP. The list of extensions in the script may not be exhaustive. Include your own extensions as appropriate.

The part which we need to modify is the following:

$Uri = [System.Uri]”https://$ServiceAddress/ReportServer/ReportService2010.asmx”

In our test, the report server is installed on a server called scom2019, and the virtual directory name for our Web Service URL is ReportServer, so we change the value as follows:

scom2019_install_fail_8

Once we’ve changed the server name and the virtual directory name to correspond to our values, save the script to a file, for example: SSRS_AllowedResourceExtensionsForUpload.ps1 and then run the script on the server where the SQL Server Reporting Services is running.

Script output:

scom2019_install_fail_9

Conclusion

The installation of SCOM 2019 is fairly straightforward, and everything may look green and OK after the installation, but it is important to test things out after the installation.

This Reporting issue is something that is easily missed, because many are not using the Reporting in SCOM, some might install the SCOM Reporting feature but might not actually use it, and once you decide to actually try it out you receive an error and we are left confused.

Microsoft has luckily also published a KB article about this issue over here:
https://support.microsoft.com/en-us/help/4519161/operations-manager-2019-and-1807-reports-fail-to-deploy

For the future, remember to test things out, even if the installation is successful, and also check the Windows event logs for any errors!

 2,664 total views,  3 views today

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.