elastic / kibana

Your window into the Elastic Stack
https://www.elastic.co/products/kibana
Other
19.47k stars 8.04k forks source link

[Fleet] Multi Cluster Fleet support - Phase 1: Global Visibility and Control, Local Data Plane #187129

Open nimarezainia opened 4 days ago

nimarezainia commented 4 days ago

:construction: work in progress :construction:

A globally distributed enterprise that operates in many regions will by definition have many data sources spread across these regions. Naturally they will be collecting and storing the data in clusters local to those regions. However when it comes to analysis of that data for Security and Observability, they would rely heavily on cross cluster technologies so that the collected data is seen and operated on singularly (as though they are in a local cluster).

Fleet users, with Elastic Agents deployed in many such regions currently don't have the ability to easily manage their deployment at a global level yet reap the benefits of having their data stored and handled locally. This issue is to track all the requirements for enabling Fleet in a multi-cluster deployment. The goal is to facilitate the deployment of Fleet in a manner shown below:

image

In this deployment model:

  1. Elastic Agent check-ins are sent to the Management Cluster, where .fleet* system indices are built. This will provide Global Control via Fleet in the Management Cluster.
  2. By utilizing Cross Cluster Search (CCS) dashboards can be built using datastreams from all the remote clusters, thereby providing Global Visibility.
  3. With a Local Data Plane, Integrations Data ingested by the Elastic Agents is stored at the local cluster, avoiding any extra cross regional egress charges and more importantly abiding by local data sovereignty rules.

In this model how do we perform:

(1) Agent Upgrade

(2) Adding Integrations to the Agent Policy

(3) Build user dashboards

(4) OSquery

### Requirements
- [ ] User should be able to nominate which clusters are members of a multi-site deployment.
- [ ] Dataviews to be dynamically modified based on the set of clusters nominated so make the operation of this type of deployment easier.
- [ ] Fleet UI to show which clusters agents are writing data to. Perhaps as a separate/new column (or customizable columns where the user would add the information they are interested in). Allowing for filtering and better UX for users to quickly identify agents in remote clusters.
- [ ] Fleet UI allows filtering based on the cluster.
- [ ] https://github.com/elastic/kibana/issues/187323

cc: @kpollich @cmacknz

elasticmachine commented 4 days ago

Pinging @elastic/fleet (Team:Fleet)

nimarezainia commented 4 days ago

Alternate deployment types that can be supported:

Additional clusters locally

image

On-prem Fleet Server

image