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

Phase 2 in conversion to asciidoc #334

Merged
merged 5 commits into from
Feb 21, 2019
Merged

Conversation

karenzone
Copy link
Contributor

@karenzone karenzone commented Feb 20, 2019

More work toward the move to asciidoc:

  • Added new files and content.
  • Played with the content of Base Fields to demonstrate a three-column format.
  • Watch for possible terminology change from "core and extended" to "core and custom" for fields.

Want to see this rendered? https://ecs-docs.firebaseapp.com/ecs2/

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.

Love it, thank you!

I left a few notes on things I'd like us to tweak.

This also spurred a bit of discussion. Let's wait for Mike's input on a few of those :-)

feedback on the general structure, missing fields, or existing fields is appreciated.
For contributions please read the https://github.com/elastic/ecs/blob/master/CONTRIBUTING.md[Contribution Guidelines].
feedback on the general structure, missing fields, or existing fields is
appreciated. For contributions please read the
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 for 1.0, we should change the message here.

Here's what we're now shooting for:

  • We are following Semantic Versioning, meaning:
    • Backwards compatibility during the 1.x lifetime
    • Possibility of breaking changes only at major versions
  • Related: We will align ECS major version with Elastic Stack major versions

At least that's how I think we should approach it. This stability will be a big decision factor for people deciding whether or not to adopt ECS.

WDYT @MikePaquette?

cc @ruflin

Copy link
Contributor

Choose a reason for hiding this comment

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

Also while not technically a beta anymore, perhaps we should still guard and say "this is the first official version, so consider accordingly".

Copy link
Contributor

Choose a reason for hiding this comment

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

@webmat I like the message you propose. I would make sure to position these as goals, as there may be unforeseen situations that cause us to change these plans.

I would skip the "first official version" note - I the 1.0.0 version already makes that clear.

* *Extended fields.* Any fields that are not a core field.
Extended fields may apply to more narrow use cases, or may be more open
to interpretation depending on the use case. Extended fields are more likely to
change over time.
Copy link
Contributor

Choose a reason for hiding this comment

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

Love the very direct and straightforward mention of what core and extended mean, right in the ECS index page ❤️

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@MarkSettleES let me know that "core" and "custom" have been proposed instead of "core" and "extended".
WDYT @webmat? @MikePaquette? @MarkSettleES? Others?

Copy link
Contributor

Choose a reason for hiding this comment

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

Core and extended are absolutely both the main levels we use to define ECS fields.

However Mark makes a good point. I have seen some of Mike's content list the 3 together, and I think that's a great idea. I think it could reinforce the idea that ECS is a standard that still embraces the custom that people need around it.

I agree we should add it as a third bullet point in there.

Copy link
Contributor

Choose a reason for hiding this comment

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

@karenzone @MarkSettleES to close the loop here, "Custom" can be included as a third level, but is not an alternative to "extended".

So I agree with @webmat let's go with three levels:

  1. Core
  2. Extended
  3. Custom

docs/guidelines.asciidoc Outdated Show resolved Hide resolved
Describes an implementation with all existing fields mapped to ECS fields.

ECS compliant:: Describes an implementation with all existing fields mapped to
ECS fields, and with as many ECS core fields populated as is practical.
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 wanted to remove these two distinctions, right @MikePaquette?

These concepts haven't been fully fleshed out, I would remove for now, and only introduce when we're ready to have these kinds of discussions.

Copy link
Contributor

Choose a reason for hiding this comment

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

@webmat @karenzone
I agree to remove these definitions for now, but I want to make sure we include guidance like: "In order to increase the level of interoperability of your data with future analysis content, your implementation should attempt to populate as many of the Core fields as practical, even if these fields or values are metadata that are not present in your original event, or are already populated in another ECS field"

I think this guidance is fundamental to the success of a common schema, and one I've not been very successful at articulating.

Simple example: when converting a syslog firewall log event to ECS, there maybe no field in the event with the value "syslog" , but a good ECS implementation will still populate agent.type: syslog so that future ECS-aware analysis content that filters events by agent.type will work properly.

Copy link
Contributor

Choose a reason for hiding this comment

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

I've taken an additional note to reinforce the docs this way, in the docs plan

docs/fields-gen.asciidoc Outdated Show resolved Hide resolved
docs/conventions.asciidoc Show resolved Hide resolved
docs/convert.asciidoc Outdated Show resolved Hide resolved
implementations to ECS to help you correlate data across all of your products
and solutions.

Before you start a conversion, be sure that you understand the basic <link here>.
Copy link
Contributor

Choose a reason for hiding this comment

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

Let's keep a todo to finish this sentence. Or can we for now just say "the basics outlined below:"?


An implementation would be considered *compliant* with ECS only if it also
populates as many of the ECS core fields as is practical. Duplication, adding
metadata, or deriving values via manipulation and math are acceptable.
Copy link
Contributor

Choose a reason for hiding this comment

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

In line with my other comment on compatible/compliant, we should consider removing this section.

* Dot notation: `user.firstname: Nicolas`, `user.lastname: Ruflin`
* Underline notation: `user_firstname: Nicolas`, `user_lastname: Ruflin`

For ECS we decided to use the dot notation. Here's some background on this decision.
Copy link
Contributor

Choose a reason for hiding this comment

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

Let's reinforce the meaning of dots here at the introduction of the concept. It's well laid out below for those who will pore over each section. Would this make sense?

Suggested change
For ECS we decided to use the dot notation. Here's some background on this decision.
For ECS we decided to use the dot notation, representing nested objects. Here's some background on this decision.

webmat and others added 3 commits February 20, 2019 17:56
Trying the new suggest feature for changing v7.1 to v7.0.

Co-Authored-By: karenzone <[email protected]>
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.

Thanks for fixing all of these links. This documentation build script is great! It's great to finally be taken through how to leverage it like this :-)

Just noticed one typo in one of the IDs. Once fixed, we can merge.

I can take care of adjusting, if we decide to add "Other", once Mike weighs in.


[float]
[[nptation-diff]]
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 go for "notation-diff" here instead ;-)

Fix typo in anchor
@karenzone karenzone merged commit 166358d into elastic:master Feb 21, 2019
@karenzone karenzone deleted the round2 branch February 21, 2019 16:40
webmat pushed a commit to webmat/ecs that referenced this pull request Feb 26, 2019
Trying to work Mike's points in, as mentioned [here](elastic#334 (comment)).
webmat pushed a commit to webmat/ecs that referenced this pull request Mar 4, 2019
Trying to work Mike's points in, as mentioned [here](elastic#334 (comment)).
webmat pushed a commit to webmat/ecs that referenced this pull request Mar 5, 2019
* Phase 2 in conversion to asciidoc

* Update docs/convert.asciidoc

Trying the new suggest feature for changing v7.1 to v7.0.

Co-Authored-By: karenzone <[email protected]>

* Start incorporating review comments

* Update faq.asciidoc

Fix typo in anchor
webmat pushed a commit to webmat/ecs that referenced this pull request Mar 5, 2019
* Phase 2 in conversion to asciidoc

* Update docs/convert.asciidoc

Trying the new suggest feature for changing v7.1 to v7.0.

Co-Authored-By: karenzone <[email protected]>

* Start incorporating review comments

* Update faq.asciidoc

Fix typo in anchor
webmat pushed a commit to webmat/ecs that referenced this pull request Mar 5, 2019
* Phase 2 in conversion to asciidoc

* Update docs/convert.asciidoc

Trying the new suggest feature for changing v7.1 to v7.0.

Co-Authored-By: karenzone <[email protected]>

* Start incorporating review comments

* Update faq.asciidoc

Fix typo in anchor
webmat added a commit that referenced this pull request Mar 5, 2019
Backport of PR #334 to 1.0 branch. Original message:

More work toward the move to asciidoc:

* Added new files and content.
* Played with the content of Base Fields to demonstrate a three-column format.
* Watch for possible terminology change from "core and extended" to "core and custom" for fields.
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