#json #events #filter #splunk
Вопрос:
У меня есть события JSON-события в splunk, но одну из ключевых пар/свойств я хотел бы удалить.
Напр.:
Снизу JSON я хочу удалить «страну»: «Алжир» из каждого события, которое произойдет. Это возможно? Я пробовал что-то подобное в своем файле props.conf, но безуспешно.
[k8s]
INDEXED_EXTRACTIONS=JSON
TRUNCATE = 200000
SEDCMD-remove=/"country": ".*/g
{
"random": 23,
"random float": 28.173,
"bool": false,
"date": "1990-08-31",
"regEx": "helloooooooooooooooooooooooooooooooooooooooooooooooooo world",
"enum": "generator",
"firstname": "Latisha",
"lastname": "Alexandr",
"city": "Tiraspol",
"country": "Algeria",
"countryCode": "MC",
"email uses current data": "Latisha.Alexandr@gmail.com",
"email from expression": "Latisha.Alexandr@yopmail.com",
"array": [
"Dyann",
"Christal",
"Renie",
"Tilly",
"Margette"
],
"array of objects": [
{
"index": 0,
"index start at 5": 5
},
{
"index": 1,
"index start at 5": 6
},
{
"index": 2,
"index start at 5": 7
}
],
"Raquela": {
"age": 50
}
}
Ответ №1:
У вас есть правильная идея, но SEDCMD
она неверна. Попробуйте это в своем реквизите.conf
SEDCMD-noAlgeria = s/"country": "Algeria",//
Комментарии:
1. Это работает! Большое вам спасибо! Мне не нужна ни одна страна или весь этот КВ. Я буду с этим спорить, но теперь я знаю, что это работает. Спасибо
2. @Jakub
=/search/
соответствует строке поиска, но ничего не делает с совпадением, но=/search/replace/
заменяет соответствующую строку поиска заменой=s/"country": "Algeria",//
, поэтому"country": "Algeria",
заменяет ничем. Если вы хотите заменить каждую строку, содержащую страну, ничем, попробуйте=s/"country": "[^"]*",//
или=s/"country": .*//