更新时间:2026-11-03 GMT+08:00
分享

使用LTS采集ASM日志

操作场景

应用服务网格(ASM)关键组件(如 istiod、istio-ingressgateway、istio-egressgateway、sidecar、istio-operator)默认以标准输出方式打印日志,日志无法持久化存储。当 Pod 重启或被驱逐时,日志将丢失,导致无法进行事后故障定位。

通过本章节的操作,您可以在云日志服务(LTS)中为 ASM 关键组件配置日志采集,实现日志的持久化存储,便于故障定位和定界。同时,您还可以配置日志告警规则,当日志中出现错误信息时及时收到通知。

约束与限制

  • 本文档描述的是对 ASM 网格基础设施组件(控制面和数据面组件)的标准输出日志采集,与 ASM 控制台内置的"监控中心-访问日志"功能定位不同,具体区别请参见与 ASM 监控中心-访问日志的区别。

前提条件

  • 已创建 ASM 网格,且网格状态为"运行中"。
  • 已开通 LTS 服务。
  • 已获取 kubectl 命令行工具,且已配置集群访问权限。

操作步骤

参考云容器引擎CCE应用日志接入LTS指导配置参数。

  1. 为 ASM 各关键组件分别创建日志流,便于按组件维度查询和过滤日志。

    1. 登录云日志服务控制台。
    2. 进入“日志管理”页面,单击“创建日志组”。
    3. 输入日志组名称(如"ASM-logs"),设置日志存储周期(建议不少于 7 天),单击"确定"。
    4. 单击日志组名称对应的,单击“创建日志流”,在创建日志流页面,详情请参见创建日志流。
    5. 分别为各关键组件创建日志流。
      表1 创建日志流

      日志流名称

      说明

      istiod

      控制面组件标准输出日志,包含配置下发、服务发现和证书管理等操作记录。

      istio-ingressgateway

      入口网关组件标准输出日志,包含外部请求接入和转发记录。

      istio-egressgateway

      出口网关组件标准输出日志,包含网格内服务访问外部网络的记录。

      服务名A-sidecar

      服务A的Sidecar 代理标准输出日志,包含流量转发和监控数据采集记录。

      istio-operator

      控制面组件operator标准输出日志,包含更新IstioOperator CR资源等操作记录。仅1.18及以下版本涉及该组件。

  2. 日志流创建完成后,您需要在 AOM 接入中心为每个关键组件配置日志采集规则。

    1. 登录云日志服务控制台。
    2. 在左侧导航栏中,选择“日志接入 > 接入中心”,在类型下方选择“运行环境”或“云服务”,鼠标悬浮在CCE卡片上,单击“接入日志(LTS)”进入配置页面。
    3. 选择“采集到自定义日志流”,执行如下操作步骤:
      1. 单击“CCE集群”后的目标框,在下拉列表中选择具体的集群。
      2. 单击“所属日志组”后的目标框,在下拉列表中选择具体的日志组,若没有所需的日志组,单击“所属日志组”目标框后的“新建”,在弹出的创建日志组页面创建新的日志组。
      3. 单击“所属日志流”后的目标框,在下拉列表中选择具体的日志流,若没有所需的日志流,单击“所属日志流”目标框后的“新建”,在弹出的创建日志流页面创建新的日志流。
      4. 单击“下一步:检查依赖项”。
    4. 单击自动修复。

    5. 选择主机组。

    6. 输入采集配置名称,K8S Pod正则匹配,下一步。

      各关键组件的具体配置参数如下表所示。

      表2 各关键组件采集配置参数

      组件名称

      采集配置名称(示例)

      K8S Pod 正则匹配

      容器名称

      命名空间

      istiod

      asm-istiod-日志采集

      istiod-.*

      discovery

      istio-system

      istio-ingressgateway

      asm-ingressgateway-日志采集

      istio-ingressgateway-.*

      istio-proxy

      istio-system

      istio-egressgateway

      asm-egressgateway-日志采集

      istio-egressgateway-.*

      istio-proxy

      istio-system

      服务 A 的 sidecar

      asm-服务A-sidecar-日志采集

      服务A的Pod名称正则

      istio-proxy

      业务命名空间

      istio-operator

      asm-istio-operator-日志采集

      istio-operator-.*

      istio-operator

      istio-operator

      • "采集配置名称"为自定义名称,建议按"asm-组件名-日志采集"的格式命名,便于识别和管理。
      • "K8S Pod 正则匹配"需根据实际 Pod 名称填写。上述正则表达式为示例,Pod 名称格式为 组件名-随机字符串,请根据集群中实际的 Pod 名称调整正则表达式。可通过执行 kubectl get pods -n istio-system 命令查看实际 Pod 名称。
      • 对于服务 A 的 sidecar,Pod 正则匹配应填写业务 Pod 的名称正则,而非 istio 组件名称。容器名称固定为 istio-proxy。
      • 若需同时采集多个业务 Pod 的 sidecar 日志,可在同一命名空间下配置多条采集规则,或在 Pod 正则匹配中使用通配符匹配多个 Pod。
    7. 对每个关键组件重复步骤 2~7,确保所有组件的日志都能采集到对应的日志流。

  3. 验证日志采集

    1. 登录 云日志服务控制台。
    2. 选择步骤一创建的日志组和日志流(如"ASM-logs" > "istiod")。
    3. 查看是否能看到对应组件的日志记录。如果能看到日志内容,说明日志采集配置成功。
    4. 如果日志流中没有日志,请确认对应组件有实际运行日志输出。可以通过在集群中执行 kubectl logs -n istio-system <pod_name> 命令查看组件标准输出日志。

  4. (可选)配置日志告警规则,日志采集配置完成后,您可以在 LTS 中配置日志告警规则,当日志中出现错误信息时及时收到通知。

    1. 登录云日志服务控制台。
    2. 在左侧导航栏选择"日志告警 > 告警规则"。
    3. 单击"创建",为关键组件日志配置告警。详情请参见配置日志告警规则。
    4. 单击"确定",完成日志告警规则创建。

本文档与 ASM 监控中心-访问日志的区别

ASM 用户指南中已有"监控中心-访问日志"章节,本文档与该章节在日志类型、采集对象和功能定位上存在本质区别:

表3 差异表

对比维度

本文档:使用 LTS 采集 ASM 日志

监控中心-访问日志(用户指南已有章节)

日志类型

组件标准输出日志(stdout/stderr),即网格组件自身的运行日志,包括sidecar的AccessLog

业务服务访问日志(AccessLog),即 sidecar 代理记录的服务间通信请求日志,仅包括sidecar的AccessLog,不包括pilot-agent、discovery等容器的标准输出日志

采集对象

网格基础设施组件:istiod、istio-ingressgateway、istio-egressgateway、sidecar(istio-proxy)、istio-operator的标准输出

网格内所有 sidecar 代理产生的 HTTP/gRPC 请求访问记录(请求方法、URL、响应码、延迟等)

日志内容

组件级别运行信息:配置下发结果、证书轮换记录、xDS 协议交互、Envoy 异常、资源限制告警等

请求级别访问记录:客户端信息、目标服务、请求路径、HTTP 响应码、请求耗时、流量标识等(遵循 Envoy Access Log 格式)

采集方式

通过 ICAgent采集采集容器标准输出(/dev/stdout、/dev/stderr),上报到 LTS 日志流

通过 ASM 网格配置将 sidecar AccessLog 上报到指定的 LTS 日志流(需在创建网格或网格扩展中开启)

查看位置

在 LTS 控制台的日志管理页面查看,支持日志检索、日志告警、日志转储等 LTS 全功能

在 ASM 控制台的"监控中心 > 访问日志"页面查看,提供请求分布图、属性过滤和详情导出,也可在 LTS 查看

告警能力

支持基于日志内容的自定义告警规则(如错误级别日志数量超阈值告警),可配置多种通知渠道

以页面展示和查询为主,不提供基于访问日志的自定义告警规则配置能力

使用场景

适用于开发人员和运维人员排查应用服务网格(ASM)相关问题,包括:

  • 基础设施层面:排查网格组件本身的运行异常,如 istiod 配置下发失败、gateway 资源不足、sidecar 注入失败等
  • 业务层面:排查业务服务间的通信问题,如请求失败、响应延迟、服务不可达等

适用于开发人员和运维人员排查业务服务间的通信问题(如请求失败、响应延迟、服务不可达等业务层面的异常)

必要性

建议配置

按需开启

本文档与"监控中心-访问日志"互为补充:访问日志关注业务服务间的通信异常,本文档关注网格基础设施组件自身的运行异常。建议两者结合使用,构建从组件运行到业务通信的全维度日志排查体系。

相关文档