Migrate from Sumo Logic to Grafana Loki

A self-hosted Loki stack can take over application and infrastructure log analytics from Sumo Logic, but collectors, labels, queries and history each need their own plan. This page sets out what moves cleanly, the sequence and what drives effort.

On this page

Migrate from Sumo Logic to Grafana Loki: what the move involves

Moving from Sumo Logic to Loki is a re-platforming of collectors, queries, dashboards and retention, not a file copy. Teams usually make the move after a renewal, a credit spend increase, a data residency requirement or a wish to avoid lock-in, and the work they underestimate is rebuilding how logs are shipped, labeled, searched and kept. Platform, SRE and security teams typically own the work, often with an implementation partner for the design and cutover. Sumo Logic's data is stored in its own service, so nothing in Loki can be imported from a Sumo index. Plan for two tracks: new logs flowing into Loki from the cutover date, and a separate, bounded plan for history that Sumo Logic lets you export only in limited form. Most of the effort and risk sits in two places. The first is label design. Loki indexes labels, not the full text of every field, so the labels you choose on day one decide query speed, cardinality and cost. Sumo Logic users who filter on arbitrary fields in _sourceCategory, _sourceHost or parsed keys will need to decide which of those become stream labels and which stay in the log line for filtering with LogQL. The second is query translation. Each Sumo Logic search, scheduled search and dashboard panel must be rewritten in LogQL and built in Grafana, and parsing and aggregation logic rarely maps one to one. Confirm with your Loki version which query features you depend on before you commit to a design. Two licensing and security points belong in the plan from the start. Loki is licensed under AGPLv3, so have legal review how your use, and any modifications you make, fit your obligations. Loki also has no built-in authentication layer. Put an authenticating reverse proxy such as nginx, HAProxy, OAuth2 Proxy or Pomerium in front of it, and decide how tenant identifiers, sent through the X-Scope-OrgID header when auth_enabled is true, are assigned and enforced. Ask your implementation partner to document this boundary in the design before the first collector is repointed.

Which Sumo Logic capabilities map to Loki, and which need rework

This table maps each Sumo Logic capability to its Loki equivalent and marks it clean, needs rework or gap. Read the status column first, then the cell notes, because most rework sits in search patterns and access control rather than in ingestion. Loki covers log aggregation well, but it does not provide Sumo Logic's security analytics and it ships without authentication.

Sumo Logic capabilityLoki equivalentStatus
Collectors and sourcesGrafana Alloy or Fluent Bit shipping to Loki's push API, with labels set at collection timeNeeds rework
Field-indexed searchOnly stream labels are indexed; other fields are parsed at query time with LogQL pipeline stagesNeeds rework
Search languageLogQL log and metric queries; Sumo Logic operators and field expressions must be rewritten by handNeeds rework
DashboardsGrafana dashboards built on the Loki data source, with panels and variables rebuilt manuallyNeeds rework
Scheduled alerts and monitorsGrafana alert rules evaluated against LogQL queries, with contact points configured in GrafanaClean
Role-based access controlGrafana roles and folders handle dashboard access; Loki tenants separate data only when multi-tenancy is enabledGap
Data forwarding and historical exportNo direct equivalent. New data can be dual-shipped from collectors; history needs a separate CSV or API export planGap
RetentionSet in the compactor with retention_enabled, globally, per tenant or per stream selector, with a 24-hour minimum per ruleNeeds rework
Storage backendCompressed chunks and index in object storage such as S3, GCS or Azure Blob, managed by youNeeds rework
Authentication and tenant isolationLoki has no built-in authentication. An authenticating reverse proxy must sit in front of it and set X-Scope-OrgIDGap
Security analytics and threat detectionNot a Loki feature. Sumo Logic Cloud SIEM detections need a separate SIEM such as Wazuh or rules written in alert rulesGap

Why labels replace indexed fields and how that changes searches

Loki indexes only labels, not the content of each log line. Each stream is identified by its label set, and Loki stores the compressed log chunks for those streams in object storage, with the index pointing to them. Sumo Logic users are used to fields that are extracted and searchable at query time, so the first design change is that a value such as a user ID, request ID or client IP belongs in the log line, where a line filter or parsed field finds it. Putting those values into labels creates a new stream for every distinct value, which inflates the index and slows writes. Before you translate a single Sumo Logic query, list the fields your saved searches and monitors filter on and sort them into labels (low cardinality, such as environment, cluster, namespace, app and component) and content (everything else).

The index format matters for this design. The Loki storage documentation recommends TSDB as the index store for Loki 2.8 and newer, and older index stores such as DynamoDB, Bigtable and Cassandra are deprecated, so a new deployment should start on TSDB and not inherit a legacy schema. Confirm the schema configuration and the Loki version you intend to run against the current Loki storage documentation before you build pipelines, because changing the index schema later means adding a new schema period rather than editing the old one.

Keep the label set small and stable. Agree on a naming convention and a short list of allowed labels with the platform and application teams, and write it down as part of the migration design. Test the set on a sample of collected data by counting streams per label combination before you widen ingestion. Expect your first LogQL queries to start with a label selector to narrow the streams, then apply line filters and parsers to the content, which reverses the Sumo Logic habit of filtering on extracted fields first. Rebuild the top ten Sumo Logic searches by hand as a check, because a query that is fast in Sumo Logic may scan far more chunks in Loki if its selector is too broad.

What data and integrations move, and through which documented paths

Four workstreams make up the move: the collectors that ship logs, the dashboards and searches that read them, the alert rules that act on them, and the historical data that stays behind unless you plan for it. Each has a different documented path, so scope them separately in your written plan.

Collectors and log shipping

Every Sumo Logic collector or source definition needs a replacement that ships logs to Loki. Grafana Alloy is Grafana's supported log shipper for Loki, and Fluent Bit is a lightweight option that Loki also accepts. Inventory each source by host type, file path, parser and metadata, then decide which shipper handles it. Check that labels set at the collector match the stream labels you plan to query on, because Loki indexes labels rather than full message content.

Dashboards and saved searches

Sumo Logic dashboards and saved searches have to be rebuilt as Grafana dashboards using LogQL queries. Expect the query logic to change: field-based Sumo Logic searches map to label selectors plus line filters and parsers, and some aggregations need restating. Export the list of dashboards with their owners and usage, then rebuild the highest-value ones first and have the people who read them confirm the results match.

Alert rules and monitors

Sumo Logic monitors and scheduled alerts must be recreated as Grafana alerting rules that run against Loki data sources. Test each rule against a known event window before it replaces the original, and confirm who receives notifications during the parallel run so nobody gets duplicate pages. Record the thresholds, evaluation intervals and routing for each alert, since those settings are not carried over automatically.

Historical data and CSV exports

History is the hardest part. The documented browser path is the CSV download of search results, which Sumo Logic caps at 100,000 rows per search. Larger result sets need several searches over shorter time ranges, merged afterward. Decide which history is worth keeping for audit or investigation, then plan the export windows and the storage location before cutover. Confirm current export limits and the Search Job API options in Sumo Logic's documentation, since they can change.

New data through forwarding

If your plan uses Sumo Logic data forwarding to Amazon S3 or Google Cloud Storage, treat it as a temporary bridge for newly ingested logs, not as a full copy of history. Such a bridge only fits if you need a staging copy during cutover, and it adds cost and a second storage location to govern. Before you rely on it, confirm the supported destinations, file formats and coverage in Sumo Logic's current documentation, and record who owns the bucket and its retention.

Migration sequence from inventory to decommission

This sequence moves Sumo Logic log analytics to Grafana Loki one source group at a time, with each stage producing evidence that the next stage depends on. Teams keep Sumo Logic running until Loki searches, dashboards and retention have been checked against real operating needs.

  1. Inventory sources, volumes and searches

    Platform owners list every collector, source category, forwarding rule, scheduled search, dashboard and monitor in Sumo Logic, and record the approximate daily volume per source group from the account's usage data. Each saved search is tagged as operational troubleshooting, security or audit, so later steps know which queries must be reproduced. The step is done when the inventory is signed off by the service owners and the daily volume per group is known, which also determines the Loki deployment mode. Loki's monolithic mode suits up to about 20 GB of logs per day, and the simple scalable mode is being deprecated and will be removed with Loki 4.0, so volumes above that level should be planned on microservices or another supported scaling path. Confirm this with the Loki deployment modes documentation before sizing.

  2. Pilot one application stream behind a proxy

    Deploy a single Loki instance in your own infrastructure with object storage for chunks and the index, and place an authenticating reverse proxy such as nginx, HAProxy, OAuth2 Proxy or Pomerium in front of it, since Loki has no built-in authentication. Send one application stream from a non-production environment through Grafana Alloy or Fluent Bit, and verify the query path end to end. The output is a documented pilot with working ingestion, a tested reverse proxy and a list of labels that proved useful. Set retention deliberately during the pilot, because the compactor does not delete data until retention is enabled.

  3. Run dual shipping in parallel

    Configure the existing collectors to send the same logs to both Sumo Logic and Loki for the chosen source groups, so the two platforms see identical events for a defined comparison window. Compare event counts, timestamps, parsing results and error rates between the two systems for each group. The output is a reconciliation report per source group showing where the counts match and where they differ, with the cause of each difference recorded. Dual shipping roughly doubles the collector egress for the duration of the run, so confirm network and cost impact with the team responsible for the pipeline first.

  4. Translate labels, queries and dashboards

    Map Sumo Logic source categories, metadata fields and parsed fields to Loki stream labels, keeping label cardinality low because Loki indexes labels rather than the full content of each line. Rewrite each saved search that matters as LogQL, and rebuild dashboards and alert rules in Grafana with provisioned data sources and dashboards stored in version control. Security and compliance owners review every rebuilt query against its original, and the output is a signed translation register with one entry per search, dashboard and monitor, marked as equivalent, changed or retired.

  5. Cut over by source group

    Move source groups to Loki one at a time, starting with the lowest-risk group, and stop forwarding each group to Sumo Logic only after its reconciliation report and translation register entries are accepted. Keep the Sumo Logic configuration for that group available for rollback until the owners confirm that alerts fire correctly in Grafana. The output is a cutover record per group naming the date, the owner, the rollback path and the sign-off. Grafana high availability requires two or more active-active servers sharing MySQL or PostgreSQL, so production Grafana should be in place before the first group moves.

  6. Decommission Sumo Logic with retained evidence

    After every source group has cut over and the rollback window has closed, export the remaining history that the business must keep using the documented methods, such as browser CSV downloads limited to 100,000 rows per search, and archive it in your own object storage. Revoke collectors, disable scheduled searches and monitors, and remove the Sumo Logic forwarding configuration. The output is a decommission file containing the inventory, reconciliation reports, translation register, cutover records, archived exports and the final access review, which compliance teams can use as evidence. Confirm with your auditors which records they require before you delete any source data.

Choosing a Loki deployment mode by daily log volume

Monolithic mode runs Loki as a single binary that handles reads, writes and compaction in one process. Grafana's deployment modes documentation places it at up to about 20 GB of logs per day, which makes it the simplest option for a pilot, a single business unit or a set of non-production environments. Operating it means one service to deploy, upgrade, monitor and back up, plus a single object store bucket for chunks and index.

  • Operational footprint: One binary and one configuration set reduce the number of moving parts your platform team must patch.
  • Scaling ceiling: Once daily ingest approaches the documented range, you will need to move to a different mode, so plan that step before cutover.
  • Failure domain: A single process is a single point of failure unless you run more than one instance behind a load balancer and design for it.
  • Retention and storage: Retention is set in the compactor and is off by default, so configure it deliberately even at small volumes.
  • Access control: Loki has no built-in authentication, so put an authenticating reverse proxy in front of it in every mode.

Confirm with Grafana whether your measured daily ingest, including bursts during peak hours, fits within the monolithic range before you commit to this mode.

What drives cost and duration in a Loki migration

This table lists the main cost and effort components of moving Sumo Logic workloads to Loki, who is paid for each, and what to request in a quote. Read it as a checklist: most of the variation in cost comes from source count, label design, the number of searches and dashboards to translate, and how much history you carry across.

Cost componentWho is paid or who carries itOne-time or recurringWhat drives it, and what to request in a quote
Volume and source countInfrastructure provider for compute and storage; implementer for collector rolloutRollout is one-time; storage and compute recurDaily volume and number of collectors set the deployment mode. Ask for the sizing assumption and the daily volume used.
Label designImplementer, with your platform team reviewing namingOne-time, revisited as new services arriveToo many unique label values inflate the index. Ask how labels are chosen per source and who approves changes.
Searches and dashboards to translateImplementer for LogQL and Grafana rebuilds; your analysts for validationOne-time, plus ongoing editsCount of saved searches, scheduled searches and dashboards in Sumo Logic. Ask for an inventory and a per-item translation estimate.
Object storageYour cloud account or data center team, billed by the storage providerRecurringRetention length and compressed volume per day. Loki retention is off by default, so ask who sets the compactor rules.
Staffing for operationsYour internal platform or SRE team, or an outside support retainerRecurringUpgrades, compactor and storage monitoring, on-call. Ask whether support covers Loki and Grafana upgrades and how often.
Grafana database and high availabilityYour database team for MySQL or PostgreSQL; implementer for setupOne-time setup, recurring hostingSQLite is not suitable for production. Two or more active-active servers need a load balancer and shared database. Ask for the HA design and alerting duplicate prevention.
Identity integrationYour identity team, with implementer configurationOne-time, plus access reviewsSAML, team sync, active sync and SCIM are available only in Grafana Enterprise or Grafana Cloud. LDAP and generic OAuth work in all editions. Confirm which features your access model needs before quoting.
Authenticating proxyImplementer to deploy and harden; your security team to reviewOne-time, plus certificate and policy upkeepLoki has no built-in authentication, so nginx, HAProxy, OAuth2 Proxy or Pomerium must sit in front. Ask for the tenant header design and testing scope.
History planYour team for export tooling; implementer for scripts and storageOne-timeBrowser CSV exports are capped at 100,000 rows per search, so bulk history needs many shorter searches. Ask which history window is in scope and how it is verified.

What usually goes wrong and how to prevent it

Most failed Loki migrations trace back to a handful of decisions made early: how labels are chosen, whether retention is switched on, how the endpoint is exposed, what history is kept, and which enterprise features are needed. Each card names one risk and the check that prevents it.

High-cardinality labels slow queries

Teams that map every Sumo Logic field onto a Loki label create one stream per unique value, such as request IDs, user IDs or pod names with random suffixes. Loki indexes only labels, so an oversized label set inflates the index and slows queries across the cluster. Keep labels to a small set of stable values like environment, service and namespace, and parse everything else at query time with LogQL. Before cutover, review the stream count per tenant on a test pipeline.

Retention left disabled

Loki's compactor does not delete anything until retention is turned on, so a fresh install keeps logs indefinitely. Object storage costs then grow with every day of ingestion, and nobody notices until the bucket bill arrives. Decide the retention period per tenant or per stream selector during planning, set retention_enabled in the compactor configuration, and confirm that deletion works in a test bucket before production traffic arrives.

Loki exposed without a proxy

Loki has no built-in authentication layer. A cluster reachable on its HTTP port, even inside a flat network, lets any caller push or query logs, and the tenant header is not a security control. Place an authenticating reverse proxy such as nginx, HAProxy, OAuth2 Proxy or Pomerium in front of it, restrict write paths to known collectors, and test that unauthenticated requests are refused from every network segment.

History expectations missed

Sumo Logic's browser CSV export is capped at 100,000 rows per search, so bulk historical data cannot be moved by clicking through the interface. Data forwarding covers only logs ingested after it is enabled. Agree with auditors and on-call teams which history must stay searchable, decide whether it stays in Sumo Logic under a read-only retention window, and plan a separate export job for anything that must move.

SAML and SCIM found late

Grafana's authentication docs list LDAP, generic OAuth, Entra ID, Okta, GitHub, GitLab and Google OAuth, plus auth proxy and JWT, in every edition. SAML, team sync, active sync and SCIM provisioning are available only in Grafana Enterprise and Grafana Cloud. If your identity provider or auditors require SAML or SCIM, confirm this before selecting the edition, because adding it after rollout means a licensing change and reworking user access.

How the migration differs by starting point

Teams whose Sumo Logic usage centers on application logs usually have a small number of services, structured or semi-structured JSON output, and searches built around request IDs, error levels and user or tenant fields. Loki handles this well when those fields are kept out of the stream labels and parsed at query time, because high-cardinality labels are the most common cause of slow or costly Loki deployments. Sumo Logic users often find their field extraction rules and parse operators have no one-to-one equivalent, so each search must be rewritten as a LogQL pipeline.

  • Collector choice: Applications that already log to stdout can usually be picked up by Grafana Alloy or Fluent Bit without code changes, while file-based logs need a tail source and a stable position file.
  • Label discipline: Keep labels to service, environment and namespace-level values; move request IDs and user identifiers into the log line.
  • Parsing: Rebuild Sumo Logic parse and field extraction rules as LogQL json or logfmt stages, and test them against sample lines before cutover.
  • Dashboards: Recreate panels in Grafana against Loki queries, and compare results for a known incident window before retiring the Sumo Logic version.
  • Retention: Set per-stream retention in the compactor, since Loki keeps logs indefinitely until retention is enabled.

Before you start, confirm the daily volume by service with your Sumo Logic usage report, because it determines which Loki deployment mode you need.

Questions buyers ask before migrating from Sumo Logic to Loki

What does it cost to move from Sumo Logic to Loki?

The main change is that Sumo Logic's subscription fee is replaced by infrastructure, staff time and any outside help, and Loki itself has no license fee because it is licensed under AGPLv3. Costs fall into four groups: object storage for compressed chunks and the index, compute for the Loki components and Grafana, engineering time to rebuild collectors and dashboards, and ongoing operations such as upgrades and backups. One-time costs include the cutover and dashboard translation. Recurring costs depend on daily volume, how long you keep logs, and how many people run the stack. Ask any implementation partner for a quote built from your written scope, your daily ingestion, your retention targets and the number of dashboards and alerts to rebuild. Compare that quote with your current Sumo Logic invoice over the same retention period.

How long does a Sumo Logic to Loki migration take?

The duration depends on the size of the estate and how much rework the searches and dashboards need, so no single timeline applies to every environment. The main drivers are the number of log sources and collectors to move, the volume and daily ingestion profile that sets the Loki deployment mode, the count of saved searches, dashboards and scheduled alerts, and how many teams must validate their results. Parallel running during cutover adds time but reduces risk. Ask for a written schedule with phases for collector rollout, label design, query translation, retention setup and decommissioning of Sumo Logic sources. Agree the acceptance criteria for each phase before work starts.

What does the migration need from our own team?

Your team supplies the knowledge of what the logs mean and who relies on each dashboard and alert, plus access to the systems that will change. In practice that means owners for each application or infrastructure log source, someone who can approve label naming and retention rules, access to the hosts where collectors will run, and people who can test translated queries against known events. Your security or compliance lead should confirm which logs must be retained and for how long. Your platform team needs to provide object storage, a database for Grafana configuration, and an authenticating reverse proxy in front of Loki, because Loki has no built-in authentication layer.

Can our own engineers run the migration without outside help?

Yes, a capable platform team can do the work in-house, provided it has time, the skills to operate Loki and Grafana, and a plan for running the stack afterwards. The Grafana documentation makes clear that production use needs MySQL or PostgreSQL rather than SQLite, and that high availability requires two or more active-active servers behind a load balancer, so the team should be ready for that setup. The main risks for an in-house team are label design mistakes that are hard to undo, retention settings left disabled, and missing authentication in front of Loki. Outside help can be scoped to specific phases, such as the design review or the cutover, with the rest kept internal. Any engagement is fixed-scope, with scope, deliverables and timelines agreed in writing before work starts.

How do we handle historical Sumo Logic data when moving to Loki?

Historical data needs a separate plan from new data because the two follow different paths. New logs can be forwarded to your Loki pipeline once collectors are switched over. For history, Sumo Logic's browser CSV export is limited to 100,000 rows per search, so bringing older data across means many smaller searches over shorter time ranges, which takes effort and may not be complete. Many teams keep Sumo Logic read-only for the retention window they need for audits, then let it expire. Decide early which history is required for compliance or investigations and which can be dropped. Ask for a written inventory of the history you need and a method to verify the exported data against source records.

Does Loki cover security analytics and SIEM use cases?

Loki is a log aggregation and query system, not a SIEM, so it does not provide the correlation rules, threat detection content or case management that a security analytics product includes. It can store security-relevant logs at scale and support queries and alerting in Grafana, which covers many operational and some security investigations. Teams that depend on Sumo Logic Cloud SIEM detections should check the coverage gap with their SOC before committing, and consider a security-focused platform such as Wazuh, or a log analytics engine such as OpenSearch, for those workloads. Confirm the detection requirements in writing before deciding what stays on Sumo Logic.

What should we confirm about retention and storage before we go live?

Confirm retention explicitly because Loki keeps logs indefinitely unless you enable retention. Loki's retention is applied by the compactor and is disabled by default, so the setting must be turned on before go-live. You can set retention globally, per tenant or per stream selector, and each stream rule must be at least 24 hours. Production object stores recommended by Loki include Amazon S3, Google Cloud Storage and Azure Blob Storage, while S3-compatible stores such as MinIO are supported but not typically recommended for production. Check with your storage team how object storage costs and retention interact with your compliance policy, and confirm the storage tier you will use.

What a fixed-scope Loki migration covers after go-live

A fixed-scope Loki migration ends at a written set of deliverables, so the first post-go-live decision is which of the ongoing tasks sit inside that scope and which move to a retainer. DeployOpen agrees scope, deliverables and timelines in writing before work starts. Upgrades, backups and continuous support for the Loki, Grafana Alloy or Fluent Bit, and Grafana layers are available as retainers, and the retainer terms should be compared line by line against what your own team will run. Ask for the backup scope explicitly: the Loki chunks and index in object storage, the Grafana configuration database (MySQL or PostgreSQL in production), and the provisioning files that rebuild data sources and dashboards.

Plan for the release cadence before cutover, not after. Grafana's upgrade guidance says major releases arrive once a year in April or May, minor releases every other month and patch releases at least monthly. Each minor release is supported for 9 months, and the last minor release of a major version for 15 months, so a version you deploy in the first week of operation will need a planned upgrade within the first year. Loki follows its own release line, and the Loki documentation says the simple scalable deployment mode is being deprecated and will be removed with Loki 4.0, so confirm which deployment mode you chose still has a supported path before you commit to it. Check the release pages for current versions when you set the calendar.

Compliance evidence is prepared, not issued, by DeployOpen. The migration can document access controls on the Loki endpoint behind your authenticating reverse proxy, the retention rules set in the compactor, the tenant boundaries under auth_enabled, and the change records for each upgrade. Independent auditors and certification bodies draw their own conclusions from that evidence, so ask your auditor which artifacts they expect before the work starts. Agree in writing who keeps the retention configuration and the proxy logs under review after handover.

How DeployOpen scopes, runs and supports the Loki migration

DeployOpen plans, implements, integrates, hardens, documents and supports self-hosted open-source platforms inside your own cloud accounts, data centers or air-gapped networks. For a move from Sumo Logic to Loki, that means agreeing the log sources, label design, query translations and retention rules in writing before any collector is changed.

How we scope

  • Inventory every Sumo Logic source, collector, search, dashboard and monitor that the Loki replacement must cover.
  • Agree the deployment mode, object store and retention targets for Loki in a written scope before work starts.
  • Confirm which history is exported and which stays in Sumo Logic, since the browser export limit applies per search.

How we build

  • Deploy Loki and Grafana in your environment, with Grafana Alloy or Fluent Bit collectors replacing the Sumo Logic agents.
  • Design stream labels with low cardinality and translate Sumo Logic queries into LogQL and Grafana dashboards.
  • Put an authenticating reverse proxy in front of Loki and set the tenant header model you choose for each team.

How we hand over

  • Deliver the collector configurations, Loki and Grafana settings and dashboards as version-controlled files you own.
  • Document the query translations, label scheme and retention rules so your team can change them without us.
  • Run a handover walkthrough covering alerts, access control and how to test a collector change before rollout.

How we support

  • Engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work begins.
  • Ongoing support, upgrades of Loki and Grafana, and backups are available as a retainer after handover.
  • Ask us to confirm what a retainer covers, including upgrade testing against the current Loki and Grafana release notes.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.