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

Posted

技术标签:

【中文标题】Logstash docker,如何停止将日志发送到标准输出【英文标题】:Logstash docker, how to stop send logs to stdout 【发布时间】:2020-07-10 22:55:13 【问题描述】:

如何停止向标准输出发送(使用环境变量)日志? 我将 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

【问题讨论】:

您的 logstash 管道配置是什么?这些不是来自 Logstash 的日志,而是来自管道的输出,您似乎将一些输出配置为 stdout 我正在使用默认的 logstash.conf 文件。在 docker 文件中,我只是安装了几个插件和 aws-cli。然后docker入口点从S3存储桶aws s3 cp s3://%s/%s.conf /usr/share/logstash/pipeline/logstash.conf && /usr/local/bin/docker-entrypoint下载logstash.conf,只有我传入的环境是XPACK_MONITORING_ENABLED=false。但我现在将看看如何处理管道日志。谢谢 您的翻译文件的output .. 部分是否有类似stdout codec => rubydebug 的内容? @WalterA 你是对的。我忘记了(捂脸)。谢谢 【参考方案1】:

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

因此,由于默认管道,基本上日志会进入标准输出。您唯一需要做的就是删除这个文件并重写它,即添加例如添加

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

到你的 Dockerfile

【讨论】:

【参考方案2】:

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

stdout  codec => rubydebug 

output  .. 

翻译文件的一部分。

【讨论】:

请更正,以便我将其标记为最佳答案。我不需要 ruby​​debug,我已经有了它,因为所有日志都被定向到标准输出。所以我需要 删除它。

以上是关于Logstash docker,如何停止将日志发送到标准输出的主要内容,如果未能解决你的问题,请参考以下文章

json 如何配置Docker将日志传送到logstash

通过配置日志驱动程序将 Docker 容器日志发送到 ELK Stack - 简单方法

用docker 安装 FilebeatLogstashKibana是什么体验

用docker 安装 FilebeatLogstashKibana是什么体验

ELK 处理来自多个 docker 镜像的多行日志

使用 Filebeat 和 Logstash 记录 Docker 应用程序