-
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
Remote Configuration Capability of Supervisor is not restarting my collector if the configuration of the collector is changes #32959
Comments
Pinging code owners for cmd/opampsupervisor: @evan-bradley @atoulme @tigrannajaryan. See Adding Labels via Comments if you do not have permissions to add labels yourself. |
Hi, @MSA0208. When you say you are changing the config.yaml file, do you mean this one?
The Supervisor will only restart the Collector when it receives new configuration from the OpAMP server; changes to files on disk will not restart the Collector. If you are changing the code in the OpAMP server, do you see any logs in the Supervisor about receiving new config? |
@MSA0208 I deleted your comment because I noticed there were some credentials in there. I would suggest you rotate the tokens and change the passwords used in your config. |
Thanks for the details. The only file you should modify directly is the Supervisor's configuration file. When using the Supervisor, all Collector configuration updates should be made through the OpAMP server, which will send them to the Supervisor and restart the Collector with the new config. The |
Hi @evan-bradley, Thank you , Let me try this and get back to you. |
To avoid future user confusion should we prepend |
I was thinking the same thing, we should clearly indicate which files are not intended to be modified by the user. |
Hi @evan-bradley, am using otel contrib Supervisor , https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/cmd/opampsupervisor , instead of this opamp-go given supervisor. as it has some additional capabilities of remote configurations specified as per document which are needed for my usecase and i follow the document exactly and the server is starting , but getting the issue below Can you please help me with the things to configure to solve this issue |
Hi @everyone, Expecting the solution response!! |
I could able to solve the above issue, Now the issue am facing is Agent is not healthy, meaning have started my Supervisor on some random port and that is starting my agent collector but my agent says unable to connect to the supervisor, giving the statement Connection Refused. below is the sample collector config.yaml used for agent collector and the same am using as my bootstrap.yaml . collector-config.yaml Let me know what else could be causing the issue or redirect me to the fix which has solved this agent Health and also after receiving my remote config, supervisor is unable to restart my agent collector , am thinking this could be because of the connection issue opamp-extension/agent log***** 2024-05-27T05:59:37.069-0700 error opampextension@v0.98.0/opamp_agent.go:72 Failed to connect to the OpAMP server {"kind": "extension", "name": "opamp", "error": "dial tcp 127.0.0.1:4322: connect: connection refused"} ****supervisor logs Response from HealthChecker: &{404 Not Found 404 HTTP/1.1 1 1 map[Content-Length:[19] Content-Type:[text/plain; charset=utf-8] Date:[Mon, 27 May 2024 12:51:43 GMT] X-Content-Type-Options:[nosniff]] 0xc000040120 19 [] false false map[] 0xc0002165a0 } |
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. |
@MSA0208 How did you solve the issue of:
|
hi @Asarew , Collector was not getting started with nop, i provided the actual service configuration along with opamp extension configured |
"Collector was not getting started with nop, " |
Related Issue :[cmd/opampsupervisor] Use nop components during bootstrapping #32554 |
My issue was that i didn't build the nop receiver and exporter with the collector. |
Hope your issue is solved now Now the current issue am facing is, have configured some random port for the supervisor and started my collector with supervisor and opamp server, server is able to communicate the remote changes to supervisor , but supervisor is not informing about the remote to my actual collector |
As far as i know, the supervisor starts on a random port just for the bootstrap communication. after that there is no communication between the supervisor and the collector except for restarts. |
ok, so you mean that we cant send the remote config received from opamp server to our collector client using supervisor?? if that is the case , how to send the remote config received at supervisor to the collector ? |
the supervisor writes the configuration to disk and then restarts the collector |
yeah that will be the effective.yaml file. |
Hmm, maybe check the agent.log file. i'm afraid i don't have a specific answer to you issue 😢 |
Thanks for pointing out at agent.log, i got the issue, yet to solve it , will do :) |
@MSA0208 Your welcome, good luck 👍🏾 |
I Could solve the issue and my Opamp is working fine for the remote configurations now. i also tried removing few things from pipeline, i think that would cause the error in the collector for ex : i have my log and metric pipeline configured and i want to remove the metric pipeline, its not considering the removal |
i can let you know beginning next week, i'm still developing the otel controller and haven't gotten to updates yet. just the initial config push |
@Asarew |
Took me a while to fix the controller, but now i can push new changes from the controller down to the supervisor which in turn saves the config to disk and restarts the collector. So for me everything seems to be working fine. |
What was fixed? I don't see any attached pull requests |
@cforce nothing much to fix on the opamp, so pull request not required, we have to check with the needed config.yaml for the collector to execute @Asarew have you anytime verified with https using TLS certs, what kind of certs should we used here ? any idea on the certs to be used for the https communication between these 3 modules |
@Asarew Have used the self signed certs generated using openSSL, but i get the error saying |
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. |
Is this issue still valid? It seems that the original report by @MSA0208 has been resolved, and now a separate topic about TLS configuration has been raised by @Asarew -. If this new topic is still relevant, it might be best to create a dedicated issue for it. Just to clarify, there’s nothing pending from my side. |
Yeah, the issue is solved, we can close the issue |
Component(s)
No response
Describe the issue you're reporting
Hi Team,
Currently have connected my opamp-server, opamp supervisor which has an executable of my collector and its running fine using the below supervisor.yaml
server:
endpoint: ws://127.0.0.1:4320/v1/opamp
agent:
executable: /root/OTEL98/opentelemetry-collector-contrib-main/cmd/otelcontribcol/OutputBinaries/NGxConnector
args: --config /root/OTEL98/opentelemetry-collector-contrib-main/cmd/otelcontribcol/config.yaml
, Now i added the capability of the supervisor to accept the remote configurations i.e,
server:
endpoint: ws://127.0.0.1:4320/v1/opamp
capabilities:
AcceptsRemoteConfig: true
agent:
executable: /root/OTEL98/opentelemetry-collector-contrib-main/cmd/otelcontribcol/OutputBinaries/NGxConnector
args: --config /root/OTEL98/opentelemetry-collector-contrib-main/cmd/otelcontribcol/config.yaml
after adding this change in my supervisor.yaml and starting the supervisor to run my executable, its fine
My actual problem is when i change the config.yaml of the collector pipeline , the same is not reflected on the supervisor or the agent side . please help me out to get this remote config working
am using the otel-collector-main latest version, along with opamp-go-main latest version and also the extension to my collector-contrib-main version of the OTEL code
The text was updated successfully, but these errors were encountered: