azure-application-insights - 是否有用于连接并从 Java 应用程序获取 Azure AppInsight 服务指标和配额信息的 java sdk 和示例?
问题描述
是否有用于连接并从 Java 应用程序获取Azure AppInsight 服务指标和配额信息的 Java SDK 和示例?
或者是否有任何公开的 REST API 来调用和获取指标,以便从 Java 应用程序集成和测试?
解决方案
有一个REST API来获取指标。
首先,您需要获取您的 API 密钥和应用程序 ID,详细信息在此处:导航到 azure 门户 -> 转到您的应用程序洞察 -> 在配置部分下,选择 API 访问 -> 记下应用程序 ID,然后单击创建 API 密钥,截图如下,记得记下关键:
其次,构造 api url 以获取您需要的指标。此链接中的详细信息。
一个简单的例子是我想获取过去 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;
}
推荐阅读
- python - 如何在每个 bin 中绘制中值,并显示 25% 和 75% 的值
- python - 为什么它显示错误,即 __init()__ 需要 1 个位置参数,但是当我在请求模块的 get 方法中传递 url 时给出了 2 个
- anylogic - Anylogic - 无法打开模型
- java - 在 JAVA 中,函数的返回值应该放在哪里?
- html - Div 的堆栈相互叠加
- angular - Angular NgOnChanges 行为怪异
- sql - 用于连接 2-3 列的 Sql 查询一列是数字,另一列是日期数据类型使用 Ms 访问
- next.js - 如何修复自定义 404 页面在 NextJS 中不起作用
- javascript - ApexCharts.js 折线图 - 缺失日期显示为零
- apache-kafka - SpringCloudStream Kafka如何批量消费?