基于logstash中的模式匹配创建索引

时间:2015-07-07 19:28:55

标签: regex elasticsearch logstash logstash-grok

我正在尝试为组窗口和组件构建集中式日志记录系统。 linux服务器使用elasticsearch logstash和kibana。我的输入是来自系统(单输入流)的系统日志。我试图了解是否有方法使用grok并匹配模式然后基于将日志放入不同的索引(一个用于Windows日志,一个用于linux日志)

任何方向的帮助都将受到赞赏。

谢谢,

2 个答案:

答案 0 :(得分:0)

您可以根据日志来自哪个系统来分配'type',然后在输出中使用该类型。

以下是配置:

validInput = fieldwaitAfterAction.getText().length > 0
                &&  fieldwaitAfterAction.getText().matches("[0-9]+");

答案 1 :(得分:0)

当grok匹配时,你可以使用{}和add_field:

grok {
    matches => { "message", "foo %{WORD}" }
    add_field => { "send_to", "fooindex" }
}

或来自模式中的字段:

grok {
    matches => { "message", "foo %{WORD:send_to} bar" }
}

然后在输出中使用%{send_to}:

elasticsearch {
    index => "%{send_to}-YYYY.MM.dd"
}

请注意,如果索引未命名为“logstash- *”,则不会获得logstash提供的默认映射。