日志采集到 CLS 后,支持将日志数据投递至 Azure Monitor Analytics Log,用于在 Azure 侧统一存储、查询、分析日志,并可作为 Microsoft Sentinel、Azure Monitor 等上层服务的数据源。该功能按照外网读流量计费。
前提条件
子账号/协作者需要主账号授权,授权步骤参见 基于 CAM 管理权限,授权策略请参见 CLS 访问策略模板。
在 Azure 侧已完成以下准备(用于接收 CLS 投递数据):
已创建 Log Analytics 工作区(Workspace),并在工作区中创建目标 Custom 表(如 MyCLSLog_CL)。
已创建数据收集终结点(Data Collection Endpoint,DCE)。
已创建数据收集规则(Data Collection Rule,DCR),并在 DCR 中定义目标表(Custom 表)与流(Stream)。
已在 Azure AD 完成应用注册(App Registration),拿到 租户 ID(Tenant ID)、客户端 ID(Client ID)、客户端密钥(Client Secret),并将该应用授予 DCR 的 Monitoring Metrics Publisher 角色。
操作步骤
1. 登录 日志服务控制台。
2. 在左侧导航栏中,选择日志主题。
3. 单击需要投递的日志主题 ID/名称,进入日志主题管理页面。
4. 单击投递和消费 > 投递到 Azure Log 页签,进入投递到 Azure Log 配置页面,单击新建,进入基本配置。
基本配置项 | 是否必填 | 解释说明 | 示例 |
投递任务名称 | 是 | 配置投递任务的名称。 | cls-to-analytics-log-prod |
日志主题 | 是 | 被选择需要投递到 Analytics Log 的源日志主题。 | 广州/test123 |
日志预过滤 | 否 | 添加条件:通过交互模式/语句模式配置过滤条件,将过滤后的结果发送至 Azure Analytics Log 。 交互模式(默认): 保留日志:符合条件的日志将被保留。 丢弃日志:符合条件的日志将被丢弃。 语句模式:参见 预过滤函数。 | - |
服务日志 | 否 | 将投递任务运行的监控指标,写入免费的日志主题 cls_service_log 中。 | 打开开关 |
投递日志预览 | 否 | 预览您需要投递的日志。 | {"a":123,"b":123,"c":-123,"d":123.45,"e":{"e1":123,"f1":"123"}} |
5. 单击下一步,进入目标配置。
配置项 | 是否必填 | 解释说明 |
数据收集终结点 (DCE) | 是 | Data Collection Endpoint URL,日志写入的 HTTP 入口。在 Azure 门户「监视器 → 数据收集终结点」中获取,如 https://my-dce-xyz.eastus-1.ingest.monitor.azure.com。 |
数据收集规则 ID(DCR Immutable ID) | 是 | Data Collection Rule 的不可变 ID,定义日志进入哪个 Workspace/表以及 KQL 转换规则。在 DCR 详情页 → JSON 视图 → immutableId 中获取,形如 dcr-a1b2c3d4…。 |
表名称(Table Name) | 是 | 目标表的表名,例如 MyCLSLog。系统会自动拼接为 DCR 中定义的流名称(Custom-<表名>)。 |
租户 ID(Tenant ID) | 是 | Azure AD 租户 ID,用于拼接获取 Token 的登录地址 |
客户端 ID(Client ID) | 是 | 应用注册(App Registration)的 Application (client) ID。 |
客户端密钥(Client Secret) | 是 | 应用注册的 Client Secret。密钥仅用于服务端获取 AccessToken,不在控制台明文回显。 |
连通性检查通过后,方可配置字段映射。单击获取 Azure 字段并自动映射,系统会读取目标表的 Schema,并将同名日志字段自动填入日志字段名列。
Azure 应用认证配置项 | 是否必填 | 解释说明 | 规则 |
日志字段名 | 是 | CLS 日志中的字段名,与 Azure 目标表字段做 Mapping。仅支持填写 JSON 中的第一层节点的 key(如 app_name),不支持 details.request_id 这类嵌套节点。 | - |
Azure 字段 | 否 | 系统从 Azure DCR Stream 的 Schema 读取,此处不支持修改,请前往 Azure 侧调整目标表/DCR。 | - |
字段类型 | 否 | Azure 字段的类型(如 Datetime、String、Int 等),系统从 Schema 读取,此处不支持修改。 | |
解析失败赋值 | 否 | 当字段值解析失败时,使用该值写入 Azure。可选择 空(空字符串)、null 或 自定义值。 字段在日志中不存在时,Azure 侧写入 null;解析失败赋值为 null 时,Azure 侧写入 null;解析失败赋值为非 null 时,将再按该赋值尝试解析,成功则写入,否则写入 null。 | 空/null/自定义值 |
开启映射 | 否 | 是否将该字段映射至 Azure 表,如果不需要,请关闭开关。Azure 中标记为「必需」的字段(如 TimeGenerated)不允许关闭。 | - |
6. 单击提交,完成新任务的配置。