必须使用有效令牌获取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即可。但是我猜他们的文档没有提供只拉一次二进制文件的说明。