监控Google Cloud未使用的外部IP的脚本

当未使用Google Cloud外部静态IP时获得通知, 因此你可以释放它们以节省资金。

我正在查看Google Cloud Platform(GCP)帐单, 并注意到以下几点:

监控Google Cloud未使用的外部IP的脚本2

这不是Google的错, 而是我。我保留了一个静态IP, 但在删除VM后忘记释放它。它发生了, 我想不仅仅是我。

我环顾了GCP控制台, 找不到未使用静态IP的警报选项。也许是产品功能要求。

但是, 我不会重复该错误。

感谢Google Cloud SDK提供的gcloud CLI, 你可以在脚本中使用它执行几乎所有操作。我想写一个每天运行的脚本, 并在不使用任何静态IP时发出通知。有多种方法可以得到通知, 第一种便捷的方法是电子邮件。但是, 我没有运行邮件服务器, 因此不得不寻找其他选择。

经过几分钟的搜索, 我发现了Pushbullet。它是一个通知系统, 可用于将警报推送到Chrome, Firefox, Safari, Opera, Android, iOS和Windows。几乎所有的东西。我还需要什么?

你可以猜测, 当你没有在服务器上运行邮件服务器或想在任何地方运行gcloud命令的情况下, 立即获得Pushbullet通知即可。

如果你决定转到Pushbullet, 则创建一个免费帐户, 在要接收通知的位置进行设置, 然后转到”设置”以生成访问令牌。

我假设你在服务器上已准备好访问令牌并可以使用gcloud命令。

这是小脚本。创建具有以下内容的文件, 例如gcp-unused-ip-monitor.sh

#!/bin/bash

if gcloud compute addresses list | grep EXTERNAL | grep RESERVED ; then 
	curl -u $Access_TOKEN: https://api.pushbullet.com/v2/pushes -d type=note -d title="Google Cloud IP NOT_INUSE" -d body="Some external IP is not in use"
else :
fi

不要忘记用实际值更新$ Access_TOKEN。

保存文件并通过授予执行权限使其可执行。

chmod 755 gcp-unused-ip-monitor.sh

手动运行脚本以验证警报。如果你有未使用的IP, 则会收到警报。

监控Google Cloud未使用的外部IP的脚本4

上面的通知来自我配置了Pushbullet进行提醒的Chrome浏览器。但是如上所述, 你可以将警报推送到移动设备或其他浏览器。选择你喜欢的。

现在, 我们有了一个工作脚本, 接下来, 我们需要每天自动运行此脚本。

要安排脚本每天运行, 请使用基于UNIX的操作系统上可用的Crontab。

使用crontab -e编辑crontab并添加以下内容

0 0 * * * $PATH/gcp-unused-ip-monitor.sh > /dev/null

将$ PATH更新到脚本所在的路径。在cron条目上方, 将在每个午夜运行脚本。你可以根据自己的喜好调整运行时间。

有多容易?

收到警报后, 你可以转到GCP控制台并查看”未使用的IP”并释放它们。

我希望这个小脚本可以为你节省一些时间。

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?