Skip to content

Provide the relevant subset of the agent policy to the shipper as its configuration #617

@cmacknz

Description

@cmacknz

An initial configuration file for the shipper has been defined at https://github.com/elastic/elastic-agent-shipper/blob/main/elastic-agent-shipper.yml, but it does not yet include all of the information required for the shipper to run.

The shipper should receive the subset of the agent policy that applies to each instance of a shipper process started by the agent.

Consider a simple agent policy like https://gist.github.com/blakerouse/88c9e461c031fc089e0f8601b78b48de. Then each defined output will map to an instance of the shipper process that should be provided with:

  • The contents of the output section for the started shipper.
  • The contents of the agent.monitoring section to control shipper monitoring.
  • For each input configured to use the the applicable shipper instance that defines a processor, the relevant sub-set of the input definition. The shipper needs at least the input ID, data stream identifiers, and processor configurations.

For the sample agent policy above, we should receive at least the following configuration almost verbatim from the agent policy.

outputs:
    type: elasticsearch
    hosts:
      - 'http://localhost:9200'
agent:
  monitoring:
    enabled: true
    use_output: default
    namespace: default
    logs: true
    metrics: true
inputs:
  - id: default-system-policy
    data_stream:
      namespace: default
    streams:
      - id: logfile-system.auth-default-system-policy
        data_stream:
          dataset: system.auth
          type: logs
        processors:
          - add_locale: null
      - id: logfile-system.syslog-default-system-policy
        data_stream:
          dataset: system.syslog
          type: logs
        processors:
          - add_locale: null
  - id: default-system-policy
    data_stream:
      namespace: default
    streams:
      - id: system/metrics-system.filesystem-default-system-policy
        data_stream:
          dataset: system.filesystem
          type: metrics
        processors:
          - drop_event.when.regexp:
              system.filesystem.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/)
      - id: system/metrics-system.fsstat-default-system-policy
        data_stream:
          dataset: system.fsstat
          type: metrics
        processors:
          - drop_event.when.regexp:
              system.fsstat.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/)

Relates to:

Metadata

Metadata

Assignees

No one assigned

    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