Skip to content

Commit 489a68a

Browse files
committed
Adding extension ninja entry
1 parent defb02e commit 489a68a

File tree

2 files changed

+58
-2
lines changed

2 files changed

+58
-2
lines changed

content/en/conf/opentelemetry-collector/1-installation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ For this part we will require the following installed on your system:
2121
- Golang (latest version)
2222
- ocb installed
2323
- Most recent from the [project releases](https://github.com/open-telemetry/opentelemetry-collector/releases)
24-
- Install using go by `go install go.opentelemetry.io/collector/cmd/builder@latest`
24+
- Install using go by `go install go.opentelemetry.io/collector/cmd/builder@v0.75.0`
2525
- (Optional) Docker
2626

2727
## Why build your own collector?

content/en/conf/opentelemetry-collector/2-extensions.md

Lines changed: 57 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,61 @@ Restart the collector:
9494
sudo systemctl restart otelcol-contrib
9595
```
9696

97+
***
98+
99+
{{% expand "🥷 Ninja: Improve data durability with storage extension" %}}
100+
For this, we will need to validate our distrobution has the `file_storage` extension installed,
101+
this can be down by running the command `otelcol-contrib components` and it should so something like:
102+
103+
```yaml
104+
# ... truncated for clarity
105+
extensions:
106+
- file_storage
107+
```
108+
109+
This extension provides exporters the ability to queue data to disk in the event that exporter is unable
110+
to send data to the configured endpoint.
111+
112+
In order to configure the extension, you will need to update to include the following information:
113+
114+
```yaml
115+
extensions:
116+
file_storage:
117+
directory: /tmp/otel-data
118+
timeout: 10s
119+
compaction:
120+
directory: /tmp/otel-data
121+
on_start: true
122+
on_rebound: true
123+
rebound_needed_threshold_mib: 5
124+
rebound_trigger_threshold_mib: 3
125+
126+
# ... truncated for clarity
127+
128+
service:
129+
extension:
130+
# Additiona extensions here
131+
- file_storage
132+
```
133+
134+
## Why queue data to disk?
135+
136+
This allows the collector to queue data (and even restart) to ensure data is sent
137+
the upstream provider.
138+
139+
## Considerations for queuing data to disk?
140+
141+
There is a potential that this could impact data throughput performance due disk performance.
142+
143+
#### References
144+
145+
1. https://community.splunk.com/t5/Community-Blog/Data-Persistence-in-the-OpenTelemetry-Collector/ba-p/624583
146+
1. https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/storage/filestorage
147+
148+
{{% /expand %}}
149+
150+
***
151+
97152
## Health Check
98153
99154
This extension enables an HTTP url that can be probed to check the status of the OpenTelemetry Collector. This extension can be used as a liveness and/or readiness probe on Kubernetes. To learn more about the curl command, check out the [curl man page.](https://curl.se/docs/manpage.html)
@@ -150,4 +205,5 @@ Example URL: [http://localhost:55679/debug/extensionz](http://localhost:55679/de
150205

151206
![ExtensionZ](../images/extensionz.png)
152207

153-
Now that we have reviewed extensions, lets dive into the data pipeline portion of the workshop. The data pipeline in the OpenTelemetry Collector is made up of receivers, processors, and exporters. We will first start with receivers.
208+
Now that we have reviewed extensions, lets dive into the data pipeline portion of the workshop. The data pipeline in the OpenTelemetry Collector is made up of receivers, processors, and exporters. We will first start with receivers.
209+

0 commit comments

Comments
 (0)