AWS CLI 日志过滤模式排除

4
我正试图获取在AWS中运行的应用程序的日志,同时排除包含特定短语的日志:
aws logs filter-log-events --log-group-name $MY_LOG_GROUP --filter-pattern -"dont want"

上面的方法可以正常工作。但是,如果我尝试使用以下代码:
aws logs filter-log-events --log-group-name $MY_LOG_GROUP --filter-pattern -"dontwant"

I get:

aws: error: argument --filter-pattern: expected one argument

我认为我的shell将其解析为一个额外的标志,而不是--filter-pattern的参数。所以,第一个问题是:我如何强制aws cli将其视为参数?

如果我改为尝试:

aws logs filter-log-events --log-group-name "$MY_LOG_GROUP" --filter-pattern -"GET /healthcheck"

我理解为:

An error occurred (InvalidParameterException) when calling the FilterLogEvents operation: Invalid filter pattern

第二个问题:这里出了什么问题?我该如何修复它?
1个回答

7
试试这个替代方案:
aws logs filter-log-events --log-group-name $MY_LOG_GROUP --filter-pattern=-"dont want"

aws cli也支持<option>=<value>语法。看起来这已经是一个问题有一段时间了awhile

至于第二个例子,斜杠会引起问题,但我认为这个方法可以解决它,因此它不会尝试解释斜杠;这也是一个问题awhile

aws logs filter-log-events --log-group-name "$MY_LOG_GROUP" --filter-pattern='-"GET /healthcheck"'

第二个命令对我起作用。 我一直尝试其他方法都没有成功,所以这真是救星!谢谢! - Noah Gary

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接