Thursday, May 31, 2012

APM Demo Lab ‘Talking Heads’ and some Tips & Tricks

05-02-2013 Update: The download has moved to Codeplex and can be downloaded from here. A BIG word of thanks to Markus Bölske for mentioning it to me.

Since I had to build myself a whole new OM12 test environment at home I decided to use the .NET test application Talking Heads for demonstrating the APM (Application Performance Monitoring) component of OM12.

All credits go to VIAcode for sharing this APM Test Lab for FREE!!! 

Even though the website of Talking Heads makes one think it’s a Next > Next > Finish experience, there are some caveats to reckon with. Otherwise this APM demo lab will never take off and become a frustration which would be bad. In this posting I describe the caveats to reckon with.

  1. Download ALL the files, to be found here on the bottom of the webpage (no registration needed which saves some valuable time);

  2. The file talkingheads.zip contains the two MSI files which must be installed: TalkingHeads.msi and TalkingHeadsMidtier.msi
    Use these settings when installing TalkingHeads.msi:
    image

    And these settings when installing TalkingHeadsMidtier.msi:
    image

  3. In order to work a SQL Server must be present (SQL Server Express is OK here but PLEASE install the version with SQL Server Management Studio, SQLEXPRWT_x64_ENU.exe (SQL Server Express with TOOLS) since it makes it much more easier to manage your SQL Express Server). A good alternative is to use the same SQL Server which hosts the OM12 databases and SSRS instance.

Until now it’s a straight forward process, just as stated on the website of VIAcode. But now the fun starts. Since many times the configuration won’t do for the SQL Server Connection string as stated in the web.config file for the TalkingHeadsMidTier part:
image

When the website of TalkingHeads is opened (http://localhost/TalkingHeads/) and one goes to the menu option Setup in order to create the database and seed it with bogus information, this error is shown:
image

On itself nothing wrong here. The database must be created so nothing wrong there. So an applicable time frame is selected and the button Seed Database is hit. For a second or two this screen is shown:
image

And then it’s back to the beginning of the Setup screen again:
image

And indeed, when I checked, there wasn’t a new database created on the SQL Server instance…

And yet, SQL Server (full blown version) was available and operational. But the Application log of that SQL Server told me nothing about a connection attempt made by TalkingHeads.

So apparently there was something else happening here. The connection string in the file web.config of the TalkingHeadsMidTier wasn’t properly configured:
image

This website tells it all. I adjusted the web.config file to this: (local) instead of (local)\SQLEXPRESS:
image

Saved the modifications and tried it again. Now everything seemed to work just fine. However, another error was thrown: ‘…Login failed for user 'IIS APPPOOL\ASP.NET v4.0'. Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors. [CLIENT: <local machine>]

This has everything to do with the Application Pool (ASP.NET v4.0 remember?) and it’s identity. SQL Server doesn’t accept the ApplicationPoolIdentity which is default for this Application Pool.

So it’s time to change that as well:

  1. Open IIS Manager;
  2. Go to Application Pools and select the ASP.NET v4.0 Application Pool, right click it, select Advanced Settings and change the Identity to LocalSystem, like this:
    image
  3. Save the changes and run the TalkingHeads website again and go to the Setup menu.

Now you can create and seed the database successfully:
image

Now you can start configuring APM! Have a nice day everybody!

6 comments:

Kevin Greene said...

Nice one for this Marnix - I was trawling the web trying to find a fix to get this working!

Wouldn't work on SQLEXPRESS for some reason but got it working with a remote SQL Instance instead after an edit of the web.config file.

Thanks!

Kevin.

Marnix Wolf said...

Hi Kevin,

Thanks for your comments.

Cheers,
Marnix

Markus Bölske said...

The link to Talking Heads is unavailable. It seems to have been moved to: http://talkingheads.codeplex.com/

Markus
http://www.opsmanager.se

Marnix Wolf said...

Hi Markus.

Thanks for your feedback. I have updated my posting accordingly.

Kind regards,
Marnix

ddd said...

Thanks
Trying to install TalkingHeads Application in Test Lab for .Net Monitoring.

Application is installed but when trying to seed the database get this error

An error occurred while executing the command definition. See the inner exception for details.
Inner Exception:Invalid object name 'dbo.Posts'.





Any ideas??

Thanks

Dilip

L Scales said...

If you're using SQL Express, change the connection string to Source =.\SQLExpress