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

Allow configuration push via HTTP endpoint? #2513

Closed
wrouesnel opened this Issue Mar 22, 2017 · 4 comments

Comments

Projects
None yet
3 participants
@wrouesnel
Copy link
Contributor

wrouesnel commented Mar 22, 2017

In certain modes of execution it would be convenient if Prometheus would expose a way to directly push configuration file updates via an HTTP endpoint rather then having to orchestrate filesystem / signal issuance access.

My specific use case is when Prometheus is being executed by Marathon under Mesos - although the configuration is persistent, arranging access to underlying filesystem and enabling users to issue signals to trigger a configuration reload is not trivial.

This problem could be solved by wrapping the Prometheus container in some custom proxying to provide such functionality, or with a configuration management engine of some sort, but both of these would be effectively doing the same thing - additionally, Prometheus is in a position to parse and validate it's config file and push an error back to the client at the point of upload.

Does this idea seem aligned with how Prometheus is used?

@gouthamve

This comment has been minimized.

Copy link
Member

gouthamve commented Mar 22, 2017

We do have POST /-/reload to reload the config but I understand the problem here. So how I did it is put the file somewhere (S3) and run a script to update the config (manually, but I think Ansible can automate).

One issue with using HTTP to issue config is that there is no source of truth, it makes it easier but it also might cause debugging issues later. And I donot see any other monitoring/database system that offers config management via HTTP.

@wrouesnel

This comment has been minimized.

Copy link
Contributor Author

wrouesnel commented Mar 22, 2017

Technically there's no source of truth with Ansible either - i.e. anyone with access can push any configuration they want - which is of course fine, if you're in the middle of "nothing's working and I need it to do this". But it does seem like a workaround for something Prometheus would more sensibly manage itself - i.e. I'd rather gate the configuration push endpoint with my http proxy then try and open up a totally separate path to the server.

@brian-brazil

This comment has been minimized.

Copy link
Member

brian-brazil commented Mar 22, 2017

We've explicitly decided not to do this. You're free to build something on top of Prometheus to provide this.

@lock

This comment has been minimized.

Copy link

lock bot commented Mar 23, 2019

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock bot locked and limited conversation to collaborators Mar 23, 2019

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can’t perform that action at this time.