帮助文档 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
帮助文档 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 日志服务
  4. 操作指南
  5. 数据采集
  6. Logtail采集
  7. Logtail安装采集快速入门
  8. 采集Docker容器的标准输出

采集Docker容器的标准输出

  • Logtail安装采集快速入门
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

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

概览

在宿主机中安装Docker后,针对您在该环境中部署的业务容器所产生的标准输出(stdout)及标准错误(stderr)日志,您可以使用Logtail进行采集。采集的日志数据将被传输至Logstore中,便于查询和分析。

image

前提条件

  • 已创建Project和Logstore。更多信息,请参见管理Project和管理Logstore。

  • 宿主机已安装Docker且可以持续产生标准输出日志。

    说明

    Logtail只采集增量日志。如果下发Logtail配置后,日志文件无更新,则Logtail不会采集该文件中的日志。更多信息,请参见读取日志。

步骤一:安装Logtail容器并创建机器组

  1. 拉取Logtail镜像

    登录宿主机,根据日志服务Project所在地域,获取对应的${region_id}。替换${region_id}后,使用以下命令拉取Logtail镜像。

    重要
    • 各地域对应的${region_id}请参见开服地域,例如华东 1(杭州)对应的${region_id}为cn-hangzhou。

    #拉取Logtail镜像:
    docker pull registry.${region_id}.aliyuncs.com/log-service/logtail
    #如果您的服务器处于阿里云VPC网络中,请使用如下命令行拉取Logtail镜像:
    docker pull registry-vpc.${region_id}.aliyuncs.com/log-service/logtail
  2. 启动Logtail容器

    1. 参数说明

      参数

      参数说明

      ${region_id}

      根据日志服务Project所在地域,获取对应的${region_id},各地域对应的${region_id}请参见开服地域。网络类型选择请参见选择网络。

      • 示例:若Project位于华东1(杭州),则以阿里云内网访问时${region_id}为cn-hangzhou,公网访问时使用cn-hangzhou-internet。

      ${aliyun_account_id}

      日志服务所在的阿里云账号(主账号)ID。获取方法,请参见获取日志服务所在的阿里云账号(主账号)ID。

      ${user_defined_id}

      设置机器组的用户自定义标识,例如user-defined-docker-1。该标识在Project所在地域内必须唯一。

    2. 根据参数说明,替换命令模板中的3个参数:${region_id}、${aliyun_account_id}和${user_defined_id},然后执行以下命令启动Logtail容器。

      # 启动Logtail容器,替换${region_id},${aliyun_account_id},${user_defined_id}
      docker run -d \
          -v /:/logtail_host:ro \
          -v /var/run/docker.sock:/var/run/docker.sock \
          --env ALIYUN_LOGTAIL_CONFIG=/etc/ilogtail/conf/${region_id}/ilogtail_config.json \
          --env ALIYUN_LOGTAIL_USER_ID=${aliyun_account_id} \
          --env ALIYUN_LOGTAIL_USER_DEFINED_ID=${user_defined_id} \
          registry.${region_id}.aliyuncs.com/log-service/logtail
      重要

      如果您要自定义配置Logtail容器的启动参数,只需保证以下前提条件。

      • 启动时,必须配置3个环境变量ALIYUN_LOGTAIL_CONFIG,ALIYUN_LOGTAIL_USER_ID和ALIYUN_LOGTAIL_USER_DEFINED_ID。

      • 将宿主机上的/var/run目录挂载到Logtail容器的/var/run目录。

      • 将宿主机根目录挂载到Logtail容器的/logtail_host目录。

      • 如果Logtail日志(/usr/local/ilogtail/ilogtail.LOG)中出现The parameter is invalid : uuid=none的错误日志,请在宿主机上创建一个product_uuid文件,在其中输入任意合法UUID(例如169E98C9-ABC0-4A92-B1D2-AA6239C0D261),并把该文件挂载到Logtail容器的/sys/class/dmi/id/product_uuid目录。

    3. 输入docker ps查看容器是否启动成功。image

  3. 创建用户自定义标识机器组

    1. 登录日志服务控制台,在Project列表,单击打开目标Project。

    2. 左侧导航栏中,选择资源 > 机器组。在打开的机器组页面中,选择机器组右侧的机器组 > 创建机器组。image

    3. 在创建机器组页面填写名称,机器组标识选择用户自定义标识,并在用户自定义标识中填入步骤一中参数${user_defined_id}的值,本例为user-defined-docker-1。image

      参数

      说明

      机器组Topic

      (可选)机器组Topic用于区分不同服务器产生的日志数据。更多信息,请参见日志主题。

  4. 检查机器组状态

    在机器组列表中,单击目标机器组。在机器组配置页面,可查看机器组配置信息以及服务器状态。image

    如果心跳状态显示OK,说明配置成功,如果显示FAIL,请等待1分钟后单击刷新重试,若心跳状态仍为FAIL,请检查:

    1. Logtail容器与Project是否同地域。

    2. 宿主机安全组是否放行Logtail出方向流量(默认端口80)。

    处理操作请参见如何排查容器日志采集异常。

步骤二:创建Logtail采集配置

  1. 在日志存储 > 日志库页签中,单击目标Logstore。

  2. 展开Logstore菜单栏,单击Logtail配置,然后单击添加Logtail配置。image

  3. 在快速数据接入页面,单击Docker标准输出-旧版。image

  4. 由于步骤一创建了机器组,此处请单击使用现有机器组。image

  5. 在机器组配置步骤中,选择步骤一中创建的机器组,单击>添加机器组到应用机器组中,并单击下一步。image

  6. 在Logtail配置步骤中,输入配置名称,单击下一步。image

  7. 在查询分析配置步骤中,单击刷新,可预览采集到的日志。若无日志,请确认容器是否持续产生标准输出日志,一般来说,标准输出默认在/var/lib/docker/containers/容器ID/容器ID-json.log中。若确认后仍无预览日志,请查看如何排查容器日志采集异常。image

步骤三: 查看上传结果

重要

Logtail只采集增量日志,如果下发Logtail配置后标准输出无新日志产生,则Logtail不会采集以前的日志。更多信息,请参见读取日志。

image

Docker标准输出的每条日志默认包含如下字段:

字段名

说明

__source__

Logtail容器的IP地址。

__tag__:__hostname__

宿主机的名称。

__tag__:__receive_time__

日志到达服务端的时间。

_time_

数据上传时间,例如2024-02-02T02:18:41.979147844Z。

_source_

输入源类型,stdout或stderr。

_image_name_

镜像名。

_container_name_

容器名。

_container_ip_

业务容器IP地址。

相关文档

  • 查看Logtail运行状态等信息,请参见Logtail容器信息。

  • Docker基本使用,请参见安装Docker。

  • 采集Docker文本日志,请参见采集Docker容器文本日志。

  • 采集宿主机文本日志,请参见采集主机文本日志。默认情况下,宿主机根目录会被挂载到Logtail容器的/logtail_host目录。

  • 日志上传到Logstore后,创建索引请参见创建索引,查询分析请参见查询与分析快速指引。

  • 使用Logtail采集Docker容器日志遇到异常情况时,请参见如何排查容器日志采集异常进行排查。

相关文章

主机文本日志采集(自动安装) 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集群文本日志的流程。 前提条件 已开通日志服务。具体操作,请参见

采集ACK集群标准输出-新版(DaemonSet) 2025-04-22 11:05

本文介绍如何通过DaemonSet方式部署Logtail采集阿里云ACK集群标准输出(新版)的流程。 前提条件 已开通日志服务。具体操作,请参见开通日志服务。 需要2.1及以上Logtai

采集自建集群标准输出-新版(DaemonSet) 2025-04-22 11:05

本文介绍如何通过DaemonSet方式部署Logtail采集自建K8s集群标准输出的流程。 前提条件 已开通日志服务。具体操作,请参见开通日志服务。 需要2.1及以上Logtail组件版本

目录
Copyright © 2025 your company All Rights Reserved. Powered by 博智数字服务平台.
闽ICP备08105208号-1