Closed jamiehynds closed 1 year ago
Pinging @elastic/security-external-integrations (Team:Security-External Integrations)
I saw a similar kind of issue when fixing a problem with the Sophos XG integration (https://github.com/elastic/integrations/pull/2320#pullrequestreview-833536993). Both that case and here have a syntax that regular languages like kv are not powerful enough to express. I would be possible to write a stack-based parser to handle them, but ISTM that this is something that might want more generalised support in the ingest processors; when I looked while fixing the Sophos issue I could not find anything that would do the work.
We should simply rewrite the regex for the KV processor, it should be sufficient, in terms of the interface issues I will double check where it can be set twice.
Will add the lines provided by the customer to our test cases and update the ingest pipeline
Our Checkpoint integration experiences errors when indexing the events below. Log samples available on request.
1.
The
kv
processor is splitting fields based on the character:
, but in this case, the field is incorrectly splitted by:
in the HTML syntax (e.g.style='color:blue'
) of the description field. And the trailing.
in the wrongly splitted keyCPFC R80.30 R80_30_GOGO_JHF_MAIN - Installing...
was reflected as a JSON path separator. It seems that an additional process is needed before thekv
processor.The pipeline has a processor that renaming
checkpoint.action_reason
tocheckpoint.action_reason_msg
if theaction_reason
is a string. However, this processor was not properly running due to the pipeline has interrupted due tofield [observer.ingress.interface.name] already exists
error. We may need to addignore_failure: true
for each processor.subs_exp
is not listed in our field definition. We may need to add this.