Skip to content

Commit 0ef7cba

Browse files
Add new troubleshooting page - Collector not starting (#2255)
This PR adds a new troubleshooting topic that helps users resolve issues where the EDOT Collector fails to start or crashes on launch.
1 parent 4cd95fe commit 0ef7cba

File tree

2 files changed

+124
-0
lines changed

2 files changed

+124
-0
lines changed
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
---
2+
navigation_title: Collector won't start
3+
description: Learn what to do when the EDOT Collector doesn’t start.
4+
applies_to:
5+
stack:
6+
serverless:
7+
observability:
8+
product:
9+
edot_collector: ga
10+
products:
11+
- id: cloud-serverless
12+
- id: observability
13+
- id: edot-collector
14+
---
15+
16+
# EDOT Collector doesn’t start
17+
18+
19+
If your EDOT Collector fails to start, it's often due to configuration or environment-related issues. This guide walks you through the most common root causes and how to resolve them.
20+
21+
## Symptoms
22+
23+
EDOT Collector fails to start or crashes immediately after launch.
24+
25+
Possible causes include:
26+
27+
* Invalid YAML configuration, including syntax errors or unsupported fields
28+
* Port binding conflicts, for example ports 4317 or 4318 already in use
29+
* Missing or misconfigured required components, such as `receivers` or `exporters`
30+
* Incorrect permissions or volume mounts in containerized environments
31+
32+
## Resolution
33+
34+
The solution depends on your EDOT Collector's setup:
35+
36+
* [Standalone](#standalone-edot-collector)
37+
* [Kubernetes](#kubernetes-edot-collector)
38+
39+
### Standalone EDOT Collector
40+
41+
If you're deploying the EDOT Collector in a standalone configuration, try to:
42+
43+
* Validate configuration syntax
44+
45+
Run the following to validate your configuration without starting the Collector:
46+
47+
```bash
48+
otelcol validate --config=/path/to/otel-collector-config.yaml
49+
```
50+
51+
This checks for syntax errors and missing components.
52+
53+
* Check logs for stack traces or component errors
54+
55+
Review the Collector logs for error messages indicating configuration problems. Common examples include:
56+
57+
```
58+
error initializing exporter: no endpoint specified
59+
```
60+
61+
Most critical issues, such as missing or invalid exporters or receivers, will be logged.
62+
63+
To increase verbosity, run:
64+
65+
```bash
66+
./otelcol --set=service.telemetry.logs.level=debug
67+
```
68+
69+
This is especially helpful for diagnosing configuration parsing issues or startup errors.
70+
71+
72+
* Confirm required components are defined
73+
74+
Ensure `service.pipelines` references valid `receivers`, `processors`, and `exporters`. The minimal configuration depends on your use case:
75+
76+
* **For logs**: `filelog` receiver, `resourcedetection` processor, `elasticsearch` exporter
77+
78+
* **For traces**: `otlp` receiver, `elastictrace` and `elasticapm` processors, `elasticsearch` exporter
79+
80+
* **For managed OTLP endpoint**: use relevant receivers and export using the `otlp` exporter
81+
82+
Refer to [Default configuration of the EDOT Collector (Standalone)](opentelemetry://reference/edot-collector/config/default-config-standalone.md) for full examples for each use case.
83+
84+
85+
* Check for port conflicts
86+
87+
By default, EDOT uses:
88+
89+
* 4317 for OTLP/gRPC
90+
* 4318 for OTLP/HTTP
91+
92+
Run this to check if a port is in use:
93+
94+
```bash
95+
lsof -i :4317
96+
```
97+
98+
If needed, adjust your configuration or free up the port.
99+
100+
### Kubernetes EDOT Collector
101+
102+
If you're deploying the EDOT Collector using the Elastic Helm charts, try to:
103+
104+
* Double-check your custom `values.yaml` or -`-set` overrides for typos or missing fields.
105+
106+
* Ensure volume mounts are correctly defined if you're using custom configuration files.
107+
108+
* If you're managing the Collector through {{fleet}}, confirm that the policy includes a valid configuration and hasn't been corrupted or partially applied.
109+
110+
* Use `kubectl logs <collector-pod>` to get Collector logs and diagnose startup failures.
111+
112+
* Check the status of the pod using:
113+
114+
```bash
115+
kubectl describe pod <collector-pod>
116+
```
117+
118+
Common issues include volume mount errors, image pull failures, or misconfigured environment variables.
119+
120+
## Resources
121+
122+
* [Upstream Collector configuration documentation](https://opentelemetry.io/docs/collector/configuration/)
123+
* [Elastic Stack Kubernetes Helm Charts](https://github.com/elastic/helm-charts)

troubleshoot/ingest/opentelemetry/toc.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ toc:
66
children:
77
- file: edot-collector/collector-oomkilled.md
88
- file: edot-collector/metadata.md
9+
- file: edot-collector/collector-not-starting.md
910
- file: edot-sdks/index.md
1011
children:
1112
- file: edot-sdks/android/index.md

0 commit comments

Comments
 (0)