详情页标题前

阿里云日志服务SLS采集标准Docker容器日志-云淘科技

详情页1

本文介绍如何部署Logtail容器以及创建Logtail配置,用于采集标准Docker容器日志(文本日志和标准输出)。

前提条件

  • 已创建Project和Logstore。更多信息,请参见创建Project和创建Logstore。
  • 目标容器持续产生日志。重要 Logtail只采集增量日志。如果下发Logtail配置后,日志文件无更新,则Logtail不会采集该文件中的日志。更多信息,请参见读取文件。

步骤一:部署Logtail容器

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

    您需要根据实际情况替换registry.cn-hangzhou.aliyuncs.com,地域信息请参见Logtail安装参数。说明 如果您的服务器处于阿里云VPC网络中,需将registry修改为registry-vpc。

  2. 启动Logtail容器。重要 请在配置参数前执行以下任意一种配置,否则删除其他container时可能出现错误container text file busy
    • Centos 7.4及以上版本(除Centos 8.0以外),需设置fs.may_detach_mounts=1。更多信息,请参见Bug 1468249、Bug 1441737和issue 34538。
    • 为Logtail授予privileged权限,即在启动参数中添加--privileged。更多信息,请参见docker run命令。

    根据实际情况替换模板中的3个参数${your_region_name}${your_aliyun_user_id}${your_machine_group_user_defined_id}

    docker run -d -v /:/logtail_host:ro -v /var/run:/var/run --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
    参数 参数说明
    ${your_region_name} 请根据日志服务Project所在地域及网络类型填写。其中,地域信息请参见Logtail安装参数,网络类型选择请参见选择网络。

    • 如果为公网,格式为region-internet。例如华东 1(杭州)为cn-hangzhou-internet。
    • 如果为阿里云内网,格式为region。例如华东 1(杭州)为cn-hangzhou。
    ${your_aliyun_user_id} 您的日志服务所在的阿里云账号(主账号)ID。获取方法,请参见获取日志服务所在的阿里云账号(主账号)ID。
    ${your_machine_group_user_defined_id} 设置机器组的用户自定义标识,例如log-docker-demo。重要

    • 请确保该标识在您的Project所在地域内唯一。
    • 在步骤二中创建机器组时,您需要在用户自定义标识中输入此处设置的用户自定义标识。

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

    • 启动时,必须配置3个环境变量ALIYUN_LOGTAIL_USER_DEFINED_IDALIYUN_LOGTAIL_USER_IDALIYUN_LOGTAIL_CONFIG
    • 将宿主机上的/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目录。

步骤二:创建Logtail配置

请根据您的需求在日志服务控制台上创建Logtail配置。

  • 如果您需要采集Docker文本日志,可以在接入数据区域的自建开源/商业软件页签下,单击Docker文件-容器,进入采集配置流程,其操作步骤与采集Kubernetes文本日志类似。具体操作,请参见通过DaemonSet-控制台方式采集文本文件。说明
    • 采集Docker文本日志时,您也需要选择合适的采集模式(例如极简模式、极简模式-多行、完整正则模式、JSON模式、分隔符模式、Nginx模式等),Logtail会根据您所选择的采集模式解析日志。例如您要采集多行日志,可选择极简模式-多行或完整正则模式;您要采集JSON日志,可选择JSON模式。各个采集模式的详细说明,请参见采集模式。
    • 当固定的采集模式无法满足日志解析需求时,您可以在Logtail配置中打开启用插件处理开关,添加Logtail插件解析日志。例如添加处理插件提取字段、提取日志时间、脱敏数据、过滤日志等。更多信息,请参见Logtail插件。
  • 如果您需要采集Docker标准输出,可以在接入数据区域的自建开源/商业软件页签下,单击Docker标准输出-容器,进入采集配置流程,其操作步骤与采集Kubernetes标准输出类似。具体操作,请参见通过DaemonSet-控制台方式采集标准输出。
  • 如果您需要采集宿主机文本日志,可以在接入数据区域的自建开源/商业软件页签下,选择文本日志相关的数据源,例如正则-文本日志。采集宿主机文本日志的操作步骤与采集服务器文本日志相同。具体操作,请参见采集文本日志。重要 默认情况下,宿主机根目录会被挂载到Logtail容器的/logtail_host目录。在Logtail配置中,设置日志路径时,您需要加上此前缀。例如需要采集宿主机上/home/logs/app_log/目录下的日志,您需要设置日志路径为/logtail_host/home/logs/app_log/。

其中,在创建机器组时,需选择机器组标识为用户自定义标识,并且在用户自定义标识文本框中输入步骤一:部署Logtail容器时设置的ALIYUN_LOGTAIL_USER_DEFINED_ID阿里云日志服务SLS采集标准Docker容器日志-云淘科技

默认字段

  • Docker标准输出 每条日志默认包含的字段如下所示。
    字段名说明
    _time_数据上传时间,例如2018-02-02T02:18:41.979147844Z
    _source_输入源类型,stdout或stderr
    _image_name_镜像名
    _container_name_容器名
    _container_ip_容器IP地址
  • Docker文件 每条日志默认包含的字段如下所示。
    字段名说明
    _image_name_镜像名
    _container_name_容器名
    _container_ip_容器IP地址

其他操作

  • 查看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。示例如下:
    [sudo@iZb****exh2Z 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

    Logtail容器中的标准输出并不具备参考意义,请忽略以下标准输出内容。

    
    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。

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

问题排查

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

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/162275.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云日志服务SLS告警管理概述-云淘科技

    告警管理是日志服务告警子系统,负责管理告警降噪和告警事务。本视频介绍告警管理所涉及的功能。 内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家阿里云企业补贴进行中: 马上申请腾讯云限时活动1折起,即将结束: 马上收藏同尘科技为腾讯云授权服务中心。 购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

    阿里云日志服务SLS 2023年12月10日
  • 阿里云容器服务ACK阿里云容器服务Kubernetes版服务条款-云淘科技

    详细信息,请参见阿里云容器服务Kubernetes版服务条款。 内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家阿里云企业补贴进行中: 马上申请腾讯云限时活动1折起,即将结束: 马上收藏同尘科技为腾讯云授权服务中心。 购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

    阿里云容器服务 2023年12月10日
  • 阿里云日志服务SLS消费-搭建监控系统-云淘科技

    日志服务是阿里云一个重要的基础设施,支撑着阿里云所有集群日志数据的收集和分发。众多应用比如OTS、ODPS、CNZZ等利用日志服务logtail收集日志数据,利用API消费数据,导入下游实时统计系统或者离线系统做分析统计。作为一个基础设施,日志服务具备: 可靠性:经过多年阿里集团内部用户的检验,经历多年双十一考验,保证数据的可靠、不丢失。 可扩展性:数据流量…

    2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云日志服务SLS数据采集常见问题-云淘科技

    本文列举日志服务数据采集常见问题。 Logtail基本问题 Logtail采集日志失败的排查思路 如何使用Logtail自动诊断工具 Logtail机器组无心跳排查思路 ECS经典网络切换为VPC后,如何更新Logtail配置 Logtail服务的app_info.json文件中IP地址为空导致机器组心跳检测失败 如何采集企业内网服务器日志 如何排查容器日志…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云日志服务SLS如何精确查询日志?-云淘科技

    当您需要精确查询包含多个关键字的日志时,您可以使用like语法或短语查询。 日志样例 body_bytes_sent:1061 http_user_agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0…

    阿里云日志服务SLS 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。