0

We have a need to store diagnostics data in more than one place, and I'm wondering- is it possible to hook into diagnostics module to have additional actions performed while data being saved?

What I want to achieve is to have diagnostics data in two palaces:

  1. Standard storage on per webrole basis
  2. Centralized secured storage backed up with REST api. One for a number of webroles

From what I saw in Microsoft.WindowsAzure.Diagnostics.dll module they have only configuration related code, and it looks like save operations are in the dll's like MonAgent.dll that are not .Net code.

Any thought on how to hook into diagnostics store process or override default storages or ...?

Michael Baranov
  • 789
  • 1
  • 7
  • 17

1 Answers1

1

With standard Windows Azure Diagnostics, unfortunately it's not possible to specify multiple storage accounts. All diagnostics data will be transferred to a single storage account.

However you can make use of custom logs in Windows Azure Diagnostics and write the log data to a custom sink which gets transferred to blob storage of the diagnostics storage account. You can then read that data through a worker role and push that data in a storage account of your choice.

Take a look at Cloud Service Fundamentals project here: http://code.msdn.microsoft.com/windowsazure/Cloud-Service-Fundamentals-4ca72649. It's by Windows Azure CAT team. It makes use of NLog for collecting logging data and then persisting that logging data in a container called telemetry-logs. Once the data is in that container, it periodically polls the data and pushes it into a SQL Azure database.

Gaurav Mantri
  • 128,066
  • 12
  • 206
  • 241
  • Thank you for a hint. I saw this solution before, they have a lot of telemetry data traced and store. But my solution is simpler- I'm fine with data provided by standard diagnostics out of the box(iis logs, performance counters and etc), just want to have control over store operation. – Michael Baranov Sep 23 '13 at 11:37