Logtail支持采集标准Docker日志,并附加容器的相关元数据信息一起上传到日志服务。

配置流程

图 1. 配置流程


  1. 部署Logtail容器。
  2. 配置Logtail机器组。

    日志服务控制台创建自定义标识机器组,后续该容器集群伸缩无需额外运维。

  3. 创建服务端采集配置。

    在日志服务控制台创建采集配置,所有采集均为服务端配置,无需本地配置。

步骤一 部署Logtail容器

  1. 拉取Logtail镜像。
    docker pull registry.cn-hangzhou.aliyuncs.com/log-service/logtail
  2. 启动Logtail容器。

    替换启动模板中的3个参数:${your_region_name}${your_aliyun_user_id}${your_machine_group_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/${your_region_name}/ilogtail_config.json 
    --env ALIYUN_LOGTAIL_USER_ID=${your_aliyun_user_id} --env
     ALIYUN_LOGTAIL_USER_DEFINED_ID=${your_machine_group_user_defined_id} registry.cn-hangzhou.aliyuncs.com/log-service/logtail
    说明
    请在配置参数前执行以下任意一种配置,否则删除其他container时可能出现错误container text file busy
    参数 参数说明
    ${your_region_name} region名,请替换为您创建的日志服务project所在Region。Region名称请从Linux列表中选择。
    说明
    region名参数建议直接从列表中拷贝。
    ${your_aliyun_user_id} 用户标识,请替换为您的阿里云主账号用户ID。主账号用户ID为字符串形式,如何查看ID请参考非本人ECS(或线下机器)中的2.1节。
    ${your_machine_group_user_defined_id} 您集群的机器组自定义标识。如您尚未开启自定义标识,请参考机器组-标识的步骤一,开启userdefined-id。
    docker run -d -v /:/logtail_host:ro -v /var/run/docker.sock:/var/run/docker.sock 
    --env ALIYUN_LOGTAIL_CONFIG=/etc/ilogtail/conf/cn_hangzhou/ilogtail_config.json --env
     ALIYUN_LOGTAIL_USER_ID=1654218******--env ALIYUN_LOGTAIL_USER_DEFINED_ID=log-docker-demo registry.cn-hangzhou.aliyuncs.com/log-service/logtail
说明

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

  1. 启动时,必须具备3个环境变量:ALIYUN_LOGTAIL_USER_DEFINED_IDALIYUN_LOGTAIL_USER_IDALIYUN_LOGTAIL_CONFIG
  2. 必须将Docker的Domain Socket挂载到/var/run/docker.sock
  3. 如果您需要采集其他容器或宿主机文件,需要将根目录挂载到Logtail容器的/logtail_host目录。
  4. 如果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路径上。

步骤2 配置机器组

  1. 开通日志服务并创建Project、Logstore,详细步骤请参考准备流程
  2. 在日志服务控制台的机器组列表页面单击创建机器组
  3. 选择用户自定义标识,将您上一步配置的 ALIYUN_LOGTAIL_USER_DEFINED_ID填入用户自定义标识内容框中。
    图 2. 配置机器组


配置完成一分钟后,在机器组列表页面单击右侧的查看状态按钮,即可看到已经部署Logtail容器的心跳状态。具体参见管理机器组中的查看状态部分。

步骤3 创建采集配置

请根据您的需求在控制台创建Logtail采集配置,采集配置步骤请参考:

其他操作

  • 查看Logtail容器运行状态

    您可以执行命令docker exec ${logtail_container_id} /etc/init.d/ilogtaild status查看Logtail运行状态。

  • 查看Logtail的版本号信息、IP、启动时间等

    您可以执行命令docker exec ${logtail_container_id} cat /usr/local/ilogtail/app_info.json查看Logtail相关信息。

  • 查看Logtail的运行日志

    Logtail运行日志保存在/usr/local/ilogtail/目录下,文件名为ilogtail.LOG,轮转文件会压缩存储为ilogtail.LOG.x.gz

    示例如下:
    [root@iZbp17enxc2us3624wexh2Z ilogtail]# docker exec a287de895e40 tail -n 5 /usr/local/ilogtail/ilogtail.LOG
    [2018-02-06 08:13:35.721864]    [INFO]    [8]    [build/release64/sls/ilogtail/LogtailPlugin.cpp:104]    logtail plugin Resume:start
    [2018-02-06 08:13:35.722135]    [INFO]    [8]    [build/release64/sls/ilogtail/LogtailPlugin.cpp:106]    logtail plugin Resume:success
    [2018-02-06 08:13:35.722149]    [INFO]    [8]    [build/release64/sls/ilogtail/EventDispatcher.cpp:369]    start add existed check point events, size:0
    [2018-02-06 08:13:35.722155]    [INFO]    [8]    [build/release64/sls/ilogtail/EventDispatcher.cpp:511]    add existed check point events, size:0    cache size:0    event size:0    success count:0
    [2018-02-06 08:13:39.725417]    [INFO]    [8]    [build/release64/sls/ilogtail/ConfigManager.cpp:3776]    check container path update flag:0    size:1
    容器stdout并不具备参考意义,请忽略以下stdout输出:
    
    start umount useless mount points, /shm$|/merged$|/mqueue$
    umount: /logtail_host/var/lib/docker/overlay2/3fd0043af174cb0273c3c7869500fbe2bdb95d13b1e110172ef57fe840c82155/merged: must be superuser to unmount
    umount: /logtail_host/var/lib/docker/overlay2/d5b10aa19399992755de1f85d25009528daa749c1bf8c16edff44beab6e69718/merged: must be superuser to unmount
    umount: /logtail_host/var/lib/docker/overlay2/5c3125daddacedec29df72ad0c52fac800cd56c6e880dc4e8a640b1e16c22dbe/merged: must be superuser to unmount
    
    
    
    xargs: umount: exited with status 255; aborting
    umount done
    start logtail
    ilogtail is running
    logtail status:
    ilogtail is running
  • 重启Logtail

    请参考以下示例重启Logtail。

    [root@iZbp17enxc2us3624wexh2Z ilogtail]# docker exec a287de895e40 /etc/init.d/ilogtaild stop
    kill process Name: ilogtail pid: 7
    kill process Name: ilogtail pid: 8
    stop success
    [root@iZbp17enxc2us3624wexh2Z ilogtail]# docker exec a287de895e40 /etc/init.d/ilogtaild start
    ilogtail is running