如何在 Droplet 重新启动和 Droplet 完成启动时得到通知?

How to get notified when droplet reboots and when droplet finishes boot?

我找到了这个答案 ,它建议 API 或使用 user_data,后者实际上是 cloud-init 下面。

我可以想出几种方法来可能收到服务器已启动的通知:

  1. 通过API

    检测液滴状态

    我注意到在重新启动期间状态永远不会改变,所以我猜这是错误的。

  2. 使用 DigitalOcean 本机监控代理

    监控代理似乎只涵盖资源利用。服务器重新启动或完成启动时没有警报

  3. 使用云初始化

    这个回答我前面提到的使用wget来发送信号。我可以 可能 在 droplet 每次使用 cloud-init 中的 bootcmd 完成启动时使用 wget。但不是为了重启。

    还有一个问题是如何确保来自正确的 DigitalOcean droplet 的 wget 请求可以正确地向我的服务器标识自己。

关于如何在 Droplet 重新启动或完成启动时在我的服务器上完成获取通知的任何建议?

cloud-init

bootcmd 实际上每次都是 运行s。查看 the docs

中的 module frequency

您可能会为此考虑的另一个模块是 phone home

Systemd

由于 OP 也在 shutdown/reboot 上寻找通知,因此 cloud-init 可能不是单一解决方案的最佳选择,因为它主要处理 boot/init。假设系统:

This post 讨论在关闭时为 运行 设置服务。

This post 讨论在启动时为 运行 设置服务。