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 getting started doc #888

Merged
merged 16 commits into from
Jul 30, 2020
Merged

Conversation

ebeahan
Copy link
Member

@ebeahan ebeahan commented Jul 17, 2020

Overview

This PR introduces a Getting Started overview in the ECS documentation. It's intended to give a brief overview of how to adopt and use ECS aimed at newcomers to the schema. The concepts and approach borrow heavily from the original ECS intro blog. The hope is introducing helps ECS newcomers answer the question: "where do I start with ECS?" and helps to address previous user feedback (#516).

Structure

The doc is structured in three sections: parsing, search, and visualization. Again this borrows from the structure of the original blog post. I wanted to retain the value demonstrated in the original blog and bring it into the ECS docs; the value ECS brings to each of these three areas and how ECS improves the user experience across the stack.

Parsing

The first section walks through a simple, common, and well-understood event, an Apache web server log, and provides a detailed field mapping. The intention is to provide newcomers with an event mapping reference example and also priming them to understand ECS adoption into their stack may require some examination of their current data pipeline and data normalization strategy.

Searching

Basic example of how normalizing fields will provide a simplified search experience across diverse data sources.

Visualization

Again a basic example to demonstrate the value of normalized fields. Added a screenshot and images subdirectory to the docs folder. There may be additional changes required for supporting images in the documentations (this is a first for the ECS docs 😄 ), but local testing looks ok.

Placement

Getting Started is added underneath the Using section of the existing docs immediately following the ECS Overview page. This seemed the most useful for a new user (view some example real-world type application before the guidelines and conventions), but I'm open for further discussion on placement.

@ebeahan ebeahan self-assigned this Jul 17, 2020
@ebeahan ebeahan requested a review from webmat July 20, 2020 14:45
@ebeahan
Copy link
Member Author

ebeahan commented Jul 20, 2020

@benskelker would appreciate your feedback here when you have some free cycles.

@ebeahan ebeahan requested a review from benskelker July 20, 2020 15:21
benskelker
benskelker previously approved these changes Jul 20, 2020
Copy link
Contributor

@benskelker benskelker left a comment

Choose a reason for hiding this comment

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

Looks good. All my comments are nits and suggestions - do whatever you want with them :).

docs/using-getting-started.asciidoc Outdated Show resolved Hide resolved
docs/using-getting-started.asciidoc Outdated Show resolved Hide resolved
docs/using-getting-started.asciidoc Outdated Show resolved Hide resolved
docs/using-getting-started.asciidoc Outdated Show resolved Hide resolved
docs/using-getting-started.asciidoc Outdated Show resolved Hide resolved
docs/using-getting-started.asciidoc Outdated Show resolved Hide resolved
docs/using-getting-started.asciidoc Outdated Show resolved Hide resolved
docs/using-getting-started.asciidoc Outdated Show resolved Hide resolved
docs/using-getting-started.asciidoc Outdated Show resolved Hide resolved
docs/using-getting-started.asciidoc Outdated Show resolved Hide resolved
Copy link
Contributor

@webmat webmat left a comment

Choose a reason for hiding this comment

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

This is great, thanks @ebeahan!

I've entered a few comments, mostly about the structure of this doc, moving sections around and splitting the table in two. Hopefully my comments cover this clearly. Let me know what you think.

Another thing I haven't covered in comments below is that I think we could end this getting started with pointers to the Logs and Security docs as well. Something along the lines of:

We've covered at a high level how to map your events to ECS. Now if you'd like your events to render well in the Elastic solutions, head over here to learn more about each:

Side note on the link for Elastic Security: right now it's published here under SIEM, but the link above is for the future version post merge of "Elastic Security", and it's only available via the /master/ link, until the next release. Not sure when we'll merge this PR and whether we'll want to backport it to the "current" ECS docs (I think we should, this is good stuff). If so, we may have to use the old link first, and make sure to change to the new link after the release.

Finally, I saw some question about whether the image would render well. Note that each PR's doc is rendered via links such as the following, where the subdomain is adjusted with the PR number. https://ecs_888.docs-preview.app.elstc.co/diff. If you scroll to the end of the new page, you'll see it does render well :-) This link can be found at the end of the Jenkins doc build output as well.

docs/using-getting-started.asciidoc Outdated Show resolved Hide resolved
docs/using-getting-started.asciidoc Outdated Show resolved Hide resolved


[float]
==== Simplified Search
Copy link
Contributor

Choose a reason for hiding this comment

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

I think we should have sections "Simplified Search" and "Unified Visualizations" before the table breakdown.

I think they do a good job of selling people on why they should care. Then when they care, they can dive into the full breakdown of a sample log.

Copy link
Contributor

Choose a reason for hiding this comment

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

I agree, a short intro to the reasons helps frame the rest of the doc. Here is how I start an email to encourage use of ECS by new customers:

The Elastic Common Schema (ECS) is an open source specification developed with support from the Elastic user community. ECS defines a common set of fields to be used with data in Elasticsearch, such as logs and metrics.

ECS enables and encourages the normalization of event data, so that you can better analyze, visualize, and correlate the information represented in your events. This drives efficiency in your operations.

docs/using-getting-started.asciidoc Show resolved Hide resolved
docs/using-getting-started.asciidoc Outdated Show resolved Hide resolved
@webmat
Copy link
Contributor

webmat commented Jul 22, 2020

Thanks @benskelker for the detailed feedback as well :-)

@ebeahan
Copy link
Member Author

ebeahan commented Jul 28, 2020

Thanks all for the reviews! I've reworked the doc a bit to incorporate the feedback.

  • I split the mapping example into three tables instead of two. However, after splitting the processor-populated fields into its own table, it may be more detail than necessary for a Getting Started doc. I'm interested in other's feedback.

    1. The values extracted verbatim from the original log
    2. ecs.* and event.* metadata fields
    3. Additional fields populated by a processor
  • Shifted the search and visualization sections up higher.

  • Reworked the intro to incorporate the review feedback and align with the new section ordering.

  • Added the links to the field reference guides at the bottom.

  • Added link to Getting Started to the top-level ECS index.asciidoc page.

Copy link
Contributor

@webmat webmat left a comment

Choose a reason for hiding this comment

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

A few final tweaks. The last table I've spotted a few errors that should be corrected.

Some of my other comments are how I would approach it, but not blockers if you feel otherwise.

This is looking great :-)

docs/using-getting-started.asciidoc Outdated Show resolved Hide resolved
docs/using-getting-started.asciidoc Outdated Show resolved Hide resolved
docs/using-getting-started.asciidoc Outdated Show resolved Hide resolved
docs/using-getting-started.asciidoc Outdated Show resolved Hide resolved
docs/using-getting-started.asciidoc Show resolved Hide resolved

// ==============================================================

| user_agent.os.version
Copy link
Contributor

Choose a reason for hiding this comment

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

That's a Chrome version! 😂

Suggested change
| user_agent.os.version
| user_agent.version

Laser Eyes!

Copy link
Member Author

Choose a reason for hiding this comment

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

😂 It also was missing the final column and wasn't showing up in the rendered doc either! Cleaned up on the latest commit.

Copy link
Contributor

@webmat webmat left a comment

Choose a reason for hiding this comment

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

LGTM 👍

@ebeahan ebeahan merged commit 77c92bb into elastic:master Jul 30, 2020
@ebeahan ebeahan deleted the add-getting-started-doc branch July 30, 2020 18:52
@webmat
Copy link
Contributor

webmat commented Aug 4, 2020

I just noticed we hadn't backported this to 1.5. We should do so, in order for it to appear in the "current" docs now, rather than when we release 1.6.

@webmat
Copy link
Contributor

webmat commented Aug 4, 2020

When we do backport, we need to adjust the link from Elastic Security to Elastic SIEM.

@ebeahan
Copy link
Member Author

ebeahan commented Aug 4, 2020

Thanks for the reminder. I'll work on it 👍

ebeahan added a commit to ebeahan/ecs that referenced this pull request Aug 4, 2020
ebeahan added a commit that referenced this pull request Aug 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants