【问题标题】:How to get Stdout from a service into logstash如何将 Stdout 从服务获取到 logstash
【发布时间】:2015-09-26 14:00:22
【问题描述】:

我知道这里有人问过类似的问题: How can I configure logtash to use "stdout" as input?,但我想稍微概括一下这个问题。

我当前配置的是 Linux VM 上的基本 ELK 堆栈(elasticSearch、logstash、kibana),我想将一些标准输出提供给 logstash,以便从文件系统中删除日志文件,从而不消耗磁盘空间。

例如,我如何从 Kibana 中提取标准输出,并将其直接输入 Logstash?

任何正确方向的指针将不胜感激。

【问题讨论】:

    标签: linux elasticsearch logstash elastic-stack


    【解决方案1】:

    这是个坏主意。如果您将 Kibana 的标准输出连接到 Logstash 的标准输入,如果您重新启动 Kibana,您将不得不重新启动 Logstash,反之亦然。此外,如果 Logstash 的管道被阻塞(例如,因为下游主机不可用),管道的缓冲区最终将填满,并且将其日志写入标准输出的进程将阻塞(如果它的日志记录是同步的;否则您只会看到日志消息丢弃在地板)。

    我建议您使用基于磁盘的日志记录,但要积极地轮换文件。

    【讨论】:

    • 我最终将我的 Kibana 标准输出重定向到了在 logstash 配置中指定的 tcp 服务器。重新启动 Kibana 本身时没有引起任何问题。我只是在修补尚未在生产中使用的堆栈。
    • 两年过去了,你还会推荐这个解决方案吗?您是否发现任何问题或瓶颈?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-20
    • 2018-01-04
    • 2014-03-26
    • 1970-01-01
    • 2013-08-10
    相关资源
    最近更新 更多