Skip to content

Commit 562e3c7

Browse files
kilfoylecmacknz
andauthored
Document agent install flavors (#927)
This adds docs for the new Elastic Agent install flavors. --- **List of changes** - New section [Elastic Agent installation flavors](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/927/reference/fleet/install-elastic-agents#elastic-agent-installation-flavors) - New command examples added to "Run agent in a container" → [Step 1: Pull the image](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/927/reference/fleet/elastic-agent-container#_step_1_pull_the_image) - For the Fleet-managed Agents → [Installation steps](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/927/reference/fleet/install-fleet-managed-elastic-agent#elastic-agent-installation-steps) I added this note: <img width="922" alt="Screenshot 2025-03-25 at 8 29 40 PM" src="https://github.com/user-attachments/assets/4f4dcdd7-d0c0-4f49-bbab-3131477bbf39" /> - For the Command Reference → [elastic-agent install command](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/927/reference/fleet/agent-command-reference#elastic-agent-install-command) I added: <img width="981" alt="screen3" src="https://github.com/user-attachments/assets/d09f9491-70dc-495f-909c-c098789363c8" /> - For the [Install standalone Elastic Agents](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/927/reference/fleet/install-standalone-elastic-agent) page: - In the Mac, Linux, and Windows "install" command widgets (in Step 5) I've added: "By default the Elastic Agent basic flavor is installed. To install the servers flavor, add the --ìnstall-servers parameter. Refer to [Elastic Agent installation flavors](https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/927/reference/fleet/install-elastic-agents#elastic-agent-installation-packages) for details." - In the RPM and DEB "download and extract" command widgets (in Step 1) I've added: RPM: <img width="899" alt="Screenshot 2025-03-25 at 9 03 59 PM" src="https://github.com/user-attachments/assets/be940954-4466-495d-b857-c772c90436f4" /> DEB: <img width="889" alt="666" src="https://github.com/user-attachments/assets/14f0177d-3b6b-430a-9959-b9c81a0022bc" /> --- Closes: elastic/ingest-docs#1737 --------- Co-authored-by: Craig MacKenzie <[email protected]>
1 parent f56b3f5 commit 562e3c7

File tree

5 files changed

+111
-5
lines changed

5 files changed

+111
-5
lines changed

reference/fleet/agent-command-reference.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,7 @@ If you installed {{agent}} from a DEB or RPM package, the `install` command will
483483

484484
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.
485485

486-
The syntax for running this command varies by platform. For platform-specific examples, refer to [*Install {{agent}}s*](/reference/fleet/install-elastic-agents.md).
486+
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).
487487

488488

489489
### Synopsis [_synopsis_5]

reference/fleet/elastic-agent-container.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ You can run {{agent}} inside a container — either with {{fleet-server}} or
99

1010
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.
1111

12+
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.
13+
1214
Considerations:
1315

1416
* When {{agent}} runs inside a container, it cannot be upgraded through {{fleet}} as it expects that the container itself is upgraded.
@@ -34,20 +36,36 @@ Considerations:
3436

3537
## Step 1: Pull the image [_step_1_pull_the_image]
3638

37-
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.
39+
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.
3840

3941
Run the `docker pull` command against the Elastic Docker registry:
4042

43+
### Basic flavor
44+
4145
```terminal subs=true
42-
docker pull docker.elastic.co/elastic-agent/elastic-agent:{{stack-version}}
46+
docker pull docker.elastic.co/elastic-agent/elastic-agent-slim:{{stack-version}}
4347
```
4448

4549
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).
4650

51+
```terminal subs=true
52+
docker pull docker.elastic.co/elastic-agent/elastic-agent-slim-wolfi:{{stack-version}}
53+
```
54+
55+
### Server flavor
56+
57+
```terminal subs=true
58+
docker pull docker.elastic.co/elastic-agent/elastic-agent:{{stack-version}}
59+
```
60+
61+
To run the server flavor using the hardened [Wolfi](https://github.com/wolfi-dev/) image, run:
62+
4763
```terminal subs=true
4864
docker pull docker.elastic.co/elastic-agent/elastic-agent-wolfi:{{stack-version}}
4965
```
5066

67+
### Complete flavor
68+
5169
If you want to run Synthetics tests, run the docker pull command to fetch the elastic-agent-complete image:
5270

5371
```terminal subs=true

reference/fleet/install-elastic-agents.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,48 @@ If you are using {{agent}} with [{{serverless-full}}](/deploy-manage/deploy/elas
6868
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).
6969
::::
7070

71+
## {{agent}} installation flavors [elastic-agent-installation-flavors]
72+
73+
{{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.
74+
75+
### Flavors for regular package installs
76+
77+
#### Basic flavor [elastic-agent-basic-flavor-regular]
78+
79+
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:
80+
81+
* `agentbeat` - used to implement all [{{beats}}](beats://reference/index.md)-based integrations.
82+
* `endpoint-security` - used to implement [{{elastic-defend}}](../../solutions/security/configure-elastic-defend.md).
83+
* `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).
84+
85+
This basic package is suitable for most use cases and it offers a reduced size on disk.
86+
87+
#### Servers flavor [elastic-agent-servers-flavor-regular]
88+
89+
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:
90+
91+
* `apm-server` - implements the Elastic [APM Server](../../solutions/observability/apps/get-started-with-apm.md).
92+
* `cloudbeat` - implements [Cloud Security Posture Management (CSPM)](../../solutions/security/cloud/cloud-security-posture-management.md) integrations.
93+
* `fleet-server`, implements [Fleet Server](../fleet/fleet-server.md) for managing {{agents}}.
94+
* `pf-elastic-symbolizer` - a server side component of Elastic [Universal Profiling](../../solutions/observability/infra-and-hosts/get-started-with-universal-profiling.md).
95+
* `pf-elastic-collector` - a server side component of Elastic [Universal Profiling](../../solutions/observability/infra-and-hosts/get-started-with-universal-profiling.md).
96+
97+
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.
98+
99+
### Flavors for container package installs
100+
101+
#### Basic flavor [elastic-agent-basic-flavor-container]
102+
103+
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.
104+
105+
#### Servers flavor [elastic-agent-servers-flavor-container]
106+
107+
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.
108+
109+
#### Complete flavor [elastic-agent-complete-flavor]
110+
111+
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.
112+
71113
## Resource requirements [elastic-agent-installation-resource-requirements]
72114

73115
The {{agent}} resources consumption is influenced by the number of integration and the environment its been running on.

reference/fleet/install-fleet-managed-elastic-agent.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,12 +65,13 @@ To install an {{agent}} and enroll it in {{fleet}}:
6565

6666
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".
6767

68+
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.
69+
6870
:::{image} images/kibana-agent-flyout.png
6971
:alt: Add agent flyout in {kib}
7072
:screenshot:
7173
:::
7274

73-
7475
After about a minute, the agent will enroll in {{fleet}}, download the configuration specified in the agent policy, and start collecting data.
7576

7677
**Notes:**

reference/fleet/install-standalone-elastic-agent.md

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,23 @@ To install and run {{agent}} standalone:
6464
curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-{{stack-version}}-amd64.deb
6565
sudo dpkg -i elastic-agent-{{stack-version}}-amd64.deb
6666
```
67+
68+
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.
69+
70+
You can use either of the two command formats to set the `ELASTIC_AGENT_FLAVOR` environment variable:
71+
72+
```shell subs=true
73+
curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-{{stack-version}}-amd64.deb
74+
sudo ELASTIC_AGENT_FLAVOR=servers dpkg -i elastic-agent-{{stack-version}}-amd64.deb
75+
```
76+
77+
```shell subs=true
78+
curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-{{stack-version}}-amd64.deb
79+
ELASTIC_AGENT_FLAVOR=servers sudo -E dpkg -i elastic-agent-{{stack-version}}-amd64.deb
80+
```
81+
82+
**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.
83+
6784
:::
6885

6986
:::{tab-item} RPM
@@ -77,12 +94,29 @@ To install and run {{agent}} standalone:
7794
curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-{{stack-version}}-x86_64.rpm
7895
sudo rpm -vi elastic-agent-{{stack-version}}-x86_64.rpm
7996
```
97+
98+
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.
99+
100+
You can use either of the two command formats to set the `ELASTIC_AGENT_FLAVOR` environment variable:
101+
102+
```shell subs=true
103+
curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-{{stack-version}}-amd64.deb
104+
sudo ELASTIC_AGENT_FLAVOR=servers rpm -vi elastic-agent-{{stack-version}}-x86_64.rpm
105+
```
106+
107+
```shell subs=true
108+
curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-{{stack-version}}-amd64.deb
109+
ELASTIC_AGENT_FLAVOR=servers sudo -E rpm -vi elastic-agent-{{stack-version}}-x86_64.rpm
110+
```
111+
80112
:::
81113

82114
::::
83115

84116
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.
85117

118+
119+
86120
2. Modify settings in the `elastic-agent.yml` as required.
87121

88122
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 +156,9 @@ To install and run {{agent}} standalone:
122156
```shell
123157
sudo ./elastic-agent install
124158
```
159+
160+
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.
161+
125162
::::
126163

127164
::::{tab-item} Linux
@@ -132,7 +169,10 @@ To install and run {{agent}} standalone:
132169

133170
```shell
134171
sudo ./elastic-agent install
135-
```
172+
```
173+
174+
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.
175+
136176
::::
137177

138178
::::{tab-item} Windows
@@ -144,6 +184,9 @@ To install and run {{agent}} standalone:
144184
```shell
145185
.\elastic-agent.exe install
146186
```
187+
188+
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.
189+
147190
::::
148191

149192
::::{tab-item} DEB
@@ -154,6 +197,7 @@ To install and run {{agent}} standalone:
154197
```
155198

156199
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`.
200+
157201
::::
158202

159203
::::{tab-item} RPM
@@ -164,6 +208,7 @@ To install and run {{agent}} standalone:
164208
```
165209

166210
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`.
211+
167212
::::
168213

169214
:::::

0 commit comments

Comments
 (0)