amazon-web-services - 如何为动态日志文件名配置 aws cloudwatch 日志配置
问题描述
我正在尝试配置 AWS cloudwatch 代理以将日志从我的 ec2 实例发送到 Cloudwatch。我有 4 个实例在 ALB 下运行。每个 ec2 实例都运行一个 Java Web 服务,该服务可以接收来自多个客户的请求。每个客户的日志转到每个实例上的单独日志文件 - customerA.log、customerB.log 等(使用 logback 的“Sift”附加程序)。任何客户请求都可以转到任何实例。
这些客户名称事先是未知的 - Web 服务接收 customerId 作为 Web 请求的一部分,并且随着新客户使用该服务,将会有新的日志文件。
我希望能够将日志发送到 cloudwatch,以便按客户名称收集和合并它们,这样我就可以看到每个客户的单个日志文件,它是来自所有实例的汇集日志。
我怎样才能做到这一点?使用文档中的配置,我可以看到通配符可以将不同的日志文件合并到 CloudWatch 上的单个流中,但我想用某种动态占位符替换 {instance_id} 以获取日志文件的确切名称(即以客户 ID 命名)。
我不确定这是否可能,所以如果有其他配置可以实现相同的目标,那就没问题了。非常感谢!
"logs_collected": {
"files": {
"collect_list": [
{
"file_path": "/media/logs-audit/customer*",
"log_group_name": "errors.log",
"log_stream_name": "{instance_id}"
},
]
}
}
解决方案
是的,接受 UNIX 标准全局匹配规则。 文档
推荐阅读
- html - HTML 网站不会随移动设备上的视口代码缩放
- android - Eclipse Maven 项目中的 ThreeTenABP
- function - How to refer to a dynamically named variable with a variable?
- c# - 一种序列化方法会产生内存不足错误,另一种则不会
- activejdbc - 如何将 LazyList 的 toJson 方法与 json 数组一起使用?
- php - behat.yml 抛出错误:保留的指示符“%”不能开始一个普通的标量;
- javascript - JSON 值未定义?
- pandas - 计算滚动(平均差)^2 熊猫
- phantomjs - vk.com 检测 phantomjs
- excel - 使用找到的行单元格和找到的列单元格查找单元格