Metrics with Open Telemetry

Nexus exposes a number of metrics using Open Telemetry. Open Telemetry is an open standard for exposing metrics and telemetry that can be plugged into almost any monitoring service such as Azure Application Insights, Splunk, Elastic APM etc.

If you're using Azure Application Insights/Azure Monitor for example you can install the Open Telemetry exporter for Azure Monitor:

https://learn.microsoft.com/en-us/azure/azure-monitor/app/opentelemetry-configuration?tabs=aspnetcore

Install the NuGet package Azure.Monitor.OpenTelemetry.AspNetCore and then call:

builder.Services
    .AddOpenTelemetry()
    .UseAzureMonitor(options => 
    {
        options.ConnectionString = "<Your Connection String>";
    });

This will export the metrics and telemetry data from Nexus into Azure Monitor. You'll be able to see counters such as how many queue messages are processed and how many fail. Each job run is exported as a trace with a start and end in the same way as Application Insights represents an HTTP request. If you also use the Application Insights SDK you'll see all the database queries or HTTP requests that happens inside that job run as well.

This is not specific to Application Insights though as Nexus has no knowledge of that. It only exposes the telemetry in the Open Telemetry standard format and then its up to you to send that data to whichever APM you're using.