Skip to content

Commit c231090

Browse files
authored
[Elastic Agent] Add event.dataset to all events (elastic#20076)
* Inject add_fields event.dataset along side dataset. * Add event.dataset to all published events. * Add changelog.
1 parent 9cf6b12 commit c231090

8 files changed

+65
-1
lines changed

x-pack/elastic-agent/CHANGELOG.asciidoc

+1
Original file line numberDiff line numberDiff line change
@@ -92,3 +92,4 @@
9292
- Will retry to enroll if the server return a 429. {pull}19918[19811]
9393
- Allow to specify what artifacts to embed at build times {pull}20019[20019]
9494
- Add --staging option to enroll command {pull}20026[20026]
95+
- Add `event.dataset` to all events {pull}20076[20076]

x-pack/elastic-agent/pkg/agent/operation/monitoring.go

+24
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,14 @@ func (o *Operator) getMonitoringFilebeatConfig(output interface{}) (map[string]i
198198
},
199199
},
200200
},
201+
{
202+
"add_fields": map[string]interface{}{
203+
"target": "event",
204+
"fields": map[string]interface{}{
205+
"dataset": "elastic.agent",
206+
},
207+
},
208+
},
201209
},
202210
},
203211
}
@@ -224,6 +232,14 @@ func (o *Operator) getMonitoringFilebeatConfig(output interface{}) (map[string]i
224232
},
225233
},
226234
},
235+
{
236+
"add_fields": map[string]interface{}{
237+
"target": "event",
238+
"fields": map[string]interface{}{
239+
"dataset": fmt.Sprintf("elastic.agent.%s", name),
240+
},
241+
},
242+
},
227243
},
228244
})
229245
}
@@ -266,6 +282,14 @@ func (o *Operator) getMonitoringMetricbeatConfig(output interface{}) (map[string
266282
},
267283
},
268284
},
285+
{
286+
"add_fields": map[string]interface{}{
287+
"target": "event",
288+
"fields": map[string]interface{}{
289+
"dataset": fmt.Sprintf("elastic.agent.%s", name),
290+
},
291+
},
292+
},
269293
},
270294
})
271295
}

x-pack/elastic-agent/pkg/agent/program/testdata/constraints_config-filebeat.yml

+4
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ filebeat:
1212
type: logs
1313
name: generic
1414
namespace: default
15+
- add_fields:
16+
target: "event"
17+
fields:
18+
dataset: generic
1519
output:
1620
elasticsearch:
1721
hosts:

x-pack/elastic-agent/pkg/agent/program/testdata/enabled_output_true-filebeat.yml

+4
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ filebeat:
1212
type: logs
1313
name: generic
1414
namespace: default
15+
- add_fields:
16+
target: "event"
17+
fields:
18+
dataset: generic
1519
output:
1620
elasticsearch:
1721
enabled: true

x-pack/elastic-agent/pkg/agent/program/testdata/enabled_true-filebeat.yml

+4
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ filebeat:
1313
type: logs
1414
name: generic
1515
namespace: default
16+
- add_fields:
17+
target: "event"
18+
fields:
19+
dataset: generic
1620
output:
1721
elasticsearch:
1822
hosts:

x-pack/elastic-agent/pkg/agent/program/testdata/single_config-filebeat.yml

+8
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ filebeat:
1414
type: logs
1515
name: generic
1616
namespace: default
17+
- add_fields:
18+
target: "event"
19+
fields:
20+
dataset: generic
1721
- type: log
1822
paths:
1923
- /var/log/hello3.log
@@ -28,6 +32,10 @@ filebeat:
2832
type: testtype
2933
name: generic
3034
namespace: default
35+
- add_fields:
36+
target: "event"
37+
fields:
38+
dataset: generic
3139
output:
3240
elasticsearch:
3341
hosts:

x-pack/elastic-agent/pkg/agent/program/testdata/single_config-metricbeat.yml

+12
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ metricbeat:
1111
type: metrics
1212
name: docker.status
1313
namespace: default
14+
- add_fields:
15+
target: "event"
16+
fields:
17+
dataset: docker.status
1418
- module: docker
1519
metricsets: [info]
1620
index: metrics-generic-default
@@ -22,6 +26,10 @@ metricbeat:
2226
type: metrics
2327
name: generic
2428
namespace: default
29+
- add_fields:
30+
target: "event"
31+
fields:
32+
dataset: generic
2533
- module: apache
2634
metricsets: [info]
2735
index: metrics-generic-testing
@@ -36,6 +44,10 @@ metricbeat:
3644
type: metrics
3745
name: generic
3846
namespace: testing
47+
- add_fields:
48+
target: "event"
49+
fields:
50+
dataset: generic
3951

4052
output:
4153
elasticsearch:

x-pack/elastic-agent/pkg/agent/transpiler/rules.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -639,9 +639,16 @@ func (r *InjectStreamProcessorRule) Apply(ast *AST) error {
639639
&Key{name: "namespace", value: &StrVal{value: namespace}},
640640
&Key{name: "name", value: &StrVal{value: dataset}},
641641
}}})
642-
643642
addFieldsMap := &Dict{value: []Node{&Key{"add_fields", processorMap}}}
644643
processorsList.value = mergeStrategy(r.OnConflict).InjectItem(processorsList.value, addFieldsMap)
644+
645+
processorMap = &Dict{value: make([]Node, 0)}
646+
processorMap.value = append(processorMap.value, &Key{name: "target", value: &StrVal{value: "event"}})
647+
processorMap.value = append(processorMap.value, &Key{name: "fields", value: &Dict{value: []Node{
648+
&Key{name: "dataset", value: &StrVal{value: dataset}},
649+
}}})
650+
addFieldsMap = &Dict{value: []Node{&Key{"add_fields", processorMap}}}
651+
processorsList.value = mergeStrategy(r.OnConflict).InjectItem(processorsList.value, addFieldsMap)
645652
}
646653
}
647654

0 commit comments

Comments
 (0)