[英]how to add bytes, session and source parameter in kibana to visualise suricata logs?
我使用 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系统日志/
(我还在上面的参考链接中配置了logstash)
我正在获取 Kibana 中的所有列发现(如 rsyslog 的 json-template 中所述),但我还需要字节、session 和 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 的可用字段中添加字节、session 和源代码。 我需要这些参数来进一步深入 Kibana。
编辑:我添加了我的“/var/log/suricata/eve.json”的样子(我需要在 Kibana 中可视化。)
对于字节,我将使用 (bytes_toserver+bytes_toclient) 这是一个可用的内部流。 Session 我需要计算。 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 模块。
在 Logstash 的filter
配置部分:
filter {
json {
source => "message"
# you probably don't need the "message" field if it parses OK
#remove_field => "message"
}
}
[编辑:添加 JSON 解析]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.