容器服务中目前提供了日志集成的功能,使用该功能,可以把容器中的日志(文件方式或标准输出方式)自动收集到阿里云的日志服务中。具体使用方式如下:
- 开启日志服务
- 确认已开通访问控制服务和阿里云日志服务(该步是为了确保容器服务有权限去完成在阿里云日志服务中创建project等操作)
- 点击确定,日志服务就开通成功了,可以登录到日志服务的控制台(https://sls.console.aliyun.com/#/) 查看有一个project自动帮你创建完成了,名称是
acslog-project-集群id
- 接下来就是创建我们自己的应用了,要让容器服务可以收集我们应用的日志,关键就在这一步了。容器服务通过解析compose文件的label,获取用户日志输出类型(stdout方式还是文件方式)、日志服务中logstore的名称。所以我们首先需要理解这个label的定义:
aliyun.log_store_{name}: {logpath}
其中name表示日志服务中logstore的名字,实际创建的logstore名字是acslog-${app}-${name},app是容器服务中的应用名。logpath是容器中日志的路径,stdout
是一个特殊的logpath,表示标准输出。
以我的一个WordPress应用为例,因为WordPress镜像默认是把日志输出到stdout,所以compose文件的写法如下
然后创建应用,容器服务就开始收集日志啦
当然,如果你把日志打到一个文件里面,只需要把logpath
写上你日志文件的路径就可以了,其他的都是一样的
- 进到WordPress容器的详细页面,可以看到有一个日志服务,点击详情,就可以跳转到阿里云日志服务的查询页面,看到WordPress输出的日志都收集到啦,真的很方便