全部产品
云市场

通过 Sidecar 采集 ECI 日志到日志服务

更新时间:2019-12-16 16:27:13

概要

日志服务 支持在 ECI 中通过 Sidecar 模式采集日志,为每个需要日志采集的业务容器创建一个 Sidecar 容器用于日志采集,实现多租户隔离和较高的采集性能。

限制说明

  • Logtail 必须和业务容器共享日志目录。
  • Sidecar 模式不支持采集容器标准输出。

CreateContainerGroup

创建一个以下样式的ECI(占位符变量需替换为实际值),用于练习采集日志到日志服务。

在 Cloud Shell 中打开

以下步骤均已在 Cloud Shell 中集成,可以通过打开上面的链接来快速体验通过 Cloud Shell 操作 ECI。

  1. aliyun eci CreateContainerGroup --RegionId ${RegionId} --SecurityGroupId ${SecurityGroupId} --VSwitchId ${VSwitchId} --ContainerGroupName myapp-pod-log --Volume.1.Name nginx-log --Volume.1.Type EmptyDirVolume --Container.1.Image registry.${RegionId}.aliyuncs.com/log-service/docker-log-test:latest --Container.1.Name nginx-log-demo --Container.1.Cpu 0.25 --Container.1.Memory 0.5 --Container.1.Command.1 /bin/mock_log --Container.1.Arg.1 --log-type nginx --Container.1.Arg.2 --stdout=false --Container.1.Arg.3 --stderr=true --Container.1.Arg.4 --path=/var/log/nginx/access.log --Container.1.Arg.5 --total-count=1000000000 --Container.1.Arg.6 --logs-per-sec=100 --Container.1.VolumeMount.1.Name nginx-log --Container.1.VolumeMount.1.MountPath /var/log/nginx --Container.2.Image registry.${RegionId}.aliyuncs.com/log-service/logtail:latest --Container.2.Name logtail --Container.2.Cpu 0.25 --Container.2.Memory 0.5 --Container.2.VolumeMount.1.Name nginx-log --Container.2.VolumeMount.1.MountPath /var/log/nginx --Container.2.EnvironmentVar.1.Key ALIYUN_LOGTAIL_USER_ID --Container.2.EnvironmentVar.1.Value ${Aliuid} --Container.2.EnvironmentVar.2.Key ALIYUN_LOGTAIL_USER_DEFINED_ID --Container.2.EnvironmentVar.2.Value nginx-log-sidecar --Container.2.EnvironmentVar.3.Key ALIYUN_LOGTAIL_CONFIG --Container.2.EnvironmentVar.3.Value /etc/ilogtail/conf/${RegionId}/ilogtail_config.json

控制台访问检查

访问 ECI控制台,查看业务容器和logtail容器的日志

loglog

另外,我们需要去日志服务控制台进行一系列设置才能将容器日志同步到SLS日志服务中。

loglog

这里机器组采用上述ALIYUN_LOGTAIL_USER_DEFINED_ID的值。

log

指定采集模式

loglog

日志样例如下

  1. 2019-01-08T07:30:56.335647641Z 10.200.98.220 - - "POST /PutData? Category=YunOsAccountOpLog&AccessKeyId=xxx&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=pD12XYLmGxKQ%2Bmkd6x7hAgQ7b1c%3D HTTP/1.1" 0.024 18204 200 37 "-" "aliyun-sdk-java" 137399

预览获取的日志

log

可能的问题

  1. 获取不了容器日志

可尝试日志服务的 诊断工具

参考阅读:Kubernetes-Sidecar 日志采集模式