Hello Elastic Community,
Currently I am doing research about how to deploy Fleet Server and Elastic Agents in a self-managed Production environment. In this environment we would like to have the Elastic Agents and Fleet Servers be fleet-managed. Due to the usecase in which the environment will be deployed we are looking to implement a queue, in order to handle some sudden influx in data.
But in all the resources I searched (list below) I could not find any concrete anwser on if a Queue is needed and how I would need to implement it.
I have multiple questions regarding this, and was hopeing to get some anwsers:
- Does the fleetserver act as a queue for the Elastic cluster?
- If yes, how can I tweak the settings for our usecase?
- If no, Is it needed? And are there alternatives to implement this service?
- How does data flow through Fleet Server?
- Does the server hold it for a while and finally send it as a bulk operation?
- How can I scale the ingest-capacity? Is this by increasing the amount of Fleet-servers or Ingest nodes in the Elastic Cluster?
- Seeing as the Elastic Agent uses Beats under the hood, is it possible to configure advanced config options per policy in Fleet manager?
For example, add the following to the Fleet Server-policy to let them act as queue:
queue.mem:
events: 4096
flush.min_events: 512
flush.timeout: 5s
and
queue.disk:
max_size: 10GB
I hope someone cloud help me get a better understanding of the inner workings of Fleet and the flow of data. And some advise on who to tackle a sudden influx of data.
Resources I have searched:
- Fleet Server deployment models | Fleet and Elastic Agent Guide [8.0] | Elastic
- Configure the Elasticsearch output | Fleet and Elastic Agent Guide [8.0] | Elastic
- Centrally manage Elastic Agents in Fleet | Fleet and Elastic Agent Guide [master] | Elastic
- Beats and Elastic Agent capabilities | Fleet and Elastic Agent Guide [8.0] | Elastic
- Configure the internal queue | Filebeat Reference [8.0] | Elastic