cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

.Net CORE applications didn't show in application Dashboard

hussein.salman
Explorer

I have installed App Dynamics on-premises and installed the agent where I am hosting my restful services. Each Microservice is hosted on IIS as a virtual directory and has its own application pool.

 

I can see the remote server where the agent is installed in the "Nodes and Tiers" Section but I cannot see any of the applications in the dashboard.

 

I restarted the IIS several times and requested the APIs again and again.

 

 

What is the problem?

5 REPLIES 5

Matt.Jensen
AppDynamics Team

Hi Hussein, could you provide a bit more detail about the appication you're instrumenting?  For example is it ASP.NET Core running on Full Framework?  MVC / WebAPI / etc. 

 

You might need to define a (.NET Class/Method) Custom Match Rule in the controller under Configuration -> Instrumentation so that the agent knows where eto begin tracking a Business Transaction.  

 

More detail about Custom Match Rules for .NET aka POCOs here : https://docs.appdynamics.com/display/PRO43/.NET+Business+Transaction+Detection

 

Thanks,

Matt

 

I have both, but let start most of them are asp.net core projects that use web api. These are just controllers serving as restful apis that are called from client side application, or apis calling another apis in different application.

 

 

Should I go to every controller or every action under controller to decorate it? Can't AppDynamics dicover the request trace by itself and how we can configure it?

OK, thanks for the info! 

 

First, we need to make sure the full .NET Framework is on this machine; if it's soley .NET Core, the CLR Profiling API is not all there yet to allow us to track transactions. 

 

Since you're running IIS, I assume the full Framework is installed. You should be able to pick up these transactions with a single .NET Class/Method Custom Match rule like below:

 

Class Equals System.Web.Http.ApiController
Method Equals ExecuteAsync
Name WebAPI
Splitter Use the Simple Class Name in Transaction Name

 

This will create new Businsess Transactions named  WebAPI.[ControllerName] for each of your controllers. Once this rule is in place, wait a minute or so for it to get brought down to the instrumented processes and then recycle them and you should start to see new BTs.

 

Let me know how it goes!

-Matt

nicolewells.n
Producer

Hello All,

 

You can create two types of deployments for .NET Core applications:

  • Framework-dependent deployment. As the name implies, framework-dependent deployment (FDD) relies on the presence of a shared system-wide version of .NET Core on the target system. Because .NET Core is already present, your app is also portable between installations of .NET Core. Your app contains only its own code and any third-party dependencies that are outside of the .NET Core libraries. FDDs contain .dll files that can be launched by using the dotnet utility from the command line. For example, dotnet app.dll runs an application named app.

 

  • Self-contained deployment. Unlike FDD, a self-contained deployment (SCD) doesn't rely on the presence of shared components on the target system. All components, including both the .NET Core libraries and the .NET Core runtime, are included with the application and are isolated from other .NET Core applications. SCDs include an executable (such as app.exe on Windows platforms for an application named app), which is a renamed version of the platform-specific .NET Core host, and a .dll file (such as app.dll), which is the actual application.

To get more information on this go through this link! https://docs.microsoft.com/en-us/dotnet/core/deploying/ | Microsoft Dynamics

 

I hope this can helps you! Thanks for reading.

 

Regards

Nicolewells