How to Monitor IIS deployed ASP.NET Framework Site using Elastic APM?

Kibana version: 7.9.1

Elasticsearch version: 7.9.1

APM Server version: 7.9.1

APM Agent language and version: .Net

Browser version: Chrome Version 86.0.4240.183

Original install method (e.g. download page, yum, deb, from source, etc.) and version: download page and extracting

Fresh install or upgraded from other version? Fresh install

Is there anything special in your setup? Elastic-APM sends to Logstash and Logstash send to Elasticsearch

Description of the problem including expected versus actual behavior. Please include screenshots (if relevant): No transactions showing up

Steps to reproduce:

  1. Download Elasticsearch, Logstash, Kibana and ElasticAPM (CentOS 7)
  2. Extract all files and Run
  3. Login to your Windows IIS Server
  4. Modify the file web.config and paste all ElasticAPM (dlls) under bin directory

Background:
We are using different Paid APM tool. We want to have a proof of concept if we can use Elastic APM to monitor IIS Web Applications (.Net Framework v4.6 and higher). We have more than 50 .Net Applications that we want to monitor. Some of the IIS Web Applications are old and no longer being developed/maintained by the developer.

My question is, how to configure and monitor the IIS Web Applications without modifying the Code since I am not a developer and does not have access to the code.

Here's what I've done so far.

  1. Downloaded the required files on a different machine using Package Manager (Install-Package Elastic.Apm.AspNetFullFramework -Version 1.6.1) since there are no Visual Studio installed on a Production/Non Production IIS Machine.
  2. Copied the DLL Files to the deployed ASP.NET (screenshots below)
  3. Modified the web.config file (notes below)

Here's my web.config file configuration

<configuration>	
     
    <appSettings> 
	  <!-- Elastic APM Configuration -->
 	  <add key="ElasticApm:ServerUrls" value="http://elastic-apm:8200" />
 	  <add key="ElasticApm:ServiceName" value="AppName" />	
 	  <add key="ElasticApm:MetricsInterval" value="10" />	  
 	  <add key="ElasticApm:Environment" value="WindowsServerName" />	
 	  <add key="ElasticApm:CentralConfig" value="true" />		  
 	  <!-- Elastic APM Configuration -->
....... 
   <runtime>
 	<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">			
   	  <dependentAssembly>
 		<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
 		<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.1.1.3" />
 	  </dependentAssembly>
 	</assemblyBinding>
   </runtime>
...... 
   <system.webServer>
     <modules runAllManagedModulesForAllRequests="true">
 	  <!-- Elastic Monitoring -->			
 		<remove name="ElasticApmModule"/>
 		<add name="ElasticApmModule" type="Elastic.Apm.AspNetFullFramework.ElasticApmModule, Elastic.Apm.AspNetFullFramework"/> 			
 	  <!-- Elastic Monitoring -->

Here's a screenshot of the dll files under Bin directory

Here's a screenshot of the APM

Here's a screenshot of the Metrics

Here's a screenshot of the Agent Configuration

I've already generated some traffic or browsed the app using google chrome and firefox and i still don't see any transactions being captured.

Thanks for assistance.

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.