![]() |
VOOZH | about |
Blazor is a framework for developing modern, client-side web UIs using .NET technology. Instead of coding in JavaScript, developers can use the familiar C# language and .NET libraries to build app UIs.
The CData API Driver for ADO.NET can be used with standard ADO.NET interfaces, such as LINQ and Entity Framework, to interact with live Grafana data. Since Blazor supports .NET Core, developers can use CData ADO.NET Providers in Blazor apps. In this article, we will guide you to build a simple Blazor app that talks to Grafana using standard SQL queries.
CData ADO.NET Providers allow users to access Grafana just like they would access SQL Server, using simple SQL queries.
Install the Grafana ADO.NET Data Provider from the CData website or from NuGet. Search NuGet for "Grafana ADO.NET Data Provider."
👁 Install ADO.NET Grafana Provider from NuGet.Start by creating a Blazor project that references the CData API Driver for ADO.NET
Start by setting the Profile connection property to the location of the Grafana Profile on disk (e.g. C:\profiles\Grafana.apip). Next, set the ProfileSettings connection property to the connection string for Grafana (see below).
In Grafana, navigate to Administration > Users and Access > Service accounts, create a service account, then click Add service account token to generate a token.
For example: Profile=C:\profiles\Grafana.apip;ProfileSettings='Token=your_service_account_token;Domain=your_grafana_domain';
@page "/"
@using System.Data;
@using System.Data.CData.API;
<h1>Hello, world!</h1>
Welcome to your Data app.
<div class="row">
<div class="col-12">
@using (APIConnection connection = new APIConnection(
"Profile=C:\profiles\Grafana.apip;ProfileSettings='Token=your_service_account_token;Domain=your_grafana_domain';"))
{
var sql = "SELECT Id, Name FROM Alert WHERE State = 'alerting'";
var results = new DataTable();
APIDataAdapter dataAdapter = new APIDataAdapter(sql, connection);
dataAdapter.Fill(results);
<table class="table table-bordered">
<thead class="thead-light">
<tr>
@foreach (DataColumn item in results.Rows[0].Table.Columns)
{
<th scope="col">@item.ColumnName</th>
}
</tr>
</thead>
<tbody>
@foreach (DataRow row in results.Rows)
{
<tr>
@foreach (var column in row.ItemArray)
{
<td>@column.ToString()</td>
}
</tr>
}
</tbody>
</table>
}
</div>
</div>
At this point, you have a Grafana-connected Blazor app, capable of working with live Grafana data just like you would work with a SQL Server instance. Download a free, 30-day trial and start working with live Grafana data in your Blazor apps today.
Connect to live data from Grafana with the API Driver
Connect to Grafana