Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
ManxShred
Frequent Visitor

Scale out deployment on March 2018 PBIRS

I am having major problems trying to get a scale out configuration of Power BI SSRS March update.

 

I have installed SSRS on 2 servers pointing to a single database, and added the 2nd server to the cluster.  We setup a load balancer on our F5 device and a A-record in DNS pointing to this IP.  I have set the machine key, hostname and urlroot values in the rs config file, and I have set all the other values as per these docs:

 

https://docs.microsoft.com/en-us/sql/reporting-services/install-windows/configure-a-native-mode-repo...

 

https://docs.microsoft.com/en-us/sql/reporting-services/report-server/configure-a-report-server-on-a...

 

When we first start the services we can view all the reports deployed.  This works perfectly fine for a about 9 minutes, when the reports just start to return a blank screen below the menu bars.

The only error message I can find is in the RSPowerBI log file :

"|ERROR|722|GetPbixReportMetadataAsync RSPortal returned error code Forbidden for catalogItem cb1f87ed-3e3e-4bef-a7ea-dc0186710ad9. Check Portal logs."

There are no other errrors in any logs.

 

The only other message I can find is in the system logs in event viewer.  The source is LSA (LsaSrv): "A logon cache entry for user <DOMAIN/SERVICE ACCOUNT> was the oldest entry and was removed. The timestamp of this entry was 4/14/2018 16:44:52."  This is the service account the SSRS is running under.

 

Does anyone have any ideas what could be causing this?  I have tried so many different things, but I just keep getting this behavior where the reports work for a while, then suddenly you just get a blank screen.

Thanks

1 ACCEPTED SOLUTION
ManxShred
Frequent Visitor

We eventually found the cause of this issue with the help of the MS support team.

 

We also needed to set the <ReportServerUrl> value in the RSReportServer.config file, which is found in the <UI> node.

This must be configured to be the same value as in the "Web Service URL" in the RS Configuration Manger.

 

So if you have 2 servers, SSRS1 and SSRS2, with a NLB named Reporting, you would set the <ReportServerUrl> to http://SSRS1/ReportServer or http://SSRS2/ReportServer on SSRS1 and SSRS2 respectively.

 

The issue was caused by the way SSRS works, where it can call itself.  Since we configured the NLB, it was calling "Reporting", which would go out via the network to the NLB then back to the server.  After a period of time, this look would time out or switch to the other server in the NLB and cause SSRS to stop working.  Setting this value routes these internal calls to the local server.

View solution in original post

3 REPLIES 3
ManxShred
Frequent Visitor

We eventually found the cause of this issue with the help of the MS support team.

 

We also needed to set the <ReportServerUrl> value in the RSReportServer.config file, which is found in the <UI> node.

This must be configured to be the same value as in the "Web Service URL" in the RS Configuration Manger.

 

So if you have 2 servers, SSRS1 and SSRS2, with a NLB named Reporting, you would set the <ReportServerUrl> to http://SSRS1/ReportServer or http://SSRS2/ReportServer on SSRS1 and SSRS2 respectively.

 

The issue was caused by the way SSRS works, where it can call itself.  Since we configured the NLB, it was calling "Reporting", which would go out via the network to the NLB then back to the server.  After a period of time, this look would time out or switch to the other server in the NLB and cause SSRS to stop working.  Setting this value routes these internal calls to the local server.

Your configuration is going to break if the following conditions are true (which may happen more frequently than we may think):

 

  1. You want to use an SSL-only configuration
  2. Your SSRS1, SSRS2 server names are not internet routable
  3. You need to use a third party CA, which doesn't like having non-internet routable names in SAN

For the above reasons we have added entries into the hosts files of each server so that the report server URL points to the IP of the server, so once connections are initated within the server, they do not go to the other node.

Thanks, had the same problem and this solution worked for us too.

 

Microsoft, please take note, this information must  be included in the documentation as setting up scale-out configuration at the moment involves a frustrating troubleshooting process!

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.