如何在Visual Studio MVC项目中使用Application Insights REST API

Awa*_*ais 0 c# model-view-controller asp.net-mvc azure-application-insights visual-studio-2015

我想检索Azure门户上资源中存在的所有数据。我发现,有一个REST API可以帮助您检索数据,以了解应用程序。我想要的是获取数据并在我的网页上生成一个网格报告,该报告显示事件相关信息,即日期,类型,消息和所有相关信息。我以前从未使用过REST API,而我想要的帮助是在Visual Studio中基于MVC的Web项目中使用此REST API的正确指南。如果任何人都可以帮助将是极大的帮助。

Iva*_*ang 6

您可以按照以下步骤操作:

步骤1:获取应用程序ID和API密钥。

导航至您的应用程序见解-> API Access,查看屏幕截图(请记住,生成api密钥时,请写下来): 在此处输入图片说明

步骤2:了解API格式,有关详细信息,请参见此处

这是最近6小时内获取请求计数的示例:

https://api.applicationinsights.io/v1/apps/your-application-id/metrics/requests/count?timespan=PT6H
Run Code Online (Sandbox Code Playgroud)

这部分https://api.applicationinsights.io/v1/apps/不需要更改。

然后输入your-application-id您从上一步获得的信息。

然后,您可以根据需要指定metrics或指定events

这部分requests/count,你可以参考这个,下面的截图: 在此处输入图片说明

最后一部分?timespan=PT6H,你可以参考这个,下面的截图: 在此处输入图片说明

第3步:编写代码以调用此api,如下所示:

public class Test
{
 private const string URL_requests = "https://api.applicationinsights.io/v1/apps/your-application-id/metrics/requests/count?timespan=PT6H";

 public string GetRequestsCount()
        {
            // in step 1, you get this api key
            string apikey = "flk2bqn1ydur57p7pa74yc3aazhbzf52xbyxthef";

            HttpClient client = new HttpClient();
            client.DefaultRequestHeaders.Accept.Add(
                new MediaTypeWithQualityHeaderValue("application/json"));
            client.DefaultRequestHeaders.Add("x-api-key", apikey);
            var req = string.Format(URL_requests);
            HttpResponseMessage response = client.GetAsync(req).Result;
            if (response.IsSuccessStatusCode)
            {
                // you can get the request count here
                return response.Content.ReadAsStringAsync().Result;
            }
            else
            {
                return response.ReasonPhrase;
            }
        }
}
Run Code Online (Sandbox Code Playgroud)

  • 很遗憾看到这么好的答案 - 没有一个赞成票(之前),甚至没有一个被接受的答案。 (3认同)