赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 日志服务
  4. 操作指南
  5. 数据采集
  6. Logtail采集
  7. Logtail安装采集快速入门

Logtail安装采集快速入门

  • Logtail采集
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

Logtail根据采集场景不同操作流程也有差异,本文将介绍在主机场景,K8s集群场景,容器场景下如何使用Logtail采集日志。

主机场景Logtail安装采集指引

采集主机文本日志时,根据主机所属情况,日志服务支持通过一键自动安装Logtail方式和手动安装Logtail方式进行采集。

一键自动安装

满足如下条件时,可在控制台上一键自动安装Logtail,日志服务将借助运维编排服务OOS,在ECS实例中自动安装Logtail,详情请参见主机文本日志采集(自动安装)。

  • 主机类型为ECS。

  • 主机与日志服务Project同属一个账号,且同属一个地域。

手动安装方式

存在如下任一情况时,请在主机上手动安装Logtail,详情请参见主机文本日志采集(手动安装)。

  • 主机类型不是ECS。

  • 主机类型是ECS,但是与日志服务不属于同一个账号。

  • 主机类型是ECS,且与日志服务Project同属一个账号,但不属于同一个地域。

K8s集群场景Logtail安装采集指引

采集容器K8s日志可用于故障排查、性能优化、安全审计、资源利用率分析。日志服务支持通过DaemonSet方式和Sidecar方式采集K8s集群的容器日志。

DaemonSet模式

  • 在DaemonSet模式中,Kubernetes集群确保每个节点(Node)只运行一个Logtail容器,用于采集当前节点内所有容器(Containers)的日志。

  • 当新节点加入集群时,Kubernetes集群会自动在新节点上创建Logtail容器;当节点退出集群时,Kubernetes集群会自动销毁当前节点上的Logtail容器。通过DaemonSet的自动扩缩容机制以及标识型机器组,无需您手动管理Logtail实例。

Sidecar模式

  • 在Sidecar模式中,每个容器组(Pod)运行一个Logtail容器,用于采集当前容器组(Pod)所有容器(Containers)的日志。不同Pod的日志采集相互隔离。

  • 为了采集同一Pod中其他容器的日志文件,需要通过共享存储卷的方式来完成,即将同一份存储卷分别挂载到业务容器和Logtail容器。关于Sidecar方式采集容器日志的更多信息,请参见Sidecar日志采集介绍和Sidecar模式示例。存储卷的更多信息,请参见存储基础知识。

采集方式

场景

优势

劣势

DaemonSet

一般情况下建议使用DaemonSet

运维简单、资源占用少、支持采集容器的标准输出和文本文件、配置方式灵活。

Logtail采集该节点内所有容器的日志,存在一定的性能瓶颈,且各个容器之间的隔离性较弱。

Sidecar

需要每个Pod使用单独Logtail实例采集的情况(ASK集群默认使用sidecar方式部署Logtail)。

为每个需要采集日志的容器创建一个Sidecar容器,多租户隔离性好。

资源消耗较高,配置与维护较复杂,

容器发现

  • Logtail容器采集其他容器的日志,必须发现和确定哪些容器正在运行,这个过程称为容器发现。在容器发现阶段,Logtail容器不与Kubernetes集群的kube-apiserver进行通信,而是直接和节点上的容器运行时守护进程(Container Runtime Daemon)进行通信,从而获取当前节点上的所有容器信息,避免容器发现对集群kube-apiserver产生压力。

  • Logtail支持通过Namespace名称、Pod名称、Pod标签、容器环境变量等条件指定或排除采集相应容器的日志。

容器文件路径映射

在Kubernetes集群中,因为Pod之间资源隔离,Logtail容器无法直接访问其他Pod中的容器的文件。但是,容器内的文件系统都是由宿主机的文件系统挂载形成,通过将宿主机根目录所在的文件系统挂载到Logtail容器,就可以访问宿主机上的任意文件,从而间接采集业务容器文件系统的文件。容器内文件路径与宿主机文件路径之间的关系被称为文件路径映射。

日志文件在当前容器内的路径是/log/app.log,假设映射后的宿主机路径是/var/lib/docker/containers/<container-id>/log/app.log。Logtail默认将宿主机根目录所在的文件系统挂载到自身的/logtail_host目录下,因此Logtail实际采集的文件路径为/logtail_host/var/lib/docker/containers/<container-id>/log/app.log。

注意事项

容器运行时支持

  • 支持引擎:

    • Docker

    • Containerd

  • 存储驱动限制(仅Docker):

    • 只支持Overlay、Overlay2。

    • 其他驱动:若使用非Overlay驱动,需将日志目录通过数据卷挂载为临时目录。

存储卷挂载方式

如果NAS以PVC的方式挂载到数据目录。

  • 禁止使用:DaemonSet部署Logtail。

  • 推荐使用:

    • 采集集群文本日志(Sidecar):每个Pod部署独立Logtail容器

      适用场景:高隔离性需求、多租户环境。

    • 通过业务容器和Logtail容器共享PVC实现日志采集:独立部署Logtail服务。

      适用场景:集中式日志采集、资源优化。

日志文件路径规范

  • 禁止使用软链接:

    • 错误配置:/var/log/app -> /mnt/nas/logs。

    • 正确配置:直接使用物理路径 /mnt/nas/logs。

  • 挂载路径匹配规则:

    如果业务容器的数据目录通过数据卷(Volume)挂载, 采集路径必须≥挂载点路径。

    示例:

    1挂载点:/var/log/service
    2✅ 有效采集路径:/var/log/service 或 /var/log/service/subdir
    3❌ 无效采集路径:/var/log (路径过短)

容器停止时的日志处理

运行时

日志完整性

容器销毁延迟风险

优化建议

Docker

如果在容器停止前,出现因网络延迟、资源占用多等原因导致的采集延时,可能会丢失容器停止前的部分日志。

当容器被停止时,Logtail会立刻释放容器文件句柄,容器可正常退出。

增加日志发送频率(调小flush_interval)。

Containerd

当容器被停止时,Logtail会持续持有容器内文件的句柄(即保持对日志文件的打开状态),直至所有日志文件内容发送完毕。

当出现网络延迟、资源占用多等原因导致的采集延时时,可能会导致业务容器不能及时销毁。

配置max_hold_buffer_size限制内存占用。

Docker容器场景Logtail安装采集指引

在服务器上部署Docker后可以采集日志,Docker的日志分为两种类型:标准输出和文件日志。文件日志是指容器内生成的日志被写入服务器的指定文件目录中,而标准输出则指容器自身的实时输出流。

  • 采集Docker容器文本日志。

  • 采集Docker容器的标准输出。

相关文章

什么是Logtail 2025-04-22 11:05

Logtail是日志服务提供的日志采集Agent,用于采集阿里云ECS、自建IDC或其他云厂商等服务器上的日志。本文介绍Logtail的采集流程、功能、优势、使用限制及配置流程等信息。 Logtail多年来一直承载着阿里巴巴集团重要服务的数据采集。每天采集数百万服务器上的实时数据,日流量数十PB,并

Logtail安装采集快速入门 2025-04-22 11:05

Logtail根据采集场景不同操作流程也有差异,本文将介绍在主机场景,K8s集群场景,容器场景下如何使用Logtail采集日志。 主机场景Logtail安装采集指引 采集主机文本日志时,根据主机所属情况,日志服务支持通过一键自动安装Logtail方式和手动安装Logtail方式进行采集。 一键自动安

主机文本日志采集(自动安装) 2025-04-22 11:05

本文将介绍在主机场景下,当ECS与日志服务的Project属于同一个账号且在同一地域时,日志服务借助运维编排服务OOS,在ECS实例中自动安装Logtail采集文本日志的操作流程。 使用限制 当ECS和日志服务Project同账号不同地域、Project和ECS服务器属于不同账号、其他云或者自建服务

主机文本日志采集(手动安装) 2025-04-22 11:05

本文将介绍在主机场景下手动安装日志服务Logtail采集文本日志的流程,阅读本文将帮助您在主机场景下完成Logtail文本日志的采集。 如果您已经开始采集或在采集中遇到问题,您可以根据遇到的问题场景,参考Logtail常见问题。 前提条件

采集ACK集群文本日志(DaemonSet) 2025-04-22 11:05

日志服务提供DaemonSet与Sidecar两种方式部署Logtail以供采集K8s日志,两种方式的差异请参考K8s集群场景Logtail安装采集指引。本文介绍如何通过DaemonSet方式部署Logtail采集阿里云ACK集群文本日志的流程。 前提条件 已开通日志服务。具体操作,请参见开通日志服

采集自建集群文本日志(DaemonSet) 2025-04-22 11:05

日志服务提供DaemonSet与Sidecar两种方式部署Logtail以供采集K8s日志,两种方式的差异请参考K8s集群场景Logtail安装采集指引。本文介绍如何通过DaemonSet方式部署Logtail采集自建K8s集群文本日志的流程。 前提条件 已开通日志服务。具体操作,请参见

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号