Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
3 changes: 0 additions & 3 deletions docs/how-to.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,13 @@ Learn how to perform common APM configuration and management tasks.

* <<source-map-how-to>>
* <<jaeger-integration>>
* <<monitor-apm>>
* <<ingest-pipelines>>
* <<custom-index-template>>

include::./source-map-how-to.asciidoc[]

include::./jaeger-integration.asciidoc[]

include::./monitor.asciidoc[]

include::./ingest-pipelines.asciidoc[]

include::./custom-index-template.asciidoc[]
4 changes: 2 additions & 2 deletions docs/integrations-index.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,8 @@ include::configure/index.asciidoc[leveloffset=+1]

include::secure-agent-communication.asciidoc[]

include::monitor-apm-server.asciidoc[]

include::api.asciidoc[]

include::troubleshoot-apm.asciidoc[]
Expand Down Expand Up @@ -132,8 +134,6 @@ include::./legacy/getting-started-apm-server.asciidoc[]
:beat-specific-security: {docdir}/legacy/security.asciidoc
include::{libbeat-dir}/shared-securing-beat.asciidoc[leveloffset=+1]

include::{libbeat-dir}/monitoring/monitoring-beats.asciidoc[leveloffset=+1]

include::./legacy/troubleshooting.asciidoc[leveloffset=+1]

// include::./legacy/breaking-changes.asciidoc[leveloffset=+1]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,13 @@
[role="xpack"]
[[monitoring]]
= Monitor {beatname_uc}
= Monitor the APM Server binary

++++
<titleabbrev>Monitor</titleabbrev>
<titleabbrev>APM Server binary</titleabbrev>
++++

You can use the {stack} {monitor-features} to gain insight into the health of
ifndef::apm-server[]
{beatname_uc} instances running in your environment.
endif::[]
ifdef::apm-server[]
{beatname_uc}.
endif::[]

To monitor {beatname_uc}, make sure monitoring is enabled on your {es} cluster,
then configure the method used to collect {beatname_uc} metrics. You can use one
of following methods:
There are two methods to monitor the APM Server binary.
Make sure monitoring is enabled on your {es} cluster,
then configure one of these methods to collect {beatname_uc} metrics:

* <<monitoring-internal-collection,Internal collection>> - Internal
collectors send monitoring data directly to your monitoring cluster.
Expand All @@ -26,11 +17,6 @@ ifndef::serverless[]
and sends it directly to your monitoring cluster.
endif::[]

//Commenting out this link temporarily until the general monitoring docs can be
//updated.
//To learn about monitoring in general, see
//{ref}/monitor-elasticsearch-cluster.html[Monitor a cluster].

include::monitoring-internal-collection.asciidoc[]

ifndef::serverless[]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
//// Make sure this content appears below a level 2 heading.
//////////////////////////////////////////////////////////////////////////

[role="xpack"]
[float]
[[configuration-monitor]]
=== Settings for internal collection

Expand All @@ -20,28 +20,33 @@ using {metricbeat} to collect monitoring data.
You specify these settings in the X-Pack monitoring section of the
+{beatname_lc}.yml+ config file:

[float]
==== `monitoring.enabled`

The `monitoring.enabled` config is a boolean setting to enable or disable {monitoring}.
If set to `true`, monitoring is enabled.

The default value is `false`.

[float]
==== `monitoring.elasticsearch`

The {es} instances that you want to ship your {beatname_uc} metrics to. This
configuration option contains the following fields:

[float]
===== `api_key`

The detail of the API key to be used to send monitoring information to {es}.
See <<beats-api-keys>> for more information.

[float]
===== `bulk_max_size`

The maximum number of metrics to bulk in a single {es} bulk API index request.
The default is `50`. For more information, see <<elasticsearch-output>>.

[float]
===== `backoff.init`

The number of seconds to wait before trying to reconnect to {es} after
Expand All @@ -50,78 +55,92 @@ reconnect. If the attempt fails, the backoff timer is increased exponentially up
to `backoff.max`. After a successful connection, the backoff timer is reset. The
default is `1s`.

[float]
===== `backoff.max`

The maximum number of seconds to wait before attempting to connect to
{es} after a network error. The default is `60s`.

[float]
===== `compression_level`

The gzip compression level. Setting this value to `0` disables compression. The
compression level must be in the range of `1` (best speed) to `9` (best
compression). The default value is `0`. Increasing the compression level
reduces the network usage but increases the CPU usage.

[float]
===== `headers`

Custom HTTP headers to add to each request. For more information, see
<<elasticsearch-output>>.

[float]
===== `hosts`

The list of {es} nodes to connect to. Monitoring metrics are distributed to
these nodes in round robin order. For more information, see
<<elasticsearch-output>>.

[float]
===== `max_retries`

The number of times to retry sending the monitoring metrics after a failure.
After the specified number of retries, the metrics are typically dropped. The
default value is `3`. For more information, see <<elasticsearch-output>>.

[float]
===== `parameters`

Dictionary of HTTP parameters to pass within the URL with index operations.

[float]
===== `password`

The password that {beatname_uc} uses to authenticate with the {es} instances for
shipping monitoring data.

[float]
===== `metrics.period`

The time interval (in seconds) when metrics are sent to the {es} cluster. A new
snapshot of {beatname_uc} metrics is generated and scheduled for publishing each
period. The default value is 10 * time.Second.

[float]
===== `state.period`

The time interval (in seconds) when state information are sent to the {es} cluster. A new
snapshot of {beatname_uc} state is generated and scheduled for publishing each
period. The default value is 60 * time.Second.

[float]
===== `protocol`

The name of the protocol to use when connecting to the {es} cluster. The options
are: `http` or `https`. The default is `http`. If you specify a URL for `hosts`,
however, the value of protocol is overridden by the scheme you specify in the URL.

[float]
===== `proxy_url`

The URL of the proxy to use when connecting to the {es} cluster. For more
information, see <<elasticsearch-output>>.

[float]
===== `timeout`

The HTTP request timeout in seconds for the {es} request. The default is `90`.

[float]
===== `ssl`

Configuration options for Transport Layer Security (TLS) or Secure Sockets Layer
(SSL) parameters like the certificate authority (CA) to use for HTTPS-based
connections. If the `ssl` section is missing, the host CAs are used for
HTTPS connections to {es}. For more information, see <<configuration-ssl>>.

[float]
===== `username`

The user ID that {beatname_uc} uses to authenticate with the {es} instances for
Expand Down
31 changes: 31 additions & 0 deletions docs/monitor-apm-server.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
[[monitor-apm]]
== Monitor APM Server

++++
<titleabbrev>Monitor</titleabbrev>
++++

Use the {stack} {monitor-features} to gain insight into the real-time health and performance of APM Server.
Stack monitoring exposes key metrics, like intake response count, intake error rate, output event rate,
output failed event rate, and more.

Select your deployment method to get started:

* <<monitor-apm-cloud>>
* <<monitor-apm-self-install>>
* <<monitoring>>

[float]
[[monitor-apm-cloud]]
=== {ecloud}

{ecloud} manages the installation and configuration of a monitoring agent for you -- so
all you have to do is flip a switch and watch the data pour in.

* **{ess}** user? See {ece-ref}/ece-enable-logging-and-monitoring.html[ESS: Enable logging and monitoring].
* **{ece}** user? See {cloud}/ec-enable-logging-and-monitoring.html[ECE: Enable logging and monitoring].


include::./monitor.asciidoc[]

include::{libbeat-dir}/monitoring/monitoring-beats.asciidoc[leveloffset=+2]
39 changes: 9 additions & 30 deletions docs/monitor.asciidoc
Original file line number Diff line number Diff line change
@@ -1,23 +1,9 @@
[[monitor-apm]]
=== Monitor APM Server

Use the {stack} {monitor-features} to gain insight into the real-time health and performance of APM Server.
Stack monitoring exposes key metrics, like intake response count, intake error rate, output event rate,
output failed event rate, and more.

[float]
[[monitor-apm-cloud]]
=== Monitor APM running on {ecloud}

{ecloud} manages the installation and configuration of a monitoring agent for you -- so
all you have to do is flip a switch and watch the data pour in.

* **{ess}** user? See {ece-ref}/ece-enable-logging-and-monitoring.html[ESS: Enable logging and monitoring].
* **{ece}** user? See {cloud}/ec-enable-logging-and-monitoring.html[ECE: Enable logging and monitoring].

[float]
[[monitor-apm-self-install]]
=== Monitor a self-installation of APM
=== Monitor a Fleet-managed APM Server

++++
<titleabbrev>Fleet-managed</titleabbrev>
++++
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

. Start {agent}
+
Use the command that work with your system:

The third step in this guide is actually not true anymore. Users are required to re-enroll the elastic agent after changing the elastic-agent.yml, otherwise the changes won't have an effect.


NOTE: This guide assumes you are already ingesting APM data into the {stack}.

Expand Down Expand Up @@ -54,22 +40,15 @@ agent.monitoring:
<3> The port to expose logs/metrics on
--

. Stop {agent}
. Enroll {agent}
+
If {agent} is already running, you must stop it.
Use the command that work with your system:
After editing `elastic-agent.yml`, you must re-enroll {agent} for the changes to take effect.
+
--
include::{ingest-docs-root}/docs/en/ingest-management/tab-widgets/stop-widget.asciidoc[]
include::{ingest-docs-root}/docs/en/ingest-management/commands.asciidoc[tag=enroll]
--

. Start {agent}
+
Use the command that work with your system:
+
--
include::{ingest-docs-root}/docs/en/ingest-management/tab-widgets/start-widget.asciidoc[]
--
See the {fleet-guide}/elastic-agent-cmd-options.html[{agent} command reference] for more information on the enroll command.

[float]
[[install-config-metricbeat]]
Expand Down