Skip to content

[docs] APM Server install and run structure#2170

Merged
bmorelli25 merged 22 commits intoelastic:masterfrom
bmorelli25:revamp-apm-server-docs
Sep 11, 2019
Merged

[docs] APM Server install and run structure#2170
bmorelli25 merged 22 commits intoelastic:masterfrom
bmorelli25:revamp-apm-server-docs

Conversation

@bmorelli25
Copy link
Member

@bmorelli25 bmorelli25 commented May 7, 2019

You currently have to jump around a bit in order to get up and running with APM Server. This PR aims to rework the "Getting Started" and "Setting up and running" sections of the APM Server documentation to better guide users through the setup process. It also includes "cloud first" language.

Proposed new structure:

  • Overview
  • Getting Started With APM Server
    • Step 1: Install APM Server
    • Step 2: Configure APM Server
    • Step 3: Start APM Server
    • Step 4: Next steps
    • Repositories for APT and YUM
    • Running APM Server on Docker
  • Setting up APM Server
    • Directory layout
    • Secrets keystore
    • Command reference
    • High Availability
    • APM Server and systemd
  • Configuring
    • ...
  • ...
  • Troubleshooting
    • Common problems
    • Debug
    • Get help
  • ...

Important: I've temporarily set :release-state: to released for conditional download sections to appear in the documentation preview. This must be reset to unreleased before merging.

Copy link
Contributor

@simitt simitt left a comment

Choose a reason for hiding this comment

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

Haven't had time to go into detail yet, but I really like the proposed overall structure.

@bmorelli25 bmorelli25 force-pushed the revamp-apm-server-docs branch from 47bad0d to 15fd624 Compare August 15, 2019 16:47
@bmorelli25 bmorelli25 changed the title [docs][WIP] APM Server documentation structure [docs] APM Server install and run structure Aug 15, 2019
@bmorelli25
Copy link
Member Author

bmorelli25 commented Aug 15, 2019

@jalvz / @simitt -- I'd like some feedback from you on important steps when installing APM Server. Right now I have this:

Step 1: Install APM Server
Step 2: Configure APM Server
Step 3: Start APM Server
Step 4: Next steps

Does it make sense to also include a step for "Load the index template in Elasticsearch"? Beats does this, and it looks something like this:

Step 1: Install APM Server
Step 2: Configure APM Server
Step 3: Load the index template in Elasticsearch
Step 4: Start APM Server
Step 5: Next steps

Thoughts? Beats also includes a step for loading dashboards, which doesn't make sense in our case, but are there other steps that you think are important that would be good to include here?

Still WIP, but here's a live view of what this looks like right now: http://apm-server_2170.docs-preview.app.elstc.co/guide/en/apm/server/master/getting-started-apm-server.html

@jalvz
Copy link
Contributor

jalvz commented Aug 16, 2019

I don't have any strong opinion on step 3 (server should do that already on startup), but maybe is a good idea to make it explicit so that people are aware of it (as a downside: it is one step more which might feel awkward to people using eg. systemd)

Maybe is sensible (instead of step 3?) to add an step after "start server" of verifying that everything looks fine in logs (elasticsearch connected, pipeline registered, template loaded, rum enabled - if it was configured), etc.

It looks good to me either way

@bmorelli25
Copy link
Member Author

Thanks @jalvz, that's helpful feedback!

@bmorelli25 bmorelli25 force-pushed the revamp-apm-server-docs branch from 81ac5be to 8794206 Compare September 3, 2019 18:55
@bmorelli25 bmorelli25 removed the discuss label Sep 3, 2019
@bmorelli25 bmorelli25 marked this pull request as ready for review September 3, 2019 19:00
@bmorelli25 bmorelli25 requested review from jalvz and simitt September 3, 2019 19:00
@bmorelli25
Copy link
Member Author

bmorelli25 commented Sep 3, 2019

This PR is finally ready for review. Since this is a bigger PR, it'd be great to feedback from both of you!

A preview of the changes is available here: http://apm-server_2170.docs-preview.app.elstc.co/diff

Copy link
Contributor

@jalvz jalvz left a comment

Choose a reason for hiding this comment

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

Great job @bmorelli25 !

In Elasticsearch, {ref}/indices-templates.html[index templates] are used to define settings
and mappings that determine how fields should be analyzed.

The recommended index template file for {beatname_uc} is installed by the {beatname_uc} packages.
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 said before I don't have a strong opinion about this part, but given how many issues users are facing because of this, I changed my mind.
I think this is good. 99% of times I prefer concision, but here I'd add some points about:

  • The APM UI relies on specific mappings, and changing them might break it.
  • Users can run apm-server -e setup template to force a template overwrite; and apm-server export template to see what is the template bundled with apm-server and compare it with the actual template in their elasticsearch instance.
  • Note that index templates are not applied retrospectively, but only to indices created from then on. For APM, this usually means one day, or whatever indicates the ILM policy (if there is one).
  • Consider a troubleshooting section in Kibana mentioning that certain errors happen because of having the wrong template installed, linking back to this section and ILM manual setup. Feel free to sync up with the apm-ui team for this.

Copy link
Member Author

Choose a reason for hiding this comment

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

Added in your recommendations, thanks!

Consider a troubleshooting section in Kibana mentioning that certain errors happen because of having the wrong template installed, linking back to this section and ILM manual setup. Feel free to sync up with the apm-ui team for this.

I'm going to leave the last bullet point for when I tackle #2470


[[setting-up-and-running]]
== Setting up and running APM Server
== Setting up APM Server
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 consider renaming this section, as generally (and vaguely) "set up" implies install + configure, which is already covered. The best I could come up with is "Operating APM Server", which I don't think is too bad; but maybe you have better ideas (or are happy with "Setting up"!)

Copy link
Member Author

Choose a reason for hiding this comment

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

This section is really tough because it's kind of a mishmash of topics.

Directory layout and Secrets Keystore could really be at the beginning of the "Configuring APM Server" section. And APM Server and Systemd could be in the "Getting Started" section. I understand why High Availability was put here initially, but I don't think it really makes sense in this section.

I'm not opposed to the name "Operating APM Server", but I wonder if there's more we can do to clean this up.

Copy link
Contributor

Choose a reason for hiding this comment

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

Much agreed. Feel free to move those sections, in this or other PR


endif::[]

[[linux]]
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 reconsider the order of the sections to deb, rpm, linux, mac, windows, and Running on Docker:

Maybe is a good idea also to rename linux to other linux, and change casing to Linux, Mac, Windows, and maybe RPM and DEB too.

If you change anything here, make sure it is consistent elsewhere... I am sort of sensing that you have your good reasons to use lower case there, but eg. in http://apm-server_2170.docs-preview.app.elstc.co/guide/en/apm/server/master/running-with-systemd.html is RPM and DEB :)

Speaking of which: http://apm-server_2170.docs-preview.app.elstc.co/guide/en/apm/server/master/running-with-systemd.html shouldn't be embedded in or linked to the running section?

Copy link
Member Author

Choose a reason for hiding this comment

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

These are good points. I've made some updates.

From what I can tell, the correct capitalization is deb and RPM. The only reason I had everything capitalized the other way was because that's how Beats does it... in other words, not a very good reason. I'll update these on our end, then chat with DeDe about updating them in all of the shared Beats docs as well.

Copy link
Contributor

@simitt simitt left a comment

Choose a reason for hiding this comment

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

Looks great, only left minor comments.

@bmorelli25 bmorelli25 force-pushed the revamp-apm-server-docs branch from 23b82f8 to 860696c Compare September 10, 2019 12:42
@bmorelli25 bmorelli25 force-pushed the revamp-apm-server-docs branch from 860696c to 4235252 Compare September 10, 2019 13:42
@bmorelli25 bmorelli25 merged commit dd2647b into elastic:master Sep 11, 2019
@bmorelli25 bmorelli25 deleted the revamp-apm-server-docs branch September 11, 2019 12:19
bmorelli25 added a commit to bmorelli25/apm-server that referenced this pull request Sep 18, 2019
bmorelli25 added a commit to bmorelli25/apm-server that referenced this pull request Sep 18, 2019
bmorelli25 added a commit to bmorelli25/apm-server that referenced this pull request Sep 18, 2019
bmorelli25 added a commit to bmorelli25/apm-server that referenced this pull request Sep 18, 2019
# Conflicts:
#	docs/setting-up-and-running.asciidoc
bmorelli25 added a commit to bmorelli25/apm-server that referenced this pull request Sep 18, 2019
# Conflicts:
#	docs/setting-up-and-running.asciidoc

# Conflicts:
#	docs/copied-from-beats/command-reference.asciidoc
bmorelli25 added a commit to bmorelli25/apm-server that referenced this pull request Sep 18, 2019
# Conflicts:
#	docs/setting-up-and-running.asciidoc

# Conflicts:
#	docs/copied-from-beats/command-reference.asciidoc

# Conflicts:
#	docs/setting-up-and-running.asciidoc
bmorelli25 added a commit to bmorelli25/beats that referenced this pull request Sep 26, 2019
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