【问题标题】:logstash stucks after run command运行命令后logstash卡住
【发布时间】:2015-05-06 14:11:06
【问题描述】:

我已经定义了这个配置文件

input {
  file {
    path => "C:\Users\Jack\Desktop\logsatash_practice"
    type => "txt"
  }
}


output {
  file {
    path => "C:\Users\Jack\Desktop\logsatash_practice\op"
  }
}

并通过 cmd 运行“logstash agent -f local_config.conf”命令。

之后我收到一条消息,然后超过 1 小时没有发生任何事情。

打印的消息: "C:\Users\Jack\Desktop\logstash-1.4.2\bin>logstash 代理 -f local_config.conf ←[33m使用里程碑2输入插件'文件'。这个插件应该是稳定的,但是如果 你看到奇怪的行为,请告诉我们!有关插件 mi 的更多信息 lestones,见http://logstash.net/docs/1.4.2/plugin-milestones {:level=>:warn}←[ 0米 ←[33m使用里程碑2输出插件'文件'。这个插件应该是稳定的,但我 如果您看到奇怪的行为,请告诉我们!有关插件 m 的更多信息 ilestones,见http://logstash.net/docs/1.4.2/plugin-milestones {:level=>:warn}← [0米”

可以肯定的是,我确认配置文件存在于我在配置文件中定义的路径中。

有什么想法吗?

【问题讨论】:

    标签: elasticsearch logstash


    【解决方案1】:

    Logstash 第一次看到文件时,其行为取决于您设置的start_position。您似乎期望它将从文件的beginning 读取,但默认行为是从end 开始。

    所以,你可能想要:

      file {
        path => "C:\Users\Jack\Desktop\logsatash_practice"
        type => "txt"
        start_position => "beginning"
      }
    

    但是,每次 Logstash 看到一个文件时,它都会用 sincedb 条目标记它的进度。现在 Logstash 已经查看过您的文件一次,它不会再将其视为“新”文件。如果您删除该条目并重新启动 Logstash,它将忘记它已经看到了该文件。

    sincedb 数据保存在文件中。您可以为它们指定路径,但默认设置会将它们保留在您的主目录中。

    如果您只是在练习并且不关心您的数据,您可以简单地删除所有数据。

    如果您确实要小心,可以使用 -v 运行 Logstash 以打印出每个 sincedb 路径,并找到您需要删除的特定文件。

    【讨论】:

    • 我发现重新处理现有数据并避免sincedb问题的最简单方法是使用stdin input。
    • 我已经进行了这些调整,但没有任何变化。有没有可能是我的规范文件或其他东西?
    • @Gck 我会确保它找到任何要读取的文件。 logsatash_practice 是文件吗?如果是目录,则可能需要通配符才能在该目录中查找文件,例如logsatash_practice/*.txt
    • 终于成功了。肯定是配置文件有问题。谢谢!
    猜你喜欢
    • 2022-08-07
    • 2020-12-13
    • 2023-03-03
    • 1970-01-01
    • 2016-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-01
    相关资源
    最近更新 更多