Skip to content

Commit bb2dab3

Browse files
committed
added collector components markdown generation and link check
Signed-off-by: Alexander Wert <alexander.wert@elastic.co>
1 parent 6a41fe4 commit bb2dab3

22 files changed

+546
-109
lines changed

.github/workflows/check-links.yml

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Check links in docs pages
2+
3+
on:
4+
pull_request:
5+
types:
6+
- opened
7+
- synchronize
8+
paths:
9+
- 'docs/**'
10+
11+
jobs:
12+
# Build job
13+
build:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
- name: Setup Ruby
19+
# https://github.com/ruby/setup-ruby/releases/tag/v1.207.0
20+
uses: ruby/setup-ruby@4a9ddd6f338a97768b8006bf671dfbad383215f4
21+
with:
22+
ruby-version: '3.4.1'
23+
bundler-cache: true
24+
cache-version: 0
25+
- name: Install Dependencies
26+
run: |
27+
cd docs
28+
make install
29+
- name: Check Links
30+
run: |
31+
cd docs
32+
make check-links
+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Check generated markdown in docs pages
2+
3+
on:
4+
pull_request:
5+
types:
6+
- opened
7+
- synchronize
8+
paths:
9+
- 'docs/**'
10+
11+
jobs:
12+
# Build job
13+
build:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
- name: Set up Python
19+
uses: actions/setup-python@v5
20+
with:
21+
python-version: '3.13'
22+
- name: Install dependencies
23+
run: |
24+
cd docs/gen_edot_col_components
25+
python -m pip install --upgrade pip
26+
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
27+
- name: Check Markdown Generation
28+
run: |
29+
cd docs
30+
make check-md-gen

docs/Makefile

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
.PHONY: generate-collector-components
2+
generate-collector-components:
3+
cd gen_edot_col_components && pip install -r requirements.txt && python3 render_md.py
4+
5+
.PHONY: check-md-gen
6+
check-md-gen:
7+
cd gen_edot_col_components && pip install -r requirements.txt && python3 check_md.py
8+
9+
.PHONY: install
10+
install:
11+
bundle install
12+
13+
.PHONY: build-site
14+
build-site:
15+
bundle exec jekyll build
16+
17+
.PHONY: check-links
18+
check-links: build-site
19+
bundle exec htmlproofer --assume_extension '.html' --swap-urls '^/opentelemetry/:/' --ignore_urls '/http:\/\/localhost:4000.*/','/https:\/\/elastic.github.io\/opentelemetry\/*/' --no_enforce_https ./_site
20+
21+
.PHONY: run-local
22+
run-local: generate-collector-components
23+
bundle exec jekyll serve

docs/_config.yml

+7-2
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,18 @@ just_the_docs:
6060
nav_fold: true
6161
nav_sort: case_insensitive
6262

63-
# EDOT versions
63+
# ! DO NOT DELETE THE COMMENTS !
64+
# -- EDOT versions start --
6465
edot_versions:
65-
collector: 8.17.2
66+
collector: 8.17.3
6667
android:
6768
dotnet: 1.0.0-beta.1
6869
ios:
6970
java: 1.2.1
7071
nodejs: 0.7.0
7172
php:
7273
python: 0.7.0
74+
# -- EDOT versions end --
75+
76+
exclude:
77+
- "gen_edot_col_components/"

docs/_edot-collector/components.md

+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
---
2+
title: Components
3+
layout: default
4+
nav_order: 8
5+
---
6+
7+
# Components included in the EDOT Collector
8+
9+
<!-- start:edot-collector-components-table -->
10+
### Receivers
11+
12+
| Component | Version |
13+
|:---|---|
14+
| filelogreceiver | v0.119.0 |
15+
| hostmetricsreceiver | v0.119.0 |
16+
| httpcheckreceiver | v0.119.0 |
17+
| jaegerreceiver | v0.119.0 |
18+
| k8sclusterreceiver | v0.119.0 |
19+
| k8sobjectsreceiver | v0.119.0 |
20+
| kubeletstatsreceiver | v0.119.0 |
21+
| otlpreceiver | v0.119.0 |
22+
| prometheusreceiver | v0.119.0 |
23+
| zipkinreceiver | v0.119.0 |
24+
25+
### Exporters
26+
27+
| Component | Version |
28+
|:---|---|
29+
| debugexporter | v0.119.0 |
30+
| elasticsearchexporter | v0.119.0 |
31+
| fileexporter | v0.119.0 |
32+
| loadbalancingexporter | v0.119.0 |
33+
| otlpexporter | v0.119.0 |
34+
| otlphttpexporter | v0.119.0 |
35+
36+
### Processors
37+
38+
| Component | Version |
39+
|:---|---|
40+
| attributesprocessor | v0.119.0 |
41+
| batchprocessor | v0.119.0 |
42+
| elasticinframetricsprocessor | v0.13.0 |
43+
| elastictraceprocessor | v0.3.0 |
44+
| filterprocessor | v0.119.0 |
45+
| k8sattributesprocessor | v0.119.0 |
46+
| lsmintervalprocessor | v0.3.0 |
47+
| memorylimiterprocessor | v0.119.0 |
48+
| resourcedetectionprocessor | v0.119.0 |
49+
| resourceprocessor | v0.119.0 |
50+
| transformprocessor | v0.119.0 |
51+
52+
### Connectors
53+
54+
| Component | Version |
55+
|:---|---|
56+
| routingconnector | v0.119.0 |
57+
| signaltometricsconnector | v0.3.0 |
58+
| spanmetricsconnector | v0.119.0 |
59+
60+
### Extensions
61+
62+
| Component | Version |
63+
|:---|---|
64+
| filestorage | v0.119.0 |
65+
| healthcheckextension | v0.119.0 |
66+
| memorylimiterextension | v0.119.0 |
67+
| pprofextension | v0.119.0 |
68+
69+
<!-- end:edot-collector-components-table -->
Original file line numberDiff line numberDiff line change
@@ -1,89 +1,98 @@
1-
---
2-
title: Customization
3-
layout: default
4-
nav_order: 5
5-
---
6-
7-
# Build a custom collector or configure the OpenTelemetry Collector Contrib distribution
8-
9-
You can build and configure a [custom collector](https://opentelemetry.io/docs/collector/custom-collector/) or extend the [OpenTelemetry Collector Contrib ](https://github.com/open-telemetry/opentelemetry-collector-contrib) distribution to collect logs and metrics and send them to Elastic Observability.
10-
11-
For a more seamless experience, use the Elastic Distribution of the OpenTelemetry Collector.
12-
Refer to the [guided onboarding](guided-onboarding.md) docs or the [manual configuration](manual-configuration.md) docs for more on configuring the Elastic Distribution of the OpenTelemetry Collector.
13-
14-
## Upstream collector configuration examples
15-
16-
Use the Elastic [example configurations](https://github.com/elastic/elastic-agent/tree/main/internal/pkg/otel/samples) as a reference when configuring your upstream collector.
17-
18-
## Build a custom collector
19-
20-
To build a custom collector to collect your telemetry data and send it to Elastic Observability, you need to:
21-
22-
1. Install the OpenTelemetry Collector builder (ocb).
23-
1. Create a builder configuration file.
24-
1. Build the collector.
25-
26-
Refer to the following sections to complete these steps.
27-
28-
### Step 1. Install the OpenTelemetry Collector builder
29-
Install the ocb using the command that aligns with you system from the [OpenTelemetry building a custom collector documentation](https://opentelemetry.io/docs/collector/custom-collector/#step-1---install-the-builder).
30-
31-
### Step 2. Create a builder configuration file
32-
Create a builder configuration file,`builder-config.yml`, to define the custom collector. This file specifies the components (extensions, exporters, processors, receivers, and connectors) included in your custom collector.
33-
34-
The following example `builder-config.yml` file contains the components needed to send your telemetry data to Elastic Observability. For more information on these components, refer to the [components](collector-components.md) documentation. Keep or remove components from the example configuration file to fit your needs.
35-
36-
``` yaml
37-
dist:
38-
name: otelcol-dev
39-
description: Basic OTel Collector distribution for Developers
40-
output_path: ./otelcol-dev
41-
otelcol_version: 0.107.0
42-
43-
extensions:
44-
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.106.1
45-
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage v0.106.1
46-
- gomod: go.opentelemetry.io/collector/extension/memorylimiterextension v0.106.1
47-
48-
exporters:
49-
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.106.1
50-
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.106.1
51-
- gomod: go.opentelemetry.io/collector/exporter/debugexporter v0.106.1
52-
- gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.106.1
53-
- gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.106.1
54-
55-
processors:
56-
- gomod: go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.106.1
57-
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.106.1
58-
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.106.1
59-
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor v0.106.1
60-
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.106.1
61-
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.106.1
62-
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.106.1
63-
- gomod: github.com/elastic/opentelemetry-collector-components/processor/elasticinframetricsprocessor v0.7.1
64-
- gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.106.1
65-
66-
receivers:
67-
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.106.1
68-
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.106.1
69-
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.106.1
70-
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.106.1
71-
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.106.1
72-
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver v0.106.1
73-
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver v0.106.1
74-
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sobjectsreceiver v0.106.1
75-
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.106.1
76-
- gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.106.1
77-
78-
connectors:
79-
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.106.1
80-
```
81-
82-
### Step 3. Build the Collector
83-
Build your custom collector using the ocb tool and the configuration file by running the following command:
84-
85-
`builder --config builder-config.yml`
86-
87-
This command generates a new collector in the specified output path, `otelcol-dev`. The generated collector includes the components you specified in the configuration file.
88-
89-
For general information on building a custom collector, refer to the [OpenTelemetry documentation](https://opentelemetry.io/docs/collector/custom-collector/#step-1---install-the-builder).
1+
---
2+
title: Customization
3+
layout: default
4+
nav_order: 5
5+
---
6+
7+
# Build a custom collector or configure the OpenTelemetry Collector Contrib distribution
8+
9+
You can build and configure a [custom collector](https://opentelemetry.io/docs/collector/custom-collector/) or extend the [OpenTelemetry Collector Contrib ](https://github.com/open-telemetry/opentelemetry-collector-contrib) distribution to collect logs and metrics and send them to Elastic Observability.
10+
11+
For a more seamless experience, use the Elastic Distribution of the OpenTelemetry Collector.
12+
Refer to the [guided onboarding](guided-onboarding.md) docs or the [manual configuration](manual-configuration.md) docs for more on configuring the Elastic Distribution of the OpenTelemetry Collector.
13+
14+
## Upstream collector configuration examples
15+
16+
Use the Elastic [example configurations](https://github.com/elastic/elastic-agent/tree/main/internal/pkg/otel/samples) as a reference when configuring your upstream collector.
17+
18+
## Build a custom collector
19+
20+
To build a custom collector to collect your telemetry data and send it to Elastic Observability, you need to:
21+
22+
1. Install the OpenTelemetry Collector builder (ocb).
23+
1. Create a builder configuration file.
24+
1. Build the collector.
25+
26+
Refer to the following sections to complete these steps.
27+
28+
### Step 1. Install the OpenTelemetry Collector builder
29+
Install the ocb using the command that aligns with you system from the [OpenTelemetry building a custom collector documentation](https://opentelemetry.io/docs/collector/custom-collector/#step-1---install-the-builder).
30+
31+
### Step 2. Create a builder configuration file
32+
Create a builder configuration file,`builder-config.yml`, to define the custom collector. This file specifies the components (extensions, exporters, processors, receivers, and connectors) included in your custom collector.
33+
34+
The following example `builder-config.yml` file contains the components needed to send your telemetry data to Elastic Observability. For more information on these components, refer to the [components](collector-components.md) documentation. Keep or remove components from the example configuration file to fit your needs.
35+
36+
<!-- DO NOT DELETE THIS SECTION, TAGS ARE REQUIRED FOR GENERATION-->
37+
<!-- start:edot-collector-components-ocb -->
38+
``` yaml
39+
dist:
40+
name: otelcol-dev
41+
description: Basic OTel Collector distribution for Developers
42+
output_path: ./otelcol-dev
43+
otelcol_version: 0.119.0
44+
45+
extensions:
46+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage v0.119.0
47+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.119.0
48+
- gomod: go.opentelemetry.io/collector/extension/memorylimiterextension v0.119.0
49+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.119.0
50+
51+
receivers:
52+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.119.0
53+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.119.0
54+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver v0.119.0
55+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.119.0
56+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver v0.119.0
57+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sobjectsreceiver v0.119.0
58+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.119.0
59+
- gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.119.0
60+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.119.0
61+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.119.0
62+
63+
exporters:
64+
- gomod: go.opentelemetry.io/collector/exporter/debugexporter v0.119.0
65+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.119.0
66+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter v0.119.0
67+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter v0.119.0
68+
- gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.119.0
69+
- gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.119.0
70+
71+
processors:
72+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor v0.119.0
73+
- gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.119.0
74+
- gomod: github.com/elastic/opentelemetry-collector-components/processor/elasticinframetricsprocessor v0.13.0
75+
- gomod: github.com/elastic/opentelemetry-collector-components/processor/elastictraceprocessor v0.3.0
76+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor v0.119.0
77+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor v0.119.0
78+
- gomod: github.com/elastic/opentelemetry-collector-components/processor/lsmintervalprocessor v0.3.0
79+
- gomod: go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.119.0
80+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.119.0
81+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.119.0
82+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor v0.119.0
83+
84+
connectors:
85+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.119.0
86+
- gomod: github.com/elastic/opentelemetry-collector-components/connector/signaltometricsconnector v0.3.0
87+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.119.0
88+
```
89+
<!-- end:edot-collector-components-ocb -->
90+
91+
### Step 3. Build the Collector
92+
Build your custom collector using the ocb tool and the configuration file by running the following command:
93+
94+
`builder --config builder-config.yml`
95+
96+
This command generates a new collector in the specified output path, `otelcol-dev`. The generated collector includes the components you specified in the configuration file.
97+
98+
For general information on building a custom collector, refer to the [OpenTelemetry documentation](https://opentelemetry.io/docs/collector/custom-collector/#step-1---install-the-builder).

docs/_edot-collector/faq.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
---
22
title: Frequently Asked Questions
33
layout: default
4-
nav_order: 7
4+
nav_order: 8
55
---
66

7-
# Frequently Asked Questions
7+
# Frequently Asked Questions
8+

docs/_edot-collector/troubleshooting.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Troubleshooting
33
layout: default
4-
nav_order: 6
4+
nav_order: 7
55
---
66

77
# Troubleshooting the EDOT Collector
+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from tools import check_markdown
2+
3+
4+
if not check_markdown():
5+
exit(1)

0 commit comments

Comments
 (0)