[cloudflare_logpush] Ingest Pipeline Improvments#19163
Conversation
…tiple data streams (#18685) Enhancements: - Bump ECS version to `git@v9.3.0` and `format_version` to `3.3.2`. - Replace deprecated `agent.yml` with `beats.yml` and use `external: ecs` in `base-fields.yml` across all 21 data streams. - Add new fields with corresponding ingest pipeline processors: - `device_posture` (RegistrationID) - `firewall_event` (FraudUserID) - `gateway_dns` (12 fields including InternalDNS*, QueryApplication*, RequestContext*) - `gateway_http` (AppControlInfo, ApplicationStatuses, RedirectTargetURI, RegistrationID) - `gateway_network` (RegistrationID) - `http_request` (11 fields including Fraud*, WebAssets*, WorkerScriptName) - `network_analytics` (DNSQueryName, DNSQueryType, PFPCustomTag) - `network_session` (InitialOriginIP, RegistrationID, ResolvedFQDN, SNI) - `workers_trace` (CPUTimeMs, WallTimeMs)
…d use of dissect processors (#18952) - Replace `rename` with typed `convert` processors for `ip`, `long`, and `boolean` fields. This validates values against `fields.yml` mappings and prevents off-type indexing. - Replace `grok` with `dissect` for simple delimiter-based patterns.
Run `elastic-package modify -m pipeline-tag` to add a tag key to each processor.
…latest null-removal script (#19003) - Standardize the `error.message` format and implement the latest null-removal script; additionally, add `on_failure` handlers to all script processors. - Remove `ignore_failure: true` from JSON processors and append processors for `related.*` fields. - Utilize custom fields instead of standard ECS fields within the `related.*` append processors to improve maintainability and consistency. - Apply `ignore_empty_value: true` and `ignore_missing: true` across processors, and refine `if` conditions to ensure the ingest pipeline is fully null-safe.
…streams (#19085) Factor the string-to-number conversion out of each data stream's Painless timestamp script into a preceding convert processor. This leaves the script responsible only for magnitude adjustment (nanoseconds to milliseconds or seconds to milliseconds) and lets it assume its input is already numeric. The previous script performed type checking, string parsing, and magnitude adjustment in a single try/catch block that silently swallowed all exceptions. With the conversion handled by a separate processor, the script's on_failure handler now surfaces errors properly via error.message.
TL;DRBuildkite failed before any test/build steps because the PR head could not be auto-merged with Remediation
Investigation detailsRoot CauseThe failing step is Evidence
Verification
Follow-upOnce conflicts are resolved, CI should advance past pipeline upload and run the normal package checks. What is this? | From workflow: PR Buildkite Detective Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not. |
💔 Build Failed
Failed CI StepsHistory
|
|
Whenever we push large changes to However, when the For now, our workaround is to create an unprotected branch from the cc: @kcreddy |
Proposed commit message
Checklist
changelog.ymlfile.How to test this PR locally
Related issues