Skip to content
Notifications
Clear all

Migrated from Sumo Logic to Grafana Loki for a K8s-heavy stack

2 Posts
2 Users
0 Reactions
0 Views
(@cloud_cost_optimizer)
Reputable Member
Joined: 5 months ago
Posts: 157
Topic starter   [#8545]

After operating a multi-cluster Kubernetes environment on AWS for three years with Sumo Logic as our centralized logging solution, we recently completed a full migration to Grafana Loki. The primary driver was cost, with secondary considerations around operational complexity and data sovereignty for compliance workloads. This post details the quantitative analysis that led to the decision, the migration architecture, and a six-month post-migration cost comparison.

Our Sumo Logic expenditure had become a significant line item, scaling nearly linearly with ingest volume despite tuning collectors and implementing aggressive parsing logic to drop non-essential fields. Our stack consists of:
* **12 EKS clusters** (mix of production and development) across three AWS regions.
* **Approximately 2,200 pods** at peak, generating application logs, control-plane logs (kube-apiserver, etc.), and infrastructure logs (VPC flow logs, AWS service logs via Firehose).
* **Average ingest volume:** 4.2 TB/month.
* **Retention requirement:** 30 days for debug, 90 days for audit/compliance logs.

The Sumo Logic cost model, based on Credits per GB ingested, proved challenging to predict and control. Even with committed-use discounts, our monthly bill averaged **$18,500**. A breakdown of the last full month on Sumo:
* Ingest Charges (4.1 TB): $16,400
* AWS Data Transfer (to Sumo endpoints): ~$290
* Management Overhead (engineer time for collector updates, query optimization): Estimated $1,800

The migration target was Grafana Loki operated in **microservices mode** on a dedicated EKS cluster, leveraging S3 for storage and DynamoDB for indexes. We utilized the **Loki Canary** for data quality verification and **Grafana Agent** in flow mode for log collection, replacing the Sumo Logic collectors. Key configuration excerpts for the Grafana Agent:

```yaml
integrations:
prometheus_remote_write:
- url:
logs:
instances:
- name: k8s-app-logs
targets:
- job: kubernetes-pods
pod_target_labels:
- app
relabel_configs:
- source_labels: [__meta_kubernetes_pod_label_app]
target_label: app
forward_to:
- loki_write_component
loki_write:
- url: http://loki-distributor:3100/loki/api/v1/push
external_labels:
cluster: ${CLUSTER_NAME}
```

The total **fully loaded cost** for the Loki stack on AWS, including all compute (managed node groups for the Loki cluster), storage (S3 Standard-IA for chunks, S3 Standard for recent data), networking, and DynamoDB capacity, is **$3,200/month**. This represents an **82.7% reduction**. The cost structure is now predominantly fixed, based on provisioned capacity for the Loki components, with variable S3 storage costs that are orders of magnitude lower than the previous ingest-based model.

**Trade-offs and Considerations:**
* Query performance for high-cardinality, full-text searches across the full retention period is slower than Sumo Logic's indexed approach. We mitigated this by enforcing strict label discipline and using parallel queries in Grafana.
* The operational burden shifted from managing collectors and optimizing credits to managing a stateful Loki cluster (chunk compaction, index management, rolling upgrades). This is automated via ArgoCD and Kubernetes operators.
* Sumo Logic's out-of-the-box security analytics and compliance content packs are a significant value if your team lacks the bandwidth to build equivalent dashboards and alerts. We replicated approximately 70% of the functionality using open-source Grafana dashboards and Loki's LogQL.

For organizations with strong Kubernetes operational maturity and a desire to convert a variable, volume-based logging cost into a largely fixed infrastructure cost, this migration is financially compelling. The break-even point for our implementation, factoring in migration engineering effort, was under four months.

-cc


every dollar counts


   
Quote
(@devops_shift_worker)
Estimable Member
Joined: 2 months ago
Posts: 104
 

I'm an SRE at a fintech with about 200 microservices across 8 production EKS clusters, and I run both Loki and Sumo Logic in parallel for different teams because neither has kicked the other out yet.

* **Real Cost Structure:** Sumo is a predictable financial migraine; you pay for the privilege of not thinking. At your 4.2TB/month, you're staring at a $35k-$45k/month Sumo bill. Loki on S3 with the `tsdb` index is about $1,200/month for storage plus whatever compute you give it, which for us is ~$3k for the read/write pods. That's an order-of-magnitude difference.
* **Operational Complexity Swap:** You trade Sumo's operational overhead (managing collectors, credit forecasting) for Loki's infrastructural overhead. You're now responsible for scaling the `ingester` pods during log spikes, tuning `chunk_target_size`, and managing boltdb-shipper or `tsdb` index retention. It's a real platform team tax.
* **Query Performance Trade-off:** Sumo's search on massive time ranges is generally faster. Loki's strength is labeling everything like a Kubernetes native; queries scoping specific `namespace`/`pod` labels are sub-second. Broad, un-filtered text searches across 30 days will have you waiting 10-20 seconds unless you over-provision the `querier` component.
* **The Compliance Gotcha:** Sumo's pre-baked compliance reporting and certified retention locks are done. With Loki, data sovereignty means you're managing S3 bucket policies, IAM roles, and potentially object-lock configurations yourself. It's not harder, but it's now *your* problem if an audit fails.

For your described stack, I'd pick Loki in a heartbeat - the cost saving alone justifies the platform work. But if you have a team that lives in Sumo dashboards for security incident response and can't tolerate slower broad-search, the equation changes. Tell us your on-call team's primary workflow and your exact tolerance for managing stateful log ingest on Kubernetes.


NightOps


   
ReplyQuote