elasticsearch-dsl,Kibana,Elastic Stack,Logstash Grok,Filebeat,elasticsearch Dsl" /> elasticsearch-dsl,Kibana,Elastic Stack,Logstash Grok,Filebeat,elasticsearch Dsl" />

如何在Kibana中显示之前处理和标记日志数据,使用filebeat记录转发

如何在Kibana中显示之前处理和标记日志数据,使用filebeat记录转发,kibana,elastic-stack,logstash-grok,filebeat,elasticsearch-dsl,Kibana,Elastic Stack,Logstash Grok,Filebeat,elasticsearch Dsl,我在学麋鹿。我在一台主机上安装了Filebeat,该主机将日志转发到另一台服务器上的logstash,该服务器将日志转发到elasticsearch filebeat转发的日志是/var/log/messages和/var/log/sa/* /var/log/*.log,/var/log/sample/access.log 当我看到kibana中的消息时,源是日志的文件名,但是整个消息都在一个字段“message”中,但是我想以单独的标签显示每个日志数据字段,就像在访问日志中一样,我们得到很多字

我在学麋鹿。我在一台主机上安装了Filebeat,该主机将日志转发到另一台服务器上的logstash,该服务器将日志转发到elasticsearch

filebeat转发的日志是/var/log/messages和/var/log/sa/* /var/log/*.log,/var/log/sample/access.log

当我看到kibana中的消息时,源是日志的文件名,但是整个消息都在一个字段“message”中,但是我想以单独的标签显示每个日志数据字段,就像在访问日志中一样,我们得到很多字段,如:源IP、响应代码、所用时间、字节大小等。。所以每个人都应该得到不同变量名的标签,这样就可以很容易地用timelion中的变量名生成图形

在Kibana中是否有一种类似splunk的方法,我在任何字段值上使用正则表达式,并使用其中的数据创建变量,然后使用该变量生成图形

提前感谢您的回复


谢谢你的回复

编辑: 我尝试了以下sar平均负载模式

filter {
if [source] == "sarLoadLog.log" {
      grok {
        match => { "message" => %{GREEDYDATA:time_12} %{NUMBER:runqsz} %{NUMBER:plistsz} %{NUMBER:ldavg1} %{NUMBER:ldavg5} %{NUMBER:ldavg15} %{NUMBER:blocked} }
      }
    }
}
但它不工作,我尝试了grok调试器,它在那里工作

以下是这方面的数据

05:36:01 PM         3       300      0.00      0.02      0.05         0

您可以使用logstash实现预期结果,因为您已经在设置中配置了logstash

您需要在logstash中配置过滤器插件,将日志解析为各个字段,以便能够在这些字段上进行聚合和可视化。请参阅以下链接开始:

具体来看下面的过滤器插件


谢谢回复谢谢回复,我在logstash的filter.conf中配置了以下模式,它开始填充字段中的值。但是如果[source]{grok{match=>{“message”=>“%{greedyddata:load_time}\s*%{NUMBER:kbmemfree}\s*%{NUMBER:kbmemused}\s*{NUMBER:kbmemused}\s*%{NUMBER:memused}\s*{NUMBER:kbbuffers}\s*%{NUMBER:kbcached}\s*%{NUMBER:kbcached}\s*{NUMBER:kbmemused}\s*{NUMBER:commit}\s*%{NUMBER:kbmemused}\s*{{NUMBER:kbdirty}\s*“}}}}映射中的字段是否设置为index:false?在grok模式工作的下面,较早的空格导致grok模式失败grok{match=>{“message”=>“%{greedydydata:load\u time}\s*%{NUMBER:kbmemfree}\s*%{NUMBER:kbmemused}\s*{NUMBER:memused}\s*{NUMBER:kbmemused}\s*%{NUMBER:kbbuffers}\s*%{NUMBER:kbcached}\s*%{NUMBER:kbcommit}\s*%{NUMBER:commit}\s*%{NUMBER:kbactive}\s*%{NUMBER:kbinact}\s*%{NUMBER:kbdirty}\s*“}也许您也可以尝试使用过滤器插件csv并选择作为分隔符“”,唯一的事情是……您需要在之后重命名字段