我们在Elastic Beanstalk Docker容器环境中运行自定义Docker Web应用程序.想要在外面查看应用程序日志.无需通过实例或AWS控制台下载.
到目前为止,这两种解决方 也许有人为Elastic Benastalk Dockerized应用程序实现了集中式日志记录?
不可接受 - 需要下载日志,每次都提取.非实时.
fluentd没有从S3检索日志的插件有优秀的S3插件,但它仅用于日志输出到S3.不适用于S3的输入日志.
缺点:只能从整个桶中提取所有日志或什么也不能.
问题在于Elastic Beanstalk S3 Log存储结构.您无法指定文件名模式.它可以是所有日志,也可以不是.ElasticBeanstalk在包含随机实例和环境ID的路径中将日志保存在S3上:
s3.bucket/resources/environments/logs/publish/e-<random environment id>/i-<random instance id>/my.log@
Run Code Online (Sandbox Code Playgroud)
Logstash s3插件只能指向resources/environments/logs/publish /.当您尝试将其指向environment/logs/publish/*/my.log时,它不起作用.这意味着你无法拉出特定的日志并标记/输入它以便能够在Elasticsearch中找到它.由于AWS将所有环境和实例中的日志保存在相同的文件夹结构中,因此您甚至无法选择实例.
可以将自定义日志转发到CloudWatch控制台.实现这一点,将配置文件放在应用程序包的.ebextensions路径中:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html
有一个名为cwl-webrequest-metrics.config的文件,它允许您指定日志文件以及警报等.太棒了!?除了配置文件格式既不是yaml,xml或json,也没有记录.该文件绝对没有提及,它的格式要么在AWS文档网站上,要么在网络上的任何地方.要在CloudWatch中显示一个日志文件,不仅仅是添加配置行.实现这项工作的唯一可行方法似乎是反复试验.大!?除了您需要重新部署环境的每次尝试.
关于如何使用自定义日志进行此操作只有一个参考:http://qiita.com/kozayupapa/items/2bb7a6b1f17f4e799a22我不知道该人如何逆向设计文件格式.
缺点:
我有数据类/表"用户",其中包含"首选项"列
CREATE table "user";
ALTER TABLE "user" ADD COLUMN preferences TEXT;
Run Code Online (Sandbox Code Playgroud)
首选项类型是TEXT,我在那里存储JSON.
public class User extends AbstractEntity{
public String preferences;
}
Run Code Online (Sandbox Code Playgroud)
所以user.preferences价值是"{notifyByEmail:1, favouriteColor:"blue" }"
如何用一些注释包装它,以便我可以像访问它一样
user.preferences.notifyByEmail
Run Code Online (Sandbox Code Playgroud)
或者不需要包装成数据对象
user.preferences.get("notifByEmail");
user.preferences.set("notifByEmail",true);
Run Code Online (Sandbox Code Playgroud)
我想可能会有一些杰克逊注释,我可以添加到字段中
@JsonGenerate
public String preferences;
Run Code Online (Sandbox Code Playgroud)
我是JPA的新手,文档很陡.
我相信我的情况很常见.有谁可以提供任何例子?
我们有PostgreSQL实例每秒服务数十个r/w查询.
它为具有读写查询的100个并发客户端提供服务.然而,当我们查看Cloudwatch Monitoring时,它显示的IOPS范围为20-60.
并且读取iOPS大约为0!

对于100个连接和客户端始终执行读/写查询,这是不对的?Postgres配置是标准配置,我们没有关闭fsync.
缓存是否如此有效以至于IOPS不是数据库大小为5GB的因素?或AWS监控控制台错误?
为此数据库实例支付1000 IOPS额外花费300美元.您可以购买的最低IOPS是1000.
我想知道我们能不做IOPS吗?
amazon-rds ×1
docker ×1
hibernate ×1
jackson ×1
jpa ×1
json ×1
logstash ×1
orm ×1
postgresql ×1