# Migrate from Splunk to Google SecOps

This guide walks through adding Google SecOps alongside an existing Splunk pipeline, gradually shifting log sources, and eventually decommissioning Splunk — without disrupting your production workflows.

## Prerequisites

* A running Bindplane instance with at least one collector installed and reporting data
* An existing pipeline in Bindplane sending logs to Splunk
* A Google SecOps instance with your Chronicle customer ID and service account credentials

***

## Step 1: Add SecOps as a second destination

Your starting point is an existing pipeline sending logs to Splunk:

<figure><img src="https://4134819172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA6BP9V0wfJj4LZdQH6OJ%2Fuploads%2Fgit-blob-1f21d5ccd5b096054cc7cc2e4df460b8cacd268c%2Fhow-to-guides-migrate-splunk-to-secops-image-1.png?alt=media" alt="Bindplane docs - Migrate from Splunk to SecOps - existing Splunk pipeline"><figcaption></figcaption></figure>

1. Open the pipeline configuration you want to modify and click **(+) Destination**.
2. Select **Google SecOps** from the destination list.
3. Enter your **Chronicle customer ID** (found under Settings > Profile > Organization Details in SecOps) and upload your **service account credentials file** (Settings > Collection Agents > Ingestion Authentication File).
4. Save the destination. It will appear in the topology view but won't receive data yet.

<figure><img src="https://4134819172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA6BP9V0wfJj4LZdQH6OJ%2Fuploads%2Fgit-blob-926d17ee52fddcd61dc45a19fa39636f2416a2d7%2Fhow-to-guides-migrate-splunk-to-secops-image-4.png?alt=media" alt="Bindplane docs - Migrate from Splunk to SecOps - SecOps destination added but not yet connected"><figcaption></figcaption></figure>

5. Connect it to your pipeline: hover over the processor node on the source side of your pipeline, click **+**, then click the SecOps destination node. This routes telemetry to SecOps.

<figure><img src="https://4134819172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA6BP9V0wfJj4LZdQH6OJ%2Fuploads%2Fgit-blob-f191873e7835f16dc48d40afcbaa89cce326cadd%2Fhow-to-guides-migrate-splunk-to-secops-image-5.png?alt=media" alt="Bindplane docs - Migrate from Splunk to SecOps - dual-write pipeline with both destinations connected"><figcaption></figcaption></figure>

**Important:** Google SecOps expects raw, unparsed logs. If your sources support it, enable **Include Log Record Original** in the source's Advanced settings before routing to SecOps.

<figure><img src="https://4134819172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA6BP9V0wfJj4LZdQH6OJ%2Fuploads%2Fgit-blob-5338b087efe932fd3dcbc0cc7b55ce784de0c2bf%2Fhow-to-guides-migrate-splunk-to-secops-image-6.png?alt=media" alt="Bindplane docs - Migrate from Splunk to SecOps - enable Include Log Record Original in source settings"><figcaption></figcaption></figure>

6. Add a **Google SecOps Standardization** processor directly before the SecOps destination. Configure the log type, namespace, and ingestion labels so SecOps knows which parser to apply. If you're unsure of the log type, use **Pipeline Intelligence** to identify it automatically from snapshot data.

<figure><img src="https://4134819172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA6BP9V0wfJj4LZdQH6OJ%2Fuploads%2Fgit-blob-7c1fc1d89ece00c74795192b64460a2e35ae034e%2Fhow-to-guides-migrate-splunk-to-secops-image-7.png?alt=media" alt="Bindplane docs - Migrate from Splunk to SecOps - Pipeline Intelligence recommending SecOps Standardization processor"><figcaption></figcaption></figure>

<figure><img src="https://4134819172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA6BP9V0wfJj4LZdQH6OJ%2Fuploads%2Fgit-blob-105058579d4142def25c15c75bc9ececc07a0f60%2Fhow-to-guides-migrate-splunk-to-secops-image-8.png?alt=media" alt="Bindplane docs - Migrate from Splunk to SecOps - SecOps Standardization processor added"><figcaption></figcaption></figure>

7. Add any additional destination-level processors (filters, PII redaction, field drops) on the SecOps path. These run independently of your Splunk processors.
8. Click **Start Rollout**. Use progressive rollout to deploy to a subset of collectors first and verify data is arriving before rolling out to all collectors.

You are now running a **dual-write setup** — logs flow to both Splunk and SecOps simultaneously. Verify data is arriving in the Google SecOps search UI:

<figure><img src="https://4134819172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA6BP9V0wfJj4LZdQH6OJ%2Fuploads%2Fgit-blob-8c9f03cf58a0a73868dec4a3370f721046792e3f%2Fhow-to-guides-migrate-splunk-to-secops-image-9.png?alt=media" alt="Bindplane docs - Migrate from Splunk to SecOps - Google SecOps search UI showing ingested data"><figcaption></figcaption></figure>

***

## Step 2: Shift log sources to SecOps

Once you've validated SecOps is receiving data correctly, begin migrating log sources one at a time.

### Migrate a log source

1. In your Splunk destination configuration, add a **Filter by Condition** processor.
2. Configure it to **exclude** logs where the `log_type` resource attribute matches the source you're migrating (e.g., Palo Alto firewall logs).

<figure><img src="https://4134819172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA6BP9V0wfJj4LZdQH6OJ%2Fuploads%2Fgit-blob-0137eae503b531e2908ffa2629ed8eeb4ae1f771%2Fhow-to-guides-migrate-splunk-to-secops-image-10.png?alt=media" alt="Bindplane docs - Migrate from Splunk to SecOps - Filter by Condition processor excluding palo-alto logs"><figcaption></figcaption></figure>

3. Those logs stop going to Splunk but continue flowing to SecOps.
4. Verify detections, dashboards, and alerts are working in SecOps for that source.
5. Repeat for each log source until all have been migrated, then disconnect the Splunk destination.

Start with lower-risk sources to build confidence before migrating business-critical data.

### Pilot with a specific region or business unit

To validate SecOps with a subset of your team before a broader rollout:

1. Add a **Routing Connector** to your pipeline.

<figure><img src="https://4134819172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA6BP9V0wfJj4LZdQH6OJ%2Fuploads%2Fgit-blob-ffc70fb6dc68b8be0548beddba7790d458901cf8%2Fhow-to-guides-migrate-splunk-to-secops-image-11.png?alt=media" alt="Bindplane docs - Migrate from Splunk to SecOps - Routing Connector configuration with region-based routes"><figcaption></figcaption></figure>

2. Route logs from your pilot region or business unit **exclusively to SecOps**.
3. Route all other logs to Splunk as before.

<figure><img src="https://4134819172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA6BP9V0wfJj4LZdQH6OJ%2Fuploads%2Fgit-blob-9dc4c98cadeb65ce078f5b4f04c2d075b28c91f3%2Fhow-to-guides-migrate-splunk-to-secops-image-12.png?alt=media" alt="Bindplane docs - Migrate from Splunk to SecOps - pipeline with routing connector splitting traffic"><figcaption></figcaption></figure>

4. Once the pilot team has validated their workflows in SecOps, update the routing connector to move additional groups across.
5. When all groups have migrated, remove the Splunk destination.

***

## Step 3: Process data for the SecOps path

Processing on the SecOps path focuses on data control and labeling, not parsing. Processors run independently of what's configured for Splunk.

Common processors to add on the SecOps path:

* **Filter by Condition** — drop log types that don't need to be retained in SecOps
* **Remove Fields** — strip sensitive fields before data leaves your environment
* **Redact** — mask PII before ingestion
* **Google SecOps Standardization** — set log type, namespace, and ingestion labels (required)

***

## What's next

Once all log sources have been validated in SecOps and migrated off Splunk, disconnect the Splunk destination from your pipeline. Bindplane handles rollouts centrally, so no manual collector config edits are required at any stage.

* [Get started with Google SecOps](https://cloud.google.com/security/products/security-operations)
* [Get started with Bindplane](https://app.bindplane.com)
* [Bindplane + SecOps integration guide](https://docs.bindplane.com/how-to-guides/siem-and-compliance/migrate-splunk-to-secops)
