Quantcast
Channel: MSDN Blogs
Viewing all articles
Browse latest Browse all 5308

Capturing dumps on multiple instances automatically using procdumphelper

$
0
0

Capturing dumps for intermittent issues happening only on certain instances could be very challenging in Azure App Service environment. Depending upon the scenario, you can capture dumps using Auto-heal by defining the triggers in the root web.config file of your web site and configure the actions to invoke procdump when these triggers are hit. With this approach, If you have multiple instances of your web app, it will only generate memory dumps for the instance that has hit this trigger and not all instances. Here is an example to capture dumps using FREB customAction* fields. This approach will have 5-10% performance hit and will require you to enable FREB. This approach of dump collection works best when your scenario fits to the available triggers. The triggers on which you can generate dumps are based upon attributes including: Count, timeInterval, statusCode, subStatusCode, win32StatusCode, and privateBytesInKB.

What if your w3wp.exe crashes with different trigger like an exception code, ex StackOverflow exception (0xC00000FD), AccessViolationException (0xC0000005), etc? In this scenario, you can use Crash Diagnoser siteextension, however it will only monitor the current Instance in the current Kudu site (which is a random instance).

This is where procdumphelper can be used. It runs as a continuous WebJob on all the instances of your web app, and acts as a proxy for procdump.exe automatically attaching to the right non-SCM instance of w3wp.exe. Below are the steps to install and configure procdumphelper WebJob.

Step 1: Create a storage account and setup Azure Dashboard storage account.

Step 2: Open KUDU Debug console of your web app and goto “D:homesitewwwrootapp_datajobscontinuous“. Create these folders if not already present.

Step 3: Download procdumphelper.zip to local drive and drag-drop the zip file to “D:homesitewwwrootapp_datajobscontinuous”. Once done, you should have “D:homesitewwwrootapp_datajobscontinuousprocdumphelper” with all the contents of the WebJob.

Step 4: As soon as the “D:homedataprocdumphelperparams.txt”file is updated or changed, prodcump.exe will be attached on all the instances.

Step 5: Reproduce the issue. Once the dump is available, download it.


Viewing all articles
Browse latest Browse all 5308

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>