Splunk Edge Processor Setup
SkillDev tools"Use when installing Edge Processor, managing EP pipelines, routing forwarders, or handling Cisco Data
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Splunk Edge Processor Setup skill
What this skill tells your AI
The instructions your AI receives, as published by chambear2809/splunk-cisco-skills in skills/splunk-edge-processor-setup/SKILL.md and read by ahel’s review.
Prerequisites
| Tool or access | Purpose | Verify |
|---|---|---|
| Bash and Python 3 | Run bundled setup and validation helpers | bash --version && python3 --version |
| Required product/platform access | Inspect or configure the selected target | Complete the documented preflight |
| Credential files for live modes | Keep secrets out of chat | Verify paths only |
Workflow Overview
┌───────────┐ ┌───────────────┐ ┌───────────────┐ ┌─────────────────┐
│ Preflight │ → │ Render/review │ → │ Apply/handoff │ → │ Validate evidence │
└───────────┘ └───────────────┘ └───────────────┘ └─────────────────┘
When to Activate
- Installing Edge Processor, managing EP pipelines, routing forwarders, or handling Cisco Data Fabric / telemetry pipeline management requests that need Splunk Platform edge routing and transformation.
- Preview and review the splunk edge processor setup workflow before any live apply phase.
- Diagnose failed prerequisites, generated assets, configuration, or validation evidence.
Scope
Follow the documented read-only or render-first path whenever it is available. This skill does not imply permission to mutate live systems. Require explicit apply flags, protected credentials, and operator review for state changes.
Examples
Inspect the supported setup modes before selecting one:
bash skills/splunk-edge-processor-setup/scripts/setup.sh --help
Expected output: usage, supported modes, and required arguments are displayed without changing the target environment.
Inspect validation modes before running completion checks:
bash skills/splunk-edge-processor-setup/scripts/validate.sh --help
Expected output: offline, live, and completion options are displayed when the skill supports them; help exits without mutation.
Troubleshooting
| Issue | Cause | Resolution |
|---|---|---|
| Preflight fails | A required tool or access path is missing | Resolve it before rendering or applying |
| Rendered assets are incomplete | Required non-secret inputs are absent | Complete intake and render again |
| Apply is blocked | Review, credentials, or explicit acceptance is missing | Use the documented handoff |
| Validation is incomplete | Live evidence is unavailable | Record the gap and keep completion open |
This skill covers the full Edge Processor surface: control-plane object management plus Linux instance install plus pipeline / destination / source-type lifecycle, all from one render-first workflow.
For newer Cisco Data Fabric wording, this is the Splunk Platform edge-routing
and data-shaping route. Keep native Observability Metrics Pipeline Management
requests in splunk-observability-deep-native-workflows unless the user needs
log/event pipelines, forwarder routing, or edge transformation.
Treat AI-powered data management recommendations as UI/operator handoffs until
Splunk publishes a stable public API for accepting generated schema, field
extraction, or pipeline changes. Review generated SPL2 through
splunk-spl2-pipeline-kit before promoting it into Edge Processor pipelines.
Architecture First
- Two control planes: Splunk Cloud Platform tenant
(
<tenant>.scs.splunk.com) AND Splunk Enterprise 10.0+ data management node. Choose with--ep-control-plane cloud|enterprise. - Control-plane API base is operator-supplied: Splunk has not published
a stable public REST API base path for EP control-plane objects (source
types, destinations, pipelines). The skill renders the JSON payloads as a
source of truth and provides an
apply-objects.shthat applies them via REST whenEP_API_BASEis set. Without that operator-supplied transport it prints the manual UI checklist and exits nonzero so--phase applycannot report a mutation that never happened. Offline validation remains available. - Default destination is critical — without one, unprocessed data is
silently dropped. The renderer refuses to render a plan with destinations
but no default destination, and
validate.shre-checks at runtime. - EP instance install command is operator-supplied — Splunk's Manage
instances UI generates a one-shot install command containing a join token.
Stage it via
write_secret_file.shand reference it throughEP_INSTALL_CMD_FILE; the rendered host scripts execute it under the service user without ever placing the token in argv. - Multi-instance — multiple EP instances behind a DNS record let forwarders route via a single hostname.
- Shared SPL2 kit — use
splunk-spl2-pipeline-kitfor complex SPL2 authoring, SPL-to-SPL2 review, and PCRE2 migration lint before previewing pipelines in the Edge Processor UI. - FIPS mode — pass
--ep-fips-mode enabledonly for non-containerized EP instances. FIPS mode is not supported for Docker/containerized EP.
Agent Behavior — Credentials
Never paste EP API tokens, install command bodies, or HEC tokens into chat.
bash skills/shared/scripts/write_secret_file.sh /tmp/ep_api_token
bash skills/shared/scripts/write_secret_file.sh /tmp/ep_install_cmd.sh
bash skills/shared/scripts/write_secret_file.sh /tmp/ep_hec_token
The rendered scripts read tokens via --*-token-file flags and never embed
the value in rendered output.
Quick Start
Render a single-instance Edge Processor in a Splunk Cloud tenant with one S2S destination and one filtering pipeline:
bash skills/splunk-edge-processor-setup/scripts/setup.sh \
--phase render \
--ep-control-plane cloud \
--ep-tenant-url https://example.scs.splunk.com \
--ep-name prod-ep \
--ep-instances "ep01.example.com=systemd" \
--ep-target-daily-gb 50 \
--ep-source-types "syslog_router" \
--ep-destinations "primary=type=s2s;host=idx-cluster.example.com;port=9997;index_routing=specify_for_no_index:summary" \
--ep-default-destination primary \
--ep-pipelines "filter_dev=partition=Keep;sourcetype=app:dev;spl2_file=pipelines/filter_dev.spl2;destination=primary"
Apply to the control plane (requires EP_API_BASE; without it the command
emits a manual UI checklist and exits nonzero):
EP_API_BASE=https://<tenant-api-base> EP_API_TOKEN_FILE=/tmp/ep_api_token \
bash skills/splunk-edge-processor-setup/scripts/setup.sh --phase apply --ep-tenant-url https://example.scs.splunk.com
Install an instance on Linux (systemd):
EP_INSTALL_CMD_FILE=/tmp/ep_install_cmd.sh \
bash skills/splunk-edge-processor-setup/scripts/setup.sh --phase install-instance \
--ep-tenant-url https://example.scs.splunk.com --ep-instances "ep01.example.com=systemd"
Validate rendered assets (structural check only — fast, no network):
bash skills/splunk-edge-processor-setup/scripts/validate.sh
Validate live against the control plane REST (requires --ep-api-base,
--ep-api-token-file, and --ep-name; --ep-tenant-url is used for handoff
messages):
bash skills/splunk-edge-processor-setup/scripts/validate.sh \
--live \
--ep-tenant-url https://example.scs.splunk.com \
--ep-name prod-ep \
--ep-api-base https://api.us-east-1.splunkcloud.com/<tenant>/edge-processor/v1 \
--ep-api-token-file /tmp/ep_api_token
What It Renders
Under splunk-edge-processor-rendered/:
control-plane/edge-processors/<name>.json— EP control-plane object (TLS settings).control-plane/source-types/<name>.json.control-plane/destinations/<name>.json.control-plane/pipelines/<name>.spl2(SPL2 source-of-truth) andpipelines/<name>.json(API payload).control-plane/apply-objects.sh— orchestrates POST/PUT/DELETE in dependency order whenEP_API_BASEis set; otherwise prints a manual UI checklist and fails closed without mutation.host/<host>/install-with-systemd.sh—cgroup+ service user, splunk-edge service unit; consumes the operator-supplied install command viaEP_INSTALL_CMD_FILE.host/<host>/install-without-systemd.sh— direct nohup install.host/<host>/install-docker.sh— Docker compose skeleton (image + env are operator-supplied from the tenant install command).host/<host>/uninstall.sh.forwarder-templates/outputs.conf— DNS-driven forwarder outputs.pipelines/templates/*.spl2— shared SPL2 starters fromsplunk-spl2-pipeline-kitfor theedgeProcessorprofile.validate.sh— control-plane health and default-destination guard.handoffs/acs-allowlist.json— ACS allowlist plan stub fors2s+hecfeatures.
Out of Scope
- Live automated SPL→SPL2 conversion (use Splunk's in-product tool; this repo renders compatibility lint and review guidance only).
- Automatic acceptance of AI-powered data management recommendations.
- Multi-tenant org management on Splunk Cloud.
- Destinations not yet documented in Splunk's public EP destination catalog (Kafka, Azure Event Hubs).
- RBAC management on the EP control plane.
- Automatic resolution of the EP control-plane REST API base — the operator
supplies
EP_API_BASEwhen applying via REST. - Containerized FIPS mode.
References
- reference.md for full source-type / destination / pipeline syntax, the systemd unit template, and the ACS allowlist hand-off contract.
- template.example for the non-secret intake worksheet.
Signals
- GitHub stars
- 37
- Forks
- 8
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
splunk-edge-processor-setup- Source
- github.com/chambear2809/splunk-cisco-skills