是否有Java SDK和示例可以连接并从Java应用程序中获取Azure AppInsight服务指标和配额信息?

时间:2018-10-13 14:01:17

标签: azure-application-insights

是否有Java SDK和示例可以连接并从Java应用程序中获取 Azure AppInsight Service 指标和配额信息?

或者是否有公开的其余API可以调用和获取指标,以从Java应用程序进行集成和测试?

1 个答案:

答案 0 :(得分:0)

有一个REST API来获取指标。

首先,您需要获取API密钥和应用程序ID,详细信息here:导航至Azure门户->转到您的应用程序见解->在configure部分下,选择API Access->写下应用程序ID ,然后点击创建API密钥,下面的屏幕截图,请记住写下密钥: enter image description here

第二,构造api url以获取所需的指标。 link中的详细信息。

一个简单的示例是,我想获取最近6个小时的请求计数,URL如下所示(在最后一步中,将your_Application_ID替换为您自己的Application_ID):

string URL_requests = "https://api.applicationinsights.io/v1/apps/your_Application_ID/metrics/requests/count?timespan=PT6H";

我对Java不熟悉,因此只需使用C#代码(我认为转换为Java很容易):

string apikey = "your_api_key";

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)
{
    return response.Content.ReadAsStringAsync().Result; // get the metric you need
}
else
{
    return response.ReasonPhrase;
}