- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
也许我以错误的方式解决这个问题,或者没有以正确的方式询问 Google。因此,如果这是重复的,我深表歉意。我想快速/高效地解决我的 java webapp 中的客户端/用户错误。
也就是说,我们可以通过执行 e.printstacktrace 轻松地在本地计算机上查看我们的错误所在。我想知道在 EC2/Elastic Beanstalk 实例上执行此操作的最佳方法。如果客户遇到错误,我希望他们能够通过电子邮件询问“票号”或“这个日期大约这个时间的错误”发生了什么。我的想法是,当发生异常时,在我的数据库中记录堆栈跟踪以及用户名并将 db.uniqueKey 返回给用户,这样他们就可以通过电子邮件向我查询该唯一 key /ID 号。
我不知道将堆栈跟踪的子字符串记录到数据库是否是个好主意(让所有这些数据库连接打开/关闭以记录堆栈跟踪)。
当我查看这个主题时,我得到了很多关于 AWS CloudWatch 的信息,但这看起来更像是一个记录我的环境和服务器中发生的一切的工具。这似乎是一个永远滚动日志文件的秘诀。
使用用户名将 stacktrace.substring 记录到数据库是个好主意吗?是否有更好的方式及时向我的用户反馈可能发生的情况?
最佳答案
您可以对 CloudWatch Logs 进行 API 调用以发送单个日志消息,而不是将整个 Tomcat 日志文件发送到 CloudWatch。您也可以在 JSON format 中发送日志这样您就可以包含元数据,例如您的用户 ID、唯一 key 等。请参阅 AWSLogsClient SDK 中的类。
请注意,还有第三方服务,如 Loggly和 LogEntries它们真的很擅长这类事情,而且在我看来,它们比目前的 CloudWatch Logs 更加用户友好。如果您不想将整个日志文件流式传输给它们,这些服务还提供 API 以从 Java 发送单独的日志消息。
我建议使用像我列出的那些专为日志记录而设计的服务,而不是数据库。这些服务可以很好地扩展,而无需担心打开的数据库连接数等问题。这些服务还将根据日志消息的内容处理发送警报,并提供一个漂亮的 Web 界面来查看日志消息。
如果您决定采用数据库方法,我建议您查看 DynamoDB为此,而不是像 MySQL 或 PostgreSQL 这样的关系数据库。 DynamoDB 可以轻松扩展,将文档轻松存储为 JSON 数据,并且可以触发 Lambda 函数,这些函数可用于执行发送警报等操作。
关于java - 如何记录堆栈跟踪 aws elastic beanstalk 以快速解决客户错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37082705/
我正在尝试将我的应用程序上载到Elastic Beanstalk,但是在节点预gyp安装--fallback-to-build上,npm安装失败。我尝试了各种版本的节点,但无济于事。似乎正在尝试获取一
设置 Elastic Beanstalk 的配置时,我没有获得解决方案堆栈的任何选项。 以下是有问题的行: `Select a solution stack. Available solution s
我正在尝试自定义 beanstalk 的默认 AMI,但每次我都会在一段随机时间后服务器重新启动。我什至没有改变任何东西,但没有任何效果。 我尝试过以下方法: 找到运行beanstalk的实例,创建A
我正在尝试使用sudo pip install awsebcli在新的Ubuntu 14.04(在Windows的Linux子系统上)上安装Elastic Beanstalk CLI(awsebcli
Amazon Beanstalk 是否会自动防止(分布式)拒绝服务攻击?如果没有,最方便的方法是什么? 最佳答案 我相信它会 New – AWS Shield AWS Shield is a new
每当我在 Elastic Beanstalk 中创建新环境时,我都会手动配置自定义 AMI ID、SNS 通知等,但我想自动完成,即,将设置(自定义 AMI ID、SNS、 key 对等)保存到一个配
我已使用以下方法连接到 Elastic Beanstalk: eb ssh XXXXXX --profile=xx 现在我想将一个文件复制到我的本地机器上,我该怎么做? 最佳答案 找出与 scp 一起
对于典型的 Java Web 应用程序,使用 Elastic Beanstalk 相对于手动创建 EC2 实例、设置 tomcat 服务器和部署等有哪些优势?负载平衡、监控和自动缩放是唯一的优势吗?
我有一个运行 PHP 的弹性 beanstalk 环境。在我的项目中,我有一个 .ebextensions 文件夹和一个名为“15-memorymonitor.config”的文件,其中包含以下内容;
我有 “更新”:Dockerrun.aws.json 中的“真” 当我更新 ECR 中的图像时,它应该自动更新 EC2 iontance 中的图像和容器。 但是当我在推送新图像后通过 ssh 进入实例
我有一个定义 Elastic Beanstalk 应用程序的 CloudFormation 模板。 我想扩展这个应用程序,即我希望端口 80 上的监听器重定向到 HTTPS。 AWS::Elastic
我在使用自定义 .ebextensions 文件部署 EB 实例时遇到问题。这是该文件中的相关部分: container_commands: 01_migrate: command: 'p
我已经使用带负载均衡器的 Elastic Beanstalk 创建了一个环境,并在各自的配置中分配了所有健康检查值 我也为ELB设置了应用健康检查url 但是当我检查自动缩放组配置时,健康检查类型是
我正在尝试部署我的 角申请通过GitHub Actions到 Elastic Beanstalk 。我正在使用这个 GitHub actions用于部署到 ELB。 我的问题是,部署失败,因为 ELB
我已阅读有关 Deploying Versions with Zero Downtime 的 AWS 文档,又名 CNAME 交换。 如 yegor256在 this answer 中有解释: The
我有一个弹性 beanstalk 设置,但无法访问环境中列出的 url,而如果我指向负载均衡器的 url,我可以访问它。 有什么建议吗? 最佳答案 将 LoadBalancer 安全组附加到实例。对我
我正在使用 AWS Elastic beanstalk 并希望为不同的环境配置不同的 ENV 变量。我发现的唯一方法是使用 ebextensions,但如果我将同一个数据包部署到多个环境,则无法覆盖在
我有一个应用程序,其中包含 nodejs 和 php 代码。 nodejs 用于运行应用程序所需的几个脚本。我如何使用 aws Elastic beanstalk 部署此类应用程序? 最佳答案 有两种
我今天遇到一个关于 Amazon Elastick BeanStalk 的奇怪问题:对于我的实例,我无法上传应用程序: XXX@-Vostro-2520:~/git_projects/ProjectB
我不断收到以下消息。但是在我的 nginx 日志中没有任何内容表明返回的请求状态为 5xx。此外,应用程序似乎按预期工作。我可能会得到这些的任何指示? 留言: Environment health h
我是一名优秀的程序员,十分优秀!