Skip to content
Notifications
Clear all

Anyone using Sumo Logic for Kubernetes observability in production?

3 Posts
3 Users
0 Reactions
1 Views
(@elliotv)
Estimable Member
Joined: 2 weeks ago
Posts: 88
Topic starter   [#22213]

I've been evaluating Sumo Logic's Kubernetes Observability solution for the past eight months, culminating in a production deployment across three mid-sized EKS clusters for the last quarter. My team's primary stack includes a mix of Java microservices, Node.js APIs, and several stateful workloads (Kafka, Redis) all orchestrated via Kubernetes. We were seeking to consolidate our monitoring, logging, and tracing into a single pane of glass, moving away from a fragmented setup of Prometheus/Grafana, a separate log aggregator, and disjointed APM tools.

The deployment and integration process was methodical. The Sumo Logic Kubernetes Collection Helm chart is comprehensive, but requires careful tuning. Out of the box, the default resource requests/limits for the collectors (Fluentd/Fluent Bit for logs, OpenTelemetry Collector for metrics and traces) were insufficient for our log volume. We experienced backpressure and dropped logs during our first significant load test. The solution involved a structured approach:

1. **Sizing the Collectors:** We analyzed our average log lines per second and increased the collector pod resources accordingly. We also implemented pod anti-affinity rules to ensure collectors were spread across nodes.
```yaml
# Example snippet from our values.yaml override for the Helm chart
sumologic:
collector:
resources:
requests:
memory: "2Gi"
cpu: "1000m"
limits:
memory: "4Gi"
cpu: "2000m"
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchLabels:
component: "collection"
topologyKey: "kubernetes.io/hostname"
```

2. **Log Filtering & Exclusion:** A significant portion of our resource consumption was from verbose, low-value logs (e.g., health checks, readiness probes). We leveraged Fluentd filters at the collection level to drop these logs before they left the cluster, dramatically reducing egress costs and improving collector stability.
3. **Custom Metrics & OpenTelemetry:** Integrating our custom application metrics (exposed via Prometheus exporters) was straightforward through the OpenTelemetry collector configuration. However, we found the process of creating derived fields and custom metrics within Sumo Logic's query language to be more involved than writing PromQL, though ultimately more powerful for correlation.

The strengths we've observed are substantial:
* The pre-built Kubernetes Apps (e.g., "Kubernetes Workloads," "Pod Lens") provide excellent out-of-the-box dashboards for cluster health, resource efficiency, and pod lifecycle events.
* The correlation between infrastructure metrics, application logs, and distributed traces within a single query is powerful for root cause analysis. Tracing a high-latency request through the ingress, various microservices, and down to a specific noisy neighbor pod is a workflow that has significantly reduced our MTTR.
* The security and compliance features, like the "Kubernetes Audit" app, have been invaluable for our platform team.

However, several pitfalls are worth noting:
* **Cost Control:** The pricing model based on ingested data volume requires vigilant management. Without careful log filtering and exclusion at the source, costs can escalate unpredictably. We had to implement strict tagging and departmental chargebacks to foster ownership.
* **Query Language Learning Curve:** While Sumo Logic's query language is powerful, it is a departure from both SQL and PromQL. Teams accustomed to those standards required dedicated training to become proficient.
* **Custom Dashboard Flexibility:** While the pre-built apps are excellent, creating highly custom, tailored dashboards for specific application KPIs felt less intuitive than in Grafana. The widget options and layout controls are somewhat restrictive.

My current conclusion is that Sumo Logic provides a robust, enterprise-grade solution for Kubernetes observability, particularly strong in environments where strong security posture, audit compliance, and correlation across signals are paramount. It is less suited for organizations with very tight budgets or teams deeply entrenched in and satisfied with the Prometheus/Grafana ecosystem. The key to a successful implementation is a methodical, phased rollout with a primary focus on data ingestion governance from day one.

I'm interested to hear from others running this in production, specifically regarding:
* Your strategies for managing and predicting costs across large, dynamic clusters.
* Experiences integrating with GitOps workflows (e.g., Argo CD) for managing collection configuration.
* Any patterns you've developed for extending the OpenTelemetry collector to capture custom signals not covered by the default Helm chart.


null


   
Quote
(@gracew23)
New Member
Joined: 20 hours ago
Posts: 4
 

Default resource requests are always insufficient. That's a given for any vendor's Helm chart. The real question is if their documentation provides clear scaling guidance, or if you had to figure it out through trial and error.



   
ReplyQuote
(@danielb)
Estimable Member
Joined: 2 weeks ago
Posts: 93
 

Exactly. Their documentation provides high-level guidance but the scaling metrics are vague. You'll find yourself needing to adjust Fluentd buffer queue limits and chunk sizes based on your log volume, which they don't detail. The trial and error was mostly around avoiding backpressure during our daily peak.



   
ReplyQuote