写点什么

宣布推出 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:00743

评论

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

【web 开发基础】PHP 中的默认(缺省)参数的函数 (33)

迷彩

缺省参数 函数 web开发基础 11月月更 默认参数

什么是CI/CD

穿过生命散发芬芳

CI/CD 11月月更

【活动回顾】Apps Everywhere 上海站圆满结束

亚马逊云科技 (Amazon Web Services)

人工智能 机器学习

第二章 TCP/IP-IOS七层模型

我叫于豆豆吖.

11月月更

防患未然 | AIRIOT城市管廊智能运维解决方案

AIRIOT

低代码 物联网 智慧管廊

Linux 忘记密码解决方法

芯动大师

Linux线程 11月月更 Linux系统

API关键技术-日志审计技术

阿泽🧸

日志审计 11月月更

Kafka SASL 用户认证机制

spacerrobot

kafka 认证授权 SASL SCRAM JAAS

web服务器

我叫于豆豆吖.

11月月更

如何搭建 SaaS 产品的客户服务体系

产品海豚湾

SaaS平台 B端产品 SaaS 产品 11月月更 客户成功

2022-11-23: 分数排名。输出结果和表的sql如下。请写出输出结果的sql语句? +-------+------+ | score | rank | +-------+------+ | 4.

福大大架构师每日一题

数据库 福大大

【web 开发基础】PHP中的伪类型参数的函数 (31)

迷彩

函数 web开发基础 11月月更 伪类型参数函数 伪类型

Jan Ozer:高清直播互动场景下的硬编码如何选型?

声网

人工智能 编码 视频

微信小程序开发在全局配置和资源加载优化在获取接口上的节点信息实战

恒山其若陋兮

前端 11月月更

helm部署mysql

程序员欣宸

Helm 11月月更 kuernetes

【web 开发基础】PHP中的引用参数的函数 (32)

迷彩

web开发基础 11月月更 引用传递 引用参数函数 值传递

自动化测试成熟度模型

老张

DevOps 自动化测试

week6作业 - 拆分电商系统为微服务

in9

【个人成长】《代码的艺术》视频分享合集

非晓为骁

职业规划 开发 软件工程能力 代码的艺术

C++---类型萃取---std::remove_cv/std::remove_cv

桑榆

C++ STL 11月月更

2022年第三季度泛出行行业洞察:泛出行行业正在经历数智化升级的关键时期,用户规模保持平稳增长,行业整体良性发展

易观分析

数智化 泛出行

寒冬之下,年销售增速不降反增,这家国企做对了什么?

用友BIP

架构实战营模块 6 作业

陌生流云

架构实战营

第一章 TCP/IP协议

我叫于豆豆吖.

11月月更

【愚公系列】2022年11月 微信小程序-页面间通信

愚公搬代码

11月月更

软件测试之 Contract Testing

QE_LAB

契约测试 测试技术

Zebec流支付生态,开启多链布局的“两手准备”

股市老人

对于基于鸿蒙系统的应用支持多语言Arkui框架的线性容器类和PieChart的研究实战

恒山其若陋兮

前端 11月月更

基于OpenHarmony的ArkUI框架进阶对于高性能容器类和持久化和原子化的运用

恒山其若陋兮

前端 11月月更

CentOS7安装MySQL-5.7.36

蜗牛也是牛

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