Monitoring ASP.NET Core 3 applications

In the previous section, you saw how to generate and analyze application logs for your ASP.NET Core 3 web applications, which will help you better understand unexpected behavior and application bugs. This will help IT operations to trace the different steps after an event has occurred until the root cause of a problem has been found.

However, it will not help them to constantly monitor and supervise applications, since using logging mechanisms, in this case, will result in bad performance and negative overall impact on the application. Logging is not the right solution for continuous monitoring!

The goal of monitoring is to analyze and supervise a large number of application metrics in real time, and to automatically detect application anomalies. The metrics need to have a very low message footprint for this to work efficiently.

The most commonly known monitoring frameworks for ASP.NET Core 3 are listed here:

  • EventSource with ETW, which is very fast, and strongly typed. This was introduced with .NET 4 and works only on Windows
  • DiagnosticSource, which is very similar to EventSource, works cross-platform, like EventSource with ETW for Windows, and like LTTng for Linux
For more information on ETW, go to the following website:
https://docs.microsoft.com/en-us/windows/win32/etw/about-event-tracing.

For more information on LTTng, go to the following website:
http://lttng.org.

On top of these frameworks, most public cloud providers supply their own monitoring solutions. For Microsoft Azure, it is recommended to use Azure Application Insights, for instance, while you should use CloudWatch for AWS. These two monitoring solutions are fully SaaS and are much more integrated with the respective public cloud provider portals.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.129.218.19