在 ASP.NET 核心应用程序中获取 Azure Insights 遥测数据/搜索日志
Get Azure Insights Telemetry Data / Search Logs in ASP.NET Core app
在 C# 应用程序中是否有一种方法可以使用 Azure Nuget 包来搜索 Azure 遥测数据并返回某种 json 结果集?
我有一个 ASP.NET 核心 2.x 管理应用程序,我想查看最后一个 X Azure 成功的 Azure webjob 函数(见屏幕截图)。我似乎找不到任何关于如何在我的应用程序中 运行 此查询的信息。
我不知道封装此功能的 Nuget 程序包,但 App Insights 有一个 REST API 他们公开了他们有一个 API Quickstart guide
下面包含 C# 示例:
private const string URL =
"https://api.applicationinsights.io/v1/apps/{0}/{1}/{2}?{3}";
public static string GetTelemetry(string appid, string apikey,
string queryType, string queryPath, string parameterString)
{
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("x-api-key", apikey);
var req = string.Format(URL, appid, queryType, queryPath, parameterString);
HttpResponseMessage response = client.GetAsync(req).Result;
if (response.IsSuccessStatusCode)
{
return response.Content.ReadAsStringAsync().Result;
}
else
{
return response.ReasonPhrase;
}
}
...
var json = GetTelemetry
("DEMO_APP", "DEMO_KEY",
"metrics", "requests/duration", "interval=PT1H");
底部的示例调用将 return 请求过去 24 小时内每小时汇总的持续时间(示例路由的默认时间范围)。
创建 API 密钥可以通过 API 访问菜单完成,在每个特定 Application Insights 实例的配置标题下:
在 C# 应用程序中是否有一种方法可以使用 Azure Nuget 包来搜索 Azure 遥测数据并返回某种 json 结果集?
我有一个 ASP.NET 核心 2.x 管理应用程序,我想查看最后一个 X Azure 成功的 Azure webjob 函数(见屏幕截图)。我似乎找不到任何关于如何在我的应用程序中 运行 此查询的信息。
我不知道封装此功能的 Nuget 程序包,但 App Insights 有一个 REST API 他们公开了他们有一个 API Quickstart guide
下面包含 C# 示例:
private const string URL =
"https://api.applicationinsights.io/v1/apps/{0}/{1}/{2}?{3}";
public static string GetTelemetry(string appid, string apikey,
string queryType, string queryPath, string parameterString)
{
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("x-api-key", apikey);
var req = string.Format(URL, appid, queryType, queryPath, parameterString);
HttpResponseMessage response = client.GetAsync(req).Result;
if (response.IsSuccessStatusCode)
{
return response.Content.ReadAsStringAsync().Result;
}
else
{
return response.ReasonPhrase;
}
}
...
var json = GetTelemetry
("DEMO_APP", "DEMO_KEY",
"metrics", "requests/duration", "interval=PT1H");
底部的示例调用将 return 请求过去 24 小时内每小时汇总的持续时间(示例路由的默认时间范围)。
创建 API 密钥可以通过 API 访问菜单完成,在每个特定 Application Insights 实例的配置标题下: