Итак, я создал рабочий процесс в apache nifi, который извлекает вложения csv из gmail и преобразует их в json. То, на чем я застрял, - это извлечение 3 значений (клиент, страна, пользовательский агент) из имеющегося у меня json и замена этих значений внутри другого json, который у меня будет использоваться для запуска предупреждений в другой программе. Я не уверен, какие процессоры будут использоваться для достижения этой цели. Любые советы будут с благодарностью.
Я попытался поиграться с атрибутами извлечения и JoltTransformJson, но я не могу заставить ни один из них работать так, как задумано.
Первый json, полученный при конвертировании CSV-файла:
{
"clientip" : "116.255.157.126",
"Country" : "China",
"host" : "teachinglaw-prod.uis.georgetown.edu",
"useragent" : "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1)",
"uri" : "//Config_Shell.php"
}
Второй json, который я написал, который должен иметь значения ("data", "message", "data"), обновленные первым json:
{
"title": "cat7-SQL Injection",
"description": "alert description",
"type": "Internal ",
"source": "Splunk ",
"sourceRef": "Splunk alert ",
"severity": 2,
"tlp": 2,
"artifacts": [{
"dataType": "ip",
"data": "176.121.14.180",
"message": "Belize",
"tags": ["SQL Injection"]
},
{
"dataType": "user - agent",
"data": "Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/1.0.154.53 Safari/525.19",
"tags": ["SQL Injection"]
}
],
"caseTemplate": "SQL Injection"
}
Мне нужно найти процессор (ы), который даст мне этот результат после слияния / замены значений:
{
"title": "cat7-SQL Injection",
"description": "alert description",
"type": "Internal ",
"source": "Splunk ",
"sourceRef": "Splunk alert ",
"severity": 2,
"tlp": 2,
"artifacts": [{
"dataType": "ip",
"data": "116.255.157.126",
"message": "China",
"tags": ["SQL Injection"]
},
{
"dataType": "user - agent",
"data": "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1)",
"tags": ["SQL Injection"]
}
],
"caseTemplate": "SQL Injection"
}