美文网首页
Docker + AWS CloudWatch 收集容器日志

Docker + AWS CloudWatch 收集容器日志

作者: leeehao | 来源:发表于2018-11-28 15:40 被阅读0次

目标

将容器日志吐到 AWS CloudWatch 里

创建生成 CloudWatch 访问权限

创建一个包含日志权限的策略

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}

将策略分配到具体的用户上,这边建议添加一个用户,新添加的用户仅选择程序访问即可。
在创建用户后会得到 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 保存另用。

Docker 容器日志

Docker 本身支持直接将日志传送到 CloudWatch 内,在 https://docs.docker.com/config/containers/logging/awslogs/ 有详细介绍,下面展示详细操作。

创建必要的文件

mkdir -p /etc/systemd/system/docker.service.d/
vim /etc/systemd/system/docker.service.d/aws-credentials.conf

键入刚刚保存的 AK 和 SK

[Service]
Environment="AWS_ACCESS_KEY_ID=<aws_access_key_id>"
Environment="AWS_SECRET_ACCESS_KEY=<aws_secret_access_key>"

保存后 reload systemctl 并重启 docker

sudo systemctl daemon-reload
sudo service docker restart

测试日志

创建相关的 CloudWatch 日志组 /my/test 并为其创建一个日志流 test-stream

接下来我们测试一下日志输出的情况

docker run --log-driver="awslogs" --log-opt awslogs-region="cn-north-1" --log-opt awslogs-group="/my/test" --log-opt awslogs-stream="test-stream" busybox echo hello

运行命令,可以在 CloudWatch test-stream 中看到 hello 记录已经上去了。

注意的是,使用 --log-driver="awslogs"docker logs 相关命令已不可用,请注意。

相关参考

https://wdullaer.com/blog/2016/02/28/pass-credentials-to-the-awslogs-docker-logging-driver-on-ubuntu/

https://docs.aws.amazon.com/zh_tw/AmazonECS/latest/developerguide/using_cloudwatch_logs.html

https://cloud.tencent.com/developer/section/1091818

https://docs.aws.amazon.com/zh_cn/AmazonECS/latest/developerguide/using_cloudwatch_logs.html

相关文章

  • Docker + AWS CloudWatch 收集容器日志

    目标 将容器日志吐到 AWS CloudWatch 里 创建生成 CloudWatch 访问权限 创建一个包含日志...

  • AWS CloudWatch & Inspector & Tru

    AWS CloudWatch AWS CloudWatch is a suite of monitoring to...

  • AWS 使用 CloudWatch Logs 收集日志

    很多时候,我们希望集中收集各服务器日志统一查看、报警。AWS 给我们提供了这种服务,叫 CloudWatch Lo...

  • Docker容器日志清理

    docker容器导致主机磁盘空间满了 如何清理Docker容器日志? 如何找出docker容器日志文件 容器日志一...

  • Docker容器日志清理

    docker容器导致主机磁盘空间满了 如何清理Docker容器日志? 如何找出docker容器日志文件 容器日志一...

  • aws 日志收集分析测试

    将日志收集到aws的S3存储,通过aws ES实时分析日志、Spark离线日志分析,支持无线扩容。 一、日志收集 ...

  • 收集多个容器日志

    收集docker容器日志 1.生成多个容器 2.修改filebeat配置文件 3.重启filebeat

  • Docker容器日志收集

    日志是 IT 系统的重要组成部分,记录了系统在什么时候发生了什么事情。我们可以根据日志排查系统故障,也可以做统计分...

  • docker容器日志清理

    如何清理Docker容器日志? 如何找出docker容器日志文件容器日志一般存放在/var/lib/docker下...

  • docker 容器日志清理方案

    本文为转载,原文:docker 容器日志清理方案 docker容器日志清理方案 找出容器日志 在linux上,容器...

网友评论

      本文标题:Docker + AWS CloudWatch 收集容器日志

      本文链接:https://www.haomeiwen.com/subject/oitzqqtx.html