首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最终保单大小超过20480的限制-- AWS ELK

最终保单大小超过20480的限制-- AWS ELK
EN

Stack Overflow用户
提问于 2018-10-25 03:42:33
回答 2查看 2.7K关注 0票数 3

我的用例是将所有系统日志、应用程序日志和aws云跟踪日志流式传输到aws elasticsearch服务。

工作流程是

应用日志--> cloudwatch日志组-->默认lambda函数-->aws es

现在,我可以将40+日志组流式传输到es。在某个时间点之后,我尝试将更多的日志组流式传输到es,而此时我无法流式传输。我收到以下错误

“最终保单大小大于20480的限制”

如何增加策略大小

请在这方面帮帮我。

更新:

我的IAM角色内联策略

代码语言:javascript
复制
{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "logs:CreateLogGroup",
            "logs:CreateLogStream",
            "logs:PutLogEvents"
        ],
        "Resource": [
            "arn:aws:logs:*:*:*"
        ]
    },
    {
        "Effect": "Allow",
        "Action": "es:ESHttpPost",
        "Resource": "arn:aws:es:*:*:*"
    }
]

}

EN

回答 2

Stack Overflow用户

发布于 2019-08-28 04:06:17

您不能增加策略大小,但您可以删除旧的ELK lambda策略,并将其替换为通配符策略。这只能在AWS命令行上完成,自2019年8月起,AWS不会在web仪表板中显示此内容。

执行此操作的三个命令(将us-west-1替换为您所在的区域):

列出所有策略:

代码语言:javascript
复制
$ aws lambda get-policy --function-name <your-ELK-lambda-name> --region us-west-1

按语句ID删除单个策略-在下面添加通配符后,所有单个策略都将变为冗余,并且可以删除:

代码语言:javascript
复制
$ aws lambda remove-permission --function-name <your-ELK-lambda-name> --statement-id <statement-id> --region us-west-1

添加通配符策略:

代码语言:javascript
复制
$ aws lambda add-permission --function-name <your-ELK-lambda-name> --statement-id WildcardPolicy --action "lambda:InvokeFunction" --principal "logs.us-west-1.amazonaws.com" --source-arn "arn:aws:logs:us-west-1:<your-AWS-account-number>:log-group:*" --source-account "<your-AWS-account-number>" --region us-west-1

2个更多的问题-当你添加新日志时,它会不断添加策略,所以即使使用通配符策略,你也必须删除新的单个策略,因为它不够智能,不能不添加它们。此外,还有一个UI故障-这些新附加的日志将不会正确地显示在ELK Lambda网页上。但至少这将有助于突破保单大小的限制。

票数 3
EN

Stack Overflow用户

发布于 2018-10-29 04:14:15

您为CloudWatch指定的要使用的角色附加的策略太多。查看策略,并使用资源属性的多个资源对其进行整合。或者,您可以创建第二个角色。我推荐第一种方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52976805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档