【发布时间】:2015-08-28 05:14:45
【问题描述】:
tl;dr cloudwatch代理的配置是#$%^。有什么直接的方法吗?
我想要一个地方来存储日志,所以我使用了 Amazon CloudWatch Logs 代理。起初,我似乎只是添加了一个资源,上面写着“创建一个日志组,然后是一个日志流并发送此文件,谢谢”——所有这些都是声明性的和简洁的,但是......
根据this doc,我必须设置 JSON 配置,该配置创建了一个 BASH 脚本,该脚本下载了一个 Python 脚本,该脚本设置了在其他地方使用另一种语言生成的配置的服务。
我认为日志记录是经常使用的东西,所以必须有一种声明式的配置方式,而不是这种 4 种语言的疯狂组合。是我遗漏了什么,还是 ops 世界如此痛苦?
感谢您的想法!
【问题讨论】:
-
谢谢!好吧,它唯一有用的部分是带有 ZIP 的倒数第二部分。如果你查看 docker 的 ZIP,会有大量的配置(再加上 BASH),它的作用与原始链接基本相同。只是这一次它没有得到一个 python 脚本,而是运行一些实用程序“cfn-init”。仍然不是声明性的,仍然混合语言。最重要的是:aws 日志在 us-west-1 中工作,但配置被禁止(从 EB 设置)并且失败;)有趣的是手动操作是可能的。
-
CloudWatch 代理的另一个糟糕之处是设置方法似乎随意更改。更新并重新启动了我的一台主机,代理不再工作。参考我的设置文档,它不再与我自己链接到的文档相对应。
-
@MikeMügge 我赞同这一点,糟糕的文档。在 Elastic Beanstalk 上,如果您不通过配置启用 CW 代理,它会主动(!)在每个部署中终止日志记录代理。
标签: amazon-web-services amazon-elastic-beanstalk amazon-cloudwatch