【问题标题】:Java Google AppEngine Managed VMs: What logs are obtainable through the Logging API?Java Google AppEngine 托管虚拟机:可以通过 Logging API 获取哪些日志?
【发布时间】:2016-05-16 21:56:42
【问题描述】:

我喜欢我可以使用 Logs API(在此处描述:https://cloud.google.com/appengine/docs/java/logs/)以编程方式访问和显示我认为合适的应用程序和请求日志——这很棒。

现在我在 AppEngine 上使用托管虚拟机,您可以在管理控制台日志查看器上看到有大量额外日志 - 包括在我的情况下我发现可以包含在查看器中的自定义日志(描述这里:https://cloud.google.com/appengine/docs/managed-vms/custom-runtimes#logging)。

我的问题是:有什么方法可以使用 Logs API(或其他已构建的管道?)来访问这些日志?我的托管 VM 模块包含几个组件,这些组件可以生成我想要查看的日志:

  1. 应用程序日志——我可以得到这些!这里没问题。
  2. 由我在 _ah/start 中启动的后台进程创建的自定义日志文件(如屏幕截图中的“my_custom_1.log”)
  3. 我的后台进程中的 STDERR 和 STDOUT
  4. 相关的托管虚拟机日志(例如,当实例因运行状况不佳而重新启动时......其他系统事件,如正常重新启动?)

基本上我想要实例级别的“全貌”。有人尝试以这种方式成功驯服托管虚拟机吗?我不期待推出自己的解决方案。我什至不知道从哪里开始捕获 STDERR 和 STDOUT 的问题。任何帮助表示赞赏。

【问题讨论】:

    标签: google-app-engine managed-vm google-managed-vm google-cloud-logging


    【解决方案1】:

    App Engine 日志记录和 Google Cloud 日志记录之间存在差异。一些托管 VM 日志同时发送到两者,但大部分只发送到云日志记录。

    直到最近,还没有一个 API 可以读取云日志,只能写入它们。但是,有一个新的 v2 beta API:https://cloud.google.com/logging/docs/api/introduction_v2

    要在实例级别执行操作,云日志记录中的条目应设置元数据以表示它们来自哪个虚拟机。这两个值似乎在我的 VM 的日志中有所不同:

    • compute.googleapis.com/resource_name
    • compute.googleapis.com/resource_id

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多