From 3ebd8dc720471e74b6a48996871ce18179fb5c12 Mon Sep 17 00:00:00 2001 From: dedemorton Date: Thu, 10 Feb 2022 17:32:39 -0800 Subject: [PATCH 1/5] Add Beats upgrade docs for 8.0 --- .../load-index-template-widget.asciidoc | 112 +++++ .../tab-widgets/load-index-template.asciidoc | 48 ++ libbeat/docs/upgrade-setup-commands.asciidoc | 4 +- libbeat/docs/upgrading.asciidoc | 412 +++++------------- 4 files changed, 263 insertions(+), 313 deletions(-) create mode 100644 libbeat/docs/tab-widgets/load-index-template-widget.asciidoc create mode 100644 libbeat/docs/tab-widgets/load-index-template.asciidoc diff --git a/libbeat/docs/tab-widgets/load-index-template-widget.asciidoc b/libbeat/docs/tab-widgets/load-index-template-widget.asciidoc new file mode 100644 index 00000000000..234b9a4a631 --- /dev/null +++ b/libbeat/docs/tab-widgets/load-index-template-widget.asciidoc @@ -0,0 +1,112 @@ +++++ +
+
+ + + + + + +
+
+++++ + +include::load-index-template.asciidoc[tag=deb] + +++++ +
+ + + + + +
+++++ \ No newline at end of file diff --git a/libbeat/docs/tab-widgets/load-index-template.asciidoc b/libbeat/docs/tab-widgets/load-index-template.asciidoc new file mode 100644 index 00000000000..c28544532c0 --- /dev/null +++ b/libbeat/docs/tab-widgets/load-index-template.asciidoc @@ -0,0 +1,48 @@ +// tag::deb[] +["source","sh",subs="attributes"] +---- +{beatname_lc} setup --index-management +---- +// end::deb[] + +// tag::rpm[] +["source","sh",subs="attributes"] +---- +{beatname_lc} setup --index-management +---- +// end::rpm[] + +// tag::mac[] +["source","sh",subs="attributes"] +---- +./{beatname_lc} setup --index-management +---- +// end::mac[] + +// tag::linux[] +["source","sh",subs="attributes"] +---- +./{beatname_lc} setup --index-management +---- +// end::linux[] + +// tag::docker[] +["source","sh",subs="attributes"] +---- +docker run --net="host" {dockerimage} setup --index-management +---- +// end::docker[] + +// tag::win[] + +Open a PowerShell prompt as an Administrator (right-click the PowerShell icon +and select *Run As Administrator*). + +From the PowerShell prompt, change to the directory where you installed {beatname_uc}, +and run: + +["source","sh",subs="attributes"] +---- +PS > .{backslash}{beatname_lc}.exe setup --index-management +---- +// end::win[] \ No newline at end of file diff --git a/libbeat/docs/upgrade-setup-commands.asciidoc b/libbeat/docs/upgrade-setup-commands.asciidoc index 3a4731b51a0..e3a2654e8be 100644 --- a/libbeat/docs/upgrade-setup-commands.asciidoc +++ b/libbeat/docs/upgrade-setup-commands.asciidoc @@ -20,7 +20,7 @@ metricbeat setup --{option} ["source","sh",subs="attributes"] ---- -docker run docker.elastic.co/beats/metricbeat:7.0.0 setup --{option} +docker run docker.elastic.co/beats/metricbeat:{version} setup --{option} ---- *win:* @@ -51,7 +51,7 @@ metricbeat setup --{option} -E output.logstash.enabled=false -E 'output.elastics ["source","sh",subs="attributes"] ---- -docker run docker.elastic.co/beats/metricbeat:7.0.0 setup --{option} -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]' +docker run docker.elastic.co/beats/metricbeat:{version} setup --{option} -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]' ---- *win:* diff --git a/libbeat/docs/upgrading.asciidoc b/libbeat/docs/upgrading.asciidoc index 6cdea344104..dd3029697c5 100644 --- a/libbeat/docs/upgrading.asciidoc +++ b/libbeat/docs/upgrading.asciidoc @@ -1,32 +1,31 @@ [[upgrading]] == Upgrade -coming[8.0.0] - -///// This section gives general recommendations for upgrading {beats} shippers: -* <> -* <> +* <> +* <> * <> If you're upgrading other products in the stack, also read the {stack-ref}/index.html[Elastic Stack Installation and Upgrade Guide]. -[[upgrading-minor-versions]] +[discrete] +[[upgrade-minor-versions]] === Upgrade between minor versions -As a general rule, you can upgrade between minor versions (for example, 7.x to -7.y, where x < y) by simply installing the new release and restarting the Beat +As a general rule, you can upgrade between minor versions (for example, 8.x to +8.y, where x < y) by simply installing the new release and restarting the Beat process. {beats} typically maintain backwards compatibility for configuration settings and exported fields. Please review the <> for potential exceptions. -Upgrading between non-consecutive major versions (e.g. 5.x to 7.x) is not +Upgrading between non-consecutive major versions (e.g. 6.x to 8.x) is not supported. -[[upgrading-6-to-7]] -=== Upgrade from 6.x to 7.x +[discrete] +[[upgrade-7-to-8]] +=== Upgrade from 7.x to 8.x Before upgrading your {beats}, review the <> and the <>. @@ -34,52 +33,37 @@ and the <>. If you're upgrading other products in the stack, also read the {stack-ref}/index.html[Elastic Stack Installation and Upgrade Guide]. -We recommend that you fully upgrade {es} and {kib} to version 7.0 -before upgrading {beats}. If you're on {beats} 6.0 through 6.7, -upgrade the {stack} and {beats} to version 6.8 *before* proceeding with the -7.0 upgrade. +We recommend that you fully upgrade {es} and {kib} to version 8.0 +before upgrading {beats}. If you're on {beats} 7.0 through 7.16, +upgrade the {stack} and {beats} to version 7.17 *before* proceeding with the +8.0 upgrade. -Upgrading between non-consecutive major versions (e.g. 5.x to 7.x) is not +Upgrading between non-consecutive major versions (e.g. 6.x to 8.x) is not supported. IMPORTANT: Please read through all upgrade steps before proceeding. These steps are required before running the software for the first time. -[[upgrading-to-6.8]] -==== Upgrade to {beats} 6.8 before upgrading to 7.0 +[discrete] +[[upgrade-to-7.17]] +==== Upgrade to {beats} 7.17 before upgrading to 8.0 -The upgrade procedure assumes that you have {beats} 6.8 installed. If you're on -a previous 6.x version of {beats}, upgrade to version 6.8 first. If you're using -other products in the {stack}, upgrade {beats} as part of the +The upgrade procedure assumes that you have {beats} 7.17 installed. If you're on +a previous 7.x version of {beats}, *upgrade to version 7.17 first*. If you're +using other products in the {stack}, upgrade {beats} as part of the {stack-ref}/upgrading-elastic-stack.html[{stack} upgrade process]. -Upgrading to 6.8 is required because the {es} index template was modified to -be compatible with {es} 7.0 (the `_type` setting changed from `doc` to `_doc`). - -After upgrading to 6.8, use the {ref}/index-templates.html#getting[Index -Template API] to verify that the 6.8 index template has been created in {ES}. - -:asset: the index template -:option: template - -include::upgrade-setup-commands.asciidoc[] - -NOTE: In previous versions, we advised users to manually force loading of the -index template. This is no longer recommended. Use the `setup` command instead. +After upgrading to 7.17, use the {ref}/index-templates.html#getting[Index +Template API] to verify that the 7.17 index template has been loaded into {es}. +If the 7.17 index template is not loaded, load it now. -*Metricbeat and Filebeat users:* If you use {beats} central management, -make sure you migrate the {beats} central management index to 6.8 before you -upgrade to 7.0. Although central management is not a GA-level feature in 7.0, -we've provided a migration tool to help you migrate your configurations from -version 6.6 to 6.7 or later. For more information, see the -https://www.elastic.co/blog/beats-6-7-0-released[Beats 6.7.0 release blog]. +If you created custom dashboards prior to version 7.17, you must upgrade them to +7.17 before proceeding. Otherwise, the dashboards will stop working because +{kib} no longer provides the API used for dashboards in 7.x. -NOTE: {beats} central management has been removed starting in version 7.14.0. -Looking for a replacement? Refer to the -{fleet-guide}/index.html[Fleet and Elastic Agent Guide] to learn how to deploy -and centrally manage a single {agent} to monitor and secure each host. - -==== Upgrade {beats} binaries to 7.0 +[discrete] +[[upgrade-beats-binaries]] +==== Upgrade {beats} binaries to 8.0 Before upgrading: @@ -119,198 +103,114 @@ the archive to. Complete the upgrade tasks described in the following sections *before* restarting the {beats} process. +[discrete] [[migrate-config-files]] ==== Migrate configuration files -{beats} 7.0 comes with several backwards incompatible configuration changes. -Before upgrading, review the <> document. Also review -the full list of breaking changes in the <> for 7.0. +{beats} 8.0 comes with several backwards incompatible configuration changes. +Before upgrading, review the <> document. Also review +the full list of breaking changes in the <>. Where possible, we kept the old configuration options working, but deprecated them. However, deprecation was not always possible, so if you use any of the settings described under breaking changes, make sure you understand the alternatives that we provide. -[[enable-ecs-compatibility]] -==== Enable the compatibility layer for Elastic Common Schema (ECS) fields - -Starting with 7.0, the fields exported by {beats} conform to the -{ecs-ref}/index.html[Elastic Common Schema (ECS)]. Many of the exported fields -have been renamed. See {beats-ref}/breaking-changes-7.0.html[Breaking -changes in 7.0] for the full list of changed names. - -To help you transition to the new fields, we provide a compatibility layer in -the form of ECS-compatible field aliases. To use the aliases, set the following -option in the Beat's configuration file *before* you upgrade the {es} index -template to 7.0. - -[source,yaml] ----- -migration.6_to_7.enabled: true ----- - -The field aliases let you use 6.x dashboards and visualizations with indices -created by {beats} 7.0 or later. The aliases do *not* work with saved searches -or with API calls that manipulate documents directly. - -Some fields also have type changes in 7.0 that affect the behavior of older -dashboards and visualizations. To clarify: - -* *Some fields have type changes.* Your {kib} visualizations and aggregations -will not work on these fields until the conflicts are resolved. - -* *Some fields have name changes, but no type changes.* The field aliases -created by the compatibility layer ensure that visualizations and aggregations -on the old field names work on old and new data. 7.0 dashboards work -only on new field names (and therefore only on new data). - -* *Some fields have both name and type changes.* Field aliases are created for -these fields, but your {kib} visualizations and aggregations will not work on -these fields until the conflicts are resolved. Some of your {es} API queries -may continue to work, if the old and new types are compatible. - -We strongly advise that you adjust your custom {kib} dashboards, machine -learning jobs, and other content to use the new ECS field names. To learn more -about migrating to ECS, see the -https://www.elastic.co/blog/migrating-to-elastic-common-schema-in-beats-environments[Migrating -to Elastic Common Schema (ECS) in Beats environments] blog post. - -After removing all references to old fields, you should set -`migration.6_to_7.enabled: false` so that field aliases will not be created -during your next minor upgrade. - -The aliases will be removed in 8.0. - -TIP: Did you run the Beat or load the index template before reading this section? -That's OK. See the clean-up steps described under <>. +//REVIEWERS: Do users need to load any other assets besides the index template +//and dashboards? +[discrete] [[upgrade-index-template]] -==== Upgrade the {es} index template - -Index templates and the default index names are versioned. For example, -{metricbeat} {version} typically creates indices like this: - -["source","sh",subs="attributes"] ------------------------------------------------------------------------------- -metricbeat-{version}-2019.04.02 ------------------------------------------------------------------------------- - -And the corresponding {es} index template is named +metricbeat-{version}+. - -This means that each version of the Beat creates a new index, and it's -guaranteed that the correct index template for that version is applied. With -these changes in place, you generally don't have to do anything to upgrade the -index template when you move to a new version. Just load the new version of the -index template *before* ingesting any data into {es}. - -If you plan to run {beats} 6.7 or higher and 7.0 in parallel, make sure you -<> *before* you load -the index template. - -:asset: the index template -:option: template - -include::upgrade-setup-commands.asciidoc[] +==== Load the 8.0 {es} index templates -TIP: When loading the index template, you can also specify -`-E setup.template.settings.index.number_of_shards=n` where `n` is the number of -shards to use for the index. +Starting in version 8.0, the default {es} index templates configure data streams +instead of traditional {es} indices. Data streams are optimized for storing +append-only time series data. They are well-suited for logs, events, metrics, +and other continuously generated data. However, unlike traditional {es} indices, +data streams support create operations only; they do not support update and +delete operations. -[[non-es-outputs]] -==== How to use versioned index templates when the output is not {es} +To use data streams, load the default index templates *before* ingesting any +data into {es}. -If you've configured {beats} to send events to a different output, such as {ls}, -make sure you use versioned index templates and indices. Otherwise, after you -upgrade, there will be field conflicts. +include::{libbeat-dir}/tab-widgets/load-index-template-widget.asciidoc[] -To use versioned index templates and indices with {ls}, configure your -{ls} pipeline to use the metadata from {beats} to set the index, and allow -Beats to manage the index template: +Not collecting time series data? You can continue to use {beats} to send data to +aliases and indices. To do this, create a custom index template and load it +manually. To learn more about creating index templates, refer to +{ref}/index-templates.html[Index templates] -[source,json] ----- - manage_template => false - index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}" ----- - -When you use this configuration, the index name is set to match the index -pattern in the {beats} index template. See the -{logstash-ref}/plugins-inputs-beats.html[{beats} input plugin] documentation -for more information. - -For other non-{es} outputs, use the metadata from {beats} to set the index, and -allow {beats} to load and manage the index template, as described under -<>. - -IMPORTANT: The index name must match the index pattern in the {beats} index -template. For example, if {ls} sends events to an index called -+metricbeat-7-2019.04.02+, but the index template expects indices to match -+metricbeat-{version}-*+, you may encounter mapping errors and be unable -to index {beats} events. +//REVIEWERS: Do users need to explicitly disable template loading? -==== Upgrade dashboards +[discrete] +[[load-8.0-dashboards]] +==== Load 8.0 dashboards -We recommend that you import the 7.0 {kib} dashboards after upgrading -{kib} and {beats}. This way, you can take advantage of the new dashboards -created for the 7.0 release. +We recommend that you load the 8.0 {kib} dashboards after upgrading {kib} and +{beats}. That way, you can take advantage of improvements added in 8.0. To load +the dashboards, run: -If you've <> before -loading the index template and dashboards, 6.x dashboards can co-exist with -7.0 dashboards and will continue working after the upgrade. +include::{libbeat-dir}/tab-widgets/load-dashboards-widget.asciidoc[] -:asset: 7.0 dashboards -:option: dashboards -include::upgrade-setup-commands.asciidoc[] +[discrete] +[[migrate-custom-dashboards]] +==== Migrate custom dashboards and visualizations -[[migrate-filebeat-registry]] -==== Migrate {filebeat} registry to use new format +All Elastic {beats} send events with ECS-compliant field names. If you have any +custom {kib} dashboards or visualizations that use old fields, adjust them now +to use ECS field names. -Starting with version 7.0, {filebeat} stores the registry in a directory -structure. If Filebeat finds an old registry file at the path set by -`filebeat.registry.path`, it will automatically migrate the registry file to the -new format. If the registry file is at a different location, set -`filebeat.registry.migrate_file` to point to the file. +To learn more about ECS, refer to the {ecs-ref}/ecs-reference.html[ECS overview]. -The registry changes also require you to rename the following configuration -settings: +NOTE: If you enabled the compatibility layer in 7.x (that is, if you set +`migration.6_to_7.enabled: true`), make sure your custom dashboards no longer +rely on the old aliases created by that setting. The old aliases are no longer +supported. They may continue to work, but will be removed without notice in +a future release. -[options="header"] -|==== -|Old config name | New config name -|`filebeat.registry_file` | `filebeat.registry.path`. -|`filebeat.registry_file_permissions` | `filebeat.registry.file_permissions` -|`filebeat.registry_flush` | `filebeat.registry.flush` -|==== +[discrete] +[[troubleshooting-upgrade]] +=== Troubleshoot {beats} upgrade issues -Before proceeding with the upgrade, make sure you back up the registry file. +This section describes common problems you might encounter when upgrading to +{beats} 8.x. -[role="xpack"] -[[ilm-on]] -==== Check privileges for index lifecycle management (on by default in 7.0) +You can avoid some of these problems by reading <> before +upgrading {beats}. -Starting with {beats} 7.0, index lifecycle management is on by default when -sending data to {beats} clusters that support it. Make sure {beats} users have -the privileges needed to use index lifecycle management, or disable index -lifecycle management. +[discrete] +[[unable-to-update-or-delete]] +==== {beats} is unable to send update or deletion requests to a data stream -For help troubleshooting authorization issues, see <>. +Data streams are designed for use cases where existing data is rarely, if ever, +updated. You cannot send update or deletion requests for existing documents +directly to a data stream. -If you want to disable index lifecycle management, set -`setup.ilm.enabled: false` in the {beats} configuration file. +If needed, you can update or delete documents by submitting requests directly to +the document’s backing index. To learn how, refer to the docs about +{ref}/use-a-data-stream.html[using a data stream]. -[[troubleshooting-upgrade]] -=== Troubleshoot {beats} upgrade issues +[discrete] +[[missing-timestamp-field]] +==== Timestamp field is missing -This section describes common problems you might encounter when upgrading to -{beats} 7.x. +//REVIEWERS: I think this section could be improved by more detail about +//the error message. What does the user see in the logs to indicate +//this problem? -You can avoid some of these problems by reading <> before -upgrading {beats}. +{beats} requires a timestamp field to send data to data streams. If the +timestamp field added by {beats} is inadvertently removed by a processor, {beats} +will be unable to index the event. To fix the problem, modify your processor +configuration to avoid removing the timestamp field. +[discrete] [[missing-fields]] ==== Missing fields or too many fields in the index +//REVIEWERS: IS this still necessary? I think the defaults might +//take care of this, but I'll need to do some testing. + You may have run the Beat before loading the required index template. To clean up and start again: @@ -326,123 +226,13 @@ pattern matches only the indices you want to delete. The example shown here deletes all data indexed into the metricbeat-{version} indices on 2019.04.02. -. If you want the index to work with 6.x dashboards, turn on the compatibility -layer. See <>. - . Delete the index template that was loaded earlier. For example: + ["source","sh",subs="attributes"] ---- DELETE /_index_template/metricbeat-{version} ---- -+ -Because the index template was loaded without the compatibility layer enabled, -the required aliases were not created. . Load the correct index template. See <>. . Restart {beats}. - -[[user-unauthorized]] -==== User is not authorized - -Because index lifecycle management is on by default in 7.0, you might encounter -new errors related to user authorization when you run version 7.0 against an -{es} cluster that supports index lifecycle management. - -===== `[cluster:monitor/main] is unauthorized for user` - -*Problem*: The {beats} user is unable to send monitoring information. - -*Solution:* Grant the `monitor` cluster privilege. - -===== `[cluster:admin/ilm/put] is unauthorized for user` - -*Problem:* The {beats} user is not authorized to load ILM policies. - -*Solution:* Grant the `manage_ilm` cluster privilege. - -===== `[indices:admin/template/put] is unauthorized for user` - -*Problem:* Automatic index template loading is required when ILM is enabled, but the user -is not authorized to manage index templates. - -*Solution:* Grant the `manage_index_templates` cluster privilege. - -===== `[indices:admin/aliases] is unauthorized for user` - -*Problem:* The {beats} user is unable to set up aliases needed by the compatibility -layer. - -*Solution:* Grant the `manage` privilege on the {beats} indices. - -===== `[indices:data/write/bulk] is unauthorized for user` - -*Problem:* The {beats} user is unable to write events to {es}. - -*Solution:* Grant the `index` privilege on the {beats} indices. - -[[old-dashboards-failing]] -==== 6.x dashboards not showing data from 7.0 shippers - -You might have run the Beat without turning on the compatibility layer. See -<> then clean up your environment as described -under <>. - -[[logstash-data-missing]] -==== Data parsed by {ls} not appearing in 7.0 dashboards - -You might be writing to an index that doesn't match the index pattern used -by {beats}. See <>. - - -[[dashboard-shard-failed]] -==== "shard failed" error when viewing {beats} dashboards in {kib} - -After upgrading to {es} 7.0, any indices created by Beats 6.6 or older will not -work in {kib} dashboards until the `index.query.default_field` setting is added -to each index. Indices created in Beats 6.7 or later are unaffected. - -*Background:* Starting in {es} 7.0, some query types, such as Simple Query -String, have a limit to the number of fields they will query against. Because -Beats indices often contain more fields than this cap, the -`index.query.default_field` index setting is used to inform {es} which fields to -use by default when no field is specified for a query. - -To add the setting to the index, you can use the 7.0 -{kibana-ref}/upgrade-assistant.html[Upgrade Assistant], or add the setting -manually. - -To add the setting manually, first identify the list of fields that you want to -set as the default search fields, then specify the list of fields in the -`default_field` setting. - -For example, here's a snippet that shows how to add default search fields to a -Metricbeat 6.6 index. This example is truncated. Full examples for Metricbeat -and Filebeat are available in -https://github.com/elastic/beats/blob/main/libbeat/docs/troubleshooting/default_field.md[this file]. - -[source,js] --------------------------------------------------- -PUT /metricbeat-6.6.2-2019.04.09/_settings -{ - "index": { - "query": { - "default_field": [ - "aerospike.namespace.name", - "aerospike.namespace.node.host", - "aerospike.namespace.node.name", - "apache.status.hostname", - "beat.hostname", - "beat.name", - "beat.timezone", - "beat.version", - ... - ] - } - } -} --------------------------------------------------- -// CONSOLE - -///// \ No newline at end of file From 63eced8a5b6014b8fe18affb23ad93fe853d367f Mon Sep 17 00:00:00 2001 From: dedemorton Date: Thu, 17 Feb 2022 19:45:23 -0800 Subject: [PATCH 2/5] Remove old file --- libbeat/docs/upgrade-setup-commands.asciidoc | 62 -------------------- 1 file changed, 62 deletions(-) delete mode 100644 libbeat/docs/upgrade-setup-commands.asciidoc diff --git a/libbeat/docs/upgrade-setup-commands.asciidoc b/libbeat/docs/upgrade-setup-commands.asciidoc deleted file mode 100644 index e3a2654e8be..00000000000 --- a/libbeat/docs/upgrade-setup-commands.asciidoc +++ /dev/null @@ -1,62 +0,0 @@ - -To load the {asset}, run the `setup` command with the +--{option}+ option -specified. For example, if the {beats} output is {es}, run: - -*deb and rpm:* - -["source","sh",subs="attributes"] ----- -metricbeat setup --{option} ----- - -*mac and linux:* - -["source","sh",subs="attributes"] ----- -./metricbeat setup --{option} ----- - -*docker:* - -["source","sh",subs="attributes"] ----- -docker run docker.elastic.co/beats/metricbeat:{version} setup --{option} ----- - -*win:* - -["source","sh",subs="attributes"] ----------------------------------------------------------------------- -PS > .{backslash}metricbeat.exe setup --{option} ----------------------------------------------------------------------- - -If the {beats} output is not `elasticsearch`, temporarily enable the -`elasticsearch` output when you run the `setup` command. For example: - -*deb and rpm:* - -["source","sh",subs="attributes"] ----- -metricbeat setup --{option} -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]' ----- - -*mac and linux:* - -["source","sh",subs="attributes"] ----- -./metricbeat setup --{option} -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]' ----- - -*docker:* - -["source","sh",subs="attributes"] ----- -docker run docker.elastic.co/beats/metricbeat:{version} setup --{option} -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]' ----- - -*win:* - -["source","sh",subs="attributes"] ----------------------------------------------------------------------- -PS > .{backslash}metricbeat.exe setup --{option} -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]' ----------------------------------------------------------------------- From 1bf4dbd7b1061dbc0775c5c1f5ad03109378525c Mon Sep 17 00:00:00 2001 From: dedemorton Date: Wed, 23 Feb 2022 10:21:07 -0800 Subject: [PATCH 3/5] Add note about compatibility with ES versions --- libbeat/docs/upgrading.asciidoc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libbeat/docs/upgrading.asciidoc b/libbeat/docs/upgrading.asciidoc index dd3029697c5..aa1064b1f12 100644 --- a/libbeat/docs/upgrading.asciidoc +++ b/libbeat/docs/upgrading.asciidoc @@ -34,9 +34,11 @@ If you're upgrading other products in the stack, also read the {stack-ref}/index.html[Elastic Stack Installation and Upgrade Guide]. We recommend that you fully upgrade {es} and {kib} to version 8.0 -before upgrading {beats}. If you're on {beats} 7.0 through 7.16, -upgrade the {stack} and {beats} to version 7.17 *before* proceeding with the -8.0 upgrade. +before upgrading {beats}. The {beats} version must be lower than or equal to the +{es} version. {beats} cannot send data to older versions of {es}. + +If you're on {beats} 7.0 through 7.16, upgrade the {stack} and {beats} to +version 7.17 *before* proceeding with the 8.0 upgrade. Upgrading between non-consecutive major versions (e.g. 6.x to 8.x) is not supported. @@ -138,7 +140,7 @@ include::{libbeat-dir}/tab-widgets/load-index-template-widget.asciidoc[] Not collecting time series data? You can continue to use {beats} to send data to aliases and indices. To do this, create a custom index template and load it manually. To learn more about creating index templates, refer to -{ref}/index-templates.html[Index templates] +{ref}/index-templates.html[Index templates]. //REVIEWERS: Do users need to explicitly disable template loading? From b08adf7e38d16af6524bf21427769447593bbe9f Mon Sep 17 00:00:00 2001 From: dedemorton Date: Wed, 23 Feb 2022 18:43:08 -0800 Subject: [PATCH 4/5] Add some fixes based on testing the steps --- .../docs/images/confirm-index-template.png | Bin 0 -> 78742 bytes libbeat/docs/upgrading.asciidoc | 31 ++++++++++++++---- 2 files changed, 25 insertions(+), 6 deletions(-) create mode 100644 libbeat/docs/images/confirm-index-template.png diff --git a/libbeat/docs/images/confirm-index-template.png b/libbeat/docs/images/confirm-index-template.png new file mode 100644 index 0000000000000000000000000000000000000000..ad24a3aa1bdd637a0d49a930a75fff6d6d92c1d1 GIT binary patch literal 78742 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 literal 0 HcmV?d00001 diff --git a/libbeat/docs/upgrading.asciidoc b/libbeat/docs/upgrading.asciidoc index aa1064b1f12..2e00d59943e 100644 --- a/libbeat/docs/upgrading.asciidoc +++ b/libbeat/docs/upgrading.asciidoc @@ -55,9 +55,13 @@ a previous 7.x version of {beats}, *upgrade to version 7.17 first*. If you're using other products in the {stack}, upgrade {beats} as part of the {stack-ref}/upgrading-elastic-stack.html[{stack} upgrade process]. -After upgrading to 7.17, use the {ref}/index-templates.html#getting[Index -Template API] to verify that the 7.17 index template has been loaded into {es}. -If the 7.17 index template is not loaded, load it now. +After upgrading to 7.17, go to *Index Management* in {kib} and verify +that the 7.17 index template has been loaded into {es}. + +[role="screenshot"] +image::images/confirm-index-template.png[Screen capture showing that metricbeat-1.17.0 index template is loaded] + +If the 7.17 index template is not loaded, load it now. If you created custom dashboards prior to version 7.17, you must upgrade them to 7.17 before proceeding. Otherwise, the dashboards will stop working because @@ -102,6 +106,10 @@ you do not specify this setting, logs are stored in the directory you extracted the archive to. -- +//REVIEWERS: What (if anything) should we say here ^^ about the modules.d dir? +//Is there a situation where users might have configs defined in 7.17, but also +//want to use some new modules from 8.0? If so, what do we recommend they do? + Complete the upgrade tasks described in the following sections *before* restarting the {beats} process. @@ -137,9 +145,9 @@ data into {es}. include::{libbeat-dir}/tab-widgets/load-index-template-widget.asciidoc[] -Not collecting time series data? You can continue to use {beats} to send data to -aliases and indices. To do this, create a custom index template and load it -manually. To learn more about creating index templates, refer to +If you're not collecting time series data, you can continue to use {beats} +to send data to aliases and indices. To do this, create a custom index template +and load it manually. To learn more about creating index templates, refer to {ref}/index-templates.html[Index templates]. //REVIEWERS: Do users need to explicitly disable template loading? @@ -171,6 +179,17 @@ rely on the old aliases created by that setting. The old aliases are no longer supported. They may continue to work, but will be removed without notice in a future release. +[discrete] +[[start-beats]] +==== Start your upgraded {beats} + +After you've completed the migration, start the upgraded Beat. Use the command +that works with your system. + +Check the console and logs for errors. + +In {kib}, go to *Discover* and verify that events are streaming into {es}. + [discrete] [[troubleshooting-upgrade]] === Troubleshoot {beats} upgrade issues From 826380b80767642054fe5e48aeeccfa6db25f942 Mon Sep 17 00:00:00 2001 From: DeDe Morton Date: Mon, 28 Feb 2022 11:37:47 -0800 Subject: [PATCH 5/5] Remove review questions --- libbeat/docs/upgrading.asciidoc | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/libbeat/docs/upgrading.asciidoc b/libbeat/docs/upgrading.asciidoc index 2e00d59943e..5817c8babd2 100644 --- a/libbeat/docs/upgrading.asciidoc +++ b/libbeat/docs/upgrading.asciidoc @@ -106,10 +106,6 @@ you do not specify this setting, logs are stored in the directory you extracted the archive to. -- -//REVIEWERS: What (if anything) should we say here ^^ about the modules.d dir? -//Is there a situation where users might have configs defined in 7.17, but also -//want to use some new modules from 8.0? If so, what do we recommend they do? - Complete the upgrade tasks described in the following sections *before* restarting the {beats} process. @@ -126,8 +122,6 @@ them. However, deprecation was not always possible, so if you use any of the settings described under breaking changes, make sure you understand the alternatives that we provide. -//REVIEWERS: Do users need to load any other assets besides the index template -//and dashboards? [discrete] [[upgrade-index-template]] @@ -150,8 +144,6 @@ to send data to aliases and indices. To do this, create a custom index template and load it manually. To learn more about creating index templates, refer to {ref}/index-templates.html[Index templates]. -//REVIEWERS: Do users need to explicitly disable template loading? - [discrete] [[load-8.0-dashboards]] ==== Load 8.0 dashboards @@ -216,10 +208,6 @@ the document’s backing index. To learn how, refer to the docs about [[missing-timestamp-field]] ==== Timestamp field is missing -//REVIEWERS: I think this section could be improved by more detail about -//the error message. What does the user see in the logs to indicate -//this problem? - {beats} requires a timestamp field to send data to data streams. If the timestamp field added by {beats} is inadvertently removed by a processor, {beats} will be unable to index the event. To fix the problem, modify your processor @@ -229,9 +217,6 @@ configuration to avoid removing the timestamp field. [[missing-fields]] ==== Missing fields or too many fields in the index -//REVIEWERS: IS this still necessary? I think the defaults might -//take care of this, but I'll need to do some testing. - You may have run the Beat before loading the required index template. To clean up and start again: