标签: firelens

Fargate container_definition 字段“secretOptions”未将 datadog API_KEY 传递给 logConfiguration

我正在尝试将我的 ECS Fargate 日志发送到 Datadog。为此,我需要将 Datadog API_KEY 作为logConfiguration对象中的字段传递。我需要保护我的 API_KEY,因此我通过secretOptions以下密钥使用 AWS Secrets ManagerlogConfiguration使用 AWS Secrets Manager 。

我正在按照此处列出的 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"
                }]
}
Run Code Online (Sandbox Code Playgroud)

如果我取出secretOptions并以纯文本形式添加 apikey,日志将显示在 datadog 控制台上:

"logConfiguration": {
   "logDriver": "awsfirelens",
   "options": …
Run Code Online (Sandbox Code Playgroud)

datadog terraform aws-fargate aws-secrets-manager firelens

5
推荐指数
1
解决办法
740
查看次数

Awslogs 日志驱动程序与 AWS Firelens - 使用哪一种、何时使用以及成本因素

我计划将我们的应用程序迁移到 AWS Fargate,因此也想为其设置日志记录并将所有日志存储在 cloudwatch 中。我可以看到 Fargate 中有两个选项 - 要么使用默认awslogs日志驱动程序,要么用于AWS Firelens收集日志。我阅读了 AWS 文档,但不幸的是仍然无法弄清楚要使用哪个选项以及何时使用。另外,有人还可以就成本方面提出建议吗?使用 awslogs 驱动程序与 aws firelens 将日志发送到同一帐户中的 cloudwatch 之间,哪个选项的成本是多少?[我正在寻找简单、高效且具有成本效益的选择]

公平地说,当您想要将日志数据发送到非AWS工具(例如elastic stack或datadog等)时,我们使用AWS Firelnes,当您将日志发送到cloudwatch时,我们使用awslogs驱动程序
有人可以建议吗?

logging amazon-web-services amazon-ecs aws-fargate firelens

2
推荐指数
1
解决办法
1902
查看次数