阿里云容器服务 Edge 版集成了日志服务,您可以在创建ACK Edge集群时启用日志服务,快速采集ACK Edge集群的容器日志,包括容器的标准输出以及容器内的文本文件。本文介绍如何使用日志服务采集边缘容器的日志信息。
步骤一:启用日志服务组件Logtail
您可以在创建ACK Edge集群时选中使用日志服务,启用Logtail组件;也可以为已有ACK Edge集群启用Logtail组件。
创建集群时启用Logtail
登录容器服务管理控制台。
在控制台左侧导航栏,单击集群。
在集群列表页面中,单击页面右上角的创建集群。
以下仅介绍开启日志服务的关键步骤。关于创建集群的具体操作,请参见创建边缘托管版集群。
在组件配置配置向导中,选中使用日志服务,表示在新建的集群中安装日志插件。
当选中使用日志服务后,会出现创建项目(Project)的提示。关于日志服务管理日志的组织结构,请参见项目(Project))。有以下两种创建Project方式。
单击使用已有Project,选择一个现有的Project来管理采集的日志。
单击创建新Project,自动创建一个新的Project来管理采集的日志,Project会自动命名为
k8s-log-{ClusterID}
,ClusterID是您新建的ACK Edge集群的唯一标识。
配置完成后,单击右下角创建集群,在弹出的窗口中单击确定,完成创建。
完成创建后,您可在集群列表页面看到开启了Logtail的ACK Edge集群。
为已有集群启用Logtail
登录容器服务管理控制台。
在控制台左侧导航栏,单击集群。
在集群列表页面,单击目标集群名称或者目标集群右侧操作列下的详情。
在集群管理页左侧导航栏中,选择 ,并在日志与监控区域找到日志logtail-ds。
说明在边缘托管集群高于1.18.8-aliyunedge.1的版本中,日志组件统一合并为logtail-ds。
在边缘托管集群小于或等于1.18.8-aliyunedge.1版本中,日志组件包含两个:alibaba-log-controller和logtail-ds-docker。
在logtail-ds组件右侧,单击安装,并在安装组件对话框中单击确定。
如果您已安装旧版本的日志服务组件,可以在相关组件右侧,单击升级。
步骤二:创建应用时配置日志服务
您可以在创建应用的同时配置日志服务,从而对ACK Edge集群的日志进行采集。
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在无状态页面上方的命名空间下拉框中设置命名空间,然后单击页面右上角的使用镜像创建。
在应用基本信息页签,设置应用名称、副本数量和类型,单击下一步,进入容器配置页面。
以下仅介绍日志服务相关的配置。关于其他的应用配置,请参见创建无状态工作负载Deployment。
在日志配置区域,配置日志相关信息。
设置采集配置。
重要日志采集配置完成后,不支持修改。如果需要修改,请通过DaemonSet-CRD方式采集容器日志。
单击+图标创建新的采集配置,每个采集配置由日志库和容器内日志路径两项构成。
日志库:配置Logstore名称,用于指定所采集的日志存储于该Logstore。如果该Logstore不存在,ACK将会自动为您在集群关联的日志服务Project下创建相应的Logstore。
说明新创建的Logstore中的日志默认保存时间为180天。
容器内日志路径:指定希望采集的日志所在的路径,例如使用/usr/local/tomcat/logs/catalina.*.log来采集Tomcat的文本日志。
说明指定为stdout时,表示采集容器的标准输出和标准错误输出。
每一项采集配置都会被自动创建为对应Logstore的一个采集配置,默认采用极简模式(按行)进行采集。如果您需要使用多行模式及更丰富的采集方式,请参见通过DaemonSet-控制台方式采集容器文本日志、通过DaemonSet-控制台方式采集容器标准输出。
设置自定义Tag。
单击+图标创建新的自定义Tag,每一个自定义Tag都是一个键值对,会拼接到所采集到的日志中,您可以使用它来为容器的日志数据进行标记,例如版本号。
当完成所有配置后,可单击右上角的下一步进入后续流程。
后续操作,可参见创建无状态工作负载Deployment。
步骤三:查看日志
本例中查看通过控制台向导创建的tomcat应用的日志。完成配置后,tomcat应用的日志已被采集并存储到日志服务中,您可以在日志服务控制台查看容器日志。操作步骤如下:
安装成功后,进入日志服务控制台。
在进入控制台后,在Project列表区域选择Kubernetes集群对应的Project(默认为k8s-log-{Kubernetes集群ID}),进入日志库列表页签。
在列表中找到相应的Logstore(采集配置中指定),将鼠标悬浮在相应的Logstore名称的右侧,单击图标,并单击查询分析。
本例中,在日志查询页面,您可以查看Tomcat应用的标准输出日志和容器内文本日志,并可以发现自定义tag附加到日志字段中。
更多信息
通过日志服务采集Kubernetes容器日志,您可以在日志服务控制台查看容器服务ACK的全部日志信息。
默认情况下,日志服务会使用极简模式来采集您的数据(按行采集、不解析)。如果您需要更复杂的配置,可以参见以下日志服务文档并前往日志服务控制台进行配置修改。
除了通过控制台配置采集以外,您还可以直接通过CRD配置来对Kubernetes集群进行日志采集,具体可参见通过DaemonSet-CRD方式采集容器日志。
关于如何进行异常排查,请参见Logtail采集日志失败的排查思路。
如需了解如何变更日志保存天数、如何关闭日志采集等信息,请参见Logstore相关问题。