Skip to content

使用 Java SDK 自动化查询 Azure Monitor 日志与指标

解决云端监控数据提取痛点:通过集成 Azure Monitor Query SDK,让开发者能够使用 Java 编写自动化程序,直接从 Azure Log Analytics 工作区执行 Kusto 查询并获取资源指标。

为什么需要这个技能

在管理大规模 Azure 资源时,通过 Portal 界面手动查询日志效率低下。无论是构建自定义监控面板、自动化故障诊断工具,还是生成定期的资源性能报告,都需要一种能够编程化获取数据的方式。

本技能允许你使用 Kusto 查询语言(KQL)在代码中定义逻辑,并利用 Java SDK 的同步或异步客户端快速提取结构化日志数据和时间序列指标(Metrics),实现从“手动观察”到“自动化分析”的转变。

适用场景

  • 自动化运维报告:定期导出特定资源的 CPU、内存利用率指标并生成报表。
  • 实时故障告警分析:当触发告警时,自动运行 Kusto 查询提取相关错误日志。
  • 跨工作区数据聚合:一次性查询多个 Log Analytics 工作区的数据进行对比分析。
  • 自定义监控仪表盘:将 Azure 监控数据集成到公司内部的自研管理后台。

核心工作流

  1. 环境准备:配置 LOG_ANALYTICS_WORKSPACE_ID(日志工作区 ID)和 AZURE_RESOURCE_ID(资源 URI),并确保拥有相应的 TokenCredential 权限。
  2. 客户端初始化:根据需求选择 LogsQueryClient(查询日志)或 MetricsQueryClient(查询指标)。如果是中国区,需指定对应的 .cn 端点。
  3. 构建查询逻辑
    • 日志查询:编写 KQL 语句,定义 QueryTimeInterval 时间范围。支持将结果直接映射到自定义 Java POJO 模型。
    • 指标查询:指定资源 ID 及需要获取的指标列表(如 SuccessfulCalls),可配置聚合类型(Average, Count 等)。
  4. 结果处理与优化:通过 LogsQueryResult 遍历表格数据,或处理 MetricsQueryResult 中的时间序列元素。对于大量查询,建议使用 LogsBatchQuery 减少网络请求次数。

下载和安装

下载 azure-monitor-query-java 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐