【问题标题】:How can I track the time an application has been running on AWS EC2如何跟踪应用程序在 AWS EC2 上运行的时间
【发布时间】:2021-09-19 21:08:09
【问题描述】:

我正在尝试监控各个用户使用我的应用程序的时间,以便相应地计算剩余的订阅积分。

这是在 AWS EC2 实例上运行的 PaaS 服务,我想检查它每 15 分钟运行了多长时间,以便在用户超出限制时取消服务。

我目前使用 python FastAPI 作为 API,后端是使用 ExpressJS 构建的,但我准备尝试任何其他服务来运行它。

任何帮助将不胜感激!

【问题讨论】:

  • 如果您的应用程序在 linux 机器或 docker 容器上运行,那么您可以使用该系统检查您的应用程序的正常运行时间。
  • @GhostOps 这是在生产环境中使用的理想解决方案吗?
  • @mama 它没有在我可以控制的任何机器上运行。就像我说的那样,它是一个 AWS EC2 实例。
  • 我不知道,对不起,我没有尝试过,实际上我什至不会向任何人推荐,我只是给出了我的想法......对不起......
  • 由于它是 AWS EC2 实例而无法控制的说法没有意义。 AWS EC2 实例只是一个 Linux 或 Windows VM。是什么阻止您登录该实例?

标签: python amazon-web-services express


【解决方案1】:

您的要求似乎是知道当前运行的 Amazon EC2 实例已经运行了多长时间

您可以通过为所有实例或特定实例调用DescribeInstances() 来获取此信息。这将返回一个LaunchTime,您可以使用它来计算实例运行了多长时间。

如果您希望实现“时间限制”系统,那么一种流行的方法是:

  • 向实例添加标签,指示应该停止/终止实例的时间
  • 每分钟(或 5 分钟,由您选择)触发一次 AWS Lambda 函数
  • Lambda 函数应调用 DescribeInstances,它还会返回实例的标签
  • Lambda 实例应将当前时间与标签中的时间进行比较。如果过期时间已过,Lambda 函数可以停止/终止实例

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
  • 2018-09-10
  • 1970-01-01
  • 2020-04-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多