1

我正在我的 AWS 和 Digital Ocean 服务器上设置监控和日志聚合,并且我希望能够在来自 Digital Ocean 的日志消息的元数据中包含一个 Droplet ID。

在 AWS 上,有一种方法可以从实例内部获取实例 ID:如何从 ec2 实例中获取实例 ID?

我正在 Digital Ocean 中寻找类似的东西,这样我就可以在我的日志中拥有一个唯一的 ID 来识别液滴。

我不是在寻找类似主机名的东西,因为主机名可以设置为 /etc/hostname 中的任何内容。我可能在负载均衡器后面有多个 Web 服务器,它们都响应相同的主机名。IP地址可以改变,所以我不希望这样。

我想要一个唯一的 ID 来帮助我在 API 或 Web 控制台中找到我的 Droplet,并且我希望能够从在 Droplet 上运行的 shell 脚本中获取它。

4

1 回答 1

3

您可以curl http://169.254.169.254/metadata/v1/id在液滴内运行,这将为您提供液滴的 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

...
于 2018-02-19T20:40:15.937 回答