gpt4 book ai didi

logstash - 如何让Logstash消费自己的日志

转载 作者:行者123 更新时间:2023-12-02 08:32:06 26 4
gpt4 key购买 nike

基本上,我希望 LogStash 使用自己的日志并填充字段,例如 @timestamplevel 等,以便在 Kibana 中使用。

我当前的配置如下所示:

input {
file {
path => "/path/to/logstash/logs/*.log"
type => "logstash"
}
}

这似乎很难做到——如果不回过头来编写 Grok 过滤器。 LogStash 真的不能消费自己的日志吗? (很难谷歌,我找不到任何东西。)

或者这从一开始就是错误的方法?

LogStash 的示例日志输出:

{
:timestamp=>"2014-09-02T10:38:08.798000+0200",
:message=>"Using milestone 2 input plugin 'file'. This plugin should be stable, but if you see strange behavior, please let us know! For more information on plugin milestones, see http://logstash.net/docs/1.4.2/plugin-milestones",
:level=>:warn
}

最佳答案

你必须求助于使用 grok因为 logstash 无法使用 rubydebug作为输入编解码器。

日志采用固定格式,因此 grok这样做很简单。然后我们使用 date替换 @timestamp

filter {
grok {
match => ["message", '{:timestamp=>"(?<timestamp>.*)", :message=>"(?<msg>.*)", :level=>:(?<level>.*)}']
}
mutate {
replace => ["message", "%{msg}" ]
remove_field => msg
}
date {
match => [ "timestamp", "ISO8601" ]
remove_field => 'timestamp'
}
}

mutate需要步骤,因为如果您只输入 <message>进入比赛,它会变成message放入一个数组并将提取的消息添加到它,因此捕获为不同的名称然后替换消息。

关于logstash - 如何让Logstash消费自己的日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25619653/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com