-
Notifications
You must be signed in to change notification settings - Fork 431
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
agent.environment and service.environment #143
Comments
@graphaelli Would this be helpful for APM? |
Certainly, we actually already use |
I wonder if one event is always from max 1 environment. So it can be that the service we monitor is in production but the agent is in testing? If yes, we could unify the two fields in event.environment. |
I would rather add I feel like needing two instances of environments (e.g. in the example of pre-release agent you mention) is an edge case. I'd rather track a beta release of an "off the shelf" tool like a third party monitoring agent via its version. I've always tracked which environment my stuff was in with free form labels in previous lives. Be it in Chef, some competing monitoring systems, or in my Elastic Stack logging pipeline. So I like the idea of adding it explicitly to ECS. |
Sounds like we should go with To prevent any confusion: I expect this field NOT to be for environment variables but to be set to the environment the service / agent / device / host is running. Values could be |
I see environment as part of the name/version/environment triple that uniquely identifies a service so APM has to move this either way we go (service is nested under context right now). |
@graphaelli I think you make a good point here: +1 on having both then. |
In ECS I would much rather have one definition of environment, at the top level, so When thinking about services, Conversely, I do think it will make sense to people if their APM events have |
Top level environment seems fine, wasn't sure it was worthy of that level. Given nesting under service vs event, I prefer service or both. |
I was more thinking to have also |
But why have multiple places to store This sounds like an edge case. I rather think we should start simple here, and expand only when needed. |
The way I look at it is more to what the I don't think environment is something we need to resolve now. |
I'm coming at it from a different point of view. The goal of ECS is to help define where each bit of information belongs, to facilitate correlation and match user's expectations. It's totally fine to reuse some fields or sets of fields, when the information is expected to be present more than one time on a given event. Examples: For { "device": {
"ip": "192.168.10.10",
"environment": "production" ... },
"agent": {
"environment": "staging" ... }
} If there's no expectation of @MikePaquette WDYT? Should we nest environment in multiple places, or should we define it once, at the top level for now? |
@webmat I think we should have just one environment field, for the reasons you stated. I would be happy with it as a base field As a side note, I think this is logically similar to version, which we currently have in |
|
Expecting RFC proposal from @cyrille-leclerc to propose adding |
Stage 0 RFC for |
An agent and a service are often run in a certain environment like testing, staging, production. To group services and agents together by environment I'm proposing the following fields to be added to ECS:
The text was updated successfully, but these errors were encountered: