是否有Java SDK和示例可以连接并从Java应用程序中获取 Azure AppInsight Service 指标和配额信息?
或者是否有公开的其余API可以调用和获取指标,以从Java应用程序进行集成和测试?
答案 0 :(得分:0)
有一个REST API来获取指标。
首先,您需要获取API密钥和应用程序ID,详细信息here:导航至Azure门户->转到您的应用程序见解->在configure部分下,选择API Access->写下应用程序ID ,然后点击创建API密钥,下面的屏幕截图,请记住写下密钥:
第二,构造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;
}