Logstash docker,如何停止将日志发送到标准输出

Logstash docker, how to stop send logs to stdout

如何停止向标准输出发送(使用环境变量)日志? 我将 log_level 更改为 WARN,是的,我不再有 INFO 日志,但我仍然收到这样的日志:

14:14:51 "namespace" => "AWS/ECS",
14:14:51 "period" => 300,14:14:51 "ServiceName" => "archive-logstash",
14:14:51 "@version" => "1",
14:14:51 "ClusterName" => "archive",
14:14:51 "minimum" => 0.4069010416666667,
14:14:51 "average" => 44.13362219887956,
14:14:51 "@timestamp" => 2020-03-30T14:14:42.420Z,
14:14:51 "aws_account" => "acc",
14:14:51 "maximum" => 71.2890625,
14:14:51 "sample_count" => 7.0,
14:14:51 "sum" => 308.9353553921569,
14:14:51 "unit" => "Percent",
14:14:51 "timestamp" => 2020-03-30T14:09:00.000Z,
14:14:51 "end_time" => 2020-03-30T14:14:39.000Z,
14:14:51 "metric_name" => "MemoryUtilization",
14:14:51 "start_time" => 2020-03-30T14:09:39.000Z

我不需要这些日志,因为 Logstash 将处于循环状态,将从该 cloudwatch 组读取连同来自 fargate 的其他日志,然后将其再次发送回 ELK。

而且这种日志格式完全不能用

我是 运行 AWS fargate 中的 Logstash

(我不确定所以我先问了评论,但 OP 说是这样)
您需要删除

stdout { codec => rubydebug }

output { .. }

您的翻译文件部分。

https://www.elastic.co/guide/en/logstash/current/docker-config.html#_custom_images

所以基本上,由于默认管道,日志会转到 stdout。您唯一需要做的就是删除此文件或重写它,例如添加 add

RUN rm -f /usr/share/logstash/pipeline/logstash.conf

到您的 Dockerfile