0

我们有一个在 Amazon EC2 实例中运行的 ASP.NET Core 3.1 应用程序和 Amazon Linux 2(基于 RHEL)。

我们的应用程序会周期性地以 11/SEGV 状态(分段错误)崩溃,因此我们启用了使用环境变量 (COMPlus_DbgEnableMiniDump) 生成的小型转储,如此处所述

由于应用程序的多个实例在 Auto Scaling 组中同时运行,因此很难跟踪崩溃,因此我需要知道是否有任何工具或推荐的方法来记录每个崩溃并将生成的 minidump 文件上传到S3 存储桶,因此我们可以在开发环境中轻松检索和分析它们。

有什么建议吗?

谢谢!

4

1 回答 1

0

很抱歉我迟到了这次谈话。希望您现在已经找到了解决方案。

在这里添加我的想法以帮助其他面临类似挑战的人。

我可以想到几个解决方案:

由于应用程序在 Linux 实例上运行,您可以考虑将故障转储保存到 EFS 实例。向 ASG 注册生命周期挂钩处理程序并引发 SNS 通知,捕获故障转储文件的必要详细信息。

  • 选项 1:将进程部署为响应通知并将转储文件移动到 S3 存储桶的边车。请注意,转储文件将由在 ASG 启动的新实例(或其他实例)上运行的进程移动
  • 选项 2:在专用 EC2 实例中部署负责将转储文件移动到 S3 的进程,并附加与实际服务使用的实例相同的 EFS
  • 选项 3:创建具有访问 EFS 访问点所需权限的 lambda。

请参阅AWS EC2 生命周期挂钩

于 2021-12-28T09:41:07.503 回答