0

我喜欢我可以使用 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. 相关的托管 VM 日志(例如,当实例因健康状况不佳而重新启动时......其他系统事件,如正常重新启动?)

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

4

1 回答 1

0

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

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

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

  • compute.googleapis.com/resource_name
  • compute.googleapis.com/resource_id
于 2016-02-20T22:02:16.487 回答