简体   繁体   中英

Logstash docker, how to stop send logs to stdout

How to stop sending (using env variables) logs to the stdout? I changed log_level to WARN, and yes I don't have INFO logs anymore, but I still receiving logs like this:

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

I don't need these logs, because Logstash will be in loop, will reading from that cloudwatch group together with other logs from fargate, an send it back again to the ELK.

Also this log format is totally unusable

I'm running Logstash in AWS fargate

(I wasn't sure so I first asked with a comment, but OP said this was the case)
You need to remove

stdout { codec => rubydebug }

in the

output { .. }

section of your translation file.

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

So basically the logs go to stdout because of the default pipeline. The only thing you need to do is to remove this file of rewrite it, ie add for example add "RUN rm -f /usr/share/logstash/pipeline/logstash.conf" to your Dockerfile

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM