是否可以仅过滤来自具有特定标签的 VM 的日志? GCP 云日志记录

Is it possible to filter logs only from VM with a specific label? GCP cloud logging

我正在尝试仅过滤来自特定 VM-s 的日志。目前我使用的脚本列出了所有实例获取 id,然后使用它使日志下沉。然而,可能会有新的 VM-s 添加了那个标签,我想我可以使用云功能,但是有没有更好更文明的方式来做到这一点?

一种想法是使用 GCP Logging API 来获取、创建、更新 Cloud Logging 接收器……参见 Cloud Logging API。这些 API 可通过特定于语言的客户端库或直接通过 REST 获得。这意味着您可以通过编程方式控制 Cloud Logging 接收器定义。

现在剩下的就是在您的环境发生变化时驱动那些 API。为此,我们有 Cloud Asset Inventory. This is GCP technology that tracks and informs you when your GCP environment changes. See Monitoring asset changes 用于设置更改提要。

提要更新表现为 Cloud PubSub 消息。然后,您可以触发一个 GCP 云功能,该功能在 PubSub 消息到达时触发,然后检查已更改资产的性质,如果添加了一个 VM 并具有您想要的标签,那么您可以想象地更新您的接收器。