use*_*mda 6 environment-variables amazon-ec2 amazon-cloudwatch aws-regions
我有以下配置作为我的 EC2 实例的用户数据的一部分生成
{
"agent": {
"run_as_user": "root"
},
"logs": {
"logs_collected": {
"files": {
"collect_list": [
{
"file_path": "/var/log/hapee-2.0/lb-access*",
"log_group_name" : <insert-region-here>
"log_stream_name": "haproxy-{instance_id}"
}
]
}
}
},
"metrics": {
"metrics_collected": {
"net": {
"measurement": [
"net_packets_recv",
"net_packets_sent"
],
"metrics_collection_interval": 60
},
"mem": {
"measurement": [
"used_percent"
]
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
因为log_group_name我希望能够附加region实例正在运行的内容。我知道该区域是实例元数据的一部分,但我可以在 cloudwatch 配置中使用它吗?
根据CloudWatch Agent Configuration File Details上的文档,它可以在参数中直接解释的变量logs.log_stream_name是:{instance_id}、{hostname}、{local_hostname}和{ip_address}。
由于 CloudWatch 日志是特定于区域的,因此我假设您正在执行一些跨区域仪表板或日志传送(否则,在日志流中包含区域值将是多余的)。
通过任意数量的模板引擎生成配置 json 文件可能是添加 CloudWatch 代理的配置变量不直接支持的自定义变量值的最佳方法。我们在 CI/CD 管道中执行此操作,同时通过 Terraform 的templatefile函数创建实例(然后通过 cloud-init 用户数据写入实例),但是对于您碰巧使用的任何编程或配置语言,都有许多流行的模板引擎使用。
| 归档时间: |
|
| 查看次数: |
302 次 |
| 最近记录: |