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

Add upgrading guide docs #5068

Merged
merged 2 commits into from
Sep 5, 2017
Merged

Add upgrading guide docs #5068

merged 2 commits into from
Sep 5, 2017

Conversation

tsg
Copy link
Contributor

@tsg tsg commented Aug 31, 2017

Part of / related to #4737.

Also part of #4540.

@tsg tsg added docs needs_backport PR is waiting to be backported to other branches. labels Aug 31, 2017
@dedemorton dedemorton mentioned this pull request Aug 31, 2017
42 tasks
@tsg tsg requested a review from dedemorton September 1, 2017 09:57
Copy link
Contributor

@dedemorton dedemorton left a comment

Choose a reason for hiding this comment

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

Suggested some edits.

recommend copying the `.filebeat` file to `data/registry`.
Beats 6.0 comes with several backwards incompatible configuration changes.
Please review the <<breaking-changes-6.0>> document. Where possible, we kept the
old configuration options working but deprecated. However, that is not always
Copy link
Contributor

Choose a reason for hiding this comment

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

Change to: ...working, but deprecated them.

Copy link
Contributor

Choose a reason for hiding this comment

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

Change to: However, deprecation was not always possible, so if you use any of the settings mentioned in the Breaking Changes section of the release notes, make sure you understand the alternatives that we provide.

functionality. More precisely, the Topbeat functionality is roughly equivalent
to the "system" module in Metricbeat.
While the all-in-one configuration is still fully supported, we recommend moving
to the new layout at upgrade time. This typically means starting of with the new
Copy link
Contributor

@dedemorton dedemorton Sep 1, 2017

Choose a reason for hiding this comment

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

...means staring off with... [fix typo]

to the "system" module in Metricbeat.
While the all-in-one configuration is still fully supported, we recommend moving
to the new layout at upgrade time. This typically means starting of with the new
default configuration and modify it with the custom settings that you had in
Copy link
Contributor

Choose a reason for hiding this comment

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

....and modifying it....

While the all-in-one configuration is still fully supported, we recommend moving
to the new layout at upgrade time. This typically means starting of with the new
default configuration and modify it with the custom settings that you had in
your old files.
Copy link
Contributor

Choose a reason for hiding this comment

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

When I get the PR for modules.d merged, we should link to the new docs. hopefully will get those merged soon.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

👍 I added a TODO entry.

- cpu
The `<beatname>.full.yml` file, which contains all the non-deprecated
configuration options is renamed to `<beatname>.reference.yml` starting with
Beats 6.0. We recommend using this file as a reference only, not for using it as
Copy link
Contributor

Choose a reason for hiding this comment

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

I'd make this two sentences:

We recommend using this file as a reference only. It's not intended to be used in production.

3. Start the new version of the Beat
And the corresponding Elasticsearch template is named `metricbeat-6.0.0`. This
means that each version starts a new index and it is guaranteed that the correct
template is applied. This means that starting with the 6.0 version, you
Copy link
Contributor

Choose a reason for hiding this comment

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

I wouldn't start two sentences in a row with "this means". Also I think there might be a little detail missing that users might infer, but there's a chance they won't. How about:

With these changes in place, you generally don't have to do anything to upgrade the mapping template when you move to a new version.


==== Migrate configuration files
It is recommended to first fully upgrade Elasticsearch and Kibana to version
Copy link
Contributor

Choose a reason for hiding this comment

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

I prefer the directness of using "we" in recommendations like this one:

We recommend that you fully upgrade Elasticsearch and Kibana to version 6.0 before upgrading Beats.

Beats 5.0 comes with several backwards incompatible configuration changes.
However, we provide a script that can automatically fixup the most common
settings in your configuration files.
If you upgrade Elasticsearch before Beats, it's important to apply the 5.6
Copy link
Contributor

Choose a reason for hiding this comment

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

The wording here makes it sound like our recommended approach (to update ES/Kibana first) is more cumbersome than upgrading the Beat first. So maybe we should describe the requirements based on our recommended approach and then tell users what to do if they aren't ready to upgrade ES/Kibana. TBH, I'm not sure you need to even mention the template here since you are going to send users to the section about upgrading to 5.6 (might simplify the messaging). How about changing the whole section (lines 34-42) to say:

--
We recommend that you fully upgrade Elasticsearch and Kibana to version 6.0 before upgrading Beats. If you are on a 5.x version lower than 5.6, please follow the <<upgrading-to-5.6>> section before doing the Elasticsearch upgrade.

If you're not ready to upgrade Elasticsearch and Kibana to 6.0, that's alright. Beats version 6.0 works with Elasticsearch and Kibana version 5.6, so you can upgrade Beats now and the rest of the stack later.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Your version sounds great, thanks!

For the `.deb` and `.rpm` packages, look under the
`/usr/share/<beatname>/scripts/` folder, for example:
The upgrade procedure assumes that you have Beats version 5.6 installed. If you
are on a previous 5.x version of the Beats, please upgrade to version 5.6 first.
Copy link
Contributor

@dedemorton dedemorton Sep 2, 2017

Choose a reason for hiding this comment

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

...5.x version of Beats... (remove "the")


For example, this is the input section of the Topbeat configuration file:
Beats 6.0 introduce a new command to test the configuration file, via the `test`
Copy link
Contributor

Choose a reason for hiding this comment

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

Since you are using Beats 6.0 as a product name, use the singular form of the verb. I'd also condense this a bit and say:

Beats 6.0 introduces a new test command for testing the configuration file. For example:


[source,shell]
------------------------------------------------------------------------------
> ./scripts/migrate_beat_config_1_x_to_5_0.py packetbeat.yml
Backup file created: packetbeat.yml.bak
curl -XPUT -H'Content-Type: application/json' http://localhost:9200/_template/metricbeat -d @metricbeat.template.json
Copy link
Contributor

Choose a reason for hiding this comment

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

Why not using the setup command for that? in Beats 6.0, it's ./metricbeat setup --template

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The user is on Beats 5.6 at this point.

with the upgraded version. You can also use the `--dry` option, which doesn't
modify the input file, but outputs the upgraded version to stdout instead.
To check which version of the template is loaded, open Kibana Console, call `GET
/_template/metricbeat`, and look for the version string. Note that you need to
Copy link
Contributor

Choose a reason for hiding this comment

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

why not using the export command for that? In Beats 6.0, it's ./metricbeat export template.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Same as above, we're still on 5.6 at that step.


# Per filesystem stats
- filesystem
We recommend re-importing the Kibana dashboards after the Beats and Kibana
Copy link
Contributor

Choose a reason for hiding this comment

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

I would say explicitly, that upgrading the Kibana doesn't require dashboards upgrade, but if the user is interested in the new version of the dashboards that are shipped with 6.0, then it can reimport them.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I added a sentence to explain why we recommend that.

@tsg
Copy link
Contributor Author

tsg commented Sep 4, 2017

Thanks @dedemorton and @monicasarbu, I've incorporated your feedback.

@monicasarbu monicasarbu merged commit 04464ce into elastic:master Sep 5, 2017
dedemorton pushed a commit to dedemorton/beats that referenced this pull request Sep 5, 2017
* Add upgrading guide docs

Part of / related to elastic#4737.
@dedemorton dedemorton removed the needs_backport PR is waiting to be backported to other branches. label Sep 6, 2017
tsg pushed a commit that referenced this pull request Sep 7, 2017
* [Docs] Document how to use modules.d directory (#4973)

* [Docs] Document how to use modules.d directory

* Add changes from review

* Add upgrading guide docs (#5068)

* Add upgrading guide docs

Part of / related to #4737.
leweafan pushed a commit to leweafan/beats that referenced this pull request Apr 28, 2023
…#5103)

* [Docs] Document how to use modules.d directory (elastic#4973)

* [Docs] Document how to use modules.d directory

* Add changes from review

* Add upgrading guide docs (elastic#5068)

* Add upgrading guide docs

Part of / related to elastic#4737.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants