监控 AWS 中的数据库趋势

Monitoring DB trends in AWS

我想知道以下场景的最佳 workflows/tools 是什么。

假设您每天从 N 家餐厅收到数据,例如一家餐厅生产了多少饮料、某种类型的菜肴、总订单数等。所有这些条目都进入 postgres 数据库,最好由以下字段 {ID, datetime, restaurant, type_record, count} 描述。餐厅的数量在 100 家左右,所以我需要一些不需要在每次将餐厅添加到系统时用 CONFIG 文件更新的东西。

现在我想要 运行 一个 daily 脚本:

  1. 对数据库运行基本查询。

  2. 进行一些基本计算。

  3. number of drinks for today for restaurant X 这样的捕获量比其每日平均水平高 15%`。

  4. 如果第 3 步超出了某个阈值,则向 slack 或 pagerduty 推送警报。

问题是:我应该使用哪个 aws 服务执行第 3 步?

我能想到的就是运行这段代码简单lambda function。这个实现基本上就足够了,但我想知道是否有 smarter/better 方法来实现这个。

详情:

查询延迟(第 1 步和第 2 步)不是问题,第 4 步也不是问题。 主要问题是如何在DB上有这样一个尽可能简单(易于维护)的趋势监控系统。

任何 ideas/thoughts?

Lambda 或 EC2 均可。这些是 AWS 提供的 2 种计算资源。

这种类型的监控通常会定期 运行,例如每天中午一次。对于这种类型的监控,Lambda 将是完美的,因为它只能在需要时调用。

您还可以通过计划事件定期启动 Ec2 实例。但是有管理服务器的开销:安装软件和管理 AMI。

两者都行。我建议您尝试使用 Lambda 制作原型。与在传统 EC2 实例上开发相比,Lambda 可以以更低的成本简化应用程序开发和部署。