delivered for clients · names withheldmigration Security operations

SIEM migration from Splunk to Microsoft Sentinel

Cohash migrates SIEM operations from Splunk to Microsoft Sentinel. We inventory log sources and searches, model ingest cost across the analytics and data lake tiers, rebuild connectors, translate SPL detections to KQL with tests, move SOAR playbooks to automation rules and Logic Apps, and run both SIEMs in parallel until alert coverage matches. Historical data and retention needs are settled before Splunk is switched off.

  1. 01Inventory and cost model
  2. 02Connectors and parsing
  3. 03Detection translation
  4. 04Automation and workflows
  5. 05Parallel run and cut-over
case-study / splunk-to-microsoft-sentinel delivered
beforeSplunk Enterprise or Splunk Cloud afterMicrosoft Sentinel in the Defender portal
01 · LOG SOURCES 02 · COLLECTION 03 · SENTINEL 04 · RESPONSE Microsoft Defender XDR: endpoint · email alerts Microsoft DefenderXDR endpoint · emailalerts Entra ID: sign-in and audit logs Entra ID sign-in and audit logs Firewalls and servers: syslog · CEF · Windows events Firewalls andservers syslog · CEF · Windowsevents Native connectors: Defender · Entra ID Native connectors Defender · Entra ID Azure Monitor Agent: syslog and CEF collectors Azure Monitor Agent syslog and CEFcollectors Sentinel analytics tier: KQL rules mapped to ATT&CK Sentinel analyticstier KQL rules mapped toATT&CK Sentinel data lake tier: long retention Sentinel data laketier long retention Detection repository: rules with test events Detection repository rules with test events Automation rules: Logic Apps playbooks Automation rules Logic Apps playbooks Ticketing: incident tickets Ticketing incident tickets
case file

The story

Told without the client's name or anything that could identify them.

what happened

A manufacturer's security operations team received a Splunk renewal quote while its Microsoft E5 security licenses were already paid for, and most alerts came from Defender and Entra ID anyway. Nobody could say which of the saved searches still fired. We inventoried sources, searches and SOAR playbooks and modeled ingest cost across the analytics and data lake tiers before any connector went live. Detections were drafted from SPL with Microsoft's migration tool, reviewed by hand and tested with sample events, and both SIEMs ran on the same sources until alerts matched rule by rule. Analysts then moved to Sentinel in the Defender portal and the Splunk history went to its agreed archive.

why it was urgent

Cisco closed its Splunk acquisition on 18 March 2024. For a migration, though, two later dates matter more. Microsoft's AI-powered SIEM migration tool for Splunk and QRadar went generally available in April 2026. And Sentinel leaves the Azure portal after 31 March 2027, so we take new migrations straight to the Defender portal.

problem statement
  • openSplunk's renewal quote just came in. The Microsoft E5 security licenses are already paid for.
  • recurringMost of your alerts come from Microsoft Defender and Entra ID. Splunk mostly just forwards them.
  • blockedSaved searches number in the hundreds and nobody knows which ones still fire.
  • openRetention rules force you to keep years of logs in an expensive hot tier.
architecture

The estate, before and after

before
before

Before: Splunk ingesting everything into a hot tier

Forwarders sent Defender alerts, Entra ID sign-ins and server logs into Splunk, and the saved searches and SOAR playbooks ran there. Most alerts were coming from Microsoft tools anyway. Retention rules kept years of logs on expensive hot storage.

Before: Splunk ingesting everything into a hot tier Forwarders sent Defender alerts, Entra ID sign-ins and server logs into Splunk, and the saved searches and SOAR playbooks ran there. Most alerts were coming from Microsoft tools anyway. Retention rules kept years of logs on expensive hot storage. 01 · LOG SOURCES 02 · COLLECTION 03 · SIEM 04 · RESPONSE alerts forwarded sign-in logs raw events all data, hot tier notable events ticket Microsoft Defender XDR endpoint · email alerts Ex Entra ID sign-in and auditlogs Firewalls and servers syslog · Windows events Splunk forwarders universal · heavy Splunk SPL searches · hot-tierretention Splunk SOAR playbooks custom actions SE Ticketing incident tickets
Read the diagram as text
  1. Microsoft Defender XDR → Splunk forwarders: alerts forwarded
  2. Entra ID → Splunk forwarders: sign-in logs
  3. Firewalls and servers → Splunk forwarders: raw events
  4. Splunk forwarders → Splunk: all data, hot tier
  5. Splunk → Splunk SOAR playbooks: notable events
  6. Splunk SOAR playbooks → Ticketing: ticket
after
after

After: Microsoft Sentinel in the Defender portal

We had native connectors and Azure Monitor Agent filter logs before they reach Sentinel, and placed each table in the analytics or data lake tier. KQL rules deploy from a repository. Automation rules and Logic Apps open the tickets.

After: Microsoft Sentinel in the Defender portal We had native connectors and Azure Monitor Agent filter logs before they reach Sentinel, and placed each table in the analytics or data lake tier. KQL rules deploy from a repository. Automation rules and Logic Apps open the tickets. 01 · LOG SOURCES 02 · COLLECTION 03 · SENTINEL 04 · RESPONSE incidents sign-in logs filtered events analytics tables analytics tables retention tables deploy rules incident ticket Microsoft Defender XDR endpoint · email alerts Ex Entra ID sign-in and auditlogs Firewalls and servers syslog · CEF · Windowsevents Native connectors Defender · Entra ID Azure Monitor Agent syslog and CEF collectors Sentinel analytics tier KQL rules mapped to ATT&CK Sentinel data lake tier long retention Detection repository rules with test events Automation rules Logic Apps playbooks SE Ticketing incident tickets
Read the diagram as text
  1. Microsoft Defender XDR → Native connectors: incidents
  2. Entra ID → Native connectors: sign-in logs
  3. Firewalls and servers → Azure Monitor Agent: filtered events
  4. Native connectors → Sentinel analytics tier: analytics tables
  5. Azure Monitor Agent → Sentinel analytics tier: analytics tables
  6. Azure Monitor Agent → Sentinel data lake tier: retention tables
  7. Detection repository → Sentinel analytics tier: deploy rules
  8. Sentinel analytics tier → Automation rules: incident
  9. Automation rules → Ticketing: ticket
results

What the client got

What changed for the client once the work was done. Described, not scored: we don't publish client figures.

  1. result 01

    Every detection lives in a repository with test events

    We mapped every KQL rule to ATT&CK, gave it sample events that ought to trigger it and versioned it with the playbooks, so any change can be reviewed and rolled back.

  2. result 02

    Log tiering was decided table by table

    Tables analysts query sit in the analytics tier and retention-only data sits in the data lake tier. That decision was made before each connector went live.

  3. result 03

    Built in the Defender portal from the start

    Everything was built in the Defender portal, the workspace, the rules and the playbooks, and tested there. Sentinel leaving the Azure portal after 31 March 2027 doesn't mean a second migration.

  4. result 04

    Response automation runs inside Sentinel

    The SOAR playbooks didn't survive the move as-is. Each was rebuilt as an automation rule or a Logic Apps playbook, and when an incident opens now, the ticket opens with it.

  5. result 05

    Splunk history has a known home

    We didn't switch off forwarding to Splunk until the logs auditors and investigators might need had been archived or exported under the agreed retention plan.

what can go wrong

Risks we plan for

  1. Ingest cost surprise

    Send everything to the analytics tier and you rebuild the cost problem you left. Decide tiering table by table before any connector goes live.

  2. Translated rules that never fire

    Machine-translated KQL can be perfectly valid and still wrong. So every rule gets tested against events that should make it fire.

  3. Field and parsing differences

    Splunk add-ons and Sentinel connectors don't parse fields the same way. A detection keyed on a field name can fail quietly, so parsing gets checked first.

  4. Lost history

    Someone will eventually ask for logs from years ago, an auditor or an investigator. Settle where the Splunk history lives before the licenses run out.

ai in this move

Where AI helps, and where it needs guardrails

Sentinel adds AI-generated playbooks, GA in May 2026, and an MCP server whose entity analyzer became GA in April 2026 and is billed in Security Compute Units. We test generated playbooks like any code before they run. Agents that query security data through the MCP server get read-only scopes and their own identity, because a security data lake holds the most sensitive logs you own.

forward deployed engineers →
you keep

What you're left with

We write these for your setup, and they're working documents. Your team should be able to keep things running from them long after we've gone.

  • runbook01

    Source, search and playbook inventory with a decision per item

    yours to keep
  • design02

    Ingest and retention cost model across analytics and data lake tiers

    yours to keep
  • tests03

    KQL detection library in a repository, each rule with test events

    yours to keep
  • runbook04

    Playbooks and automation rules with ticketing integration

    yours to keep
  • runbook05

    Parallel-run comparison report and cut-over plan

    yours to keep
  • plan06

    Historical data retention and export plan

    yours to keep
talent and delivery · microsoft sentinel in the defender portal

Certified engineers, wherever you need them.

Some clients want a project team, some want a couple of engineers on theirs. Either works. Onsite, nearshore or offshore, with handovers across time zones that keep things moving.

Onsite

Engineers at your sites in the US

Nearshore

Overlapping hours with US teams

Offshore

Overnight progress on your backlog

All time zones

Coverage handed over across time zones

24-hour coverage · US Central time
OnsiteUS business hours
Nearshoreoverlapping US hours
Offshoreovernight progress
Combinedhandover, not hand-off
01Will Sentinel be cheaper than Splunk?

It depends on volume, which tables need analytics-tier queries, retention, and which Microsoft licenses you already hold. We model it from your actual ingest before anyone commits.

02Can the migration tool translate all our searches?

It drafts translations. Complex SPL, macros, lookups and custom commands still need an engineer, and every rule needs a test before it's trusted.

03What happens to our Splunk history?

You have a few options. Keep a small Splunk instance for search until retention runs out, export to cheaper storage, or load what you need into the data lake tier. Which one makes sense depends on how often anyone actually searches the old data.

04Should we start in the Azure portal?

No. After 31 March 2027 Sentinel is only supported in the Defender portal. Build and test new workspaces and migrated rules there, or you'll be doing the move twice.

sources 3 sources linked last checked 2026-10-20 content fingerprint 562b5768
  1. 01Cisco newsroom: Cisco completes acquisition of Splunk (18 Mar 2024)newsroom.cisco.com ↗
  2. 02Microsoft Learn: What's new in Microsoft Sentinel (SIEM migration tool GA Apr 2026, Azure portal retirement 31 Mar 2027)learn.microsoft.com ↗
  3. 03MITRE ATT&CKattack.mitre.org ↗
Reviewed by the Cohash team Product names are trademarks of their owners. how we handle facts and data →
next step

Planning this move?

A 30-minute working session with a senior engineer. No slides.

useful to bring
  • The platform and the version you're on
  • Where you need to get to, and by when
  • What's custom: rules, plugins, integrations
  • Any audit finding or deadline driving it