如何以编程方式从Droplet中获取当前Droplet的Digital Ocean ID?

时间:2018-02-19 18:50:46

标签: digital-ocean devops provisioning droplet

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

在AWS上,有一种方法可以从实例中获取实例ID:How to get the instance id from within an ec2 instance?

我在Digital Ocean中寻找类似的东西,所以我可以在日志中找到一个唯一的ID来识别液滴。

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

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

1 个答案:

答案 0 :(得分:3)

您可以在Droplet中运行curl http://169.254.169.254/metadata/v1/id,这将获得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

...