Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 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
4 changes: 4 additions & 0 deletions docs/configure-kibana-endpoint.asciidoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
[[setup-kibana-endpoint]]
== Configure the Kibana endpoint

++++
<titleabbrev>Kibana endpoint</titleabbrev>
++++

Configuring the Kibana endpoint is required for
{kibana-ref}/agent-configuration.html[APM Agent configuration in Kibana].
You configure the endpoint in the `apm-server.kibana` section of the
Expand Down
52 changes: 30 additions & 22 deletions docs/configuring.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,25 +10,48 @@
include::{libbeat-dir}/shared/configuring-intro.asciidoc[]

* <<configuration-process>>
* <<configuring-output>>
* <<configuration-ssl-landing>>
* <<configuration-template>>
* <<ilm-reference>>
* <<configuration-instrumentation>>
* <<jaeger-reference>>
* <<configuration-logging>>
* <<configuration-kerberos>>
* <<setup-kibana-endpoint>>
* <<configuration-rum>>
* <<configuration-instrumentation>>
* <<configuration-logging>>
* <<configuring-output>>
* <<configuration-path>>
* <<configuration-rum>>
* <<configuration-ssl-landing>>
* <<transaction-metrics>>
* <<using-environ-vars>>

--

include::./configuration-process.asciidoc[]

include::{libbeat-dir}/template-config.asciidoc[]

include::./ilm-reference.asciidoc[]

include::{libbeat-dir}/shared-instrumentation.asciidoc[]

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

ifndef::no_kerberos[]
include::{libbeat-dir}/shared-kerberos-config.asciidoc[]
endif::[]

include::./configure-kibana-endpoint.asciidoc[]

include::{libbeat-dir}/loggingconfig.asciidoc[]

:no-redis-output:
include::{libbeat-dir}/outputconfig.asciidoc[]

include::{libbeat-dir}/shared-path-config.asciidoc[]

include::./configuration-rum.asciidoc[]

// BEGIN SSL SECTION --------------------------------------------
[[configuration-ssl-landing]]
== SSL/TLS settings

Expand All @@ -49,24 +72,9 @@ include::{libbeat-dir}/shared-ssl-config.asciidoc[]
:leveloffset: -1

include::ssl-input-settings.asciidoc[]
// END SSL SECTION --------------------------------------------

See <<securing-apm-server,Securing APM Server>> for more information.

include::{libbeat-dir}/template-config.asciidoc[]

include::./ilm-reference.asciidoc[]

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

include::{libbeat-dir}/loggingconfig.asciidoc[]

include::./configure-kibana-endpoint.asciidoc[]

include::./configuration-rum.asciidoc[]

include::{libbeat-dir}/shared-instrumentation.asciidoc[]

include::{libbeat-dir}/shared-path-config.asciidoc[]
include::./transaction-metrics.asciidoc[]

:standalone:
include::{libbeat-dir}/shared-env-vars.asciidoc[]
Expand Down
4 changes: 0 additions & 4 deletions docs/copied-from-beats/docs/outputs-list.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,5 @@ ifdef::requires_xpack[]
endif::[]
include::{libbeat-outputs-dir}/codec/docs/codec.asciidoc[]
endif::[]
ifndef::no_kerberos[]
include::{libbeat-dir}/shared-kerberos-config.asciidoc[]
endif::[]


//# end::outputs-include[]
93 changes: 93 additions & 0 deletions docs/transaction-metrics.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
[x-pack]
[[transaction-metrics]]
== Configure transaction metrics

++++
<titleabbrev>Transaction metrics</titleabbrev>
++++

When enabled, {beatname_uc} produces the transaction histogram metrics that are used to power the APM app.
Shifting this responsibility from APM app to APM Server results in improved query performance.

Example config file:

["source","yaml"]
----
apm-server:
aggregation:
transactions:
enabled: true
interval: 1m
sampling:
keep_unsampled: false
----


[float]
[[configuration-aggregation]]
=== Configuration options: `apm-server.aggregation.transactions.*`

[[transactions-enabled]]
[float]
==== `enabled`

Enables the collection and publishing of transaction metrics.
This setting improves query performance in the APM app.

Default: `false`.

[[transactions-interval]]
[float]
==== `interval`

Controls the frequency of metrics publication.

Default: `1m`.

[[transactions-max_groups]]
[float]
==== `max_groups`

Maximum number of transaction groups to keep track of.
Once exceeded, APM Server devolves into recording a metrics document for each transaction that is not in one
of the transaction groups being tracked.

Default: `1000`.

[[transactions-hdrhistogram_significant_figures]]
[float]
==== `hdrhistogram_significant_figures`

The fixed, worse-case percentage error (specified as a number of significant digits)
to maintain for recorded metrics.
Supported values are `1` through `5`.
See {ref}/search-aggregations-metrics-percentile-aggregation.html#_hdr_histogram[HDR histogram] for more information.

Default: `2`.

[[transactions-lru_size]]
[float]
==== `rum.user_agent.lru_size`

This option controls the cache size of RUM user-agent strings.

RUM "page-load" transactions are aggregated on the user-agent name, which requires user-agent parsing.
To avoid parsing every user-agent, a cache of user-agent strings is maintained.

Default: `5000`.

[float]
[[configuration-sampling]]
=== Configuration options: `apm-server.sampling.*`

[[sampling-keep_unsampled]]
[float]
==== `keep_unsampled`
Copy link
Member

Choose a reason for hiding this comment

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

I'm not sure if we should document this one. I think this will end up going away in favour of the updating the agents to stop sending unsampled transactions. Also, I suspect this config might be incompatible with RUM/User Experience monitoring, where we probably want to record individual requests without a full sampled trace.

Copy link
Member Author

Choose a reason for hiding this comment

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

If we do remove this config from the docs, do the apm-server.aggregation.transactions.* configs still result in storage reduction? I want to make sure your previous suggested change still holds true if we remove this.

Copy link
Member

Choose a reason for hiding this comment

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

Ahh good point. Indeed, storage reduction relies on us discarding the unsampled transaction docs.
I guess we should keep it then, and just mark it as experimental.


Controls the recording of unsampled transaction documents.
Dropping unsampled documents (`keep_unsampled: false`) reduces APM's storage consumption.

Default: `true`.

IMPORTANT: Unsampled transactions should only be dropped when `apm-server.aggregation.transactions.enabled` is `true`,
otherwise, the APM app will report inaccurate metrics.