Skip to content

Document Splunk HEC metadata and raw endpoint support#278

Merged
mavam merged 2 commits intotopic/new-executorfrom
topic/to-splunk-improvements
Apr 28, 2026
Merged

Document Splunk HEC metadata and raw endpoint support#278
mavam merged 2 commits intotopic/new-executorfrom
topic/to-splunk-improvements

Conversation

@mavam
Copy link
Copy Markdown
Member

@mavam mavam commented Apr 24, 2026

🔍 Problem

  • The to_splunk reference did not cover the new HEC metadata options or raw endpoint mode from the code PR.
  • Users needed examples for setting Splunk _time, indexed HEC fields, and raw event ingestion.
  • The documented raw-mode UX needed to match the final raw=... API instead of the earlier endpoint-selector draft.

🛠️ Solution

  • Update the to_splunk signature and option descriptions for event, raw, time, and fields.
  • Document that event envelopes are the default, event=... selects the envelope payload, and raw=<string> selects raw HEC mode.
  • Document that event=... and raw=... are mutually exclusive.
  • Document raw request-level metadata, metadata-based raw flushes, and that fields is not supported with raw=....
  • Add examples for event time, indexed fields, and raw event ingestion.

💬 Review

🛠️ Code PR: tenzir/tenzir#6074
🧩 Plugin PR: tenzir/tenzir-plugins#520
🎫 References TNZ-517, TNZ-518, TNZ-519

Update the to_splunk reference with the neo event metadata options, raw endpoint behavior, and examples for time, fields, and raw events.
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 24, 2026

📦 Preview  ·  View →  ·  ⚪ Removed

Update the to_splunk reference to describe raw HEC mode through the mutually exclusive raw expression instead of the removed endpoint option.
Comment thread src/content/docs/reference/operators/to_splunk.mdx
@mavam mavam changed the base branch from main to topic/new-executor April 28, 2026 10:10
@mavam mavam merged commit 58961a5 into topic/new-executor Apr 28, 2026
7 checks passed
@mavam mavam deleted the topic/to-splunk-improvements branch April 28, 2026 10:13
mavam added a commit to tenzir/tenzir that referenced this pull request Apr 28, 2026
## 🔍 Problem

- The neo `to_splunk` path could only send HEC event envelopes.
- Users could not set HEC `_time`, attach indexed HEC fields, or send
already-formatted log text to Splunk's raw HEC endpoint.
- Raw HEC metadata is request-level, so batching has to respect metadata
changes.
- The legacy `to_splunk` implementation should remain untouched.

## 🛠️ Solution

- Add neo `to_splunk` support for `time=...` and event-mode
`fields={...}`.
- Keep HEC event envelopes as the default; `event=...` selects the
envelope payload and defaults to `this`.
- Add raw HEC mode with the mutually exclusive `raw=<string>` option
instead of an endpoint selector.
- Send raw events to `/services/collector/raw` with request-level
metadata query parameters and a generated request channel.
- Split adjacent raw batches when request metadata changes, preserve raw
pending events across compression failures, and keep raw metadata
aligned when null raw rows are skipped.
- Add validation tests, live Splunk coverage, and a changelog entry.

## 💬 Review

- Check the final `event=` / `raw=` UX and validation behavior.
- Check raw batching around metadata changes and null raw rows.
- Check `time` and `fields` validation, warning, and omission behavior.
- The `contrib/tenzir-plugins` submodule points at the companion plugin
commit on `tenzir/tenzir-plugins:topic/to-splunk-improvements`.

<sub>
🧩 Plugin PR: tenzir/tenzir-plugins#520<br>
📚 Docs PR: tenzir/docs#278<br>
✅ Closes TNZ-517, TNZ-518, TNZ-519
</sub>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

reference Reference documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants