集成日志服务
更新时间:2019-04-23 10:09:07
日志服务(Log Service,简称Log)是针对日志场景的平台化服务。无需开发就可以快速完成日志收集、分发、投递与查询, 适用于日志中转、监控、性能诊断、日志分析、审计等场景。容器服务提供了集成日志服务的能力,可以方便地将应用日志发送到日志服务里。
Note 在集群管理页,只要单击
按量付费。请务必了解您的日志量,以免产生大量非预期的费用。
开启日志服务
- 登录 容器服务管理控制台。
- 在 Swarm 菜单下,单击左侧导航栏中的集群。
- 选择目标集群并单击管理。
- 单击页面右上角的开启日志服务。
- 在弹出的确认对话框中,单击确定。
开通容器服务的日志服务之前,您需要先开通阿里云访问控制(RAM)和阿里云日志服务。如果您还未开通,请单击 去开通开通访问控制(RAM)和阿里云日志服务。
查看 acslogging 服务安装结果
第一次启用日志服务时,容器服务会在您的机器安装日志服务所需的 Agent。您可以在应用列表中找到该应用。安装成功后,您就可以使用日志服务了。
- 登录 容器服务管理控制台。
- 单击左侧导航栏中的应用。
- 选择目标集群并取消勾选隐藏系统应用。
可以看到 acslogging 应用已安装成功。
同时,系统会在阿里云日志服务上创建一个对应的 project,您可以在日志服务管理控制台上进行查看。project 的名字里包含了容器服务集群的 ID。
在编排文件里使用日志服务
大多数的 Docker 应用会直接将日志写到 Stdout,现在您依然可以这样做(对于日志写到文件的场景,可以参考下边的使用文件日志)。在开通日志管理功能后,Stdout 的日志可以自动收集并且发送到阿里云日志服务。
下面的例子创建了一个 WordPress 应用。该应用包含 WordPress 和 MySQL 两个服务,日志会收集到阿里云日志服务。
MySQL 和 WordPress
mysql:
image: mysql
ports:
- 80
labels:
aliyun.scale: "1"
environment:
- MYSQL_ROOT_PASSWORD=password
web:
image: registry.aliyuncs.com/jiangjizhong/wordpress
ports:
- 80
labels:
aliyun.routing.port_80: wordpress-with-log
aliyun.log_store_dbstdout: stdout # 采集stdout日志到dbstdout日志库中
aliyun.log_ttl_dbstdout: 30 # 设置dbstdout日志库日志数据保存30天
links:
- mysql
在上边的编排文件中
aliyun.log_store_dbstdout: stdout
表示将容器的标准写入 logstoreacslog-wordpress-dbstdout
里。这个标签的格式为aliyun.log_store_{name}: {logpath}
。其中:name
为阿里云日志服务 logstore 的名字,实际创建的 logstore 的名字为acslog-${app}-${name}
。app
为应用名称。logpath
为容器中日志的路径。stdout
是一个特殊的logpath
,表示标准输出。
aliyun.log_ttl_<logstore_name>
标签用来设置日志库初始日志保存时间,单位为天,有效值为 1~365 天,不配置则默认初始化为 2 天。Note 这里设置的是初始配置值,如果后期您需要修改日志保存时间,需要到日志服务控制台进行设置。
用上面的编排文件,您可以在容器服务管理控制台上创建一个名为 wordpress
的应用。在应用启动完成后,可以在阿里云日志管理控制台上找到 logstore acslog-wordpress-dbstdout
,其中存储了 wordpress
的日志。
在日志服务管理控制台上查看日志
使用上面的编排文件部署应用之后,您可以在阿里云日志服务控制台查看收集到的日志。登录日志服务管理控制台,找到集群对应的日志服务 project,单击进入。您可以看到编排文件里使用的 logstore
acs-wordpress-dbstdout
。
在
日志索引列中单击
查询查看日志。
使用文件日志
如果您不希望日志直接写到 stdout 中,而需要将日志直接写到文件中,比如/var/log/app.log,可以进行如下配置。
aliyun.log_store_name: /var/log/app.log
其中name
为 logstore 的名字,/var/log/app.log为容器内日志的路径。
如果您需要输出多个日志文件到日志服务,可以进行如下配置将文件放在多个目录下。
aliyun.log_store_s1: /data/logs/access/access.log
aliyun.log_store_s2: /data/logs/error/error.log
aliyun.log_store_s3: /data/logs/exception/*.log #支持通配符
Note 暂不支持多个logstore对应同一个日志目录。上面的例子中有 3 个 logstore s1、s2 和 s3,对应的日志文件必须在 3 个目录下。
开启 timestamp
Docker 在收集日志的时候可以选择是否添加 timestamp。您可以在容器服务中通过aliyun.log.timestamp
标签进行配置。默认会添加 timestamp。
- 添加 timestamp
aliyun.log.timestamp: "true"
- 去除 timestamp
aliyun.log.timestamp: "false"
相关文档
相关产品
-
容器服务(已停止服务)
容器服务(Container Service)提供了高性能可伸缩的容器应用管理服务,支持在一组云服务器上通过 Docker 容器来进行应用生命周期管理。容器服务极大地简化了用户对容器管理集群的搭建工作,无缝整合了阿里云虚拟化、存储、网络和安全能力,打造 Docker 云端最优化的运行环境。容器服务提供了多种应用发布方式和流水线般的持续交付能力,原生支持微服务架构,助力用户无缝上云和跨云管理。
-
容器服务Kubernetes版
容器服务Kubernetes版(Container Service for Kubernetes)提供高性能可伸缩的容器应用管理服务,支持企业级Kubernetes容器化应用的生命周期管理。
-
容器镜像服务
容器镜像服务(Container Registry)提供安全的应用镜像托管能力,精确的镜像安全扫描功能,稳定的国内外镜像构建服务,便捷的镜像授权功能,方便用户进行镜像全生命周期管理。容器镜像服务简化了Registry的搭建运维工作,支持多地域的镜像托管,并联合容器服务等云产品,打造云上使用Docker的一体化体验。
以上内容是否对您有帮助?
在文档使用中是否遇到以下问题
-
内容错误
-
更新不及时
-
链接错误
-
缺少代码/图片示例
-
太简单/步骤待完善
-
其他
-
内容错误
-
更新不及时
-
链接错误
-
缺少代码/图片示例
-
太简单/步骤待完善
-
其他
更多建议
匿名提交感谢您的打分,是否有意见建议想告诉我们?
感谢您的反馈,反馈我们已经收到
文档反馈
鼠标选中内容,快速选择问题
选中存在疑惑的文档内容,即可生成 截图进行反馈,我们会跟进处理。
文档反馈