Amazon web services 如何从userdata下载并在ec2实例上安装Logicmonitor collector安装程序

Amazon web services 如何从userdata下载并在ec2实例上安装Logicmonitor collector安装程序,amazon-web-services,amazon-ec2,terraform,Amazon Web Services,Amazon Ec2,Terraform,Logicmonitor collector安装程序必须使用有效令牌获取,并且安装程序在一段时间后过期。因此,没有简单的方法将收集器安装程序二进制文件拉到新的ec2实例上,然后运行它 相反,需要使用使用Logicmonitor的RESTAPI生成新收集器安装程序URL的脚本,然后获取该URL并立即运行。我猜,既然terraform中有一个logicmonitor提供程序,那么至少有一个人已经完成了这个过程,并且已经有了一个工作脚本。坦率地说,Logicmonitor的文档提供了大部分内容,因此为

Logicmonitor collector安装程序必须使用有效令牌获取,并且安装程序在一段时间后过期。因此,没有简单的方法将收集器安装程序二进制文件拉到新的ec2实例上,然后运行它

相反,需要使用使用Logicmonitor的RESTAPI生成新收集器安装程序URL的脚本,然后获取该URL并立即运行。我猜,既然terraform中有一个logicmonitor提供程序,那么至少有一个人已经完成了这个过程,并且已经有了一个工作脚本。坦率地说,Logicmonitor的文档提供了大部分内容,因此为我自己生成并不困难,但是如果有人已经有了一个很好的模板或模块,可以将必要的部分添加到实例的用户数据中,那么您将为我节省几个小时的复制时间和试错工作。使用cloudinit的东西会特别有用,但我可以转换。基本示例:

runcmd:
  - export COLLECTOR_URL = `get_collector_url.sh ${api_key} ${other_var} ${yet_another}`
  - curl -o LogicmonitorCollector.bin $COLLECTOR_URL
  - chmod +x LogicmonitorCollector.bin
  - ./LogicmonitorCollector.bin
我可以很容易地将get_collector_url.sh的脚本从github或前面语句中的S3 bucket中提取出来

这是我希望最终将其构建到logicmonitor提供程序中的资源的类型。我是terraform的新手,不知道添加新资源涉及到什么,但这似乎是任何计划通过terraform构建所有基础设施的人的共同需求,因为我不想在terraform将在我的mgmt VPC中启动的实例上手动安装收集器,以处理诸如堡垒职责和监视收集器之类的事情


注意-Logicmonitor声称安装程序二进制文件本身将在2小时后过期。我一直相信他们的话。如果他们的实际意思是,安装程序URL中的令牌将在2小时后过期,我可以只下载一次安装程序并将其粘贴到AMI中,这样我就再也不需要下载它了-只需更改配置以更新收集器id。但我猜他们的文档没有提供一次提取二进制文件的说明是有原因的。

你能下载bin文件并将其保存到s3存储桶中吗?用户数据可以很容易地获取。您可以下载bin文件并将其保存到s3存储桶中吗?用户数据可以很容易地获取。