AliyunContainerService / log-pilot

Collect logs for docker containers
https://yq.aliyun.com/articles/674327
Apache License 2.0
1.43k stars 402 forks source link

如何才能支持dcos中marathon管理的容器? #69

Closed luofeng3465 closed 6 years ago

luofeng3465 commented 6 years ago

你好,目前我这边使用dcos平台,其容器由marathon托管,在启动fluentd-pilot容器之后,再启动新的需要收集的容器,指定好了aliyun.logs.catalina,aliyun.logs.catalina,aliyun.logs.catalina label之后用marathon启动容器,fluentd-pilot日志会报错,具体如下:

time="2017-11-30T08:09:02Z" level=debug msg="Process container start event: 7a276c222612420c8cce1b8cc241d14f9eadc3cf6cfe5e7e2b0b027b7c29bd26" time="2017-11-30T08:09:02Z" level=debug msg="7a276c222612420c8cce1b8cc241d14f9eadc3cf6cfe5e7e2b0b027b7c29bd26 has not log config, skip"

会检查到没有配置文件,我用docker inspect查看刚才用marathon启动的容器之后发现,marathon自动在label前面加了MARATHON_APPLABEL标签,并且将.替换成了,具体如下:

"MARATHON_APP_LABEL_ALIYUN_LOGS_ACCESS=/var/log/access.log", "MARATHON_APP_LABEL_ALIYUN_LOGS_ACCESS_FORMAT=json", "MARATHON_APP_LABEL_ALIYUN_LOGS_CATALINA=stdout"

我尝试修改源代码中pilot.go文件中的LABEL_SERVICE_LOGS和ENV_SERVICE_LOGS,试图加上MARATHON_APP_LABEL标签,然后重新编译打包镜像之后运行发现还是报同样的错误。

想问下开发者有这种问题的解决办法吗?感谢~

chenquanzhao commented 6 years ago

这个主要还是未成功识别出您的配置,可能是修改的地方不对,可以结合代码在修改下