From c3c257764f6cc1443f5a26b7a48f78478570d005 Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Tue, 25 Mar 2025 19:08:01 -0400 Subject: [PATCH 01/13] Document agent install flavors --- reference/fleet/agent-command-reference.md | 2 +- reference/fleet/elastic-agent-container.md | 20 +++++++++- reference/fleet/install-elastic-agents.md | 46 ++++++++++++++++++++++ 3 files changed, 66 insertions(+), 2 deletions(-) diff --git a/reference/fleet/agent-command-reference.md b/reference/fleet/agent-command-reference.md index 4d0dab4292..db87d81a66 100644 --- a/reference/fleet/agent-command-reference.md +++ b/reference/fleet/agent-command-reference.md @@ -483,7 +483,7 @@ If you installed {{agent}} from a DEB or RPM package, the `install` command will You must run this command as the root user (or Administrator on Windows) to write files to the correct locations. This command overwrites the `elastic-agent.yml` file in the agent directory. -The syntax for running this command varies by platform. For platform-specific examples, refer to [*Install {{agent}}s*](/reference/fleet/install-elastic-agents.md). +The syntax for running this command varies by platform. As well, various flavors of the agent install package are available, allowing you to control the installed package size on disk and the set of included components. For platform-specific examples and for details about the available flavors, refer to [*Install {{agent}}s*](/reference/fleet/install-elastic-agents.md). ### Synopsis [_synopsis_5] diff --git a/reference/fleet/elastic-agent-container.md b/reference/fleet/elastic-agent-container.md index bbc150c6c2..5f8e3e092e 100644 --- a/reference/fleet/elastic-agent-container.md +++ b/reference/fleet/elastic-agent-container.md @@ -34,10 +34,26 @@ Considerations: ## Step 1: Pull the image [_step_1_pull_the_image] -There are two images for Elastic Agent, elastic-agent and elastic-agent-complete. The elastic-agent image contains all the binaries for running Beats, while the elastic-agent-complete image contains these binaries plus additional dependencies to run browser monitors through Elastic Synthetics. Refer to [Synthetic monitoring via Elastic Agent and Fleet](/solutions/observability/apps/get-started.md) for more information. +There are various flavors of images for {{agent}}, elastic-agent and elastic-agent-complete. Refer to [Install {{agents}}](./install-elastic-agents.md) for full details about each flavor. Run the `docker pull` command against the Elastic Docker registry: + + +### Basic flavor + +```terminal +docker pull docker.elastic.co/elastic-agent/elastic-agent-slim:9.0.0-beta1 +``` + +Alternately, you can use the hardened [Wolfi](https://github.com/wolfi-dev/) image. Using Wolfi images requires Docker version 20.10.10 or later. For details about why the Wolfi images have been introduced, refer to our article [Reducing CVEs in Elastic container images](https://www.elastic.co/blog/reducing-cves-in-elastic-container-images). + +```terminal +docker pull docker.elastic.co/elastic-agent/elastic-agent-slim-wolfi:9.0.0-beta1 +``` + +### Server flavor + ```terminal docker pull docker.elastic.co/elastic-agent/elastic-agent:9.0.0-beta1 ``` @@ -48,6 +64,8 @@ Alternately, you can use the hardened [Wolfi](https://github.com/wolfi-dev/) ima docker pull docker.elastic.co/elastic-agent/elastic-agent-wolfi:9.0.0-beta1 ``` +### Complete flavor + If you want to run Synthetics tests, run the docker pull command to fetch the elastic-agent-complete image: ```terminal diff --git a/reference/fleet/install-elastic-agents.md b/reference/fleet/install-elastic-agents.md index c34083bee4..01bc5bb4a7 100644 --- a/reference/fleet/install-elastic-agents.md +++ b/reference/fleet/install-elastic-agents.md @@ -68,6 +68,52 @@ If you are using {{agent}} with [{{serverless-full}}](/deploy-manage/deploy/elas When you set up {{agent}}, you might not yet have all input configuration details available. To solve this problem, the input configuration accepts variables and conditions that get evaluated at runtime using information from the running environment, allowing you to apply configurations dynamically. To learn more, refer to [Variables and conditions in input configurations](./dynamic-input-configuration.md). :::: +## {{agent}} installation flavors [elastic-agent-installation-packages] + +{{agent}} distribution packages are offered in multiple flavors. This gives you control over the set of components included in the package and the size of the package footprint when it's installed. + +### Flavors for regular package installs + +#### Basic flavor [elastic-agent-basic-flavor-regular] + +The basic {{agent}} flavor is installed by default using the `elastic-agent install` command with an agent package: `.zip`, .`tar.gz`, `.deb`, `.rpm`, or `.msi`. This flavor includes only the following components: + +* `agentbeat` - used to implement all [{{beats}}](beats://reference/index.md)-based integrations. +* `endpoint-security` - used to implement [{{elastic-defend}}](../../solutions/security/configure-elastic-defend.md). +* `pf-host-agent` - used to collect profiling data from hosts as part of Elastic [Universal Profiling](../../solutions/observability/infra-and-hosts/get-started-with-universal-profiling.md). + +This basic package is suitable for most use cases and it offers a reduced size on disk. + +#### Servers flavor [elastic-agent-servers-flavor-regular] + +The servers {{agent}} flavor is installed using the `elastic-agent install --install-servers` command, or for RPM and DEB packages the `ELATIC_AGENT_FLAVOR=servers` command. In addition to components included in the basic flavor, this flavor also includes: + +* `apm-server` - implements the Elastic [APM Server](../../solutions/observability/apps/get-started-with-apm.md). +* `cloudbeat` - implements [Cloud Security Posture Management (CSPM)](../../solutions/security/cloud/cloud-security-posture-management.md) integrations. +* `fleet-server`, implements [Fleet Server](../fleet/fleet-server.md) for managing {{agents}}. +* `pf-elastic-symbolizer` - a server side component of Elastic [Universal Profiling](../../solutions/observability/infra-and-hosts/get-started-with-universal-profiling.md). +* `pf-elastic-collector` - a server side component of Elastic [Universal Profiling](../../solutions/observability/infra-and-hosts/get-started-with-universal-profiling.md). + +Beginning in version 9.0, for {{agents}} to have the full functionality that was supported by default in pre-9.x versions, you need to install the servers {[agent]} flavor. + +### Flavors for container package installs + +#### Basic flavor [elastic-agent-basic-flavor-container] + +For containerized environments, the basic {{agent}} flavor is installed using the `elastic-agent-slim` command with an agent container package. This flavor contains the same set of components described in [Basic flavor](#elastic-agent-basic-flavor) above. + +#### Servers flavor [elastic-agent-servers-flavor-container] + +For containerized environments, the servers {{agent}} flavor is installed using the default `elastic-agent` command with an agent container package. This flavor contains the same set of components described in [Servers flavor](#elastic-agent-servers-flavor) above. + +#### Wolfi flavor [elastic-agent-wolfi-flavor] + +For containerized environments, you also have the option of using a hardened [Wolfi](https://github.com/wolfi-dev/) container image. These images require Docker version 20.10.10 or later. For details about why the Wolfi images have been introduced, refer to our article [Reducing CVEs in Elastic container images](https://www.elastic.co/blog/reducing-cves-in-elastic-container-images). + +#### Complete flavor [elastic-agent-complete-flavor] + +For containerized environments, the complete {{agent}} flavor is identical to the servers flavor, and also includes additional dependencies to run browser monitors through Elastic Synthetics. Refer to [Synthetic monitoring via Elastic Agent and Fleet](/solutions/observability/apps/get-started.md) for more information. + ## Resource requirements [elastic-agent-installation-resource-requirements] The {{agent}} resources consumption is influenced by the number of integration and the environment its been running on. From 56a1b89f72097f842453aadc83215b86807be2e7 Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Tue, 25 Mar 2025 19:15:32 -0400 Subject: [PATCH 02/13] fix anchor links --- reference/fleet/install-elastic-agents.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reference/fleet/install-elastic-agents.md b/reference/fleet/install-elastic-agents.md index 01bc5bb4a7..0e1fae59f0 100644 --- a/reference/fleet/install-elastic-agents.md +++ b/reference/fleet/install-elastic-agents.md @@ -100,11 +100,11 @@ Beginning in version 9.0, for {{agents}} to have the full functionality that was #### Basic flavor [elastic-agent-basic-flavor-container] -For containerized environments, the basic {{agent}} flavor is installed using the `elastic-agent-slim` command with an agent container package. This flavor contains the same set of components described in [Basic flavor](#elastic-agent-basic-flavor) above. +For containerized environments, the basic {{agent}} flavor is installed using the `elastic-agent-slim` command with an agent container package. This flavor contains the same set of components described in [Basic flavor](#elastic-agent-basic-flavor-regular) above. #### Servers flavor [elastic-agent-servers-flavor-container] -For containerized environments, the servers {{agent}} flavor is installed using the default `elastic-agent` command with an agent container package. This flavor contains the same set of components described in [Servers flavor](#elastic-agent-servers-flavor) above. +For containerized environments, the servers {{agent}} flavor is installed using the default `elastic-agent` command with an agent container package. This flavor contains the same set of components described in [Servers flavor](#elastic-agent-servers-flavor-regular) above. #### Wolfi flavor [elastic-agent-wolfi-flavor] @@ -112,7 +112,7 @@ For containerized environments, you also have the option of using a hardened [Wo #### Complete flavor [elastic-agent-complete-flavor] -For containerized environments, the complete {{agent}} flavor is identical to the servers flavor, and also includes additional dependencies to run browser monitors through Elastic Synthetics. Refer to [Synthetic monitoring via Elastic Agent and Fleet](/solutions/observability/apps/get-started.md) for more information. +For containerized environments, the complete {{agent}} flavor includes all of the components in the servers flavor, and also includes additional dependencies to run browser monitors through Elastic Synthetics. Refer to [Synthetic monitoring via Elastic Agent and Fleet](/solutions/observability/apps/get-started.md) for more information. ## Resource requirements [elastic-agent-installation-resource-requirements] From 03ee3a55c1ef22174f623c6dd908a42b63ca47c1 Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Tue, 25 Mar 2025 19:26:23 -0400 Subject: [PATCH 03/13] touchup second wolfi description --- reference/fleet/elastic-agent-container.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/fleet/elastic-agent-container.md b/reference/fleet/elastic-agent-container.md index 5f8e3e092e..6708db37bb 100644 --- a/reference/fleet/elastic-agent-container.md +++ b/reference/fleet/elastic-agent-container.md @@ -58,7 +58,7 @@ docker pull docker.elastic.co/elastic-agent/elastic-agent-slim-wolfi:9.0.0-beta1 docker pull docker.elastic.co/elastic-agent/elastic-agent:9.0.0-beta1 ``` -Alternately, you can use the hardened [Wolfi](https://github.com/wolfi-dev/) image. Using Wolfi images requires Docker version 20.10.10 or later. For details about why the Wolfi images have been introduced, refer to our article [Reducing CVEs in Elastic container images](https://www.elastic.co/blog/reducing-cves-in-elastic-container-images). +To run the server flavor using the hardened [Wolfi](https://github.com/wolfi-dev/) image, run: ```terminal docker pull docker.elastic.co/elastic-agent/elastic-agent-wolfi:9.0.0-beta1 From 5e6f63ec64514e5d4d4cf99f3e54ae0e205d9efd Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Tue, 25 Mar 2025 20:21:33 -0400 Subject: [PATCH 04/13] update standalone docs --- reference/fleet/install-elastic-agents.md | 2 +- .../fleet/install-standalone-elastic-agent.md | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/reference/fleet/install-elastic-agents.md b/reference/fleet/install-elastic-agents.md index 0e1fae59f0..da15759d66 100644 --- a/reference/fleet/install-elastic-agents.md +++ b/reference/fleet/install-elastic-agents.md @@ -68,7 +68,7 @@ If you are using {{agent}} with [{{serverless-full}}](/deploy-manage/deploy/elas When you set up {{agent}}, you might not yet have all input configuration details available. To solve this problem, the input configuration accepts variables and conditions that get evaluated at runtime using information from the running environment, allowing you to apply configurations dynamically. To learn more, refer to [Variables and conditions in input configurations](./dynamic-input-configuration.md). :::: -## {{agent}} installation flavors [elastic-agent-installation-packages] +## {{agent}} installation flavors [elastic-agent-installation-flavors] {{agent}} distribution packages are offered in multiple flavors. This gives you control over the set of components included in the package and the size of the package footprint when it's installed. diff --git a/reference/fleet/install-standalone-elastic-agent.md b/reference/fleet/install-standalone-elastic-agent.md index 88802b5930..ca605b976b 100644 --- a/reference/fleet/install-standalone-elastic-agent.md +++ b/reference/fleet/install-standalone-elastic-agent.md @@ -83,6 +83,8 @@ To install and run {{agent}} standalone: The commands shown are for AMD platforms, but ARM packages are also available. Refer to the {{agent}} [downloads page](https://www.elastic.co/downloads/elastic-agent) for the full list of available packages. + + 2. Modify settings in the `elastic-agent.yml` as required. To get started quickly and avoid errors, use {{kib}} to create and download a standalone configuration file rather than trying to build it by hand. For more information, refer to [Create a standalone {{agent}} policy](/reference/fleet/create-standalone-agent-policy.md). @@ -122,6 +124,9 @@ To install and run {{agent}} standalone: ```shell sudo ./elastic-agent install ``` + + By default the {{agent}} basic flavor is installed. To install the servers flavor, add the `--ìnstall-servers` parameter. Refer to [{{agent}} installation flavors](./install-elastic-agents.md#elastic-agent-installation-flavors) for details. + :::: ::::{tab-item} Linux @@ -132,7 +137,10 @@ To install and run {{agent}} standalone: ```shell sudo ./elastic-agent install - ``` + ``` + + By default the {{agent}} basic flavor is installed. To install the servers flavor, add the `--ìnstall-servers` parameter. Refer to [{{agent}} installation flavors](./install-elastic-agents.md#elastic-agent-installation-flavors) for details. + :::: ::::{tab-item} Windows @@ -144,6 +152,9 @@ To install and run {{agent}} standalone: ```shell .\elastic-agent.exe install ``` + + By default the {{agent}} basic flavor is installed. To install the servers flavor, add the `--ìnstall-servers` parameter. Refer to [{{agent}} installation flavors](./install-elastic-agents.md#elastic-agent-installation-flavors) for details. + :::: ::::{tab-item} DEB @@ -154,6 +165,9 @@ To install and run {{agent}} standalone: ``` 1. The DEB package includes a service unit for Linux systems with systemd. On these systems, you can manage {{agent}} by using the usual systemd commands. If you don’t have systemd, run `sudo service elastic-agent start`. + + By default the {{agent}} basic flavor is installed. To install the servers flavor add the `ELATIC_AGENT_FLAVOR=servers` parameter to both commands. Refer to [{{agent}} installation flavors](./install-elastic-agents.md#elastic-agent-installation-flavors) for details. + :::: ::::{tab-item} RPM @@ -164,6 +178,9 @@ To install and run {{agent}} standalone: ``` 1. The RPM package includes a service unit for Linux systems with systemd. On these systems, you can manage {{agent}} by using the usual systemd commands. If you don’t have systemd, run `sudo service elastic-agent start`. + + By default the {{agent}} basic flavor is installed. To install the servers flavor add the `ELATIC_AGENT_FLAVOR=servers` parameter to both commands. Refer to [{{agent}} installation flavors](./install-elastic-agents.md#elastic-agent-installation-flavors) for details. + :::: ::::: From 02d10fd02c1fff13f8dd9929e07b1411a161951a Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Tue, 25 Mar 2025 20:32:48 -0400 Subject: [PATCH 05/13] Update Fleet-managed agent install docs --- reference/fleet/install-fleet-managed-elastic-agent.md | 3 ++- reference/fleet/install-standalone-elastic-agent.md | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/reference/fleet/install-fleet-managed-elastic-agent.md b/reference/fleet/install-fleet-managed-elastic-agent.md index dbe2d9bb13..b4707e4089 100644 --- a/reference/fleet/install-fleet-managed-elastic-agent.md +++ b/reference/fleet/install-fleet-managed-elastic-agent.md @@ -65,12 +65,13 @@ To install an {{agent}} and enroll it in {{fleet}}: 1. If you are enrolling the agent in a {{fleet-server}} that uses your organization’s certificate you *must* add the `--certificate-authorities` option to the command provided in the in-product instructions. If you do not include the certificate, you will see the following error: "x509: certificate signed by unknown authority". + 2. Beginning with version 9.0, {{agent}} packages are available in multiple flavors. The default, "basic" flavor contains the components required for most use cases. A "servers" flavor is also available with additional components. You can adjust the `elastic-agent install` command as required to choose a different flavor. Refer to [{{agent}} installation flavors](./install-elastic-agents.md#elastic-agent-installation-flavors) for details. + :::{image} images/kibana-agent-flyout.png :alt: Add agent flyout in {kib} :screenshot: ::: - After about a minute, the agent will enroll in {{fleet}}, download the configuration specified in the agent policy, and start collecting data. **Notes:** diff --git a/reference/fleet/install-standalone-elastic-agent.md b/reference/fleet/install-standalone-elastic-agent.md index ca605b976b..88b0e6dcfe 100644 --- a/reference/fleet/install-standalone-elastic-agent.md +++ b/reference/fleet/install-standalone-elastic-agent.md @@ -166,7 +166,7 @@ To install and run {{agent}} standalone: 1. The DEB package includes a service unit for Linux systems with systemd. On these systems, you can manage {{agent}} by using the usual systemd commands. If you don’t have systemd, run `sudo service elastic-agent start`. - By default the {{agent}} basic flavor is installed. To install the servers flavor add the `ELATIC_AGENT_FLAVOR=servers` parameter to both commands. Refer to [{{agent}} installation flavors](./install-elastic-agents.md#elastic-agent-installation-flavors) for details. + By default the {{agent}} basic flavor is installed. To install the servers flavor add the `ELASTIC_AGENT_FLAVOR=servers` parameter to both commands. Refer to [{{agent}} installation flavors](./install-elastic-agents.md#elastic-agent-installation-flavors) for details. :::: @@ -179,7 +179,7 @@ To install and run {{agent}} standalone: 1. The RPM package includes a service unit for Linux systems with systemd. On these systems, you can manage {{agent}} by using the usual systemd commands. If you don’t have systemd, run `sudo service elastic-agent start`. - By default the {{agent}} basic flavor is installed. To install the servers flavor add the `ELATIC_AGENT_FLAVOR=servers` parameter to both commands. Refer to [{{agent}} installation flavors](./install-elastic-agents.md#elastic-agent-installation-flavors) for details. + By default the {{agent}} basic flavor is installed. To install the servers flavor add the `ELASTIC_AGENT_FLAVOR=servers` parameter to both commands. Refer to [{{agent}} installation flavors](./install-elastic-agents.md#elastic-agent-installation-flavors) for details. :::: From beffd8182b727756937ff1ac714619db174ea380 Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Tue, 25 Mar 2025 21:20:20 -0400 Subject: [PATCH 06/13] Add additional steps for DEB and RPM --- .../fleet/install-standalone-elastic-agent.md | 38 +++++++++++++++++-- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/reference/fleet/install-standalone-elastic-agent.md b/reference/fleet/install-standalone-elastic-agent.md index 88b0e6dcfe..418d6c4b2e 100644 --- a/reference/fleet/install-standalone-elastic-agent.md +++ b/reference/fleet/install-standalone-elastic-agent.md @@ -64,6 +64,25 @@ To install and run {{agent}} standalone: curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-{{stack-version}}-amd64.deb sudo dpkg -i elastic-agent-{{stack-version}}-amd64.deb ``` + + By default the {{agent}} basic flavor is installed. To install the servers flavor add the `ELASTIC_AGENT_FLAVOR=servers` parameter. Refer to [{{agent}} installation flavors](./install-elastic-agents.md#elastic-agent-installation-flavors) for details about the different flavors. + + You can use either of the two command formats to set the `ELASTIC_AGENT_FLAVOR` environment variable: + + ```shell subs=true + curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-{{stack-version}}-amd64.deb + sudo ELASTIC_AGENT_FLAVOR=servers dpkg -i elastic-agent-{{stack-version}}-amd64.deb + ``` + + ```shell subs=true + curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-{{stack-version}}-amd64.deb + ELASTIC_AGENT_FLAVOR=servers sudo -E dpkg -i elastic-agent-{{stack-version}}-amd64.deb + ``` + + ::::{note} + If you need to uninstall an {{agent}} package on Debian Linux, note that the `dpkg -r` command to remove a package leaves the flavor file in place. Instead, `dpkg -P` must to be used to purge all package content and reset the flavor. + :::: + ::: :::{tab-item} RPM @@ -77,6 +96,21 @@ To install and run {{agent}} standalone: curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-{{stack-version}}-x86_64.rpm sudo rpm -vi elastic-agent-{{stack-version}}-x86_64.rpm ``` + + By default the {{agent}} basic flavor is installed. To install the servers flavor add the `ELASTIC_AGENT_FLAVOR=servers` parameter. Refer to [{{agent}} installation flavors](./install-elastic-agents.md#elastic-agent-installation-flavors) for details about the different flavors. + + You can use either of the two command formats to set the `ELASTIC_AGENT_FLAVOR` environment variable: + + ```shell subs=true + curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-{{stack-version}}-amd64.deb + sudo ELASTIC_AGENT_FLAVOR=servers rpm -vi elastic-agent-{{stack-version}}-x86_64.rpm + ``` + + ```shell subs=true + curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-{{stack-version}}-amd64.deb + ELASTIC_AGENT_FLAVOR=servers sudo -E rpm -vi elastic-agent-{{stack-version}}-x86_64.rpm + ``` + ::: :::: @@ -166,8 +200,6 @@ To install and run {{agent}} standalone: 1. The DEB package includes a service unit for Linux systems with systemd. On these systems, you can manage {{agent}} by using the usual systemd commands. If you don’t have systemd, run `sudo service elastic-agent start`. - By default the {{agent}} basic flavor is installed. To install the servers flavor add the `ELASTIC_AGENT_FLAVOR=servers` parameter to both commands. Refer to [{{agent}} installation flavors](./install-elastic-agents.md#elastic-agent-installation-flavors) for details. - :::: ::::{tab-item} RPM @@ -179,8 +211,6 @@ To install and run {{agent}} standalone: 1. The RPM package includes a service unit for Linux systems with systemd. On these systems, you can manage {{agent}} by using the usual systemd commands. If you don’t have systemd, run `sudo service elastic-agent start`. - By default the {{agent}} basic flavor is installed. To install the servers flavor add the `ELASTIC_AGENT_FLAVOR=servers` parameter to both commands. Refer to [{{agent}} installation flavors](./install-elastic-agents.md#elastic-agent-installation-flavors) for details. - :::: ::::: From 05ba9432052db7bdf60e336cc110701f79fdbca3 Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Tue, 25 Mar 2025 21:35:48 -0400 Subject: [PATCH 07/13] Fix tabs format --- reference/fleet/install-standalone-elastic-agent.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/reference/fleet/install-standalone-elastic-agent.md b/reference/fleet/install-standalone-elastic-agent.md index 418d6c4b2e..ef2bc81ef8 100644 --- a/reference/fleet/install-standalone-elastic-agent.md +++ b/reference/fleet/install-standalone-elastic-agent.md @@ -78,10 +78,8 @@ To install and run {{agent}} standalone: curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-{{stack-version}}-amd64.deb ELASTIC_AGENT_FLAVOR=servers sudo -E dpkg -i elastic-agent-{{stack-version}}-amd64.deb ``` - - ::::{note} - If you need to uninstall an {{agent}} package on Debian Linux, note that the `dpkg -r` command to remove a package leaves the flavor file in place. Instead, `dpkg -P` must to be used to purge all package content and reset the flavor. - :::: + + **NOTE:** If you need to uninstall an {{agent}} package on Debian Linux, note that the `dpkg -r` command to remove a package leaves the flavor file in place. Instead, `dpkg -P` must to be used to purge all package content and reset the flavor. ::: From 63d703b8e01aef02d965628673caec0fa6c994a5 Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Mon, 7 Apr 2025 18:57:28 -0400 Subject: [PATCH 08/13] Remove Wolfi as a 'flavor' (it's rather a base image type) --- reference/fleet/install-elastic-agents.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/reference/fleet/install-elastic-agents.md b/reference/fleet/install-elastic-agents.md index da15759d66..3c60dd4a0c 100644 --- a/reference/fleet/install-elastic-agents.md +++ b/reference/fleet/install-elastic-agents.md @@ -106,10 +106,6 @@ For containerized environments, the basic {{agent}} flavor is installed using th For containerized environments, the servers {{agent}} flavor is installed using the default `elastic-agent` command with an agent container package. This flavor contains the same set of components described in [Servers flavor](#elastic-agent-servers-flavor-regular) above. -#### Wolfi flavor [elastic-agent-wolfi-flavor] - -For containerized environments, you also have the option of using a hardened [Wolfi](https://github.com/wolfi-dev/) container image. These images require Docker version 20.10.10 or later. For details about why the Wolfi images have been introduced, refer to our article [Reducing CVEs in Elastic container images](https://www.elastic.co/blog/reducing-cves-in-elastic-container-images). - #### Complete flavor [elastic-agent-complete-flavor] For containerized environments, the complete {{agent}} flavor includes all of the components in the servers flavor, and also includes additional dependencies to run browser monitors through Elastic Synthetics. Refer to [Synthetic monitoring via Elastic Agent and Fleet](/solutions/observability/apps/get-started.md) for more information. From e80327eaf056ba70440b4de993f9e899729d1bcb Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Mon, 7 Apr 2025 19:17:20 -0400 Subject: [PATCH 09/13] Add note about base image conversion to UBI minimal --- reference/fleet/elastic-agent-container.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/reference/fleet/elastic-agent-container.md b/reference/fleet/elastic-agent-container.md index e83469c8b5..21267ba694 100644 --- a/reference/fleet/elastic-agent-container.md +++ b/reference/fleet/elastic-agent-container.md @@ -9,6 +9,8 @@ You can run {{agent}} inside a container — either with {{fleet-server}} or Note that running {{elastic-agent}} in a container is supported only in Linux environments. For this reason we don’t currently provide {{agent}} container images for Windows. +In version 9.0.0, the default Ubuntu-based Docker images used for {{agent}} have been changed to Red Hat UBI (Universal Base Image) minimal based images, to reduce the overall footprint of the agent Docker images and to improve compliance with enterprise standards. Refer to [#6427]({{agent-pull}}6427) for details. + Considerations: * When {{agent}} runs inside a container, it cannot be upgraded through {{fleet}} as it expects that the container itself is upgraded. From 8303b8db55c8b1d3d3ce0ca751dbe2500113edd4 Mon Sep 17 00:00:00 2001 From: David Kilfoyle Date: Mon, 7 Apr 2025 19:42:05 -0400 Subject: [PATCH 10/13] Fix variables, add missing '-slim' --- reference/fleet/elastic-agent-container.md | 10 +++++----- reference/fleet/install-elastic-agents.md | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/reference/fleet/elastic-agent-container.md b/reference/fleet/elastic-agent-container.md index 21267ba694..ad9418b4ef 100644 --- a/reference/fleet/elastic-agent-container.md +++ b/reference/fleet/elastic-agent-container.md @@ -43,19 +43,19 @@ Run the `docker pull` command against the Elastic Docker registry: ### Basic flavor ```terminal subs=true -docker pull docker.elastic.co/elastic-agent/elastic-agent:{{stack-version}} +docker pull docker.elastic.co/elastic-agent/elastic-agent-slim:{{stack-version}} ``` Alternately, you can use the hardened [Wolfi](https://github.com/wolfi-dev/) image. Using Wolfi images requires Docker version 20.10.10 or later. For details about why the Wolfi images have been introduced, refer to our article [Reducing CVEs in Elastic container images](https://www.elastic.co/blog/reducing-cves-in-elastic-container-images). -```terminal -docker pull docker.elastic.co/elastic-agent/elastic-agent-slim-wolfi:9.0.0-beta1 +```terminal subs=true +docker pull docker.elastic.co/elastic-agent/elastic-agent-slim-wolfi:{{stack-version}} ``` ### Server flavor -```terminal -docker pull docker.elastic.co/elastic-agent/elastic-agent:9.0.0-beta1 +```terminal subs=true +docker pull docker.elastic.co/elastic-agent/elastic-agent:{{stack-version}} ``` To run the server flavor using the hardened [Wolfi](https://github.com/wolfi-dev/) image, run: diff --git a/reference/fleet/install-elastic-agents.md b/reference/fleet/install-elastic-agents.md index 3c60dd4a0c..662d619488 100644 --- a/reference/fleet/install-elastic-agents.md +++ b/reference/fleet/install-elastic-agents.md @@ -108,7 +108,7 @@ For containerized environments, the servers {{agent}} flavor is installed using #### Complete flavor [elastic-agent-complete-flavor] -For containerized environments, the complete {{agent}} flavor includes all of the components in the servers flavor, and also includes additional dependencies to run browser monitors through Elastic Synthetics. Refer to [Synthetic monitoring via Elastic Agent and Fleet](/solutions/observability/apps/get-started.md) for more information. +For containerized environments, the complete {{agent}} flavor is installed using the `elastic-agent-complete` command with an agent container package. This flavor includes all of the components in the servers flavor, and also includes additional dependencies to run browser monitors through Elastic Synthetics. Refer to [Synthetic monitoring via Elastic Agent and Fleet](/solutions/observability/apps/get-started.md) for more information. ## Resource requirements [elastic-agent-installation-resource-requirements] From 87f911829c1b474cab90ebc3237fa927368eba29 Mon Sep 17 00:00:00 2001 From: David Kilfoyle <41695641+kilfoyle@users.noreply.github.com> Date: Wed, 9 Apr 2025 15:03:21 -0400 Subject: [PATCH 11/13] Update reference/fleet/install-fleet-managed-elastic-agent.md Co-authored-by: Craig MacKenzie --- reference/fleet/install-fleet-managed-elastic-agent.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/fleet/install-fleet-managed-elastic-agent.md b/reference/fleet/install-fleet-managed-elastic-agent.md index b4707e4089..da739c2daa 100644 --- a/reference/fleet/install-fleet-managed-elastic-agent.md +++ b/reference/fleet/install-fleet-managed-elastic-agent.md @@ -65,7 +65,7 @@ To install an {{agent}} and enroll it in {{fleet}}: 1. If you are enrolling the agent in a {{fleet-server}} that uses your organization’s certificate you *must* add the `--certificate-authorities` option to the command provided in the in-product instructions. If you do not include the certificate, you will see the following error: "x509: certificate signed by unknown authority". - 2. Beginning with version 9.0, {{agent}} packages are available in multiple flavors. The default, "basic" flavor contains the components required for most use cases. A "servers" flavor is also available with additional components. You can adjust the `elastic-agent install` command as required to choose a different flavor. Refer to [{{agent}} installation flavors](./install-elastic-agents.md#elastic-agent-installation-flavors) for details. + 2. Beginning with version 9.0, {{agent}} packages are available in multiple flavors. The default, "basic" flavor contains the components required for most use data collection use cases. A "servers" flavor is also available with additional components. You can adjust the `elastic-agent install` command as required to choose a different flavor. Refer to [{{agent}} installation flavors](./install-elastic-agents.md#elastic-agent-installation-flavors) for details. :::{image} images/kibana-agent-flyout.png :alt: Add agent flyout in {kib} From 54c1e78d808831207d86e682ef3706ef673d33b2 Mon Sep 17 00:00:00 2001 From: David Kilfoyle <41695641+kilfoyle@users.noreply.github.com> Date: Wed, 9 Apr 2025 15:03:32 -0400 Subject: [PATCH 12/13] Update reference/fleet/install-elastic-agents.md Co-authored-by: Craig MacKenzie --- reference/fleet/install-elastic-agents.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/fleet/install-elastic-agents.md b/reference/fleet/install-elastic-agents.md index 662d619488..b202f2b37e 100644 --- a/reference/fleet/install-elastic-agents.md +++ b/reference/fleet/install-elastic-agents.md @@ -86,7 +86,7 @@ This basic package is suitable for most use cases and it offers a reduced size o #### Servers flavor [elastic-agent-servers-flavor-regular] -The servers {{agent}} flavor is installed using the `elastic-agent install --install-servers` command, or for RPM and DEB packages the `ELATIC_AGENT_FLAVOR=servers` command. In addition to components included in the basic flavor, this flavor also includes: +The servers {{agent}} flavor is installed using the `elastic-agent install --install-servers` command, or for RPM and DEB packages the `ELATIC_AGENT_FLAVOR=servers` environment variable. In addition to components included in the basic flavor, this flavor also includes: * `apm-server` - implements the Elastic [APM Server](../../solutions/observability/apps/get-started-with-apm.md). * `cloudbeat` - implements [Cloud Security Posture Management (CSPM)](../../solutions/security/cloud/cloud-security-posture-management.md) integrations. From 884b4a2f007372f5863d9b214fd5f5496c0d5784 Mon Sep 17 00:00:00 2001 From: David Kilfoyle <41695641+kilfoyle@users.noreply.github.com> Date: Wed, 9 Apr 2025 15:03:42 -0400 Subject: [PATCH 13/13] Update reference/fleet/install-elastic-agents.md Co-authored-by: Craig MacKenzie --- reference/fleet/install-elastic-agents.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/fleet/install-elastic-agents.md b/reference/fleet/install-elastic-agents.md index b202f2b37e..05f468d160 100644 --- a/reference/fleet/install-elastic-agents.md +++ b/reference/fleet/install-elastic-agents.md @@ -108,7 +108,7 @@ For containerized environments, the servers {{agent}} flavor is installed using #### Complete flavor [elastic-agent-complete-flavor] -For containerized environments, the complete {{agent}} flavor is installed using the `elastic-agent-complete` command with an agent container package. This flavor includes all of the components in the servers flavor, and also includes additional dependencies to run browser monitors through Elastic Synthetics. Refer to [Synthetic monitoring via Elastic Agent and Fleet](/solutions/observability/apps/get-started.md) for more information. +For containerized environments, the complete {{agent}} flavor is installed using the `elastic-agent-complete` command with an agent container package. This flavor includes all of the components in the servers flavor, and also includes additional dependencies to run browser monitors through Elastic Synthetics. It also includes the [journald](https://www.freedesktop.org/software/systemd/man/latest/systemd-journald.service.html) dependences necessary to use the [journald input](https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-journald.html). Refer to [Synthetic monitoring via Elastic Agent and Fleet](/solutions/observability/apps/get-started.md) for more information. ## Resource requirements [elastic-agent-installation-resource-requirements]