用途:这是面向 Java 的 Azure Monitor Ingestion SDK,用于通过 Logs Ingestion API、数据收集规则(DCR)和数据收集终结点(DCE)向 Azure Monitor 发送自定义日志。
主要能力:提供同步客户端 LogsIngestionClient 与异步客户端 LogsIngestionAsyncClient;上传自定义日志;对大批量日志设置并发(LogsUploadOptions.setMaxConcurrency);通过错误消费者处理部分上传失败;配合 DefaultAzureCredential 进行身份验证。
必要用法:需准备数据收集终结点(DCE)、数据收集规则(DCR)、Log Analytics 工作区和目标表(自定义表或内置表 CommonSecurityLog、SecurityEvents、Syslog、WindowsEvents)。环境变量示例:DATA_COLLECTION_ENDPOINT、DATA_COLLECTION_RULE_ID、STREAM_NAME。Maven 依赖为 com.azure:azure-monitor-ingestion(示例版本 1.2.11),也可引入 azure-sdk-bom 管理版本。核心调用:client.upload("<data-collection-rule-id>", "<stream-name>", logs),异步客户端返回 Mono。日志条目字段需与 DCR 转换结构匹配,多数表需要 TimeGenerated 字段。查询已上传日志可用 azure-monitor-query。
限制:仅在任务与上述范围明确匹配时使用;输出不能替代针对具体环境的验证、测试或专家评审;缺少必要输入、权限、安全边界或成功标准时应停下并请求澄清。