Google Cloud Platform-捕获并记录错误并自动终止VM

时间:2019-07-15 06:41:14

标签: virtual-machine google-compute-engine stderr terminate stackdriver

我正在n1-ultramem-40实例上运行工作流,该实例将运行几天。如果发生错误,我想捕获并记录该错误,得到通知,并自动终止虚拟机。我可以使用StackDriver和gcloud日志记录来实现吗?如何使用这些工具自动终止VM?谢谢!

1 个答案:

答案 0 :(得分:0)

让我们将难题分为两部分。第一种是将错误记录到Stackdriver,第二种是在检测到此类错误时自动执行外部操作。

Stackdriver提供了多种语言绑定和程序包集成,可导致写入日志消息。您可以在检测到错误的应用程序中包含此类API调用。如果您无权访问应用程序的源代码,而是登录到外部文件,则可以使用Stackdriver代理监视日志文件并将日志消息中继到Stackdriver。

一旦您将错误消息发送到Stackdriver,下一个任务就是定义Stackdriver日志导出定义。这是定义“过滤器”的行为,该过滤器将寻找您感兴趣的特定日志条目消息。与该导出定义和过滤器相关联的将是PubSub主题。在创建Stackdriver日志条目时,将把pubsub消息写入该主题。

最后,我们现在有了触发器来执行您的操作。我们可以使用从PubSub消息触发的Cloud Function执行任意API逻辑。这可能是对GCP执行API请求以终止VM的代码。