写点什么

宣布推出 Firelens – 管理容器日志的新方法

  • 2019-11-27
  • 本文字数:1923 字

    阅读完需:约 6 分钟

宣布推出 Firelens – 管理容器日志的新方法

今天,负责在 AWS 上构建我们的容器服务的卓越团队推出了一款出色的新工具 AWS FireLens,该工具可让您更轻松地处理日志。


利用 FireLens,客户可以将容器日志定向到存储和分析工具,而无需修改部署脚本、手动安装额外软件或编写其他代码。通过有关 Amazon ECSAWS Fargate 的一些配置更新,您可以选择目标或选择定义筛选条件,以指示 FireLens 将容器日志发送到需要容器日志的位置。


FireLens 可以与 Fluent BitFluentd 搭配使用,这意味着您可以将日志发送到这些开源项目中的任意一个项目所支持的任何目标位置。我们维护着一个网页,您可以在该网页上查看 AWS 解决方案架构师已审核的 AWS 合作伙伴网络产品列表。您可以使用 FireLens 将日志数据或事件发送给任何这些产品。


我发现了解 FireLens 的最简单方法就是使用它,因此在本博文的其余部分,我将演示如何在 Amazon ECS 中将 FireLens 和容器搭配使用,并将容器日志转发到 Amazon CloudWatch


首先,我需要配置任务定义,我从 GitHub 上的 Amazon ECS FireLens 示例中得到一个示例定义。


我将 AWS Identity and Access Management (IAM) 角色替换为我自己的 taskRoleArnexecutionRoleArn IAM 角色,我还添加了端口映射,以便通过浏览器访问 NGINX 容器。


Json


{  "family": "firelens-example-cloudwatch",  "taskRoleArn": "arn:aws:iam::365489000573:role/ecsInstanceRole",  "executionRoleArn": "arn:aws:iam::365489300073:role/ecsTaskExecutionRole",  "containerDefinitions": [    {      "essential": true,      "image": "906394416424.dkr.ecr.us-east-1.amazonaws.com/aws-for-fluent-bit:latest",      "name": "log_router",      "firelensConfiguration": {        "type": "fluentbit"      },      "logConfiguration": {        "logDriver": "awslogs",        "options": {          "awslogs-group": "firelens-container",          "awslogs-region": "us-west-2",          "awslogs-create-group": "true",          "awslogs-stream-prefix": "firelens"        }      },      "memoryReservation": 50     },     {       "essential": true,       "image": "nginx",       "name": "app",       "portMappings": [        {          "containerPort": 80,          "hostPort": 80        }        ],       "logConfiguration": {         "logDriver":"awsfirelens",         "options": {          "Name": "cloudwatch",          "region": "us-west-2",          "log_group_name": "firelens-fluent-bit",          "auto_create_group": "true",          "log_stream_prefix": "from-fluent-bit"        }      },      "memoryReservation": 100    }  ]}
复制代码


我将任务定义保存到本地文件夹,然后使用 AWS 命令行界面 (CLI) 注册了任务定义。


aws ecs register-task-definition --cli-input-json file://cloudwatch_task_definition.json


我已经设置了 ECS 集群,但如果您未设置,您可以参阅 ECS 文档了解如何设置。以下命令使用我新注册的任务定义在我的 ECS 集群上创建服务。


Bash


aws ecs create-service --cluster demo-cluster --service-name demo-service --task-definition firelens-example-cloudwatch --desired-count 1 --launch-type "EC2"
复制代码


登录 Amazon ECS 控制台并深入研究我的服务和任务后,我发现了显示外部链接的容器定义。我让容器将容器端口 80 映射到任务定义内的主机端口 80 后,系统显示了此 IP 地址。



如果我在浏览器中转到该 IP 地址,则我用作我的应用程序的 NGINX 容器将提供其默认页面。NGINX 容器会将其收到的所有请求记录到 Stdout,因此 FireLens 现在会将这些日志转发到 CloudWatch。我在 URL 上添加了一条短消息,以便在查看日志时能够从所有其他请求中快速识别该请求。



然后,我导航到了 Amazon CloudWatch 控制台,并向下钻取了 firelens-fluent-bit 日志组。您还记得吗?这是我在原始任务定义中设置的日志组名称。下面,您会注意到我的日志流中有多个日志,最后一个日志是我刚刚在浏览器中发送的请求。如果您仔细查看日志,就会发现“IT WORKS”已作为 GET 请求的一部分输入。



这就是整个流程,我成功设置了 FireLens,并利用它将我的容器日志转发到 CloudWatch,我当然可以选择其他目标,例如,第三方提供商(如 Datadog)或 AWS 目标(如 Amazon Kinesis Data Firehose)。


如果您想尝试 FireLens,它现已在支持 Amazon ECSAWS Fargate 的所有区域推出。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/announcing-firelens-a-new-way-to-manage-container-logs/


2019-11-27 08:00721

评论

发布
暂无评论
发现更多内容

前端高频手写面试题总结

helloworld1024fd

JavaScript

React高级特性之Render Props

夏天的味道123

React

云图说丨什么是应用身份管理服务OneAccess

华为云开发者联盟

云计算 后端 华为云 12 月 PK 榜

react组件深度解读

xiaofeng

React

假如问:你是怎样优化Vue项目的,该怎么回答

bb_xiaxia1998

Vue

纯函数

达摩

js 纯函数

产品待办列表梳理(PBR)是什么?

ShineScrum

Scrum 敏捷 产品待办列表 Scrum event

vue为何不允许子组件修改父组件prop传值

达摩

Vue 数据流向

字节前端高频vue面试题及答案

bb_xiaxia1998

Vue

浅谈字节码增强技术系列1-字节码增强概览

京东科技开发者

Java、 aop 字节码 字节码增强

kubernetes 1.26发布,这十项新特性值得关注!

BoCloud博云

Kubernetes 云原生

软件测试 | Github 必会高频基础命令与 IDE 的 Git 集成

测试人

GitHub 软件测试 自动化测试 测试开发

圆桌实录 | 为什么不约而同选择了大 Kernel

MegEngineBot

深度学习 开源 MegEngine 大 Kernel

前端vue面试题(持续更新中)

bb_xiaxia1998

Vue

使用全彩LED显示屏时的安全要点

Dylan

LED显示屏 全彩LED显示屏 led显示屏厂家

redux原理是什么

xiaofeng

React

react的jsx语法是怎样解析的

夏天的味道123

React

react-Suspense工作原理分析

夏天的味道123

React

世界杯火爆进行,中科极光真激光电视解锁缤纷观赛季

硬科技星球

PAI-Diffusion模型来了!阿里云机器学习团队带您徜徉中文艺术海洋

阿里云大数据AI技术

机器学习 算法 图文生成 12 月 PK 榜

Vue响应式依赖收集原理分析-vue高级必备

yyds2026

Vue

Webpack配置实战

Geek_02d948

webpack

从零到一手写迷你版Vue

helloworld1024fd

JavaScript

一步步实现React-Hooks核心原理

helloworld1024fd

JavaScript

link和import的区别

达摩

阿里云携手百奥利盟发布云上精准医疗与创新生物药数字化解决方案,助力行业数字化转型

云布道师

阿里云

Vue实战必会的几个技巧

yyds2026

Vue

【敏捷研发系列】前端DevOps流水线实践

京东科技开发者

敏捷 前端 软件开发 运维‘ #DevOps

前端二面常见手写面试题(必备)

helloworld1024fd

JavaScript

react进阶用法完全指南

xiaofeng

React

Vue响应式系统原理并实现一个双向绑定

yyds2026

Vue

宣布推出 Firelens – 管理容器日志的新方法_文化 & 方法_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章