如何从userdata下载和安装ec2实例上的Logicmonitor收集器安装程序

时间:2017-11-07 21:25:25

标签: amazon-web-services amazon-ec2 terraform

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

相反,有必要使用一个脚本,该脚本使用Logicmonitor的REST API生成新的收集器安装程序URL,然后获取并立即运行它。我猜测,因为terraform中有一个逻辑监视器提供者,所以至少有一个人已经完成了这个过程并且已经有了一个工作脚本。坦率地说,Logicmonitor的文档提供了大量的文档,因此不难为自己生成,但如果有人在那里已经有一个很好的模板或模块,它可以为实例添加必要的部分&#39 ; s userdata,你可以节省几个小时的copypasta和试错工作。使用cloud-init的东西会特别有用,但我可以转换。基本示例:

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存储桶中拉出来。

这是我喜欢最终构建到逻辑监视器提供程序中的资源的东西。我是terraform的新手并且不知道添加新资源会涉及什么,但这似乎是任何计划通过terraform提升所有基础设施的人的共同需求,因为我不想必须在实例上手动安装收集器terraform将在我的mgmt VPC中启动,用于处理堡垒职责和监控收集器等事情。

注意 - Logicmonitor声称安装程序二进制文件本身将在2小时后过期。我一直在接受他们的言论。如果它们实际意味着安装程序URL中的令牌将在2小时后过期,我可以只下载安装程序一次并将其粘贴在AMI中,这样我就不需要再次下载它 - 只需将配置更改为更新收集器ID即可。但是我猜他们的文档没有提供只拉一次二进制文件的说明。

0 个答案:

没有答案