I'm sorry to ask this honestly.. normally I'm a decently smart fella.. but I can't seem to grasp this. I have some JSON coming that I need to split into individual documents.
{
"lan": {
"inkbps": 756.2703471377937,
"outkbps": 16469.254210648105,
"interface": "em1"
},
"wan": {
"inkbps": 12432.741640620181,
"outkbps": 613.0682382407641,
"interface": "pppoe0",
"friendlyiface": "wan",
"name": "internet_pppoe",
"status": "okay",
"monitorip": "8.8.8.8",
"sourceip": "17.1.1.1",
"delay": "53.561ms",
"loss": "1%"
},
"opt2": {
"inkbps": 33.28968847276036,
"outkbps": 26.285475058869885,
"interface": "ovpnc2",
"friendlyiface": "opt2",
"name": "pia_vpn_vpnv4",
"status": "okay",
"monitorip": "10.17.1.1",
"sourceip": "10.17.1.2",
"delay": "",
"loss": ""
}
}
It seems pretty simple based on all the examples I've found on this site and others.. and here's what I've ended up with..
filter
{
if [log_type] == "edge_utilization"
{
json
{
source => "[messages]"
}
split
{
field => "[messages]"
}
}
}
Which then just throws _grokparsefailure, _split_type_failure
I've tried a bunch of different iterations, based on suggestions and articles I've found.. but even if I get the tags to go away, it still never splits the nodes into individual documents.