我在Windows 10机器上安装了ELK堆栈。我使用log4net将日志推送到logstash-> elasticsearch。日志数据显示在Kibana中,一切正常。我的logstach配置是:
input {
udp {
port => 5960
codec => multiline {
charset => "UTF-8"
pattern => "^(DEBUG|WARN|ERROR|INFO|FATAL)"
negate => true
what => previous
}
type => "log4net"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "myindex"
}
}
当我尝试搜索消息文本中存在的关键字时(使用搜索输入并将日期设置为3个月前),我得到:
"No results match your search criteria"
注意:如果我在logstash配置中使用:stdin {}而不是udp {},我可以搜索任何关键字。
我将堆栈重新安装在另一台计算机上,并且发生了相同的问题。
有什么建议么?
最佳答案
我找到了解决方案:
问题是来自log4net的编码数据。因此,您需要为udp附加程序设置log4net配置文件,如下所示:
<appender name="UdpAppender" type="log4net.Appender.UdpAppender">
<remoteAddress value="127.0.0.1" />
<remotePort value="5960" />
<encoding value="UTF-8" />
<layout type="log4net.Layout.PatternLayout, log4net">
<conversionPattern value="%-5level %date [%-5.5thread] %-40.40logger - %message%newline" />
</layout>
关于elasticsearch - 搜索特定关键字时,在Kibana中没有搜索结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60367566/