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

[apmpackage] Add config options supported in ESS #4690

Merged
merged 6 commits into from
Feb 15, 2021
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
10 changes: 1 addition & 9 deletions apmpackage/apm/0.1.0/_dev/docs/README.template.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,22 +53,14 @@ both the service name and the environment as the namespace.
The APM integration requires Kibana 7.11 and Elasticsearch with basic license.
This version is experimental and has some limitations, listed bellow:

- It is not yet possible to change APM Server settings dynamically.
You must update the policy with any changes you need and restart the APM Server process.
- Sourcemap enrichment is not yet supported.
- There is no default ILM policy for traces (spans and transactions).
- You can't use an Elastic Agent enrolled before 7.11 with an APM integration.
- Only a handful of configuration options are supported yet.

IMPORTANT: If you run APM Server with Elastic Agent manually in standalone mode, you must install the APM integration before ingestion starts.

## Configuration parameters

- `Host`: APM Server host and port to listen on.
- `Secret token`: Authorization token for sending data to APM Server. See the [documentation](https://www.elastic.co/guide/en/apm/server/current/configuration-rum.html) for details.
- `Enable RUM`: Enables support for RUM monitoring. See the [documentation](https://www.elastic.co/guide/en/apm/server/current/configuration-rum.html) for details.
- `API Key for Central Configuration`: Gives privileges for APM Agent central configuration. See the [documentation](https://www.elastic.co/guide/en/kibana/master/agent-configuration.html)
- `API Key for Sourcemaps`: Gives priveleges to read sourcemaps. See the [documentation](https://www.elastic.co/guide/en/apm/agent/rum-js/current/sourcemap.html).

## Traces

Traces are comprised of [spans and transactions](https://www.elastic.co/guide/en/apm/get-started/current/apm-data-model.html).
Expand Down
16 changes: 14 additions & 2 deletions apmpackage/apm/0.1.0/agent/input/template.yml.hbs
Original file line number Diff line number Diff line change
@@ -1,8 +1,20 @@
apm-server:
host: {{host}}
secret_token: {{secret_token}}
max_event_size: {{max_event_bytes}}
capture_personal_data: {{capture_personal_data}}
kibana:
api_key: {{kibana_api_key}}
rum:
enabled: {{enable_rum}}
source_mapping.elasticsearch.api_key: {{sourcemap_api_key}}
kibana:
api_key: {{kibana_api_key}}
allow_origins: {{rum_allow_origins}}
allow_headers: {{rum_allow_headers}}
library_pattern: {{rum_library_pattern}}
exclude_from_grouping: {{rum_exclude_from_grouping}}
response_headers: {{rum_response_headers}}
event_rate.limit: {{rum_event_rate_limit}}
event_rate.lru_size: {{rum_event_rate_lru_size}}
api_key:
enabled: {{api_key_enabled}}
limit: {{api_key_limit}}
10 changes: 1 addition & 9 deletions apmpackage/apm/0.1.0/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,22 +53,14 @@ both the service name and the environment as the namespace.
The APM integration requires Kibana 7.11 and Elasticsearch with basic license.
This version is experimental and has some limitations, listed bellow:

- It is not yet possible to change APM Server settings dynamically.
You must update the policy with any changes you need and restart the APM Server process.
- Sourcemap enrichment is not yet supported.
- There is no default ILM policy for traces (spans and transactions).
- You can't use an Elastic Agent enrolled before 7.11 with an APM integration.
- Only a handful of configuration options are supported yet.

IMPORTANT: If you run APM Server with Elastic Agent manually in standalone mode, you must install the APM integration before ingestion starts.

## Configuration parameters

- `Host`: APM Server host and port to listen on.
- `Secret token`: Authorization token for sending data to APM Server. See the [documentation](https://www.elastic.co/guide/en/apm/server/current/configuration-rum.html) for details.
- `Enable RUM`: Enables support for RUM monitoring. See the [documentation](https://www.elastic.co/guide/en/apm/server/current/configuration-rum.html) for details.
- `API Key for Central Configuration`: Gives privileges for APM Agent central configuration. See the [documentation](https://www.elastic.co/guide/en/kibana/master/agent-configuration.html)
- `API Key for Sourcemaps`: Gives priveleges to read sourcemaps. See the [documentation](https://www.elastic.co/guide/en/apm/agent/rum-js/current/sourcemap.html).

## Traces

Traces are comprised of [spans and transactions](https://www.elastic.co/guide/en/apm/get-started/current/apm-data-model.html).
Expand Down
63 changes: 63 additions & 0 deletions apmpackage/apm/0.1.0/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,17 @@ policy_templates:
title: Secret token
required: false
show_user: true
- name: api_key_enabled
type: bool
title: API Key Auth
description: Enable API Key auth between APM Server and APM Agents.
required: false
show_user: true
default: false
- name: enable_rum
type: bool
title: Enable RUM
description: Enable Real User Monitoring (RUM).
required: true
show_user: true
default: false
Expand All @@ -54,6 +62,61 @@ policy_templates:
required: false
description: Enter as <Id>:<API Key>
show_user: true
- name: api_key_limit
type: int
title: Maximum number of API Keys
description: Restrict number of unique API Keys per minute, used for auth between APM Agents and Server.
required: false
show_user: false
default: 100
- name: capture_personal_data
type: bool
title: Capture personal data
description: Capture personal data such as IP or User Agent.
required: false
show_user: false
default: true
- name: rum_allow_origins
type: string
title: RUM - Origin Headers
description: Allowed Origin headers to be sent by User Agents.
multi: true
required: false
show_user: false
default: ['*']
Copy link
Contributor Author

Choose a reason for hiding this comment

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

filed a bug report elastic/kibana#91401, as this value is currently not allowed.

- name: rum_allow_headers
type: string
title: RUM - Access-Control-Allow-Headers
description: Supported Access-Control-Allow-Headers in addition to "Content-Type", "Content-Encoding" and "Accept".
multi: true
required: false
show_user: false
- name: rum_response_headers
type: yaml
title: RUM - Custom HTTP response headers
description: Added to RUM responses, e.g. for security policy compliance.
required: false
show_user: false
- name: rum_event_rate_limit
type: int
title: RUM - Rate limit events per IP
description: Maximum number of events allowed per IP per second.
required: false
show_user: false
default: 300
- name: rum_event_rate_lru_size
type: int
title: RUM - Rate limit cache size
description: Number of unique IPs to be cached for the rate limiter.
required: false
show_user: false
default: 1000
- name: max_event_bytes
type: int
title: Maximum size per event (bytes)
required: false
show_user: false
default: 307200
template_path: template.yml.hbs
owner:
github: elastic/apm-server
1 change: 1 addition & 0 deletions changelogs/head.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ https://github.com/elastic/apm-server/compare/7.11\...master[View commits]
* OpenTelemetry Protocol (OTLP) over gRPC is now supported on the standard endpoint (8200) {pull}4677[4677]
* Add initial support for APM central config and sourcemaps when running under Fleet {pull}4670[4670]
* Data stream and ILM policy for tail-based sampling {pull}4707[4707]
* Support additional config options when running under Fleet {pull}4690[4690]

[float]
==== Deprecated
Expand Down