Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add pipeline: field to Elastic Serverless Forwarder specification #464

Open
renzedj opened this issue Aug 15, 2023 · 6 comments
Open

Add pipeline: field to Elastic Serverless Forwarder specification #464

renzedj opened this issue Aug 15, 2023 · 6 comments
Labels
enhancement New feature or request

Comments

@renzedj
Copy link

renzedj commented Aug 15, 2023

Use Case

As the administrator of our Elastic Cloud environment, I need the capability for my developers to specify a custom Elasticsearch Ingest pipeline for their logs in the ESF config.yml, similar to Elastic Agent or Functionbeat.

Describe the Enhancement

Currently, in order to use a with Elastic Serverless Forwarder with a custom pipeline, it is necessary to deploy a custom log template (e.g., logs-foo.log@custom) This is not required with Elastic Agent or Functionbeat, which allow this to be done with the pipeline: specification. Please add this capability to the Elastic Serverless Forwarder.

An example of what this might look like is:

---
inputs:
  - type: 'cloudwatch-logs'
    id: '<arn>'
    json_content_type: 'ndjson'
    pipeline: 'my-pipeline' # <-- custom Elasticsearch ingest pipeline
    outputs:
      - type: 'elasticsearch'
        args:
          elasticsearch_url:  https://elastic-cloud:443 
          api_key: 'my-api-key'
          es_datastream_name: 'logs-myapp.log-default'
          batch_max_actions: 500
          batch_max_bytes: 10485760
@tommyers-elastic
Copy link

hey @renzedj - please could you expand a little on this request?

are we talking here about Elasticsearch ingest pipelines here? is the equivalent behaviour in Elastic Agent you mention this configuration in functionbeat?

if so, it's possible to configure this behaviour without this setting in the lambda, using index templates (option 1 here).

thanks

@renzedj
Copy link
Author

renzedj commented Aug 23, 2023

Sorry if I wasn't clear. I knew exactly what I was thinking. 🤣

Yes - I'm talking about Elasticsearch ingest pipelines. And yes - the link you provide to the functionbeat documentation is the equivalent functionality to what I'm requesting.

As I noted in my original post, I'm aware that this can be done using index templates (and this is how I'm currently doing it). However, when using a custom data stream, adding a custom template adds another step into the deployment process and requires that I either give my developers admin permissions that I'd rather not give them or that our Elastic admins are engaged. We're trying to enable our developers to manage their own log provisioning as much as possible without granting them overly-broad permissions.

According to the documentation, it appears that all that is needed to send a document through my-pipeline while being indexed is to add ?pipeline=my-pipeline to the URL. I suspect this is how Elastic Agent and Functionbeat do it, so I would assume that it should work similarly for ESF?

We use this functionality for our custom logs with Elastic Agent and it works well.

Thx.

@tommyers-elastic tommyers-elastic added the enhancement New feature or request label Aug 24, 2023
@tommyers-elastic
Copy link

thanks for the details - really helpful. adding this to the backlog as an ER.

@jacoor
Copy link

jacoor commented Jul 23, 2024

When can we expect that ? I also need this functionality

@renzedj
Copy link
Author

renzedj commented Sep 10, 2024

bump

1 similar comment
@renzedj
Copy link
Author

renzedj commented Oct 8, 2024

bump

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants