【问题标题】:Compute Engine VM Creation NotificationCompute Engine 虚拟机创建通知
【发布时间】:2021-04-05 04:14:53
【问题描述】:

如果/何时在 GCP 上的基础设施中创建了任何 VM,我希望得到通知。

  • 我看到一个可以给我 VM 列表的谷歌库。
  • 我可以创建一个函数来使用这段代码(可能)
  • 调度上述函数。并检查差异。

但是存储类似触发器可用于计算。

如果还有其他解决方案。

【问题讨论】:

    标签: google-cloud-platform google-cloud-functions google-compute-engine google-cloud-monitoring


    【解决方案1】:

    您有第三种解决方案。您可以使用 Cloud Run 代替 Cloud Functions(迁移非常简单,如果您有问题,请告诉我)。

    借助 Cloud Run,您可以使用触发器(eventArc 功能),这是一项基于 auditLog 日志的新功能(仍处于预览阶段)。它与 LundinCast 提出的第一个解决方案非常相似,但它是由 Cloud Run Trigger 功能自动设置的。

    所以,在 Cloud Run 上部署您的服务。然后在 v1.compute.instancs.insert API 上配置触发器,选择您的区域或将触发器设为全局,仅此而已!创建新实例时将触发您的服务。

    正如您在我的屏幕截图中看到的,您将被要求激活 auditLog 才能使用此功能。因为它是内置的,所以它会自动为您完成!

    【讨论】:

      【解决方案2】:

      使用 Logging sink 和 PubSub 触发的云函数

      首先,将相关日志导出到您通过creating a Logging sink 选择的 PubSub 主题。使用以下日志过滤器包含在 VM 创建期间自动创建的日志:

      resource.type="gce_instance"
      protoPayload.methodName="beta.compute.instances.insert"
      protoPayload.methodName="compute.instances.insert"
      

      接下来,创建一个云函数,该函数会在每次将新日志设置到 PubSub 主题时触发。您可以根据需要处理此新消息。

      请注意,使用此选项,您必须自己处理通知(例如,sending an email)。如果您想根据某些条件发送不同的通知,或者如果您想执行通知之外的其他操作,这很有用。

      使用基于日志的指标和 Stackdriver Monitoring 警报

      您可以使用 Log-based metric 过滤日志来创建 Compute Engine 虚拟机,并在该指标上设置 an alert 以获得通知。

      首先创建一个counter log-based metric,其日志过滤器类似于上一种方法,每次创建新的VM实例时都会向云监控报告一个数据点。

      然后根据每次报告指标时触发的指标转到 Cloud Monitoring 和 create an alert

      此选项最容易设置,并且支持开箱即用的各种通知渠道。

      【讨论】:

      • 对于日志过滤器..我不得不使用'AND'和'OR'其余的都是完美的。
      【解决方案3】:

      跟着@​​987654321@回答。

      云跑—— 如果它对我来说不是区域问题,我会使用它。虽然我从 POC 得出结论,但我确实做到了

      1. 设置简单。
      2. 容器化应用程序。可能需要维护更多代码。
      3. 应用的公共 URL。
      4. 开箱即用支持,满足我的要求。

      云功能 --

      1. 第一次使用触发器的接收器设置可能很耗时
      2. 易于编码和维护。

      【讨论】:

      • 关于触发器设置,cloud-functions-beta-testers 组中有一个旧的 alpha 版本,用于函数的 GCE 触发器。 This is the thread。您应该可以按照the docs 上的说明加入群组。那个线程真的很老,所以我不确定 alpha 是否仍在进行中,它是一个 alpha(意味着它还没有准备好生产),但我认为值得一试。
      猜你喜欢
      • 2020-01-29
      • 1970-01-01
      • 2018-12-27
      • 2016-09-23
      • 2020-09-13
      • 1970-01-01
      • 1970-01-01
      • 2017-01-05
      • 2018-04-17
      相关资源
      最近更新 更多