Удалить свойство из Splunk события json

#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": .*//