在服务器上部署Docker后可以采集日志,Docker的日志分为两种类型:标准输出和文件日志。文件日志是指容器内生成的日志被写入服务器的指定文件目录中,而标准输出则指容器自身的实时输出流。本文介绍使用Logtail采集容器的标准输出到LogStore的操作步骤。
在宿主机中安装Docker后,针对您在该环境中部署的业务容器所产生的标准输出(stdout)及标准错误(stderr)日志,您可以使用Logtail进行采集。采集的日志数据将被传输至LogStore中,便于查询和分析。
已创建Project和LogStore。更多信息,请参见
管理Project
和
管理LogStore
。
宿主机已
安装并使用Docker和Docker Compose
且可以持续产生标准输出日志。
Logtail只采集增量日志。如果下发Logtail配置后,日志文件无更新,则Logtail不会采集该文件中的日志。更多信息,请参见
读取日志
。
拉取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:v2.1.11.0-aliyun
#如果您的服务器处于阿里云VPC网络中,请使用如下命令行拉取Logtail镜像:
docker pull registry-vpc.${region_id}.aliyuncs.com/log-service/logtail:v2.1.11.0-aliyun
启动Logtail容器
根据
日志服务
Project所在地域,获取对应的
${region_id}
,各地域对应的
${region_id}
请参见
开服地域
。网络类型选择请参见
Logtail网络类型,启动参数与配置文件
。
示例:若Project位于华东1(杭州),则以阿里云内网访问时
${region_id}
为
cn-hangzhou
,公网访问时使用
cn-hangzhou-internet
。
根据参数说明,替换命令模板中的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:v2.1.11.0-aliyun
如果您要自定义配置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
目录。
登录
日志服务控制台
,在
Project列表
,单击打开目标Project。
左侧导航栏中,选择
。在打开的
机器组
页面中,选择
机器组
右侧的
。
在创建机器组页面填写
名称
,机器组标识选择
用户自定义标识
,并在
用户自定义标识
中填入步骤一中参数
${user_defined_id}
的值,本例为
user-defined-docker-1
。
检查机器组状态
在
机器组
列表中,单击目标机器组。在
机器组配置
页面,可查看机器组配置信息以及服务器状态。
如果
心跳
状态显示OK,说明配置成功,如果显示
FAIL
,请等待1分钟后单击刷新重试,若心跳状态仍为FAIL,请检查:
Logtail容器与Project是否同地域。
宿主机安全组是否放行Logtail出方向流量(默认端口80)。
处理操作请参见
如何排查容器日志采集异常
。