使用 Logz.io 和 Kinesis Firehose 无需一行代码即可监控 亚马逊云科技 工作负载

可观测性数据可以近乎实时地深入了解 亚马逊云科技 工作负载的运行状况和性能,因此工程师可以在对客户产生广泛影响之前快速解决生产问题并进行故障排除。

随着 亚马逊云科技 工作负载的增长,可观测性数据呈爆炸式增长,这需要灵活的大数据解决方案来处理大量不可预测的可观测性数据的吞吐量。

解决方案概述

一种选择是 亚马逊 Kinesis Dat a Firehose,这是一项流行的服务,用于流式传输大量 亚马逊云科技 数据进行存储和分析。通过从 亚马逊 CloudWatch 提取数据 ,亚马逊 Kinesis Dat a Firehose 可以向可观测性解决方案提供数据。

这些可观测性解决方案包括Logz.io,它现在可以从亚马逊 Kinesis Data Firehose 中提取指标数据,并可以更轻松地将指标从您的 亚马逊云科技 账户获取到 Logz.io 账户,用于分析、警报以及与日志和跟踪的关联。

只需点击几下并进行几次配置,我们就会看到如何开始流式传输指标数据(以及不久的日志数据!)到 Logz.io 进行存储和分析。

先决条件

  • Logz.io 账户 — 在这里创建免费试用版
  • Logz.io 运送代币 — 在此处了解指标代币。 你需要成为 Logz.io 管理员。
  • 使用管理 HTTP 端点的相应权限访问亚马逊 CloudWatch 和亚马逊 Kinesis Data Firehose。
  • 创建 亚马逊 Simple Storage Service (Amazon S3) 存储桶的适当权限

使用亚马逊 Kinesis Data Firehose 将亚马逊 CloudWatch 指标数据发送到 Logz.io

Amazon Kinesis Data Firehose 是一项服务,用于从大型分布式来源(例如日志或点击流)提取、处理数据并将其加载到多个用户中以进行存储和实时分析。截至目前,Kinesis Data Firehose 支持 50 多个来源和目的地。 这种集成无需一行代码即可在几分钟内完成设置,并且可以使用 Amazon CloudWatch、Amazon Kinesis Data Firehose 和 Logz.io 对由 亚马逊云科技 服务生成的可观测性数据进行近乎实时的分析。

配置好集成后,Logz.io 客户可以打开基础架构监控产品,查看数据进入并填充仪表板。要了解使用 Logz.io 获得的一些数据分析和关联, 请查看这个 简短的演示。

让我们开始一个设置集成的分步教程。

  • 首先前往亚马逊 Kinesis Data Firehose,然后使用 Data Firehose 创建交付流。

Kinesis Firehose Console

  • 接下来,选择源和目的地。选择 “ 直接放置 ” 作为来源,选择 Logz.io 作为目标。
  • 接下来,配置目标设置。为 HTTP 端点命名,其中应包含 logz.io。
  • 从下拉列表中选择要使用的相应端点。

如果你要向欧洲地区发送数据,请将其设置为 Logz.io Metrics EU。 或者你可以通过选择 Log z.io Metrics US 来使用 us-east-1 目的地。

  • 接下来,添加您的 Logz.io 运送代币。你可以通过前往 Logz.io 中的 “设置” 并选择 “管理令牌” 来找到此信息,这需要 Logz.io 管理员才能访问。这可确保您的账户仅从定义的来源(例如,这个 Amazon Kinesis Data Firehose 交付流)中提取数据。

Kinesis Stream config

将 “ 内容编码 ” 设置为 “ 禁用 ” 并设置所需的重试时长。

您也可以根据自己的喜好配置缓冲区提示。

  • 接下来,确定您的备份设置,以防出现问题。在大多数情况下,只需要备份失败的数据。只需选择一个 Amazon S3 存储桶,或者如果数据无法存入 Logz.io,则创建一个新的存储桶来存储数据。然后,选择 创建交付流

现在是时候将亚马逊 CloudWatch 连接到我们的亚马逊 Kinesis Data Firehose 交付流了。

  • 导航到 Amazon CloudWatch,然后在 “指标” 菜单中选择 “直播”。选择 创建指标流
  • 接下来,您可以选择将所有亚马逊 CloudWatch 指标发送到 Logz.io,也可以选择仅发送来自指定命名空间的指标。

在本例中,我们选择了 亚马逊弹性计算云 (亚马逊 EC2)、亚马逊 关系数据库服务 ( 亚马逊 RDS)、 亚马逊云科技 L am bda 和 弹性负载 平衡 (ELB)。

  • 在 “配置” 下,选择 “选择账户拥有的现有 Firehose” 选项,然后选择刚才配置的 Amazon Kinesis Data Firehose。

Metric Streams Config

如果您愿意,可以在 “添加其他统计信息” 框中选择其他统计信息,该框以百分位数的形式提供了有用的指标,可供监控,例如延迟指标(即哪些服务的平均延迟最高)。这可能会增加您的成本。

  • 最后,为您的指标流命名,然后点击 创建指标流

就是这样!我们无需编写任何代码,而是配置了与 亚马逊云科技 和 Logz.io 的集成,通过收集 Amazon CloudWatch 数据,实现快速轻松的基础设施监控。

您的指标将在开箱即用的 Logz.io 中存储 18 个月,无需任何管理费用。

您也可以开始构建控制面板和警报以开始监控,例如下面的 Amazon EC2 监控控制面板。

ec2 monitoring dashboard Logz.io

结论

这篇文章演示了如何配置与 亚马逊云科技 和 Logz.io 的集成,以便通过 Amazon CloudWatch 进行高效的基础设施监控。

要了解有关在 Logz.io 中构建指标仪表板的更多信息,您可以观看此视频 。

目前,一些用户可能会发现他们发送的数据超出了他们的实际需求,这可能会增加成本。在此集成的未来版本中,将更容易缩小指标范围以降低成本。

想自己尝试一下吗? 立即创建 Logz.io 账户 ,导航到我们的基础设施监控产品,然后开始将指标数据流式传输到 Logz.io 以开始监控。


作者简介

Amos Etzion — Logz.io 产品经理

查理·克莱因 — Logz.io 产品营销经理

Mark Kriaf — 亚马逊云科技 合作伙伴解决方案架构师


*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。