代码之家  ›  专栏  ›  技术社区  ›  TechPassionate

是否有java sdk和示例来连接并从java应用程序获取Azure AppInsight服务指标和配额信息?

  •  -2
  • TechPassionate  · 技术社区  · 6 年前

    有没有JavaSDK和示例可以连接和获取 Azure AppInsight服务 Java应用程序中的指标和配额信息?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Ivan Glasenberg    6 年前

    有一个 REST API 以获取指标。

    here :导航到azure门户->转到application insights->在“配置”部分下,选择“API访问”->“记下应用程序id”,然后单击“创建API密钥”,下面的屏幕截图,记住记下密钥: enter image description here

    其次,构造api url以获取所需的度量。详细信息 link .

    一个简单的例子是,我想获取过去6小时内的请求计数,url如下所示(在最后一步中,用您自己的应用程序标识替换您的应用程序标识):

    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;
    }