我从filebeat(7.3)向elasticsearch(目前使用7.3版本)发送了数据,日志是ndjson格式的。
数据的一部分格式为{"tagset": {"username": { "domain\\username": []}}
数组在所有情况下都是空的。
(“domain”和“username”是域中用户的实际域\用户名。这意味着,在这个意义上,“username”对于每个日志条目总是不同的。)
“domain\username”实际上是“username”键的值。但是它在这个数据集中被视为数组,因此在elasticsearch中被错误地索引。
我试图剥离数组的“域\用户名”,并使“域\用户名”的值“用户名”(或另一个字段的值,可以作出/设置)。
目前,我没有使用logstash,而是尝试使用elasticsearch管道来处理这个问题(尽管,使用logstash也不是完全不可能)。我尝试过使用grok
和其他方法来改变这个问题,但没有效果(也就是说,我可能做错了什么)。
提前感谢您的帮助。
1条答案
按热度按时间6qfn3psc1#
下面的方法解决了这个问题。看起来很混乱,可能不是最好的解决方法,但它很有效:
这将生成一个值,即用户名减去域名、斜杠和方括号。