我正在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脚本中获取它。
答案 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
...