Skip to content

Commit 9d8df29

Browse files
committed
Add new troubleshooting page - Collector not starting
1 parent 95ed479 commit 9d8df29

File tree

2 files changed

+128
-0
lines changed

2 files changed

+128
-0
lines changed
Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
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)
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+
edot-collector --config=/path/to/otel-collector-config.yaml --dry-run
49+
```
50+
51+
This checks for syntax errors and missing components.
52+
53+
EDOT fully supports `--dry-run`, just like the upstream Collector.
54+
55+
* Check logs for stack traces or component errors
56+
57+
Review the Collector logs for error messages indicating configuration problems. Common examples include:
58+
59+
```
60+
error initializing exporter: no endpoint specified
61+
```
62+
63+
Most critical issues, such as missing or invalid exporters or receivers, will be logged.
64+
65+
To increase verbosity, run the Collector with:
66+
67+
```bash
68+
--log-level=debug
69+
```
70+
71+
This is especially helpful for diagnosing configuration parsing issues or startup errors.
72+
73+
74+
* Confirm required components are defined
75+
76+
Ensure `service.pipelines` references valid `receivers`, `processors`, and `exporters`. The minimal configuration depends on your use case:
77+
78+
* **For logs**: `filelog` receiver, `resourcedetection` processor, `elasticsearch` exporter
79+
80+
* **For traces**: `otlp` receiver, `elastictrace` and `elasticapm` processors, `elasticsearch` exporter
81+
82+
* **For managed OTLP endpoint**: use relevant receivers and export using the `otlp` exporter
83+
84+
Refer to [Default configuration of the EDOT Collector (Standalone)](opentelemetry://edot-collector/config/default-config-standalone.md) for full examples for each use case.
85+
86+
87+
* Check for port conflicts
88+
89+
By default, EDOT uses:
90+
91+
* 4317 for OTLP/gRPC
92+
* 4318 for OTLP/HTTP
93+
94+
These are not customized by EDOT.
95+
96+
Run this to check if a port is in use:
97+
98+
```bash
99+
lsof -i :4317
100+
```
101+
102+
If needed, adjust your configuration or free up the port.
103+
104+
### Kubernetes EDOT Collector
105+
106+
If you're deploying the EDOT Collector using the Elastic Helm charts, try to:
107+
108+
* Double-check your custom `values.yaml` or -`-set` overrides for typos or missing fields.
109+
110+
* Ensure volume mounts are correctly defined if you're using custom configuration files.
111+
112+
* If you're managing the Collector through {{fleet}}, confirm that the policy includes a valid configuration and hasn't been corrupted or partially applied.
113+
114+
* Use `kubectl logs <collector-pod>` to get Collector logs and diagnose startup failures.
115+
116+
* Check the status of the pod using:
117+
118+
```bash
119+
kubectl describe pod <collector-pod>
120+
```
121+
122+
Common issues include volume mount errors, image pull failures, or misconfigured environment variables.
123+
124+
## Resources
125+
126+
* [Upstream Collector configuration documentation](https://opentelemetry.io/docs/collector/configuration/)
127+
* [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/dotnet/index.md

0 commit comments

Comments
 (0)