【问题标题】:Where to see the logs for a failed deployment on managed Vms on Google App Engine?在哪里可以查看在 Google App Engine 上托管 Vms 上部署失败的日志?
【发布时间】:2015-01-21 20:43:14
【问题描述】:

当我尝试在托管 VM 上部署我的应用程序时,Google 应用程序引擎上的部署失败。我怀疑这是因为 appengine 无法运行我的容器,因为它有一个错误。但是,由于容器无法运行,我无法检查 docker 日志。在本地它可以工作,因为它的配置与生产环境不同。我怀疑在生产中我的应用程序无法解析本地网络中的数据库服务器 ip,但我没有任何日志可供调查。

【问题讨论】:

    标签: google-app-engine docker gcloud


    【解决方案1】:

    转到您的 Google 开发者控制台 - 计算 - 虚拟机实例。 SSH 进入您要检查的实例。

    在 Web SSH 控制台中,查看 /var/log/app_engine/app/ 中的日志。我在/var/log/app_engine/app/STDOUT.yyyy_mm_dd.log 中发现了我们的 java 应用程序错误。

    【讨论】:

    • 如果实例没有出现,我认为它会被删除,所以这实际上不起作用。
    • 你认为还是你知道?
    • 认为。我从未能够成功登录到属于拙劣部署的实例。当微调器显示时,将其切换到用户管理的选项不存在,因此 SSH 进入它不是一个选项。一旦部署真正失败,实例就会消失。也就是说,我仍然说 think,因为应用引擎在很大程度上是一个黑盒子,我可能会遗漏一些东西。如果您有更多详细信息,请分享。
    • 在部署java应用时,可能会创建一个在启动时中断的应用包(例如,它缺少一个类/包),导致JVM/servlet/app由于异常而无法运行,虽然 docker 图像已启动并且看起来还可以。这在技术上不是“失败的部署”,因为部署运行正常,实例显示在控制台中,尽管由于健康检查失败(取决于您的健康检查设置),它每 3-4 分钟重新启动一次。
    • 关键是正常的GAE日志中没有显示错误,您需要按照上面的程序进行操作。您可能希望在检查日志时禁用运行状况检查以防止重新启动(尽管 AFAIK 在您将实例切换到用户管理后不会发生这种情况)。
    【解决方案2】:

    如果您的实例无法启动,开发者控制台中也应该有一个 crash.log:

    https://console.developers.google.com/project/[yourproject]/logs

    应该有一个下拉菜单显示Request。如果单击它,您应该能够看到 crash.log 和 syslog 以及其他一些内容。在那里,您通常可以找到潜在问题的线索。

    但是,在我自己的项目中,下拉菜单从昨天开始就被破坏了,所以我不确定它是否适合你。我们目前正在等待 Google 解决此问题。

    【讨论】:

    • 它目前在我们的托管 VM 项目中再次运行。
    猜你喜欢
    • 2015-02-13
    • 2018-08-11
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    • 2020-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多