ssi: add processor tags and preserve_original_event on failure (4/4) - #20575
Conversation
Add unique tags to every ingest pipeline processor and add `preserve_original_event` to pipeline-level `on_failure` handlers for the 15 GA packages owned by elastic/security-service-integrations. This is the final group of four PRs standardising all SSI-owned ingest pipelines. Updates elastic#20558 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
✅ Elastic Docs Style Checker (Vale)No issues found on modified lines! The Vale linter checks documentation changes against the Elastic Docs style guide. To use Vale locally or report issues, refer to Elastic style guide for Vale. |
Update the link field in each new changelog entry from the tracking issue to the merged pull request. Updates elastic#20558
🚀 Benchmarks reportTo see the full report comment with |
|
Pinging @elastic/security-service-integrations (Team:Security-Service Integrations) |
efd6
left a comment
There was a problem hiding this comment.
There are valid Vera comments that should be addressed.
I have additional queries:
- Some tags lack the content hash. Why is this?
- All the changes have at least
type: enhancement, but all bump patch. We should be bumping minor.
Tag every ingest pipeline processor across the 15 SSI-owned packages in
this final batch with a `<name>_<content hash>` identifier, so that
failure telemetry can attribute an error to the step that produced it
rather than collapsing same-type processors into one bucket. All 3725
processors across the 42 pipeline files now carry a tag, including
those nested inside `on_failure` handlers and `foreach` bodies, and
those in the pipeline-level `on_failure` block.
The hash is taken over the processor's content together with every
processor enclosing it, with `tag` keys stripped. This makes uniqueness
mechanical rather than positional, which matters: an earlier revision
of this PR kept the plain name on whichever duplicate came first, and
that handed `set_event_start_from_device_first_seen` to a processor
setting `host.type`, `set_host_hostname_from_health_appliance_host` to
one setting `host.name`, and `vul_id_is_long` to the script converting
`qid`. Position is the wrong tiebreaker when the pre-existing duplicate
name is wrong for one of the processors. Hashing over the enclosing
chain also gives identical constructs the same identity in every
package, so a single query aggregates failures for one step across the
whole estate; the hash carries that identity, the readable prefix is
for humans.
Add preserve_original_event to pipeline-level on_failure handlers that
were missing it, ensuring the raw payload is retained when a pipeline
error document is indexed.
Three fixes ride along, each recorded in the affected package's
changelog:
- withsecure_elements: the pipeline-level `on_failure` handlers set
`error.message` instead of appending to it, discarding anything the
processor-level handlers had already recorded.
- extrahop: the `participants.id` `on_failure` handler removed the
unrelated `object_id` field. Present since the package's initial
release, but unreachable, as `convert` to `string` cannot fail.
- swimlane: a duplicated no-op `rename` of
`swimlane.audit_log.category` is removed rather than given a
disambiguating tag.
These are enhancements, so the packages take a minor version bump.
Updates elastic#20558
@efd6, all comments addressed in f100baa.
Originally, I used the |
|
✅ All changelog entries have the correct PR link. |
|
🟢 No issues across the latest commits a03734e. Review summaryIssues found across earlier commits 017d84c — 1 high
Issues found across earlier commits f100baa — 5 low
Issues found across earlier commits 5315c70 — 3 medium, 4 low
🤖 AI-Generated Review | Vera Review Bot - v0.2.6 | 📚 Knowledge base: integration-skills
|
💚 Build Succeeded
History
cc @kcreddy |
|
Tick the box to add this pull request to the merge queue (same as
|
|
Package airlock_digital - 0.6.0 containing this change is available at https://epr.elastic.co/package/airlock_digital/0.6.0/ |
|
Package armis - 0.7.0 containing this change is available at https://epr.elastic.co/package/armis/0.7.0/ |
|
Package bitsight - 0.5.0 containing this change is available at https://epr.elastic.co/package/bitsight/0.5.0/ |
|
Package cyera - 0.11.0 containing this change is available at https://epr.elastic.co/package/cyera/0.11.0/ |
|
Package entro - 0.5.0 containing this change is available at https://epr.elastic.co/package/entro/0.5.0/ |
|
Package extrahop - 0.4.0 containing this change is available at https://epr.elastic.co/package/extrahop/0.4.0/ |
|
Package neon_cyber - 0.3.0 containing this change is available at https://epr.elastic.co/package/neon_cyber/0.3.0/ |
|
Package nozomi_networks - 0.4.0 containing this change is available at https://epr.elastic.co/package/nozomi_networks/0.4.0/ |
|
Package qualys_gav - 0.10.0 containing this change is available at https://epr.elastic.co/package/qualys_gav/0.10.0/ |
|
Package qualys_was - 0.6.0 containing this change is available at https://epr.elastic.co/package/qualys_was/0.6.0/ |
|
Package swimlane - 0.6.0 containing this change is available at https://epr.elastic.co/package/swimlane/0.6.0/ |
|
Package ti_cyware_intel_exchange - 0.5.0 containing this change is available at https://epr.elastic.co/package/ti_cyware_intel_exchange/0.5.0/ |
|
Package ti_greynoise - 0.10.0 containing this change is available at https://epr.elastic.co/package/ti_greynoise/0.10.0/ |
|
Package vectra_rux - 0.6.0 containing this change is available at https://epr.elastic.co/package/vectra_rux/0.6.0/ |
|
Package withsecure_elements - 0.4.0 containing this change is available at https://epr.elastic.co/package/withsecure_elements/0.4.0/ |
Proposed commit message
Checklist
changelog.ymlfile.Related issues