Skip to content

Commit 2d28c35

Browse files
committed
Section 1 fixes
1 parent ec2a873 commit 2d28c35

File tree

6 files changed

+57
-48
lines changed

6 files changed

+57
-48
lines changed

content/en/conf/1-advanced-collector/1-agent-gateway/1-1-gateway.md

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@ This makes your observability pipeline easier to manage, scale, and analyze—es
1515
Open or create your second terminal window and name it **Gateway**. Navigate to the first exercise directory `[WORKSHOP]/1-agent-gateway`
1616
then check the contents of the `gateway.yaml` file.
1717

18-
This file outlines the core structure of the OpenTelemetry Collector as deployed in **Gateway** mode:
18+
This file outlines the core structure of the OpenTelemetry Collector as deployed in **Gateway** mode.
1919

20+
<!--
2021
```bash
2122
cat ./gateway.yaml
2223
```
@@ -105,7 +106,7 @@ service: # Service configuration
105106
- debug # Debug exporter
106107
- file/logs
107108
```
108-
109+
-->
109110
{{% /notice %}}
110111

111112
### Understanding the Gateway Configuration
@@ -132,19 +133,20 @@ Let’s explore the `gateway.yaml` file that defines how the OpenTelemetry Colle
132133
The **Gateway** uses three file exporters to output telemetry data to local files. These exporters are defined as:
133134

134135
```yaml
135-
exporters:
136-
file/traces:
137-
path: ./gateway-traces.out
138-
file/metrics:
139-
path: ./gateway-metrics.out
140-
file/logs:
141-
path: ./gateway-logs.out
136+
exporters: # List of exporters
137+
debug: # Debug exporter
138+
verbosity: detailed # Enable detailed debug output
139+
file/traces: # Exporter Type/Name
140+
path: "./gateway-traces.out" # Path for OTLP JSON output for traces
141+
append: false # Overwrite the file each time
142+
file/metrics: # Exporter Type/Name
143+
path: "./gateway-metrics.out" # Path for OTLP JSON output for metrics
144+
append: false # Overwrite the file each time
145+
file/logs: # Exporter Type/Name
146+
path: "./gateway-logs.out" # Path for OTLP JSON output for logs
147+
append: false # Overwrite the file each time
142148
```
143149

144-
Each exporter writes a specific signal type to its corresponding file:
145-
146-
* `gateway-traces.out`: stores span (trace) data
147-
* `gateway-metrics.out`: stores metric data
148-
* `gateway-logs.out`: stores log data
150+
Each exporter writes a specific signal type to its corresponding file.
149151

150152
These files are created once the gateway is started and will be populated with real telemetry as the agent sends data. You can monitor these files in real time to observe the flow of telemetry through your pipeline.

content/en/conf/1-advanced-collector/1-agent-gateway/1-2-send-metrics.md

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,22 @@
11
---
2-
title: 1.2 Send Test Metrics
3-
linkTitle: 1.2 Send Metrics
2+
title: 1.2 Validate & Test Configuration
3+
linkTitle: 1.2 Validate & Test Configuration
44
weight: 3
55
---
66

7-
Now, we can start the **Gateway** and the **Agent**, which is configured to automaticly send **Host Metrics** at startup. We do this to verify that data is properly routed from the **Agent** to the **Gateway**.
7+
Now, we can start the **Gateway** and the **Agent**, which is configured to automatically send **Host Metrics** at startup. We do this to verify that data is properly routed from the **Agent** to the **Gateway**.
88

99
{{% notice title="Exercise" style="green" icon="running" %}}
1010

11-
**Start the Gateway**: In the **Gateway terminal** window, run the following command to start the **Gateway**:
11+
**Gateway**: In the **Gateway terminal** window, run the following command to start the **Gateway**:
1212

1313
```bash {title="Start the Gateway"}
1414
../otelcol --config=gateway.yaml
1515
```
1616

17-
If everything is configured correctly, the first and last lines of the output should look like:
17+
If everything is configured correctly, the collector will start and state `Everything is ready. Begin running and processing data.` in the output, similar to the following:
1818

1919
```text
20-
2025/06/09 09:22:11 settings.go:478: Set config to [gateway.yaml]
21-
...
22-
<snip to the end>
23-
...
2420
2025-06-09T09:22:11.944+0100 info [email protected]/service.go:289 Everything is ready. Begin running and processing data. {"resource": {}}
2521
```
2622

@@ -43,22 +39,23 @@ Once the **Gateway** is running, it will listen for incoming data on port `5318`
4339

4440
```text
4541
<snip>
46-
NumberDataPoints #37
42+
NumberDataPoints #31
4743
Data point attributes:
48-
-> cpu: Str(cpu0)
49-
-> state: Str(system)
50-
StartTimestamp: 2024-12-09 14:18:28 +0000 UTC
51-
Timestamp: 2025-01-15 15:27:51.319526 +0000 UTC
52-
Value: 9637.660000
44+
-> cpu: Str(cpu3)
45+
-> state: Str(wait)
46+
StartTimestamp: 2025-07-07 16:49:42 +0000 UTC
47+
Timestamp: 2025-07-09 09:36:21.190226459 +0000 UTC
48+
Value: 77.380000
49+
{"resource": {}, "otelcol.component.id": "debug", "otelcol.component.kind": "exporter", "otelcol.signal": "metrics"}
5350
```
5451

55-
At this stage, the **Agent** continues to collect **CPU** metrics once per hour or upon each restart and sends them to the gateway. The **Gateway** processes these metrics and exports them to a file named `./gateway-metrics.out`. This file stores the exported metrics as part of the pipeline service.
52+
At this stage, the **Agent** continues to collect **CPU** metrics once per hour or upon each restart and sends them to the gateway. The **Gateway** processes these metrics and exports them to a file named `gateway-metrics.out`. This file stores the exported metrics as part of the pipeline service.
5653

5754
**Verify Data arrived at Gateway**: To confirm that CPU metrics, specifically for `cpu0`, have successfully reached the gateway, we’ll inspect the `gateway-metrics.out` file using the `jq` command.
5855

5956
The following command filters and extracts the `system.cpu.time` metric, focusing on `cpu0`. It displays the metric’s state (e.g., `user`, `system`, `idle`, `interrupt`) along with the corresponding values.
6057

61-
Run the command below in the **Tests terminal** to check the `system.cpu.time` metric:
58+
Open or create your third terminal window and name it **Tests**. Run the command below in the **Tests terminal** to check the `system.cpu.time` metric:
6259

6360
{{% tabs %}}
6461
{{% tab title="Check CPU Metrics" %}}

content/en/conf/1-advanced-collector/1-agent-gateway/_index.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ We will refer to these terminals as: **Agent**, **Gateway**, **Loadgen**, and **
3232
├── agent.yaml
3333
└── gateway.yaml
3434
```
35-
35+
<!--
3636
3. Check the contents of the **agent.yaml** file. This file outlines the core structure of the OpenTelemetry Collector as deployed in **Agent** mode:
3737
3838
```bash
@@ -130,7 +130,7 @@ We will refer to these terminals as: **Agent**, **Gateway**, **Loadgen**, and **
130130
- file
131131
- otlphttp
132132
```
133-
133+
-->
134134
{{% /notice %}}
135135
136136
### Understanding the Agent configuration
@@ -179,18 +179,20 @@ The `receivers` section defines how the **Agent** ingests telemetry data. In thi
179179
180180
#### Exporters
181181
182-
* The `exporters` section controls where the collected telemetry data is sent:
182+
* **Debug Exporter**
183183
184184
```yaml
185-
exporters: # Array of Exporters
186185
debug: # Exporter Type
187186
verbosity: detailed # Enabled detailed debug output
187+
```
188+
189+
* **OTLPHTTP Exporter**
190+
191+
```yaml
188192
otlphttp: # Exporter Type
189193
endpoint: "http://localhost:5318" # Gateway OTLP endpoint
190194
```
191195
192196
The `debug` exporter sends data to the console for visibility and debugging during the workshop while the `otlphttp` exporter forwards all telemetry to the local **Gateway** instance.
193197
194-
{{% notice title="Info" style="info" %}}
195-
This dual-export strategy ensures you can see the raw data locally while also sending it downstream for further processing and export.
196-
{{% /notice %}}
198+
**This dual-export strategy ensures you can see the raw data locally while also sending it downstream for further processing and export.**

content/en/conf/1-advanced-collector/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Advanced OpenTelemetry Collector Workshop
2+
title: Advanced OpenTelemetry Collector
33
description: Practice setting up the OpenTelemetry Collector configuration from scratch and go though several advanced configuration scenarios's.
44
weight: 2
55
archetype: chapter

content/en/conf/1-advanced-collector/prerequisites.md

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,14 @@ time: 5 minutes
1414

1515
{{% notice title="Exercise" style="green" icon="running" %}}
1616

17-
**Create a workshop directory**: In your environment create a new directory (e.g. `advanced-otel-workshop`). We will refer to this directory as `[WORKSHOP]` for the remainder of the workshop.
17+
**Create a directory**: In your environment create a new directory and change into it:
18+
19+
``` bash
20+
mkdir advanced-otel-workshop && \
21+
cd advanced-otel-workshop
22+
```
23+
24+
We will refer to this directory as `[WORKSHOP]` for the remainder of the workshop.
1825

1926
**Download workshop binaries**: Change into your `[WORKSHOP]` directory and download the OpenTelemetry Collector, Load Generator binaries and setup script:
2027

@@ -71,7 +78,7 @@ Run the `setup-workshop.sh` script which will configure the correct permissions
7178
{{% tab title="Setup Workshop" %}}
7279

7380
```bash
74-
sh setup-workshop.sh
81+
./setup-workshop.sh
7582
```
7683

7784
{{% /tab %}}
@@ -149,14 +156,15 @@ Configuration files created in the following directories:
149156

150157
```text { title="Initial Directory Structure" }
151158
[WORKSHOP]
152-
├── otelcol # OpenTelemetry Collector binary
153-
├── loadgen # Load Generator binary
154-
├── 1-agent-gateway # Directories for exercises
159+
├── 1-agent-gateway
155160
├── 2-building-resilience
156161
├── 3-dropping-spans
157162
├── 4-sensitive-data
158163
├── 5-transform-data
159-
└── 6-routing-data
164+
├── 6-routing-data
165+
├── loadgen
166+
├── otelcol
167+
└── setup-workshop.sh
160168
```
161169

162170
<!--

workshop/ninja/advanced-otel/setup-workshop.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -190,13 +190,13 @@ exporters: # List of exporters
190190
debug: # Debug exporter
191191
verbosity: detailed # Enable detailed debug output
192192
file/traces: # Exporter Type/Name
193-
path: "./gateway-traces.out" # Path for OTLP JSON output
193+
path: "./gateway-traces.out" # Path for OTLP JSON output for traces
194194
append: false # Overwrite the file each time
195195
file/metrics: # Exporter Type/Name
196-
path: "./gateway-metrics.out" # Path for OTLP JSON output
196+
path: "./gateway-metrics.out" # Path for OTLP JSON output for metrics
197197
append: false # Overwrite the file each time
198198
file/logs: # Exporter Type/Name
199-
path: "./gateway-logs.out" # Path for OTLP JSON output
199+
path: "./gateway-logs.out" # Path for OTLP JSON output for logs
200200
append: false # Overwrite the file each time
201201
202202
processors: # List of processors

0 commit comments

Comments
 (0)