Installing Reporting for FIM R2 RC

I have just installed the reporting for FIM R2 RC and generated my first reports. Though when I say “just” read that as “spent two days on it and reinstalled twice”. However it is now working (yay! Was it worth it? Not sure yet!) and here’s my write-up.

You should also refer to the following documents from the FIM R2 media:

  • Test Lab Guide: Demonstrating Forefront Identity Manager 2010 R2 Beta Reporting
  • Test Lab Guide: Installing Forefront Identity Manager 2010 R2 Release Candidate

Servers

Here’s what I’ve installed into my lab:

Server Software Comments
DC
  • Windows Server 2008r2 Standard
  • Exchange 2010
FIM
  • Windows Server 2008r2 Standard
  • SQL 2008r2
  • Sharepoint 2010 Foundation
  • FIM 2010 R2 – Sync and Portal
  • System Center Service Manager
Two named instances of SQL:- FIM (Database)- SCDW (Database, Reporting)
Data Warehouse
  • Windows Server 2008r2 Standard
  • System Center Data Warehouse Manager
SCDW Manager cannot be installed on the same server as SCSM.

PreReqs

I’ll assume you already have SQL installed. I created seperate instances for FIM and System Center.

  • The instance for SC needs Database, Full Text Indexing and Reporting Services.
  • If you use the default collation you get a warning during installation about multi-lingual environments, so if this is an issue you will need to install with a suitable collation.

The FIM Service and Portal may already be installed, but you should not yet have installed the Reporting component.

I also disabled all the Windows Firewalls just to get it working. I’ll look into what ports I need to open up when I switch them back on later.

Install SCSM

Install System Center Service Manager on the FIM server. (Note: I don’t know that it needs to be on the FIM server – that’s just how it is in my lab).

Configure the Service Manager database
Configure the management group:

  • Pick a suitable name for the management group  – this is some kind of system center thing and I used the name of the company (changed in the picture here to something generic).
  • For the administrators group I added FIMSyncAdmins because it’s a lab and I was feeling lazy and it’s just being installed for FIM. Obviously IRL you would create a dedicated group.
 
The following two screens ask you to select accounts for service and for the workflow account. I left both on the default of Local System.There was something about the workflow account needing to be an email-enabled domain account if you want to send reports by email later on, but that’s a nicety I can come back to later.  

After completing these options you should be able to proceed with the installation.

Install SCDW

Install System Center Data Warehouse Management Server onto its dedicated (or at least, seperate) server.

Straight off you may see a couple of warnings.

  • The 8GB seems excessive for a lab. My server has 4GB configured and I’ve not seen it go above 2GB usage.
  • The message about the hotfix may be ignored for Win2008r2. I downloaded and tried to install the patch several times and was always told that the hotfix was not applicable to my system. So eventually I googled it and, sure enough, you don’t need it on R2, even though it warns you about it!
Configure the databases – Click “Staging and Configuration” and “Data Mart” in turn and point it at the SQL server and instance – in my case hosted on the FIM server.
Here for the name I just added “FIM” after the “DW_” that was already there. And as above I was lazy and reused the FIMSyncAdmins group.
Set the details of the SQL Reporting Server to be used by SCDW.

I’ve ticked the box saying I’ve taken certain manual steps  but actually I haven’t done it yet so we’ll go do that now.(Incidentally if you forget these manual steps all the DW Management Packs deploy except for the ones named “* Report Library”.)

Here’s the link where the manual steps are described: http://technet.microsoft.com/en-us/library/ff461215.aspx

First you copy the file Microsoft.EnterpriseManagement.Reporting.Code.dll from the Prerequisites folder on the System Centre DVD to the ../ReportServer/bin folder relevant to your named instance of SQL (more details about how to find this folder in the technote).

Then there’s a piece of XML to be pasted into the ../ReportServer/rssrvpolicy.config file. You don’t need to modify the XML, but you do need to copy it at the same level as the other CodeGroup nodes.

While it doesn’t say in the technote, there is a comment at the bottom saying you should restart Reporting Services, which sounds pretty sensible.

Now back to the SCDW installation – specify a domain account to run the service. This account needs to be a local Administator on the SCDW server.
I just used the same account for the reporting account. Again not sure if this is a good or bad idea, but it’ll do for now.

Now you should be able to click Install and let the installation run.

Register the DW server with SCSM

Next you have to register the SC Data Warehouse Management Server with SC System Manager.

Run the System Center Service Manager Console and, on the Administration page, click on “Register with Service Manager Data Warehouse”.
Enter the name of the SCDW server.
Here I just accepted the default, even though the accountname doesn’t look familiar – I guess it maps to the service account because it seems to work.  

The last step is just to click Create and the registration should complete.

Wait for the Management Packs to finish deploying

The first time I installed I had a lot of trouble with DW jobs seemingly never finishing and no data appearing in the reports. So the second time through I made sure each step completed without errors before continuing on.

In the System Center console, if you open Data Warehouse -> Management Packs, you should see a list of Management Packs. Wait until all of them have “Completed” as their Deployment Status.

If any come up as “Failed” then troubleshoot that before proceeding. Note that when looking for error messages you have to go into the Operations Manager event log on the Data Warehouse Management Server – and not the server where you’re running the console.

Install the Reporting component of FIM R2

 

If you don’t yet have the FIM Service and Portal installed, install it now, selecting the FIM Reporting option.If it is already installed, go to Control Panel / Uninstall a Program. Select “Forefront Identity Manager Service and Portal” and choose “Change”.
Enter the name of the server where you installed SCSM (the FIM server in my lab). If you get a warning about a hotfix go and install it.

Otherwise just configure as appropriate for your environment and complete your Portal re/installation.

Run the DW Configuration Script

 

There’s a script in the FIM R2 installation media you need to run to set things up correctly. It’s called FIMPostInstallScriptsForDataWarehouse.ps1 and you’ll find it in the “Data Warehouse Support Scripts” folder which ius located in FIM_R2_RC_TechNet_Docs.zip (a seperate download to the installtion files).You have to enter the DataWarehouseServerInstance which is actually asking for the SQL instance where the DW databases are – so here I’ve entered localhost\SCDW.

The FIMServiceAccountName is simple enough – the account running the FIM Service.

Run the FIM powershell cmdlets to create Report objects

The reporting data is exported by a workflow that is triggered by the creation of Reporting Job objects in the FIM Portal. There are a couple of powershell cmdlets that do this for you.

First run the Start-FIMReportingInitialSync script. If you haven’t already done so you’ll need to add the FIMAutomation pssnapin.
Now go into the FIM Portal and check the Reporting Job object was created. In Adminstration -> All Resources locate the object class msidmReportingJob. Click on “Reporting Job” to view all objects of this type.
You should see a job of type “Initial”. Open it and check it’s properties to see the status of the job. First it will be “Running” and then “Completed”. If the job fails then you will have some troubleshooting to do.
Next run the cmdlet Start-FIMReportingIncrementalSync script. This does the same sort of thing – creates a Reporting Job object in the Portal.It is this cmdlet that you will need to schedule to run periodically.

Wait for DW Jobs to complete

You won’t see any data in the reports until the following Data Warehouse Jobs have completed:

  • Extract_MyName
  • Transform.Common
  • Load.Common

In the FIM doco there’s a section showing you how to create a script called ETLScript.ps1 that forces these jobs to run straight away. However in my environment the first two scripts are set, by default, to run every 5 minutes, and the last one runs once an hour. So you can either run the script, or wait an hour or so and then find data in the reports.

I found the following powershell cmdlets useful while I was waiting for the pot to boil. They have to be run on the SCDW Server.

  • Get-SCDWJob
  • Get-SCDWJobModule
  • Get-SCDWJobSchedule

You have to add the pssnapin SMCmdletSnapIn first.

View Reports

All going well you should eventually see some data in the reports, which can be viewed in the SC Service Manager Console under Reports.

About: Carol

I've been doing IT for 30 years, and IdM for 15. I live in Australia and build IdM solutions based on Microsoft Identity Manager. I also play the violin, but that doesn't help much with the IdM solutions.


11 thoughts on “Installing Reporting for FIM R2 RC”

  1. Hi Carol,

    Thank you for another helpful post!

    Some details I’d like to suggest adding:

    1. The FIMPostInstallScriptsForDataWarehouse script is in the FIM_R2_RC_TechNet_Docs.zip download.

    2. The Start-FIMReportingInitialSync script is located in C:\Progra Files\Microsoft Forefront Identity Manager\2010\Reporting\PowerShell directory.

    Thanks,

    Sami

  2. Thanks – I will correct 1. I remember now I copied that folder from the Docs into my FIM installation folder – then thought it had always been there. As for the location of the powershell scripts – they seem to work without a path after you add the snapin.

  3. Very detailed, very good stuff. Above when you said “The 8MB seems excessive for a lab. My server has 4MB configured and I’ve not seen it go above 2MB usage” I think instead of MB you meant GB?

  4. Thanks , just one query !! what ports should be opened at FIM machine to connect with SCSM

  5. Thanks carol , just one query !! what ports should be opened in FIM machine to connect with SCSM?

  6. Great work Carol. You always make FIM feel so effortlessly easy :).

    A question though, after running all the scripts and having everything right, I still cannot generate my reports. On Data Warehouse jobs, Load.Common has a failed status resulting from FIMAttributeTypeDim_FIMAttributeTypeName error…. with a message Cannot insert duplicate key in row object returned in the event logs.

    Report initialization and incremental jobs were completed successfully on the portal, the powershell scripts ran successfully and all seems right apart from the Load.Common error.

    Any ideas on how to fix this?

  7. My main advice to you is don’t use it. I’ve installed it twice for PoCs and both times it never went into production due to lack of SCDW and Management Pack skills, the fact that the reports are pretty lame, and there’s no documentation on how to add new ones. I use a combination of scripts to gather the data I want and SQL Reporting Services to produce the reports – see here http://www.wapshere.com/missmiis/requests-logging-sync-logging.

  8. Thank you Carol… let me try out the scripts as well. Hopefully, I will hack through it like you are. Much appreciated.

Leave a Reply

Your email address will not be published. Required fields are marked *


*