Skip to content

[Elastic Agent] Add support for dynamics inputs #19225

@ph

Description

@ph

In beats today we have a feature called Autodiscovery that allows you to generate inputs based on labels or other information coming from a provider like the k8s, docker stream. We want to add the same functionality in the Elastic Agent. We are calling that new feature Dynamic input.

As an example, we would create a dynamic input template like this. And the system would run through the data it has to define if a template should be used or not.

inputs:
- type: log
  dataset.type: logs
  streams:
    - paths: /var/log/${host.platform}.log
      dataset.name: foo
  condition: ${host.platform} == "windows"

Use cases:

  • Do an input need to run on this OS (aka syslog should not work on Windows).
  • Do an input need to run based on the environment.
  • Do an input need to run based on data from a provider (k8s hints)
  • Allow defining a cross platform integration that will use journald on Linux but winlogbeat on Windows

Tasks

Phase 1: Elastic Agent

Phase 2 (beyond 7.10)

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions