使用日志服务采集数据平面的AccessLog

容器服务ACK集成了日志服务功能,可对服务网格数据平面集群的AccessLog进行采集。本文介绍如何开启日志采集、配置日志服务以及查看采集的日志。

背景信息

部署在数据平面(即加入网格的Kubernetes集群)的Envoy Proxy可以输出所有访问日志,这些日志被称为Envoy Access Log。您可以通过kubectl logs指令查看这些日志。借助阿里云日志服务,不仅可以更便捷地查看日志,还可以对这些日志进行收集、检索或建立Dashboard。

前提条件

已创建ASM实例。具体操作,请参见创建ASM实例

步骤一:为Kubernetes集群安装日志服务组件

已创建Kubernetes集群

  1. 登录容器服务管理控制台

  2. 在控制台左侧导航栏,单击集群

  3. 集群列表页面,单击目标集群名称或者目标集群右侧操作列下的详情

  4. 在集群管理页左侧导航栏中,单击运维管理 > 组件管理

  5. 组件管理页面,搜索logtail-ds,然后在logtail-ds卡片中单击安装

  6. 安装组件 logtail-ds对话框,单击确定

    日志组件logtail-ds的版本需为0.16.24.0及以上。关于升级组件版本的具体操作,请参见管理组件

  7. 添加集群到ASM实例。具体操作,请参见添加集群到ASM实例

未创建Kubernetes集群

  1. 登录容器服务管理控制台

  2. 在控制台左侧导航栏,单击集群

  3. 集群列表页面的右上角,单击创建集群。具体操作,请参见快速创建Kubernetes托管版集群

    组件配置配置向导的日志服务区域,选中使用日志服务,表示在新建的Kubernetes集群中安装日志插件。

    • 使用已有Project:选择一个现有的Project来管理采集的日志。开启日志1

    • 创建新Project:自动创建一个新的Project来管理采集的日志,Project会自动命名为k8s-log-{ClusterID}。ClusterID表示您新建的Kubernetes集群的唯一标识。开启日志2

  4. 配置完成后,单击创建集群

  5. 添加集群到ASM实例。具体操作,请参见添加集群到ASM实例

步骤二:配置日志服务

使用Logtail组件采集Envoy Access Log,需要创建采集配置。

ASM实例版本为1.17.2.35及以上

  1. 登录ASM控制台,在左侧导航栏,选择服务网格 > 网格管理

  2. 网格管理页面,单击目标实例名称,然后在左侧导航栏,选择可观测管理中心 > 日志中心

  3. 日志中心页面,选择数据平面日志 > 网格代理日志或者数据面日志仪表盘 > 网格代理仪表盘页签,输入日志存储时间,单击启用Sidecar日志采集,在确认对话框,单击确定

ASM实例版本为1.17.2.35以下

  1. 登录ASM控制台,在左侧导航栏,选择服务网格 > 网格管理

  2. 网格管理页面,单击目标实例名称,然后在左侧导航栏,选择网格实例 > 基本信息

  3. 基本信息页面,单击功能设置,选中将访问日志采集到阿里云日志服务,然后单击确定

步骤三:查看日志

完成配置后,Envoy Access Log将被采集并存储到日志服务您指定的LogProject和LogStore中。您可以通过以下步骤来查看日志。

  1. 登录ASM控制台,在左侧导航栏,选择服务网格 > 网格管理

  2. 网格管理页面,单击目标实例名称,然后在左侧导航栏,选择集群与工作负载管理 > Kubernetes集群

  3. Kubernetes集群页面的访问日志列,按需单击目标集群对应的详细记录监控中心

    • 详细记录:以更易读的方式展示原始访问日志。访问日志详细记录

    • 监控中心:展示多维度的日志统计数据。访问日志监控中心