如何以编程方式从 Droplet 中获取当前 Droplet 的 Digital Ocean ID?
How do I programmatically get the Digital Ocean ID of the current Droplet from within the Droplet?
我正在我的 AWS 和 Digital Ocean 服务器上设置监控和日志聚合,我希望能够在来自 Digital Ocean 的日志消息的元数据中包含一个 Droplet ID。
在 AWS 上,有一种方法可以从实例内部获取实例 ID:How to get the instance id from within an ec2 instance?
我正在 Digital Ocean 中寻找类似的东西,这样我就可以在我的日志中有一个唯一的 ID 来识别一个 droplet。
我不是在寻找主机名之类的东西,因为主机名可以设置为 /etc/hostname 中的任何内容。我可能在一个负载均衡器后面有多个 Web 服务器,所有服务器都响应相同的主机名。 IP 地址可以更改,所以我不希望这样。
我想要一个唯一的 ID 来帮助我在 API 或 Web 控制台中找到我的 Droplet,我希望能够从 运行 上的 shell 脚本中获取它水滴。
您可以 运行 curl http://169.254.169.254/metadata/v1/id
在 Droplet 中,这将为您提供 Droplet 的 ID。
如果你想在 shell 脚本中使用它,你可以这样做:
#!/bin/sh
droplet_id=$(curl http://169.254.169.254/metadata/v1/id)
echo "droplet id: $droplet_id"
# use $droplet_id in your script whenever you need to identify the droplet
...
我正在我的 AWS 和 Digital Ocean 服务器上设置监控和日志聚合,我希望能够在来自 Digital Ocean 的日志消息的元数据中包含一个 Droplet ID。
在 AWS 上,有一种方法可以从实例内部获取实例 ID:How to get the instance id from within an ec2 instance?
我正在 Digital Ocean 中寻找类似的东西,这样我就可以在我的日志中有一个唯一的 ID 来识别一个 droplet。
我不是在寻找主机名之类的东西,因为主机名可以设置为 /etc/hostname 中的任何内容。我可能在一个负载均衡器后面有多个 Web 服务器,所有服务器都响应相同的主机名。 IP 地址可以更改,所以我不希望这样。
我想要一个唯一的 ID 来帮助我在 API 或 Web 控制台中找到我的 Droplet,我希望能够从 运行 上的 shell 脚本中获取它水滴。
您可以 运行 curl http://169.254.169.254/metadata/v1/id
在 Droplet 中,这将为您提供 Droplet 的 ID。
如果你想在 shell 脚本中使用它,你可以这样做:
#!/bin/sh
droplet_id=$(curl http://169.254.169.254/metadata/v1/id)
echo "droplet id: $droplet_id"
# use $droplet_id in your script whenever you need to identify the droplet
...