如何识别我们在AWS Elastic Beanstalk中运行的节点

时间:2014-07-28 11:18:48

标签: amazon-web-services elastic-beanstalk

我使用graylog来管理日志。我希望能够通过代码运行的节点过滤graylog。

我是否有办法从AWS环境中获取运行代码的节点的“id”。我知道我可以简单地使用“localhost”地址,但我认为这会在部署之间发生变化,所以它有点不太理想,但我想如果这是我必须做的全部。

2 个答案:

答案 0 :(得分:2)

您可以使用EC2元数据中的ec2实例ID。请在此处阅读:Find out the instance id from within an ec2 machine

但就像你说的,如果实例被替换,你将开始获得不同的实例ID。这不是你想要的吗?

答案 1 :(得分:1)

Elasticbeanstalk使用环境名称标记基础EC2实例(默认情况下)。您可以使用EC2 API根据Elasticbeanstalk环境的名称进行过滤,然后解析响应以获取运行应用程序的实例的ID。这始终返回环境下当前正在运行的实例集。

ec2-describe-instances --filter "tag:Name=<elasticbeanstalk-env-name>"