Building AppInsights Analyser: A Blazor Dashboard for Azure Application Insights
#DevOps

Building AppInsights Analyser: A Blazor Dashboard for Azure Application Insights

Cloud Reporter
3 min read

A developer built a .NET 10 Blazor Server application that connects directly to Azure Application Insights resources, providing a unified dashboard for monitoring application health across multiple subscriptions without navigating the Azure portal.

If you’ve ever had to jump between multiple Azure subscriptions in the portal just to check on the health of your applications, you’ll know how frustrating it can be. The Azure portal is powerful, but it isn’t always the fastest way to get a quick read on what’s happening across your Application Insights instances. That’s the problem I set out to solve with AppInsights Analyser.

Featured image

What Is It?

AppInsights Analyser is a .NET 10 Blazor Server application that connects directly to your Azure Application Insights resources and presents all the key telemetry data in a clean, fast dashboard — without you ever having to leave the app. You pick your subscription, select an Application Insights instance, and immediately get access to ten different analytics views:

  • Requests
  • Dependencies
  • Exceptions
  • Page Views
  • Page Speed
  • Availability
  • Traces
  • Top Failures
  • Performance Overview summary

Everything is driven by KQL (Kusto Query Language) queries running against the Azure Monitor Logs API, so the data is always live and accurate.

How I Built It

The tech stack is deliberately straightforward. I used .NET 10 Blazor Server for the application framework — Blazor Server made sense here because all the Azure SDK calls happen server-side anyway, and there’s no need to expose credentials to the browser.

For the UI I reached for MudBlazor, which gave me a polished Material Design component library including drawers, tables, chips, and dialogs with minimal effort. For charts I used Blazor-ApexCharts, which made it easy to render grouped bar charts for the Page Speed comparison feature — showing today’s page load times versus yesterday’s side by side, with percentage change calculated automatically.

Authentication was one of the more interesting design decisions. Rather than storing connection strings or API keys anywhere, the app uses ChainedTokenCredential from the Azure.Identity SDK. It tries your active az login session first, then falls back to DefaultAzureCredential for environments like Managed Identity or Visual Studio. This means you can run it locally with a quick az login --tenant and it just works.

The Azure resource discovery uses the Azure Resource Manager SDK to enumerate subscriptions and Application Insights instances dynamically — so there’s nothing to configure. If you have access to it in Azure, it shows up in the app.

Features

A few things came together particularly well. The drilldown panels let you click a failed request count and instantly see the individual failed requests inline — no navigation away from the page. The same pattern works for exception details, top failure occurrences, and performance percentile breakdowns (P50 through P99).

The left-hand sidebar navigation keeps all ten sections just one click away, with the active section highlighted and the main content area updating without a full page reload. All tables are fully sortable — click any column header and the data reorders instantly client-side.

Try It Yourself

The project is open source and available on GitHub. All you need is the .NET 10 SDK, the Azure CLI, and read access to an Azure subscription. Clone the repo, run az login --tenant, then dotnet run — and you’re in.

This approach solves a real pain point for developers and DevOps engineers who need to monitor multiple Application Insights instances across different subscriptions. Instead of context-switching between portal tabs or running separate KQL queries, you get a unified view that updates in real-time with the data you actually need to see.

The choice of Blazor Server over other frameworks was intentional — by keeping all the Azure SDK calls server-side, we avoid the complexity of managing authentication tokens in the browser while still delivering a responsive, modern UI. The combination of MudBlazor for components and Blazor-ApexCharts for visualization provides a professional look without reinventing the wheel.

For teams managing multiple applications in Azure, this kind of consolidated monitoring dashboard can significantly reduce the time spent on routine health checks and make it easier to spot trends or issues across your entire application portfolio.

Comments

Loading comments...