Skip to content

Agent add support for multiples outputs#14830

Merged
ph merged 13 commits intoelastic:fleetfrom
ph:agent/multiple-outputs
Dec 3, 2019
Merged

Agent add support for multiples outputs#14830
ph merged 13 commits intoelastic:fleetfrom
ph:agent/multiple-outputs

Conversation

@ph
Copy link
Copy Markdown
Contributor

@ph ph commented Nov 27, 2019

This PR takes a single configuration with multiple outputs configured and will create unique configuration per output.

Multiple output example

outputs:
  default:
    type: es
    url: xxxxx
    username: xxx
    pass:  xxx
    index_name: general
  infosec1:
    type: es
    url: xxxxx
    username: xxx
    pass:  xxx
    spool:
        file: "${path.data}/spool.dat"

streams:
  - type: log
    path: /xxxx
    processors:
      - dissect:
          tokenizer: "---"
    output:
      # use_output: default
      override:
        index_name: my_service_logs
        ingest_pipeline: process_logs

  - type: log
    path: /xxxx
    output:
      # use_output: default
      index_name: mysql_access_logs

  - type: metrics/system
    username: xxxx
    pass: yyy
    output:
      use_output: infosec1
      index_name: mysql_metrics

fixes: #14445

TODO:

  • update the configuration YAML for streams.

@ph ph self-assigned this Nov 27, 2019
@ph ph added Project:fleet in progress Pull request is currently in progress. labels Nov 27, 2019
@ph ph requested a review from michalpristas November 28, 2019 19:50
@ph
Copy link
Copy Markdown
Contributor Author

ph commented Nov 28, 2019

@michalpristas Is still in draft but if you can do an early check.

@ph ph marked this pull request as ready for review November 29, 2019 18:40
@ph
Copy link
Copy Markdown
Contributor Author

ph commented Nov 29, 2019

Jenkins test this please

@ph ph changed the title [WIP] Second draft for multiples output Agent add support for multiples outputs Nov 29, 2019
@ph ph added [zube]: In Review review and removed in progress Pull request is currently in progress. labels Nov 29, 2019
@michalpristas
Copy link
Copy Markdown
Contributor

could you add some sample transformation into description?

Comment thread x-pack/agent/pkg/agent/program/program.go Outdated
Comment thread x-pack/agent/pkg/agent/program/program.go Outdated
@ph
Copy link
Copy Markdown
Contributor Author

ph commented Dec 2, 2019

@michalpristas I believe I have addresses all your concerns in the review and I also rebased the PR with the fleet branch.

Copy link
Copy Markdown
Contributor

@michalpristas michalpristas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 LGTM

@ph
Copy link
Copy Markdown
Contributor Author

ph commented Dec 3, 2019

I am going to update the configuration in another PR.

@ph ph merged commit b17619f into elastic:fleet Dec 3, 2019
@ppf2
Copy link
Copy Markdown
Contributor

ppf2 commented Jan 2, 2020

Can you clarify if this will allow users to configure (within a single beat) to send monitoring metrics to a remote ES monitoring cluster (output.elasticsearch) and non-monitoring metrics (actual event data) to a different output (e.g., output.kafka). Or is this use case not covered by this PR and is a different enhancement? Thx!

@ph
Copy link
Copy Markdown
Contributor Author

ph commented Jan 2, 2020

@ppf2 This doesn't change the behavior of beats, "single beat" will only support a single "output". This change is only relevant to how the Agent abstract the multiples outputs cases.

leweafan pushed a commit to leweafan/beats that referenced this pull request Apr 28, 2023
Add support for multiples outputs and link it to the streams.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants