diff --git a/NOTICE.txt b/NOTICE.txt index 556a317fdcc..45ed073ea60 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -1,5 +1,5 @@ Elastic APM Server -Copyright 2017-2020 Elasticsearch BV +Copyright 2017-2021 Elasticsearch BV This product includes software developed by The Apache Software Foundation (http://www.apache.org/). diff --git a/_meta/beat.yml b/_meta/beat.yml index d1b8a337f6a..896b1b9ef77 100644 --- a/_meta/beat.yml +++ b/_meta/beat.yml @@ -1059,11 +1059,10 @@ output.elasticsearch: #interval: 0 # Set to true to log messages in json format. -#logging.json: false +#logging.json: true # Set to true, to log messages with minimal required Elastic Common Schema (ECS) -# information. Recommended to use in combination with `logging.json=true` -# Defaults to true. +# information. Recommended to use in combination with `logging.json=true`. #logging.ecs: true #=============================== HTTP Endpoint =============================== diff --git a/apm-server.docker.yml b/apm-server.docker.yml index 4da27ac1b09..4560dd4b8c7 100644 --- a/apm-server.docker.yml +++ b/apm-server.docker.yml @@ -1059,11 +1059,10 @@ output.elasticsearch: #interval: 0 # Set to true to log messages in json format. -#logging.json: false +#logging.json: true # Set to true, to log messages with minimal required Elastic Common Schema (ECS) -# information. Recommended to use in combination with `logging.json=true` -# Defaults to true. +# information. Recommended to use in combination with `logging.json=true`. #logging.ecs: true #=============================== HTTP Endpoint =============================== diff --git a/apm-server.yml b/apm-server.yml index 2b099f5fa08..1d537773ff7 100644 --- a/apm-server.yml +++ b/apm-server.yml @@ -1059,11 +1059,10 @@ output.elasticsearch: #interval: 0 # Set to true to log messages in json format. -#logging.json: false +#logging.json: true # Set to true, to log messages with minimal required Elastic Common Schema (ECS) -# information. Recommended to use in combination with `logging.json=true` -# Defaults to true. +# information. Recommended to use in combination with `logging.json=true`. #logging.ecs: true #=============================== HTTP Endpoint =============================== diff --git a/changelogs/7.11.asciidoc b/changelogs/7.11.asciidoc index 565eb95e738..2dab1fbde13 100644 --- a/changelogs/7.11.asciidoc +++ b/changelogs/7.11.asciidoc @@ -34,4 +34,5 @@ https://github.com/elastic/apm-server/compare/v7.10.2\...v7.11.0[View commits] * Upgrade Go to 1.14.12 {pull}4478[4478] * Added apm-server.response_headers config {pull}4523[4523] * Switch logging format to be ECS compliant where possible {pull}3829[3829] +* Switch logging format to JSON to work with ECS logging {pull}4590[4590] * Switch from `keyword` to `wildcard` in alignment with ECS 1.7 {pull}4577[4577] \ No newline at end of file diff --git a/cmd/root.go b/cmd/root.go index 8d9173b5f15..2dfcd252ddb 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -48,7 +48,8 @@ var libbeatConfigOverrides = []cfgfile.ConditionalOverride{{ "metrics": map[string]interface{}{ "enabled": false, }, - "ecs": true, + "ecs": true, + "json": true, }, }), }} diff --git a/docs/breaking-changes.asciidoc b/docs/breaking-changes.asciidoc index fc3e603c53f..2b1d17eb426 100644 --- a/docs/breaking-changes.asciidoc +++ b/docs/breaking-changes.asciidoc @@ -3,6 +3,10 @@ APM Server is built on top of {beats-ref}/index.html[libbeat]. As such, any breaking change in libbeat is also considered to be a breaking change in APM Server. +[float] +=== 7.11 +There are no breaking changes in APM Server. + [float] === 7.10 There are no breaking changes in APM Server. diff --git a/docs/guide/apm-breaking-changes.asciidoc b/docs/guide/apm-breaking-changes.asciidoc index eba6400b6bd..8deca8dcf5e 100644 --- a/docs/guide/apm-breaking-changes.asciidoc +++ b/docs/guide/apm-breaking-changes.asciidoc @@ -3,6 +3,7 @@ This section discusses the changes that you need to be aware of when migrating your application from one version of APM to another. +* <> * <> * <> * <> @@ -28,6 +29,13 @@ Also see {observability-guide}/whats-new.html[What's new in Observability {minor // tag::notable-v8-breaking-changes[] // end::notable-v8-breaking-changes[] +[[breaking-7.11.0]] +=== 7.11.0 APM Breaking changes + +// tag::notable-breaking-changes[] +No breaking changes. +// end::notable-breaking-changes[] + [[breaking-7.10.0]] === 7.10.0 APM Breaking changes diff --git a/systemtest/export_test.go b/systemtest/export_test.go index 51849acfbc0..bff513ed827 100644 --- a/systemtest/export_test.go +++ b/systemtest/export_test.go @@ -50,6 +50,7 @@ func TestExportConfigDefaults(t *testing.T) { expectedConfig := strings.ReplaceAll(` logging: ecs: true + json: true metrics: enabled: false path: @@ -71,6 +72,7 @@ func TestExportConfigOverrideDefaults(t *testing.T) { expectedConfig := strings.ReplaceAll(` logging: ecs: true + json: true metrics: enabled: true path: diff --git a/tests/system/config/apm-server.yml.j2 b/tests/system/config/apm-server.yml.j2 index 8b075e8e97f..e67c0e9e22e 100644 --- a/tests/system/config/apm-server.yml.j2 +++ b/tests/system/config/apm-server.yml.j2 @@ -249,21 +249,14 @@ output.elasticsearch: ############################# Logging ######################################### -{% if logging_json or logging_level or logging_ecs_disabled %} -logging: -{% endif %} {% if logging_json %} - # Set to true to log messages in json format. - json: {{ logging_json }} -{% endif %} - -{% if logging_level %} - # Set log level - level: {{ logging_level }} +# Defaults to true. +logging.json: {{ logging_json }} {% endif %} -{% if logging_ecs_disabled %} - ecs: false +{% if logging_ecs %} +# Defaults to true. +logging.ecs: {{ logging_json }} {% endif %} queue.mem.flush.min_events: {{ queue_flush }} diff --git a/tests/system/test_integration_acm.py b/tests/system/test_integration_acm.py index 03c619f13a6..8629a236547 100644 --- a/tests/system/test_integration_acm.py +++ b/tests/system/test_integration_acm.py @@ -12,7 +12,6 @@ def config(self): cfg = super(AgentConfigurationTest, self).config() cfg.update({ "kibana_host": self.get_kibana_url(), - "logging_json": "true", "kibana_enabled": "true", "acm_cache_expiration": "1s" }) @@ -184,7 +183,6 @@ def test_rum_disabled(self): @integration_test class AgentConfigurationKibanaDownIntegrationTest(ElasticTest): config_overrides = { - "logging_json": "true", "secret_token": "supersecret", "kibana_enabled": "true", "kibana_host": "unreachablehost" @@ -223,7 +221,6 @@ def test_config_requests(self): @integration_test class AgentConfigurationKibanaDisabledIntegrationTest(ElasticTest): config_overrides = { - "logging_json": "true", "kibana_enabled": "false", } diff --git a/tests/system/test_jaeger.py b/tests/system/test_jaeger.py index 12f4b673953..058d556fcc8 100644 --- a/tests/system/test_jaeger.py +++ b/tests/system/test_jaeger.py @@ -33,7 +33,8 @@ def config(self): # check that the authorization tag is always removed, # even if there's no secret token / API Key auth. "jaeger_grpc_auth_tag": "authorization", - "logging_ecs_disabled": "true", + "logging_ecs": "false", + "logging_json": "false", }) return cfg