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

Load Balancing Equipment #626

Closed
adelbot opened this issue Nov 21, 2019 · 4 comments
Closed

Load Balancing Equipment #626

adelbot opened this issue Nov 21, 2019 · 4 comments
Labels
mapping Mappings from various sources to ECS

Comments

@adelbot
Copy link

adelbot commented Nov 21, 2019

In the case of events received from Load Balancer.
We receive events for pool (ie VIP ) : up, down, activate, desactivate
We received events for member : up, down, activate, desactivate

How use ECS in this context. What fieldset use ?

source for VIP ?
destination for MEMBER ?

BR
Alain

@webmat
Copy link
Contributor

webmat commented Nov 22, 2019

For the essential part of your question, where to put these states or state transitions, I'd say ECS doesn't cover that specifically, at the moment. So those details would be captured in custom fields. But I do see a need to flesh out how to capture state checks or state transitions better in ECS, eventually.

Now many other parts of these events will be captured in ECS fields we currently have.

  • Details about the load balancer monitoring its pool of resources should be captured in observer.*
  • Details about the resources/hosts being monitored could probably be captured under host.* (esp for the name of the resource)
  • If the log events contain IPs relevant to this check, I agree these could be captured under source.* and destination.*
  • If you have some network details like protocols of the various layers, those could be captured under network.*

@webmat webmat added the mapping Mappings from various sources to ECS label Nov 22, 2019
@adelbot
Copy link
Author

adelbot commented Nov 22, 2019 via email

@webmat
Copy link
Contributor

webmat commented Dec 23, 2019

The safest way to add custom fields to an index following ECS is to avoid nesting fields directly within ECS field sets, and especially avoiding naming custom fields with the name of common concepts. These are two things that pose a high risk of conflict with future versions of ECS.

Here are a few safer ways to add custom fields:

  • When it's just a few bits of information, the simplest is to add the fields under labels, e.g. labels.upstream_state and so on.
  • If you prefer modeling multiple nested fields, you should add a custom top level field. The safest way to avoid a future conflict there is to nest under a proper name, as ECS tries to avoid those. The proper name could be your company name, a project name or a brand name. acme.load_balancer.upstream_state.
  • Another way to pretty much guarantee you won't conflict with ECS is to instead use capitalization in your field names. ECS tries to use lowercase and underscores only, in key names. E.g. destination.UpstreamState

Note that the above are only guidelines. ECS only states how core and extended fields should be. Custom fields are 100% in user's control, as has always been the case with Elasticsearch.

@webmat
Copy link
Contributor

webmat commented Aug 18, 2020

We created meta-issue #938 to add proxy support in ECS. Closing in favor of the meta issue. Stay tuned :-)

@webmat webmat closed this as completed Aug 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
mapping Mappings from various sources to ECS
Projects
None yet
Development

No branches or pull requests

2 participants