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

Update docs for changes in add fleet server steps #1934

Merged
merged 2 commits into from
Jun 29, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ all spaces.
* <<fleet-server,{fleet-server}>> running in a location accessible to
{agent}. {agent} must have a direct network connection to
{fleet-server} and {es}. If you're using our hosted {ess} on {ecloud},
{fleet-server} is already available as part of the {integrations-server}.
{fleet-server} is already available as part of the {integrations-server}. For
self-managed deployments, refer to <<add-a-fleet-server>>.

* Internet connection for {kib} to download integration packages
from the {package-registry}. Make sure the {kib} server can connect to
Expand Down
28 changes: 16 additions & 12 deletions docs/en/ingest-management/fleet/fleet-server-monitoring.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,14 @@ new agent policy or use the existing Default {fleet-server} agent policy.

To monitor {fleet-server}:

. In {fleet}, go to *Agent Policies* and click the {fleet-server} agent policy.
. In {kib}, go to **Management > {fleet} > Agent Policies**.

. Click the *Settings* tab and verify that *Collect agent logs* and
*Collect agent metrics* are selected.
. Click the {fleet-server} policy name to edit the policy.

. Next, set the *Default namespace* to something like `fleetserver`.
. Click the **Settings** tab and verify that **Collect agent logs** and
**Collect agent metrics** are selected.

. Next, set the **Default namespace** to something like `fleetserver`.
+
Setting the default namespace lets you segregate {fleet-server} monitoring data
from other collected data. This makes it easier to search and visualize the
Expand All @@ -27,24 +29,21 @@ monitoring data.
[role="screenshot"]
image::images/fleet-server-agent-policy-page.png[{fleet-server} agent policy]

. To confirm your change, click *Save changes*.
. To confirm your change, click **Save changes**.

To see the metrics collected for the agent running {fleet-server}, go to
*Analytics > Discover*.
**Analytics > Discover**.

In the following example, `fleetserver` was configured as the namespace, and
you can see the metrics collected:

[role="screenshot"]
image::images/dashboard-with-namespace-showing.png[Namespace]

[role="screenshot"]
image::images/datastream-namespace.png[Data stream]

// lint ignore elastic-agent
In {kib}, go to *Analytics > Dashboard* and search for the predefined dashboard
called *[Elastic Agent] Agent metrics*. Choose this dashboard, and run a query
based on the `fleetserver` namespace.
Go to **Analytics > Dashboard** and search for the predefined dashboard called
**[Elastic Agent] Agent metrics**. Choose this dashboard, and run a query based
on the `fleetserver` namespace.

The following dashboard shows data for the query `data_stream.namespace:
"fleetserver"`. In this example, you can observe CPU and memory usage as a
Expand All @@ -53,5 +52,10 @@ metric and then resize the {fleet-server}, if necessary.
[role="screenshot"]
image::images/dashboard-datastream.png[Dashboard Data stream]

//REVIEWERS: This dashboard is missing CPU usage info. Is that expected? Also
dedemorton marked this conversation as resolved.
Show resolved Hide resolved
//it isn't reporting memory usage for fleet_server.

Note that as an alternative to running the query, you can hide all metrics
except `fleet_server` in the dashboard.

//REVIEWERS: Is this statement ^^ really true?
47 changes: 24 additions & 23 deletions docs/en/ingest-management/fleet/fleet-server-scaling.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ First modify your {fleet} deployment settings in {ecloud}:

. Log in to {ecloud} and go to your deployment.

. Under *Deployments > _deployment name_*, click *Edit*.
. Under **Deployments > _deployment name_**, click **Edit**.

. Under {integrations-server}:
+
Expand All @@ -27,15 +27,16 @@ image::images/fleet-server-hosted-container.png[{fleet-server} hosted agent]

Next modify the {fleet-server} configuration by editing the agent policy:

. In *{fleet}*, click *Agent Policies*. Click on the *{ecloud} agent policy* to
edit it.
. In {kib}, go to **Management > {fleet} > Agent Policies**. Click the name of
the **{ecloud} agent policy** to edit the policy.

. Open the *Actions* menu and select *Edit integration*.
. Open the **Actions** menu next to the {fleet-server} integration and click
**Edit integration**.
+
[role="screenshot"]
image::images/elastic-cloud-agent-policy.png[{ecloud} policy]

. Under {fleet-server}, modify *Max Connections* and other
. Under {fleet-server}, modify **Max Connections** and other
<<fleet-server-configuration,advanced settings>> as described in
<<scaling-recommendations>>.
+
Expand Down Expand Up @@ -146,29 +147,29 @@ on the number of agents required by your deployment:
TIP: You might need to scroll to the right to see all the table columns.

|===
| | *50* | *5,000* | *7,500* | *10,000* | *12,500* | *30,000* | *50,000*
| *Max Connections* | 100 | 7,000 | 10,000 | 20,000 | 32,000 | 32,000 | 32,000
| | **50** | **5,000** | **7,500** | **10,000** | **12,500** | **30,000** | **50,000**
| **Max Connections** | 100 | 7,000 | 10,000 | 20,000 | 32,000 | 32,000 | 32,000
8+s| Cache settings
| `num_counters` | 2000 | 20000 | 40000 | 80000 | 160000 | 160000 | 320000
| `max_cost` | 2097152 | 20971520 | 50971520 | 104857600 | 209715200 | 209715200 | 209715200
| `num_counters` | 2000 | 20000 | 40000 | 80000 | 160000 | 160000 | 320000
| `max_cost` | 2097152 | 20971520 | 50971520 | 104857600 | 209715200 | 209715200 | 209715200
8+s| Server limits
| `policy_throttle` | 200 ms | 50 ms | 10 ms | 5 ms | 5 ms | 2 ms | 5 ms
| `policy_throttle` | 200 ms | 50 ms | 10 ms | 5 ms | 5 ms | 2 ms | 5 ms
8+| `checkin_limit:`
>| `interval` | 50 ms | 5 ms | 2 ms | 1 ms | 500 us | 500 us | 500 us
>| `burst` | 25 | 500 | 1000 | 2000 | 4000 | 4000 | 4000
>| `max` | 100 | 5001 | 7501 | 10001 | 12501 | 15001 | 25001
>| `interval` | 50 ms | 5 ms | 2 ms | 1 ms | 500 us | 500 us | 500 us
>| `burst` | 25 | 500 | 1000 | 2000 | 4000 | 4000 | 4000
>| `max` | 100 | 5001 | 7501 | 10001 | 12501 | 15001 | 25001
8+|`artifact_limit:`
>| `interval` | 100 ms | 5 ms | 2 ms | 1 ms | 500 us | 500 us | 500 us
>| `burst` | 10 | 500 | 1000 | 2000 | 4000 | 4000 | 4000
>| `max` | 10 | 1000 | 2000 | 4000 | 8000 | 8000 | 8000
>| `interval` | 100 ms | 5 ms | 2 ms | 1 ms | 500 us | 500 us | 500 us
>| `burst` | 10 | 500 | 1000 | 2000 | 4000 | 4000 | 4000
>| `max` | 10 | 1000 | 2000 | 4000 | 8000 | 8000 | 8000
8+| `ack_limit:`
>| `interval` | 10 ms | 4 ms | 2 ms | 1 ms | 500 us | 500 us | 500 us
>| `burst` | 20 | 500 | 1000 | 2000 | 4000 | 4000 | 4000
>| `max` | 20 | 1000 | 2000 | 4000 | 8000 | 8000 | 8000
>| `interval` | 10 ms | 4 ms | 2 ms | 1 ms | 500 us | 500 us | 500 us
>| `burst` | 20 | 500 | 1000 | 2000 | 4000 | 4000 | 4000
>| `max` | 20 | 1000 | 2000 | 4000 | 8000 | 8000 | 8000
8+| `enroll_limit:`
>| `interval` | 100 ms | 20 ms | 10 ms | 10 ms | 10 ms | 10 ms | 10 ms
>| `burst` | 5 | 50 | 100 | 100 | 100 | 100 | 100
>| `max` | 10 | 100 | 200 | 200 | 200 | 200 | 200
>| `interval` | 100 ms | 20 ms | 10 ms | 10 ms | 10 ms | 10 ms | 10 ms
>| `burst` | 5 | 50 | 100 | 100 | 100 | 100 | 100
>| `max` | 10 | 100 | 200 | 200 | 200 | 200 | 200
8+s| Server runtime settings
| `gc_percent` | 20 | 20 | 20 | 20 | 20 | 20 | 20
| `gc_percent` | 20 | 20 | 20 | 20 | 20 | 20 | 20
|===
Binary file modified docs/en/ingest-management/fleet/images/add-fleet-server.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ deployment.

To confirm that an {integrations-server} is available in your deployment:

. In {kib}, open the main menu, and go to *Management > {fleet}*.
. On the *Agents* tab, look for the *{ecloud} agent policy*. This policy is
. In {kib}, go to **Management > {fleet}**.
. On the **Agents** tab, look for the **{ecloud} agent policy**. This policy is
managed by {ecloud}, and contains a {fleet-server} integration and an Elastic
APM integration. You cannot modify the policy. Confirm that the agent status is
*Healthy*.
**Healthy**.

[TIP]
====
Expand All @@ -25,86 +25,63 @@ image::images/integrations-server-hosted-container.png[Hosted {integrations-serv

// tag::self-managed[]

To deploy a self-managed {fleet-server}, install an {agent} and enroll it in an
agent policy containing the {fleet-server} integration.
To deploy a self-managed {fleet-server}, you install an {agent} and enroll it in
an agent policy containing the {fleet-server} integration.

NOTE: You can install only a single {agent} per host, which means you cannot run
{fleet-server} and another {agent} on the same host unless you deploy a
containerized {fleet-server}.

. Log in to {kib} and go to *Management > {fleet} > Settings*. For more
information about these settings, see
{fleet-guide}/fleet-settings.html[{fleet} settings].
. In {kib}, go to **Management > {fleet} > Settings**. For more information
about these settings, see {fleet-guide}/fleet-settings.html[{fleet} settings].
// lint ignore fleet-server
. Under *Fleet Server hosts*, click *Edit hosts* and specify one or more host
. Under **Fleet Server hosts**, click **Edit hosts** and specify one or more host
URLs your {agent}s will use to connect to {fleet-server}. For example,
`https://192.0.2.1:8220`, where `192.0.2.1` is the host IP where you will
install {fleet-server}. Save and apply your settings.

. In the *{es} hosts* field, specify the {es} URLs where {agent}s will send data.
. In the **{es} hosts** field, specify the {es} URLs where {agent}s will send data.
For example, `https://192.0.2.0:9200`. Skip this step if you've started the
{stack} with security enabled (you cannot change this setting because it's
managed outside of {fleet}).

. Save and apply the settings.

. Click the *Agents* tab and follow the in-product instructions to add a
. Click the **Agents** tab and follow the in-product instructions to add a
{fleet} server:
+
[role="screenshot"]
image::images/add-fleet-server.png[In-product instructions for adding a {fleet-server}]

*Notes:*
**Notes:**

* Make sure you download an x64 architecture installation package.

* For the agent policy, choose one with a {fleet-server} integration, or click
*Create policy* to create one now. Alternatively you can
* Choose **Quick Start** if you want {fleet} to generate a
dedemorton marked this conversation as resolved.
Show resolved Hide resolved
{fleet-server} policy and enrollment token for you.
* Choose **Advanced** if you want to either:
** Use your own {fleet-server} policy. You can create a new {fleet-server}
policy or select an existing one. Alternatively you can
{fleet-guide}/create-a-policy-no-ui.html[create a {fleet-server} policy without using the UI],
then select the policy here.

* If you choose *Production* deployment mode, learn how to generate certs in
{fleet-guide}/secure-connections.html[Configure SSL/TLS for self-managed
{fleet-server}s].

and select the policy here.
** Use your own TLS certificates to encrypt traffic between {agent}s and
{fleet-server}. To learn how to generate certs, refer to
{fleet-guide}/secure-connections.html[Configure SSL/TLS for self-managed {fleet-server}s].
* It's recommended you generate a unique service token for each
{fleet-server}. For other ways to generate service tokens, see
{ref}/service-tokens-command.html[`elasticsearch-service-tokens`].

* If you are providing your own certificates:
** Before running the `install` command, make sure you replace the values in
angle brackets.
** Note that the URL specified by `--url` must match the DNS name used to
generate the certificate specified by `--fleet-server-cert`.
* The `install` command installs the {agent} as a managed service and enrolls it
in a {fleet-server} policy. For example, the following command installs
a {fleet-server} and uses self-signed certs:
+
[source,yaml]
dedemorton marked this conversation as resolved.
Show resolved Hide resolved
----
sudo ./elastic-agent install \
--fleet-server-es=http://localhost:9200 \
--fleet-server-service-token=AAEbAWVsYXN0aWMvZmxlaXQtc2VydmVzL3Rva2VuLTE2MeIzNTY1NTQ3Mji6dERXeE9XbW5RRTZqNlJMWEdIRzAtZw \
--fleet-server-policy=27467ed1-1bfd-11ec-9b88-a7c3d83e2897 \
--fleet-server-es-ca-trusted-fingerprint=3b24d33844d65532f0584d198b45006747521493522c1912608522bf175bc826
----
+
The following command installs a {fleet-server} and uses certificates you
provide. Make sure you replace the values in angle brackets.
+
[source,yaml]
----
sudo ./elastic-agent install --url=https://192.0.2.1:8220 \ <1>
--fleet-server-es=https://192.0.2.0:9200 \
--fleet-server-service-token=AAEAaWVsYXN0aWcvZmxlZXQtc2VydmVyL3rva2VuLTE2MzIzNTYcNTQ3MjI6dER1eE9XbW5RRTZqNlJMWEdIRzAtZw \
--fleet-server-policy=fleet-server-policy \
--fleet-server-es-ca-trusted-fingerprint=a8f3042bc1d2097e94bd8bf75f05v61c0abbaa2eb3e19647c28078bv095ca7c3 \
--certificate-authorities=<PATH_TO_CA> \
--fleet-server-cert=<PATH_TO_FLEET_SERVER_CERT> \
--fleet-server-cert-key=<PATH_TO_FLEET_SERVER_CERT_KEY>
----
<1> The URL must match the DNS name used to generate the certificate specified
by `--fleet-server-cert`.
+
For more {fleet-server} commands, see
in a {fleet-server} policy. For more {fleet-server} commands, see
{fleet-guide}/elastic-agent-cmd-options.html[{agent} command reference].
+
If installation is successful, you'll see the {fleet-server} {agent} on the
*Agents* tab in *{fleet}*.

If installation is successful, you'll see confirmation that {fleet-server}
connected. Click **Continue enrolling Elastic Agent** to begin enrolling your
agents in {fleet-server}.

NOTE: If you're unable to add a {fleet}-managed agent, click the **Agents** tab
and confirm that the agent running {fleet-server} is healthy.

// end::self-managed[]