elasticsearch,amazon-ec2,logstash,elastic-beats,Amazon Web Services,elasticsearch,Amazon Ec2,Logstash,Elastic Beats" /> elasticsearch,amazon-ec2,logstash,elastic-beats,Amazon Web Services,elasticsearch,Amazon Ec2,Logstash,Elastic Beats" />

Amazon web services 将AWS-ec2上的安装发送至prem ELK

Amazon web services 将AWS-ec2上的安装发送至prem ELK,amazon-web-services,elasticsearch,amazon-ec2,logstash,elastic-beats,Amazon Web Services,elasticsearch,Amazon Ec2,Logstash,Elastic Beats,我必须在AWS-EC2-Windows服务器上安装jboss,这将按照要求进行扩展。我们使用ELK进行基础设施监控,将在此处安装beats,将数据发送到on-prem logstash。在那里,我们安装了具有主机名和ip的服务器。 现在的问题是:在自动缩放的情况下,我们如何实现这一点 请告知 谢谢, Abhishek如果您要创建一个EC2实例并创建它的AMI,以便基于该实例进行自动缩放,那么配置可以是它的一部分 如果您的意思是将其添加到允许的列表中,您可以使用定义了自定义CIDR块的直连或VPC

我必须在AWS-EC2-Windows服务器上安装jboss,这将按照要求进行扩展。我们使用ELK进行基础设施监控,将在此处安装beats,将数据发送到on-prem logstash。在那里,我们安装了具有主机名和ip的服务器。 现在的问题是:在自动缩放的情况下,我们如何实现这一点

请告知

谢谢,
Abhishek

如果您要创建一个EC2实例并创建它的AMI,以便基于该实例进行自动缩放,那么配置可以是它的一部分


如果您的意思是将其添加到允许的列表中,您可以使用定义了自定义CIDR块的直连或VPC,并将该子网添加到允许的列表中。

AFAIK您需要更改磁盘上的logstash配置文件以添加新主机,它应该会自动注意更新的配置并“正常工作”

我建议使用一个本地脚本来读/写配置文件,并轮询SQS队列“侦听”自动缩放事件。当它扩展时,您可以拥有自己的队列,然后订阅一个SQS队列来接收它们。邮件将保留长达14天,如果需要,可以选择添加延迟。从SQS收到的消息将指示区域、实例id和操作(启动或终止),您可以从中查找要从配置文件中添加/删除的IP地址/主机名(处理成功后,应将消息从队列中删除)。编辑配置文件只是简单的字符串操作,以找到正确的行并插入新的行。这种方法只需要对本地脚本进行出站HTTPS访问和一些IAM权限,但这可能会带来(很小的)成本影响

另一个选项是启动时在每个实例上执行的UserData脚本(AutoScale组启动模板的一部分)。它与您的on-prem通信的确切方式取决于您的体系结构/能力——任何可能的情况。您可以编写一个简单的Web服务来管理配置文件,并让实例调用它,但在我看来,这需要付出更多的努力,而且有些风险


仅供参考-如果您使用SQS,请查看您是否经常检查队列/希望消息尽快传播(TLDR-比每分钟轮询两次以上更快更便宜)。将死信队列与SQS一起使用是一种很好的做法——从队列中检索但未删除的消息在这里结束。在队列和死信队列上设置警报,以通过电子邮件提醒您是否有无法处理的消息或未在合理时间内收到的消息(即您的脚本已崩溃等)。

谢谢您。。。。已经测试过AMI方法,效果很好,只是加载步骤涉及ip和主机名CIDR不会以这种方式工作。您可以做的是向on-prem添加VPN或使用直接连接,以确保您的ELK EC2实例具有您已经知道的ip(因此已在允许列表中,是否有您想要预先了解主机名的原因?对于具有主机名和ip的车载服务器,您的意思是什么?要让logstash注意到已更改的配置文件,您必须以
-r
-config.reload.automatic
开始。似乎我需要进一步解释它。。。。