gpt4 book ai didi

amazon-web-services - AWS : None of the Instances are sending data

转载 作者:行者123 更新时间:2023-12-03 13:40:45 25 4
gpt4 key购买 nike

我正在尝试使用 Amazon Web Services 设置 Elastic Beanstalk 应用程序,但是我收到了大量错误消息 None of the instances are sending data .我已经尝试使用示例应用程序多次删除 Elastic Beanstalk 应用程序和 EC2 实例,然后再试一次,但我遇到了同样的错误。

我还尝试使用 AWS Elastic Beanstalk 命令行工具上传 flask 应用程序,但随后收到以下错误:

Environment health has transitioned from Pending to Severe. 100.0 % of the requests to the ELB are failing with HTTP 5xx. Insufficient request rate (0.5 requests/min) to determine application health (7 minutes ago). ELB health is failing or not available for all instances. None of the instances are sending data

为什么会出现此错误以及如何修复?谢谢。

最佳答案

您正在使用 Enhanced Health Monitoring .
通过增强的健康监控 agent安装在您的 EC2 实例上,监控重要的系统和应用程序级别的健康指标,并将它们直接发送到 Elastic Beanstalk。

当您看到“没有任何实例正在发送数据”之类的错误消息时,这意味着实例上的代理已崩溃,或者由于网络错误或其他一些错误而无法将数据发布到 Elastic Beanstalk。

为了调试这个,我建议从 AWS 控制台下载“完整日志”。您可以按照“从 Elastic Beanstalk 控制台下载捆绑日志”部分中的说明获取日志here .
如果由于任何原因无法使用控制台下载日志,您还可以通过 ssh 连接到实例并查看 /var/log 中的日志。 .

您将在 /var/log/healthd/daemon.log 中找到健康代理的日志。 .
对这种情况有用的其他日志是 /var/log/cfn-init.log , /var/log/eb-cfn-init.log/var/log/eb-activity.log .您能否查看日志并提供您看到的错误的更多详细信息?
这应该有望为您提供有关“没有任何实例正在发送数据”错误的更多详细信息。

关于您看到的其他健康“原因”:

  • 环境健康已从待定转为严重 - 这是因为最初您的环境健康状态为 Pending。如果实例在宽限期内未恢复正常,则健康状态将转换为严重。在您的情况下,由于没有一个实例是健康的/正在发送数据,因此健康状况转变为严重。
  • 对 ELB 的 100.0% 请求失败,HTTP 5xx。请求率(0.5 个请求/分钟)不足以确定应用程序运行状况(7 分钟前)。
    使用增强的运行状况监控时,Elastic Beanstalk 会监控除您的 EC2 实例之外的其他资源。例如,它监控 ELB 的 cloudwatch 指标。此错误意味着发送到您的环境 CNAME/负载平衡器的所有请求都因 HTTP 5xx 错误而失败。同时请求率非常低,每分钟只有 0.5 个请求,所以这表明即使所有请求都失败了,请求率也很低。 “7 分钟前”意味着有关 ELB 指标的信息有点旧。由于 Elastic Beanstalk 每隔几分钟监控一次 cloudwatch 指标,因此数据可能会稍微过时。这与我们直接从 EC2 实例获得的“近乎实时”的健康数据相反。在您的情况下,由于实例未发送数据,因此唯一可用的健康来源是延迟了大约 7 分钟的 ELB 指标。
  • ELB 运行状况失败或不适用于所有实例
    Elastic Beanstalk 正在查看您的 ELB 的健康状况,即它正在检查 ELB 后面有多少实例正在服务中。在您的情况下,ELB 后面的所有实例都已停止服务,或者由于其他原因导致运行状况不可用。您应该仔细检查您的服务角色是否配置正确。您可以阅读如何正确配置服务角色here或在 documentation .您的应用程序可能无法启动。

  • 在您的情况下,我建议关注第一个错误“没有任何实例正在发送数据”。为此,您需要查看上述日志。让我知道你在日志中看到了什么。代理在实例的引导过程中相当早地启动。因此,如果您看到“没有任何实例正在发送数据”之类的错误,则很可能是 bootstrap 失败或代理因某种原因无法启动。日志应该告诉你更多。

    还要确保在您的环境中使用实例配置文件。实例配置文件允许在您的 EC2 实例上运行的运行状况代理使用 Elastic Beanstalk 进行身份验证。如果实例配置文件未与您的环境关联,则代理将无法将数据发送到 Elastic Beanstalk。阅读有关使用 Elastic Beanstalk 的实例配置文件的更多信息 here .

    更新
    健康原因“所有实例均未发送数据”的一个常见原因可能是您的实例位于 VPC 中,而您的 VPC 不允许 NTP 访问。此问题的典型指标是 /var/log/messages: ntpdate: Synchronizing with time server: [FAILED] 中的以下消息.发生这种情况时,您的 EC2 实例上的时钟可能会不同步,数据将被视为无效。您还应该在 AWS Web 控制台的运行状况页面上的实例上看到运行状况原因,告诉您实例时钟不同步。解决方法是确保您的 VPC 允许访问 NTP。

    关于amazon-web-services - AWS : None of the Instances are sending data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32364229/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com