Skip to content

Commit 4d11e6e

Browse files
authored
feat: add ohi components to core (#475)
- new receivers: dockerstats, elasticsearch, jmx, k8sevents, kafkametrics, kubeletstats,nginx, rabbitmq, receivercreator - new extensions: dockerobserver, hostobserver, k8sobserver
1 parent c122c91 commit 4d11e6e

File tree

6 files changed

+207
-1
lines changed

6 files changed

+207
-1
lines changed

.github/workflows/ci-base.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ jobs:
6464
with:
6565
fetch-depth: 0 # required for tag metadata
6666

67+
- run: ./scripts/free-disk-space.sh
68+
6769
- name: Setup Go
6870
uses: actions/setup-go@v5
6971
with:
@@ -235,7 +237,7 @@ jobs:
235237
version: "2.11.2"
236238
args: ${{ env.goreleaser_args }}
237239
workdir: distributions/${{ inputs.distribution }}
238-
240+
239241
- name: Skip GoReleaser build (cached)
240242
if: steps.cache-goreleaser.outputs.cache-hit == 'true'
241243
run: echo "✅ GoReleaser build skipped - using cached binaries"

distributions/nrdot-collector/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ Note: See [general README](../README.md) for information that applies to all dis
1616
|-----------------------|-----------|---------------------------|---------------|
1717
| Host Monitoring (default) | `public` | `nrdot-collector-host` | [See 'Host Monitoring' below](#host-monitoring) |
1818
| Gateway Mode | `alpha` | N/A (new) | [See 'Gateway Mode' below](#gateway-mode) |
19+
| On-Host Integrations (OHI) | `alpha` | N/A (new) | Coming Soon |
1920

2021
Note: While it's technically possible to have a single collector serve multiple use cases at the same time, we generally do not recommend or support this pattern due to the operational complexity that comes with it (configuration, deployment, scaling, ...). Instead we recommend deploying one collector per use case and chain them as necessary. Please note that when we say 'one collector' we refer to a logical service, not a single instance, i.e. you should still employ common scaling practices to ensure your architecture is resilient.
2122

distributions/nrdot-collector/THIRD_PARTY_NOTICES.md

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,30 @@ Distributed under the following license(s):
3636

3737

3838

39+
## [github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/dockerobserver](https://github.com/open-telemetry/opentelemetry-collector-contrib)
40+
41+
Distributed under the following license(s):
42+
43+
* Apache-2.0
44+
45+
46+
47+
## [github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/hostobserver](https://github.com/open-telemetry/opentelemetry-collector-contrib)
48+
49+
Distributed under the following license(s):
50+
51+
* Apache-2.0
52+
53+
54+
55+
## [github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/k8sobserver](https://github.com/open-telemetry/opentelemetry-collector-contrib)
56+
57+
Distributed under the following license(s):
58+
59+
* Apache-2.0
60+
61+
62+
3963
## [github.com/open-telemetry/opentelemetry-collector-contrib/processor/attributesprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib)
4064

4165
Distributed under the following license(s):
@@ -116,6 +140,22 @@ Distributed under the following license(s):
116140

117141

118142

143+
## [github.com/open-telemetry/opentelemetry-collector-contrib/receiver/dockerstatsreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib)
144+
145+
Distributed under the following license(s):
146+
147+
* Apache-2.0
148+
149+
150+
151+
## [github.com/open-telemetry/opentelemetry-collector-contrib/receiver/elasticsearchreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib)
152+
153+
Distributed under the following license(s):
154+
155+
* Apache-2.0
156+
157+
158+
119159
## [github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib)
120160

121161
Distributed under the following license(s):
@@ -132,6 +172,46 @@ Distributed under the following license(s):
132172

133173

134174

175+
## [github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib)
176+
177+
Distributed under the following license(s):
178+
179+
* Apache-2.0
180+
181+
182+
183+
## [github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8seventsreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib)
184+
185+
Distributed under the following license(s):
186+
187+
* Apache-2.0
188+
189+
190+
191+
## [github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkametricsreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib)
192+
193+
Distributed under the following license(s):
194+
195+
* Apache-2.0
196+
197+
198+
199+
## [github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib)
200+
201+
Distributed under the following license(s):
202+
203+
* Apache-2.0
204+
205+
206+
207+
## [github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nginxreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib)
208+
209+
Distributed under the following license(s):
210+
211+
* Apache-2.0
212+
213+
214+
135215
## [github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib)
136216

137217
Distributed under the following license(s):
@@ -140,6 +220,22 @@ Distributed under the following license(s):
140220

141221

142222

223+
## [github.com/open-telemetry/opentelemetry-collector-contrib/receiver/rabbitmqreceiver](https://github.com/open-telemetry/opentelemetry-collector-contrib)
224+
225+
Distributed under the following license(s):
226+
227+
* Apache-2.0
228+
229+
230+
231+
## [github.com/open-telemetry/opentelemetry-collector-contrib/receiver/receivercreator](https://github.com/open-telemetry/opentelemetry-collector-contrib)
232+
233+
Distributed under the following license(s):
234+
235+
* Apache-2.0
236+
237+
238+
143239
## [go.opentelemetry.io/collector/component](https://go.opentelemetry.io/collector/component)
144240

145241
Distributed under the following license(s):
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# Component Inventory
2+
3+
This document maps each component in the `nrdot-collector` distribution to the use cases that require it. As use cases might evolve and begin to use components that are already present in the distro, this list might become stale and need updating, so it's not meant to be an authoritative source but best-effort context for maintainers.
4+
5+
**Legend:**
6+
- **Core**: Core (not use-case specific)
7+
- **Host**: Host Monitoring
8+
- **Gateway**: Gateway Mode
9+
- **OHI**: On-Host Integrations
10+
11+
## Receivers
12+
13+
| Component | Use Cases |
14+
|-----------|-----------|
15+
| `dockerstatsreceiver` | OHI |
16+
| `elasticsearchreceiver` | OHI |
17+
| `filelogreceiver` | Host |
18+
| `hostmetricsreceiver` | Host, OHI |
19+
| `jmxreceiver` | OHI |
20+
| `k8seventsreceiver` | OHI |
21+
| `kafkametricsreceiver` | OHI |
22+
| `kubeletstatsreceiver` | OHI |
23+
| `nginxreceiver` | OHI |
24+
| `otlpreceiver` | Core |
25+
| `prometheusreceiver` | Gateway |
26+
| `rabbitmqreceiver` | OHI |
27+
| `receivercreator` | OHI |
28+
29+
## Processors
30+
31+
| Component | Use Cases |
32+
|-----------|-----------|
33+
| `attributesprocessor` | Core |
34+
| `batchprocessor` | Core |
35+
| `cumulativetodeltaprocessor` | Core |
36+
| `filterprocessor` | Core |
37+
| `groupbyattrsprocessor` | Gateway |
38+
| `memorylimiterprocessor` | Core |
39+
| `metricstransformprocessor` | Core |
40+
| `resourcedetectionprocessor` | Core |
41+
| `resourceprocessor` | Gateway |
42+
| `spanprocessor` | Gateway |
43+
| `tailsamplingprocessor` | Gateway |
44+
| `transformprocessor` | Core |
45+
46+
## Exporters
47+
48+
| Component | Use Cases |
49+
|-----------|-----------|
50+
| `debugexporter` | Core |
51+
| `loadbalancingexporter` | Gateway |
52+
| `otlpexporter` | Core |
53+
| `otlphttpexporter` | Core |
54+
55+
## Connectors
56+
57+
| Component | Use Cases |
58+
|-----------|-----------|
59+
| `routingconnector` | Core |
60+
61+
## Extensions
62+
63+
| Component | Use Cases |
64+
|-----------|-----------|
65+
| `healthcheckextension` | Core |
66+
| `observer/dockerobserver` | OHI |
67+
| `observer/hostobserver` | OHI |
68+
| `observer/k8sobserver` | OHI |
69+
70+
## Providers
71+
72+
| Component | Use Cases |
73+
|-----------|-----------|
74+
| `envprovider` | Core |
75+
| `fileprovider` | Core |
76+
| `httpprovider` | Core |
77+
| `httpsprovider` | Core |
78+
| `yamlprovider` | Core |

distributions/nrdot-collector/manifest.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,18 @@ dist:
66
output_path: ./_build
77
receivers:
88
- gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.142.0
9+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/dockerstatsreceiver v0.142.0
10+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/elasticsearchreceiver v0.142.0
911
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filelogreceiver v0.142.0
1012
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.142.0
13+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jmxreceiver v0.142.0
14+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8seventsreceiver v0.142.0
15+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkametricsreceiver v0.142.0
16+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.142.0
17+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nginxreceiver v0.142.0
1118
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.142.0
19+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/rabbitmqreceiver v0.142.0
20+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/receivercreator v0.142.0
1221
processors:
1322
- gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.142.0
1423
- gomod: go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.142.0
@@ -31,6 +40,9 @@ connectors:
3140
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/routingconnector v0.142.0
3241
extensions:
3342
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.142.0
43+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/dockerobserver v0.142.0
44+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/hostobserver v0.142.0
45+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/k8sobserver v0.142.0
3446
providers:
3547
- gomod: go.opentelemetry.io/collector/confmap/provider/envprovider v1.48.0
3648
- gomod: go.opentelemetry.io/collector/confmap/provider/fileprovider v1.48.0

scripts/free-disk-space.sh

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/usr/bin/env bash
2+
#
3+
# Copyright The OpenTelemetry Authors
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
echo "Available disk space before:"
7+
df -h /
8+
9+
# The Android SDK is the biggest culprit for the lack of disk space in CI.
10+
# It is installed into /usr/local/lib/android manually (ie. not with apt) by this script:
11+
# https://github.com/actions/runner-images/blob/main/images/ubuntu/scripts/build/install-android-sdk.sh
12+
# so let's delete the directory manually.
13+
echo "Deleting unused Android SDK and tools..."
14+
sudo rm -rf /usr/local/lib/android
15+
16+
echo "Available disk space after:"
17+
df -h /

0 commit comments

Comments
 (0)