Nevermind! I think I got it :-)
log {
source {
file('/var/log/audit/audit.log' flags(no-parse));
};
parser {
linux-audit-parser(prefix(".auditd."));
};
parser {
grouping-by(
key("${.auditd.msg}")
aggregate(
value(".auditd.test" "#########TEST")
)
timeout(10)
);
};
destination {
file('/tmp/test.json' template("$(format-json .auditd.exe .auditd.cwd .auditd.a* .auditd.test .auditd.success .auditd.pid .auditd.msg)\n"));
};
};
This seems to work as now result looks like this:
{
"_auditd": {
"test": "#########TEST",
"success": "yes",
"pid": "57483",
"msg": "audit(1604412718.657:211575):",
"exe": "/usr/bin/jq",
"cwd": "/etc/syslog-ng/conf.d",
"auid": "1000",
"argc": "1",
"arch": "c000003e",
"a3": "fffffffffffff878",
"a2": "564235a17dd0",
"a1": "564235a20680",
"a0": "jq"
}
}
If you have any improvements ideas please let me know.
Thanks!
Maciej