Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions x-pack/otel/processor/beatprocessor/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ This allows you to use Beat processors like e.g. [add_host_metadata] anywhere in

Here are the currently supported processors:

- [add_cloud_metadata]
- [add_host_metadata]
- [add_kubernetes_metadata]

Expand Down Expand Up @@ -118,6 +119,19 @@ exporters:
debug:
```

## Using the `add_cloud_metadata` processor

To use the [add_cloud_metadata] processor, configure the processor as follows:

```yaml
processors:
beat:
processors:
- add_cloud_metadata:
```

You can configure the cloud metadata enrichment using the options supported by the [add_cloud_metadata] processor.

## Using the `add_host_metadata` processor

To use the [add_host_metadata] processor, configure the processor as follows:
Expand Down
3 changes: 3 additions & 0 deletions x-pack/otel/processor/beatprocessor/processor.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import (

"github.com/elastic/beats/v7/libbeat/beat"
"github.com/elastic/beats/v7/libbeat/otelbeat/otelmap"
"github.com/elastic/beats/v7/libbeat/processors/add_cloud_metadata"
"github.com/elastic/beats/v7/libbeat/processors/add_host_metadata"
"github.com/elastic/beats/v7/libbeat/processors/add_kubernetes_metadata"
"github.com/elastic/elastic-agent-libs/config"
Expand Down Expand Up @@ -81,6 +82,8 @@ func createProcessor(processorNameAndConfig map[string]any, logpLogger *logp.Log
var createProcessorError error

switch processorName {
case "add_cloud_metadata":
processorInstance, createProcessorError = add_cloud_metadata.New(processorConfig, logpLogger)
case "add_host_metadata":
processorInstance, createProcessorError = add_host_metadata.New(processorConfig, logpLogger)
case "add_kubernetes_metadata":
Expand Down
17 changes: 13 additions & 4 deletions x-pack/otel/processor/beatprocessor/processor_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,6 @@ func TestConsumeLogs(t *testing.T) {
}
}

func testLogger() *logp.Logger {
return logp.NewNopLogger()
}

func TestCreateProcessor(t *testing.T) {
t.Run("nil config returns nil processor", func(t *testing.T) {
processor, err := createProcessor(nil, testLogger())
Expand Down Expand Up @@ -100,6 +96,15 @@ func TestCreateProcessor(t *testing.T) {
assert.Contains(t, err.Error(), "invalid processor name 'unknown_processor'")
})

t.Run("valid add_cloud_metadata processor config returns processor", func(t *testing.T) {
processor, err := createProcessor(map[string]any{
"add_cloud_metadata": map[string]any{},
}, testLogger())
require.NoError(t, err)
require.NotNil(t, processor)
assert.Equal(t, "add_cloud_metadata", processor.String()[:len("add_cloud_metadata")])
})

t.Run("valid add_host_metadata processor config returns processor", func(t *testing.T) {
processor, err := createProcessor(map[string]any{
"add_host_metadata": map[string]any{},
Expand All @@ -119,6 +124,10 @@ func TestCreateProcessor(t *testing.T) {
})
}

func testLogger() *logp.Logger {
return logp.NewNopLogger()
}

type mockProcessor struct {
runFunc func(event *beat.Event) (*beat.Event, error)
}
Expand Down