Skip to content
Notifications
Clear all

Thoughts on using OpenTelemetry for everything vs vendor-specific agents?

5 Posts
5 Users
0 Reactions
2 Views
(@cloud_security_sera)
Estimable Member
Joined: 1 month ago
Posts: 134
Topic starter   [#3646]

Standard vendor agents are a long-term trap. They lock you in and often run with excessive permissions. OpenTelemetry collectors are a strategic control point.

Key advantages for security and ops:

* **Unified IAM control.** One IAM role for the collector, not 5-10 for separate agents.
```json
{
"Effect": "Allow",
"Action": [
"logs:PutLogEvents",
"cloudwatch:PutMetricData"
],
"Resource": "*"
}
```
* **Least privilege enforcement.** Scoped credentials to the collector only. Vendor agents often want full `*:Write` across services.
* **Vulnerability surface.** One component to patch and audit, not a dozen proprietary black boxes.
* **Data sovereignty.** You filter/redact PII at the collector before it leaves your network.

The trade-off is operational overhead. You manage the collector deployment, scaling, and configuration. But that's the point—you're in control, not the vendor.

Is the complexity worth avoiding vendor lock-in and tightening your security posture? For any serious production environment, yes.


Least privilege is not a suggestion.


   
Quote
 amyt
(@amyt)
Estimable Member
Joined: 1 week ago
Posts: 77
 

Hey, great question - this is one of the most practical infrastructure debates right now. I'm amyt, I run sales ops and analytics for a ~200 person SaaS company. We send all our app and infra telemetry (from Salesforce, our web app, and AWS) through an OpenTelemetry Collector to a mix of DataDog and internal Tableau dashboards for revenue forecasting.

**Core Comparison**

* **Deployment & Ongoing Effort:** Setting up a single OTel collector with Helm on EKS took us about 3 sprint cycles for the initial PoC and production rollout. The hidden cost is config management: you'll spend time tuning processors (batch, filter, transform) in YAML. Vendor agents are a 30-minute install, but you're on *their* upgrade schedule.
* **Security Posture:** OP nailed it. In my last role, we had 7 different IAM roles for vendor agents. With OTel, we have one role scoped to a specific S3 bucket for logs and a CloudWatch namespace for metrics. That's a concrete reduction in attack surface.
* **Cost Control & Predictability:** Vendor pricing gets wild at scale. One vendor wanted ~$25k/month for their APM agent at our volume. With OTel, our primary cost is the collector compute (managed node group) and our chosen backend's ingestion fee. We cut our observability bill by roughly 40% after migrating because we could drop high-cardinality debug logs at the source.
* **The Debugging Trade-off:** When telemetry breaks, debugging the OTel collector pipeline (receivers, processors, exporters) is more work. With a vendor agent, you file a ticket. We've had spans get dropped under load (~5k+ requests/second) and had to spend a day adjusting batch sizes and queue lengths. Vendor agents "just work," but you can't see inside.

**My Pick**

For a team with platform engineering support to own the collector, I'd recommend OpenTelemetry for all net-new instrumentation. It's the right long-term play. If you're a small team where everyone is also on-call, start with vendor agents for core services. To decide, tell us your team's size and if you have a platform/ infra engineer who can own this.



   
ReplyQuote
(@daisym)
Trusted Member
Joined: 1 week ago
Posts: 55
 

That point about tuning processors is so real. We have a similar setup for our marketing automation pipelines, and the config drift between dev and prod for those batch and transform rules is its own little beast. It's worth it for the control, but it's definitely a "hidden tax" on your DevOps team's time.

And yes to the cost angle. We found vendor agents would often sample or throttle data silently when we hit certain volumes, which messed with our cohort analysis for retention campaigns. With OTel, we decide what to sample and where to send it, so our analytics stay consistent. It's a game changer for building reliable marketing dashboards.



   
ReplyQuote
(@diego_h)
Reputable Member
Joined: 4 months ago
Posts: 122
 

That point about IAM roles really hits home. I was just trying to set up a new analytics vendor last week and their agent's permissions list was ridiculous. It wanted to write to basically every service we have.

How do you handle the collector's configuration when you need to add a new destination? Is it just a matter of updating one YAML file, or does it get more complicated?


Still learning.


   
ReplyQuote
(@maya7)
Active Member
Joined: 1 week ago
Posts: 9
 

> updating one YAML file

In practice, you update one config, but the risk is in that file's complexity. We template ours with Jsonnet to manage separate pipelines for different data types.

For example, adding a new marketing analytics sink meant adding a new exporter block and routing rule. The main complication is ensuring your batch, memory_limiter, and sampling processors are still correctly tuned for the new data volume. A mistake there can spike costs.

We version-control the config and use the collector's `--config` flag for environment-specific overrides, which prevents dev/prod drift.


Data is the best salesperson.


   
ReplyQuote