如何在kibana中添加字节、会话和源参数来可视化suricata日志



我使用rsyslog将所有日志(此处为suricata日志(重定向到logstash。我使用rsyslog的模板如下:

template(name="json-template"
type="list") {
constant(value="{")
constant(value=""@timestamp":"")     property(name="timereported" dateFormat="rfc3339")
constant(value="","@version":"1")
constant(value="","message":"")     property(name="msg" format="json")
constant(value="","sysloghost":"")  property(name="hostname")
constant(value="","severity":"")    property(name="syslogseverity-text")
constant(value="","facility":"")    property(name="syslogfacility-text")
constant(value="","programname":"") property(name="programname")
constant(value="","procid":"")      property(name="procid")
constant(value=""}n")
}

对于每个传入的消息,rsyslog都会将日志属性插入JSON格式的消息中,并将其转发到Logstash,监听端口10514。参考链接:https://devconnected.com/monitoring-linux-logs-with-kibana-and-rsyslog/

(我也配置了上面参考链接中提到的logstash(

我得到了Kibana discover中的所有列(如rsyslog的json模板中所述(,但我也需要Kibana中的字节、会话和源列,但我在这里没有得到。我在这里附上了我在Kibana上得到的专栏的快照

Kibana上的可用字段(或列(为:

@timestamp
t @version
t _type
t facility
t host
t message
t procid
t programname
t sysloghost
t _type
t _id
t _index
# _score
t severity

请让我知道如何在Kibana的可用字段中添加字节、会话和源代码。我需要这些参数来进一步深入基巴纳。

编辑:我添加了我的"/var/log/suricata/ev.json";看起来像(我需要在Kibana中可视化。(

对于字节,我将使用(bytes_toserver+bytes_toclient(,这是一个可用的内部流。会话我需要计算。Source_IP我将用作源。

{"timestamp":"2020-05 04T14:16:55.000200+0530","flow_id":133378948976827,"event_type":"flow","src_ip":"0000:0000:0000:0000:0000:0000:0000:0000","dest_ip":"ff02:0000:0000:0000:0000:0001:ffe0:13f4","proto":"IPv6-ICMP","icmp_type":135,"icmp_code":0,"flow":{"pkts_toserver":1,"pkts_toclient":0,"bytes_toserver":87,"bytes_toclient":0,"start":"2020-05-04T14:16:23.184507+0530","end":"2020-05-04T14:16:23.184507+0530","age":0,"state":"new","reason":"timeout","alerted":false}}

直接回答

详细阅读grok文档。

然后带着一些示例日志前往grok调试器,找出表达式。(现在Kibana的开发工具中也内置了grok调试器(

这个grok模式列表也可能派上用场。

更好的方法

使用Suricata的JSON日志而不是syslog格式,并使用Filebeat而不是rsyslog。Filebeat有一个开箱即用的Suricata模块。

边栏:解析JSON日志

在Logstash的filter配置部分:

filter {
json {
source => "message"
# you probably don't need the "message" field if it parses OK
#remove_field => "message"
}
}

【编辑:添加JSON解析】

相关内容

  • 没有找到相关文章

最新更新