Docker - 发送 Container 日志到 AWS CloudWatch

关于将 docker 应用程序日志发送到 AWS CloudWatch 的教程。

关于

docker 默认推荐将程序运行的日志都输出到标准输出(STDOUT),同时,docker 支持不同的 log driver 可以将日志发送到不同的日志中心。

这篇文章是关于如何配置 docker 容器并其应用程序日志发送到 AWS CloudWatch。发送成功的日志可以从 AWS 管理控制台进行检索。

测试环境

虚拟机环境选择的是 ubuntu 的 18.04.2 版本。

Welcome to Ubuntu 18.04.2 LTS (GNU/Linux 5.4.0-1088-aws x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Mon Nov  7 08:35:49 UTC 2022

  System load:                    0.7
  Usage of /:                     24.5% of 193.81GB
  Memory usage:                   26%
  Swap usage:                     0%
  Processes:                      124
  Users logged in:                0
  IP address for ens5:            172.31.45.149
  IP address for docker0:         172.17.0.1
  IP address for br-eb2f1162c70e: 172.18.0.1

docker 的版本为 Docker version 20.10.21, build baeda1f

测试 docker 镜像使用的是 docker 官方的 alpine:latest(直接运行输出一句话到 STDOUT 即可)。

如何配置

创建 AWS Credentials

现在我们已经准备好了示例应用程序,我们可以将 docker 日志推送到 AWS CloudWatch。为此,我们需要 AWS 帐户的访问凭据以便我们的日志可在 AWS 进行查看。我们将在 AWS 创建一个具有 CloudWatch 访问权限的一个单独的帐户,并将其与 docker daemon(docker 的守护进程)绑定在一起使用。步骤如下:

  • 创建 CloudWatch 的 IAM policy
  • 使用该 policy 创建 IAM group
  • 创建 IAM user 并将其添加到此 group
创建 IAM policy
  • 从 AWS 控制台进入 IAM 控制台
  • 选择“Policies”,并点击“Create Policy”
  • 在“Create Policy”的窗口选择
    • Service = CloudWatch Logs
    • Actions = CreateLogStream, GetLogRecord, DescribeLogGroups, DescribeLogStreams,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值