I am trying to filter some e-mails in logstash before sending it to ES.
I have one field still containing e-mail adresses and can't gsub it by mutate filter.
mutate {
gsub => [
"log", "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}", "--- FILTERED FROM LOGS ---",
"message", "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}", "--- FILTERED FROM LOGS ---"
]
}
JSON:
{
"_index": "logs-2021.03.09.11",
"_type": "doc",
"_id": "sdfsdf",
"_version": 1,
"_score": null,
"_source": {
"source": "stderr",
"@timestamp": "2021-03-09T11:39:38.413Z",
"kubernetes": {
"namespace": "sdfsdk",
"labels": {
"pod-template-hash": "sdfsdf",
"app": {
"softwear": {
"co/name": "sdfsd",
"co/domain": "sdfsdf"
}
},
"log": {
"extra_fields": {
"ctxt_response": "{\"records_id\":[{\"ext_id\":\"sdfsdf\",\"fcc_id\":sdfsdfsd,\"external_id\":\"sdfsdf\"}],\"success\":true}",
"requestDevice": "\"\"",
"ctxt_request": "{\"hash\":\"56kdfhsdfjshdkf\",\"change\":\"sdsd\",\"campaigns_id\":114,\"method\":\"sha1\",\"login\":\"test\",\"records\":[{\"emails\":[\"[email protected]\"],\"external_id\":\"sdsdK\"}]}",
"ctxt_response_code": "200"
},
How can I get nested field and gsub it? [log][extra_fields][ctxt_request]