Skip to content

Commit 122d614

Browse files
authored
Add blog post for OTel Collector Survey (#4409)
1 parent 971a0e4 commit 122d614

8 files changed

+171
-0
lines changed
Loading
Loading
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
---
2+
title: Insights from the OpenTelemetry Collector Survey
3+
linkTitle: OpenTelemetry Collector Survey
4+
date: 2024-05-08
5+
author: '[Hope Oluwalolope](https://github.com/iamebonyhope) (Microsoft)'
6+
# prettier-ignore
7+
cSpell:ignore: attributesprocessor basicauthextension batchprocessor bearertokenauthextension clientauthextension countconnector customizability datadogconnector debugexporter distros filelogreceiver filterprocessor healthcheckextension hostmetricsreceiver k8sattributesprocessor lokiexporter memorylimiterprocessor Oluwalolope otlpexporter otlpreceiver Pprof pprofextension prometheusexporter prometheusreceiver prometheusremotewriteexporter routingconnector sclusterreceiver Servicegraph servicegraphconnector spanmetricsconnector
8+
---
9+
10+
The [OpenTelemetry (OTel) Collector](/docs/collector/) has become a cornerstone
11+
tool for observing and monitoring modern software applications. Recently, the
12+
End User SIG conducted a survey to gather feedback from users about their
13+
experiences with the OTel Collector. While we acknowledge that the 186 responses
14+
we received may not be statistically significant, they represent a great start
15+
and provide valuable insights. These insights include details about users’
16+
deployment practices and implementation challenges, which are instrumental in
17+
helping to drive the OTel Collector’s future direction.
18+
19+
## Key Takeaways
20+
21+
- Companies typically have medium to large collector deployments:
22+
- \>5 Collectors: 125/186
23+
- \>10 Collectors: 100/186
24+
- Building custom binaries/distributions of the Collector is more popular than
25+
expected (61/186), with most people using the
26+
[OTel Collector Builder](https://github.com/open-telemetry/opentelemetry-collector-builder)
27+
to do so (49/61)
28+
- The vast majority deploy the Collector on Kubernetes (150/186)
29+
- There's more desire for stability (59), self-observability (53), and config
30+
management (59), than for new components (14)
31+
32+
## Detailed Insights
33+
34+
### Deployment Scale and Environment
35+
36+
Our findings indicate robust use of the OTel Collector at scale, with
37+
53.8%(100/186) of respondents deploying more than 10 collectors, 13.4%(25/186)
38+
running between 5 and 10 collectors, and 22%(41/186) running between 2 and 5
39+
collectors.
40+
41+
![Chart showing how many otel collectors people run in their organization](deployment-scale.png)
42+
43+
Kubernetes is the leading platform for Collector deployment (80.6%), followed by
44+
virtual machines (33.3%) and bare metal (10.8%).
45+
46+
![Chart showing where people deploy their otel collectors](deployment-environment.png)
47+
48+
### Usage Scenarios
49+
50+
The OTel Collector is primarily used as a gateway (64.5%), demonstrating its
51+
pivotal role in aggregating telemetry data from various sources. Daemonsets
52+
(51.6%) and sidecars (23.7%) are also popular deployment models, showcasing the
53+
flexibility of the OTel Collector in different operational contexts.
54+
55+
![Chart showing the usage scenarios of the otel collector](usage-scenarios.png)
56+
57+
### Customization and Configuration
58+
59+
A surprising number of people build their own distributions of the Collector
60+
(61/186), indicating that providing a composable Collector is important for the
61+
community. Most people who do build their own Collector distros use the
62+
[OTel Collector Builder (OCB)](https://github.com/open-telemetry/opentelemetry-collector-builder)
63+
(49/61). Of the 49 respondents who leverage the OCB, most were able to figure it
64+
out, with only 2 respondents stating that it’s too hard to use.
65+
66+
![Chart showing how easy people find it to use the otel collector builder](ocb-usage.png)
67+
68+
### Monitoring and Observability
69+
70+
When it comes to monitoring the Collectors, a vast majority of respondents rely
71+
on Collector metrics and logs (81.7%), and only a few don't monitor their
72+
Collector(s) at all (16.6%). When we peered deeper into the data, we found that
73+
of the 125 respondents with more than 5 Collectors, only 15 are not monitoring
74+
their Collectors, and of the 100 respondents with more than 10 Collectors, only
75+
9 are not monitoring their Collectors. This seems to indicate that users take
76+
monitoring their Collectors seriously once they reach a certain maturity with
77+
their Collector deployments.
78+
79+
![Chart showing how people monitor their otel collector](monitoring.png)
80+
81+
### OTel Components Usage
82+
83+
The OTel Collector's flexibility is vividly illustrated by the wide array of
84+
exporters, receivers, processors, connectors, and extensions that are used
85+
across various environments. This highlights the Collector's capability to
86+
integrate with a vast range of tools and systems.
87+
88+
The top components according to our survey results are as follows:
89+
90+
### Exporters
91+
92+
1. [otlpexporter](https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/otlpexporter)
93+
2. [prometheusremotewriteexporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/exporter/prometheusremotewriteexporter/README.md)
94+
3. [prometheusexporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/exporter/prometheusexporter/README.md)
95+
4. [lokiexporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/exporter/lokiexporter/README.md)
96+
5. [debugexporter](https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/debugexporter)
97+
98+
### Receivers
99+
100+
1. [otlpreceiver](https://github.com/open-telemetry/opentelemetry-collector/tree/main/receiver/otlpreceiver)
101+
2. [prometheusreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/prometheusreceiver/README.md)
102+
3. [filelogreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/filelogreceiver)
103+
4. [hostmetricsreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/hostmetricsreceiver/README.md)
104+
5. [k8sclusterreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/k8sclusterreceiver/README.md)
105+
106+
### Processors
107+
108+
1. [batchprocessor](https://github.com/open-telemetry/opentelemetry-collector/tree/main/processor/batchprocessor)
109+
2. [attributesprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/attributesprocessor/README.md)
110+
3. [filterprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/filterprocessor/README.md)
111+
4. [memorylimiterprocessor](https://github.com/open-telemetry/opentelemetry-collector/tree/main/processor/memorylimiterprocessor)
112+
5. [k8sattributesprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/k8sattributesprocessor/README.md)
113+
114+
### Connectors
115+
116+
1. [spanmetricsconnector](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/extension/spanmetricsprocessor/README.md)
117+
2. [servicegraphconnector](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/extension/servicegraphprocessor/README.md)
118+
3. [routingconnector](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/routingprocessor/README.md)
119+
4. [countconnector](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/extension/countprocessor/README.md)
120+
5. [datadogconnector](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/exporter/datadogexporter/README.md)
121+
122+
### Extensions
123+
124+
1. [healthcheckextension](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/extension/healthcheckextension/README.md)
125+
2. [basicauthextension](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/extension/basicauthextension/README.md)
126+
3. [pprofextension](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/extension/pprofextension/README.md)
127+
4. [bearertokenauthextension](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/extension/bearertokenauthextension/README.md)
128+
5. [oauth2clientauthextension](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/extension/oauth2clientauthextension/README.md)
129+
130+
<br/>
131+
132+
For a more detailed look at the specific exporters, receivers, processors,
133+
connectors, and extensions in use, you can check out the
134+
[raw results](https://github.com/open-telemetry/sig-end-user/blob/main/end-user-surveys/otel-collector/otel-collector-survey.csv).
135+
The data provides a clear view of the popular choices within the community as
136+
well as the niche configurations that exemplify the customizability of the OTel
137+
Collector.
138+
139+
### Areas for Improvement
140+
141+
Respondents were clear about their desire for enhancements in stability (30.6%),
142+
configuration management and resolution (30.1%), and self-observability (28%),
143+
versus wanting new components (<8%)
144+
145+
![Chart showing interested areas of improvement for the otel collector](areas-of-improvement.png)
146+
147+
The
148+
[OTel Collector survey results](https://github.com/open-telemetry/sig-end-user/blob/main/end-user-surveys/otel-collector/otel-collector-survey.csv)
149+
offer a snapshot of the current state of Collector deployment and utilization.
150+
It's evident that while the OTel Collector is widely adopted and highly
151+
customizable, there are also opportunities to make it more user-friendly and
152+
robust.
153+
154+
## Keep in touch
155+
156+
Thanks to everyone who participated in the survey! We rely on your feedback to
157+
help guide the future development of OpenTelemetry and to ensure it continues to
158+
meet your evolving needs.
159+
160+
We will post upcoming surveys in the following avenues:
161+
[#otel-sig-end-user Slack channel](https://cloud-native.slack.com/archives/C01RT3MSWGZ)
162+
– you can also reach out to us here!
163+
[End user resources page](/community/end-user/)
Loading
Loading
Loading

static/refcache.json

+8
Original file line numberDiff line numberDiff line change
@@ -2631,6 +2631,10 @@
26312631
"StatusCode": 200,
26322632
"LastSeen": "2024-01-30T16:15:04.170576-05:00"
26332633
},
2634+
"https://github.com/iamebonyhope": {
2635+
"StatusCode": 200,
2636+
"LastSeen": "2024-05-08T10:07:06.998803+02:00"
2637+
},
26342638
"https://github.com/imandra-ai/ocaml-opentelemetry/": {
26352639
"StatusCode": 200,
26362640
"LastSeen": "2024-01-18T19:13:40.755331-05:00"
@@ -2999,6 +3003,10 @@
29993003
"StatusCode": 200,
30003004
"LastSeen": "2024-01-18T19:36:40.22377-05:00"
30013005
},
3006+
"https://github.com/open-telemetry/opentelemetry-collector-builder": {
3007+
"StatusCode": 200,
3008+
"LastSeen": "2024-05-08T10:07:07.582195+02:00"
3009+
},
30023010
"https://github.com/open-telemetry/opentelemetry-collector-contrib": {
30033011
"StatusCode": 200,
30043012
"LastSeen": "2024-01-18T20:05:30.222833-05:00"

0 commit comments

Comments
 (0)