-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
[cmd/opampsuervisor] Some suggestions about the cmd/opampsuervisor in configuration experience #29119
Comments
Pinging code owners:
See Adding Labels via Comments if you do not have permissions to add labels yourself. |
Meanwhile, we may be able to further tune the agent's config with generic items. So this: collector:
executable: /opt/otelcol/bin/otelcol
args:
env:
run_as: myuser
config_file: /etc/otelcol/config.yaml may become: collector:
executable: /opt/otelcol/bin/otelcol
args:
- --config
- config.yaml
env:
run_as: myuser |
Another point is that, we now have For example, in the near future, we may extend the Supervisor:Agent from 1:1 to 1:N relationship, which means that we may consider to have 1 Supervisor manage multiple agents, we need at least So how to handle that? |
This contradicts opamp spec's concept of Supervisor. The Supervisor has no separate identity itself. |
@brightzheng100 Thank you for taking a look at the Supervisor and providing feedback. The config structure is still not stable and we expect it to change over the coming months. I have explanations for a few of your points:
agents:
collector/1: ...
collector/2: ...
otheragent: ...
|
Thanks for the detailed explanation. Appreciate that! I personally think that the relationship between Supervisor and supervised Agent being 1:N may makes more sense as 1:1 is just one of the 1:N options. Even the Supervisor might not be a huge overhead but once OpAMP becomes popular, there might be more and more agents to be supervised. I like your proposed design:
After digging into the Collector I found that Collector itself supports multiple agent:
executable: ./otelcol-contrib
args:
- --config=./config1.yaml
- --config=./config2.yaml
- --config=./config3.yaml Meanwhile, I'd suggest to change the agent:
executable: ./otelcol-contrib
args:
- --config=./config1.yaml
- --config=./config2.yaml
- --config=./config3.yaml
envs:
- OTEL_SERVICE_NAME=my_collector
... |
None of this are currently supported at supervisor, are they? Other features which work on collector don't work on supervisor.
|
This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping Pinging code owners:
See Adding Labels via Comments if you do not have permissions to add labels yourself. |
This issue has been closed as inactive because it has been stale for 120 days with no activity. |
Component(s)
cmd/opampsupervisor
Is your feature request related to a problem? Please describe.
The OpAMP spec is interesting and very compelling in terms of massive agent management in OTel, and maybe other domans.
After a quick try of both OpAMP extension and OpAMP Supervisor in OTel Collector, I'd like to suggest some small changes.
1. The alignment of config experience.
In Collector extension, the config is like this:
While in OpAMP Supervisor, it's like this:
So it's not fully aligned, and I'd suggest to use the same pattern in OpAMP Supervisor:
Note: using the
ws
is a good idea as there might be other transport implementations in the future. Who knows.2. The OTel Collector is just a "normal agent".
The current spec has a dedicated
collector
top element to configure the collector itself:However, the Collector is just a "normal agent" from the Supervisor perspective and this Supervisor might become a reference implementation for future reference.
So I'd suggest replacing
collector
with a genericagent
, thus:For your consideration only.
Describe the solution you'd like
As described in the above section to improve the configuration experience.
Describe alternatives you've considered
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: