从谷歌云获取 Sensu 的动态库存

问题描述

我需要建议在运行时向 sensu-go 提供主机 IP 和端口。目前,我们正在为在 google cloud 中创建的 VM 使用静态清单,这会导致在删除这些实例和创建新实例时出现问题。 因此,我正在寻找一种向 sensu-go 提供动态库存的解决方案。但是,我找不到在 sensu-go 中查询谷歌云并通过提供标签和项目名称获取主机 IP 的方法

我正在寻找建议,以便从 Google Cloud 获取给定标签的主机 IP,而无需在每个主机中使用 sensu-go 客户端。

非常感谢。

解决方法

要获取标记为“sensu”的实例使用的 IP 列表,您可以使用 gcloud 命令。
获取内部IP:

gcloud compute instances list --project=PROJECT_NAME --filter="tags.items=(SENSU)" --format="get(networkInterfaces[0].networkIP)"

对于外部 IP:

gcloud compute instances list --project=PROJECT_NAME --filter="tags.items=(SENSU)" --format="get(networkInterfaces[0].accessConfigs[0].natIP)"