容器服务Docker&Kubernetes + 关注
手机版

容器服务中如何收集日志到阿里云日志服务

  1. 云栖社区>
  2. 容器服务Docker&Kubernetes>
  3. 博客>
  4. 正文

容器服务中如何收集日志到阿里云日志服务

heizi 2016-03-25 16:10:50 浏览7243 评论0

摘要: 容器服务中目前提供了日志集成的功能,使用该功能,可以把容器中的日志(文件方式或标准输出方式)自动收集到阿里云的日志服务中。具体使用方式如下: 开启日志服务 确认已开通访问控制服务和阿里云日志服务(该步是为了确保容器服务有权限去完成在阿里云日志服务中创建project等操作) 点击确定,日志服务就开通成功了,可以登录到日志服务的控制台(https://sls.console.aliyun.com/#/) 查看有一个project自动帮你创建完成了,名称是acslog-project-集群id 接下来就是创建我们自己的应用了,要让容器服务可以收集我们应用的日志,关键就在这一步了。

容器服务中目前提供了日志集成的功能,使用该功能,可以把容器中的日志(文件方式或标准输出方式)自动收集到阿里云的日志服务中。具体使用方式如下:

  1. 开启日志服务
    screenshot
  2. 确认已开通访问控制服务和阿里云日志服务(该步是为了确保容器服务有权限去完成在阿里云日志服务中创建project等操作)
    screenshot
  3. 点击确定,日志服务就开通成功了,可以登录到日志服务的控制台(https://sls.console.aliyun.com/#/) 查看有一个project自动帮你创建完成了,名称是acslog-project-集群id
    screenshot
  4. 接下来就是创建我们自己的应用了,要让容器服务可以收集我们应用的日志,关键就在这一步了。容器服务通过解析compose文件的label,获取用户日志输出类型(stdout方式还是文件方式)、日志服务中logstore的名称。所以我们首先需要理解这个label的定义:
    aliyun.log_store_{name}: {logpath}

其中name表示日志服务中logstore的名字,实际创建的logstore名字是acslog-${app}-${name},app是容器服务中的应用名。logpath是容器中日志的路径,stdout是一个特殊的logpath,表示标准输出。
以我的一个WordPress应用为例,因为WordPress镜像默认是把日志输出到stdout,所以compose文件的写法如下
screenshot
然后创建应用,容器服务就开始收集日志啦
当然,如果你把日志打到一个文件里面,只需要把logpath写上你日志文件的路径就可以了,其他的都是一样的

  1. 进到WordPress容器的详细页面,可以看到有一个日志服务,点击详情,就可以跳转到阿里云日志服务的查询页面,看到WordPress输出的日志都收集到啦,真的很方便
    screenshot

screenshot

【云栖快讯】一站式开发者服务,海量学习资源免费学  详情请点击

网友评论