# 使用LTS采集ASM日志
#### 操作场景
应用服务网格（ASM）关键组件（如 istiod、istio-ingressgateway、istio-egressgateway、sidecar、istio-operator）默认以标准输出方式打印日志，日志无法持久化存储。当 Pod 重启或被驱逐时，日志将丢失，导致无法进行事后故障定位。
通过本章节的操作，您可以在云日志服务（LTS）中为 ASM 关键组件配置日志采集，实现日志的持久化存储，便于故障定位和定界。同时，您还可以配置日志告警规则，当日志中出现错误信息时及时收到通知。
#### 约束与限制
- 本文档描述的是对 ASM 网格基础设施组件（控制面和数据面组件）的标准输出日志采集，与 ASM 控制台内置的"监控中心-访问日志"功能定位不同，具体区别请参见[与 ASM 监控中心-访问日志的区别]。
 
#### 前提条件
- 已创建 ASM 网格，且网格状态为"运行中"。
- 已开通 LTS 服务。
- 已获取 kubectl 命令行工具，且已配置集群访问权限。
 
#### 操作步骤
参考[云容器引擎CCE应用日志接入LTS](https://support.huaweicloud.com/usermanual-lts/lts_04_0511.html)指导配置参数。
1. 为 ASM 各关键组件分别创建日志流，便于按组件维度查询和过滤日志。 
   1. 登录[云日志服务控制台](https://console.huaweicloud.com/lts/)。
   
   2. 进入"日志管理"页面，单击"创建日志组"。
   
   3. 输入日志组名称（如"ASM-logs"），设置日志存储周期（建议不少于 7 天），单击"确定"。
   
   4. 单击日志组名称对应的![](https://support.huaweicloud.com/usermanual-asm/zh-cn_image_0000002694692432.png)，单击"创建日志流"，在创建日志流页面，详情请参见[创建日志流](https://support.huaweicloud.com/usermanual-lts/lts_04_0004.html#section1)。
   
   5. 分别为各关键组件创建日志流。
      表1创建日志流 
      | 日志流名称              | 说明                                                               |
      |:---|:---|
      | istiod               | 控制面组件标准输出日志，包含配置下发、服务发现和证书管理等操作记录。                                 |
      | istio-ingressgateway | 入口网关组件标准输出日志，包含外部请求接入和转发记录。                                       |
      | istio-egressgateway | 出口网关组件标准输出日志，包含网格内服务访问外部网络的记录。                                   |
      | 服务名A-sidecar        | 服务A的Sidecar 代理标准输出日志，包含流量转发和监控数据采集记录。                              |
      | istio-operator     | 控制面组件operator标准输出日志，包含更新IstioOperator CR资源等操作记录。仅1.18及以下版本涉及该组件。 |
         
      
   
   
   
   
2. 日志流创建完成后，您需要在 AOM 接入中心为每个关键组件配置日志采集规则。 
   1. 登录[云日志服务控制台](https://console.huaweicloud.com/lts/)。
   
   2. 在左侧导航栏中，选择"日志接入 \> 接入中心"，在类型下方选择"运行环境"或"云服务"，鼠标悬浮在CCE卡片上，单击"接入日志（LTS）"进入配置页面。
   
   3. 选择"采集到自定义日志流"，执行如下操作步骤：
      1. 单击"CCE集群"后的目标框，在下拉列表中选择具体的集群。
      
      2. 单击"所属日志组"后的目标框，在下拉列表中选择具体的日志组，若没有所需的日志组，单击"所属日志组"目标框后的"新建"，在弹出的创建日志组页面创建新的日志组。
      
      3. 单击"所属日志流"后的目标框，在下拉列表中选择具体的日志流，若没有所需的日志流，单击"所属日志流"目标框后的"新建"，在弹出的创建日志流页面创建新的日志流。
      
      4. 单击"下一步：检查依赖项"。
       
   
   4. 单击自动修复。 ![](https://support.huaweicloud.com/usermanual-asm/zh-cn_image_0000002711270646.png)
      
      
   
   5. 选择主机组。 ![](https://support.huaweicloud.com/usermanual-asm/zh-cn_image_0000002711251142.png)
      
      
   
   6. 输入采集配置名称，K8S Pod正则匹配，下一步。 ![](https://support.huaweicloud.com/usermanual-asm/zh-cn_image_0000002698478206.png)
      
      各关键组件的具体配置参数如下表所示。
      表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 |
         
      ![](https://support.huaweicloud.com/usermanual-asm/public_sys-resources/note_3.0-zh-cn.png)
      - "采集配置名称"为自定义名称，建议按"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. 登录 [云日志服务控制台](https://console.huaweicloud.com/lts/)。
   
   2. 选择步骤一创建的日志组和日志流（如"ASM-logs" \> "istiod"）。
   
   3. 查看是否能看到对应组件的日志记录。如果能看到日志内容，说明日志采集配置成功。
   
   4. 如果日志流中没有日志，请确认对应组件有实际运行日志输出。可以通过在集群中执行 kubectl logs -n istio-system \<pod_name\> 命令查看组件标准输出日志。
   
   
   
   
4. （可选）配置日志告警规则，日志采集配置完成后，您可以在 LTS 中配置日志告警规则，当日志中出现错误信息时及时收到通知。 
   1. 登录[云日志服务控制台](https://console.huaweicloud.com/lts/)。
   
   2. 在左侧导航栏选择"日志告警 \> 告警规则"。
   
   3. 单击"创建"，为关键组件日志配置告警。详情请参见[配置日志告警规则](https://support.huaweicloud.com/usermanual-lts/lts_04_0062.html#section1)。
   
   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 注入失败等  - **业务层面**：排查业务服务间的通信问题，如请求失败、响应延迟、服务不可达等   | 适用于开发人员和运维人员排查业务服务间的通信问题（如请求失败、响应延迟、服务不可达等业务层面的异常）                                                   |
| 必要性        | 建议配置                                                                                                                                                                                                                                                                                                            | 按需开启                                                                                                  |
   
本文档与"监控中心-访问日志"互为补充：访问日志关注业务服务间的通信异常，本文档关注网格基础设施组件自身的运行异常。建议两者结合使用，构建从组件运行到业务通信的全维度日志排查体系。
#### 相关文档
- [网格扩展](https://support.huaweicloud.com/usermanual-asm/asm_01_0123.html)
- [访问日志（监控中心）](https://support.huaweicloud.com/usermanual-asm/asm_01_0126.html)

- [购买网格](https://support.huaweicloud.com/usermanual-asm/asm_01_0020.html)
- [云日志服务 LTS](https://support.huaweicloud.com/lts/index.html)
 
