我正在尝试将我的 ECS Fargate 日志发送到 Datadog。为此,我需要将我的 Datadog API_KEY 作为logConfiguration
对象中的字段传递。我需要保护我的 API_KEY,因此我通过对象的secretOptions
密钥使用 AWS Secrets Manager logConfiguration
。
我正在按照 AWS 在此处列出的步骤进行操作。Datadog 网站的完整步骤可以在这里找到
出于某种原因,我没有看到日志出现在 datadog 中。这是资源container_definitions
对象下我的 Terraform 代码的日志配置部分:aws_ecs_task_definition
"logConfiguration": {
"logDriver": "awsfirelens",
"options": {
"Name": "datadog",
"Host": "http-intake.logs.datadoghq.com",
"dd_service": "myservice",
"dd_source": "mysource",
"dd_message_key": "log",
"dd_tags": "env:dev",
"TLS": "on",
"provider": "ecs"
},
"secretOptions": [{
"name": "apikey",
"valueFrom": "arn:aws:secretsmanager:${data.aws_region.current.name}:${data.aws_caller_identity.current.account_id}:secret:mysecret"
}]
}
如果我取出secretOptions
并以明文形式添加 apikey,则日志会显示在 datadog 控制台上:
"logConfiguration": {
"logDriver": "awsfirelens",
"options": {
"Name": "datadog",
"Host": "http-intake.logs.datadoghq.com",
"dd_service": "myservice",
"dd_source": "mysource",
"dd_message_key": "log",
"dd_tags": "env:dev",
"TLS": "on",
"provider": "ecs",
"apikey": "myapikey"
}
}
我当然不能只以纯文本形式发送我的 API_KEY。secretOptions
只是不适用于Datadog吗?任何帮助表示赞赏。