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

Support compatible prometheus service #553

Closed
n0rad opened this issue Apr 9, 2020 · 3 comments · Fixed by #557
Closed

Support compatible prometheus service #553

n0rad opened this issue Apr 9, 2020 · 3 comments · Fixed by #557
Labels
kind/enhancement Improvement request for an existing feature

Comments

@n0rad
Copy link
Contributor

n0rad commented Apr 9, 2020

To check prometheus server availabiilty, IsOnline method is checking /api/v1/status/flags.

For our platform prometheus itself cannot handle our size and we use some compatible querier services in front of prometheus that can handle queries but do not have this api.

I'm wondering if it's possible to change the availability with a simple query (vector(1) ?) so it will support any prometheus compatible querier.

for info we are using thanos and cortex in addition to prom to do queries.

@stefanprodan stefanprodan added the kind/enhancement Improvement request for an existing feature label Apr 10, 2020
@stefanprodan
Copy link
Member

I'm wondering if it's possible to change the availability with a simple query (vector(1) ?) so it will support any prometheus compatible querier.

Yes that should be a harmless change. Are you willing to implement it?

@mathetake
Copy link
Collaborator

FYI, IsOnline is called only for prometheus and during the startup time of Flagger's main goroutine. It is never be called in canary's control loop.

I think this is a little bit confusing since metric analysis phases do not invoke IsOnline and not check the availability of metric server.

@stefanprodan I think we'd better refactor IsOnline's behavior so that this is not prometheus specific, or just remove IsOnline method. Any thoughts?

@stefanprodan
Copy link
Member

The IsOnline method is intended for debugging Flagger's install. Before this, we got many issues from users that misconfigured the Prometheus URL, having a sanity check at startup helps users detect that.
What I think we should do is call IsOnline on canary initialisation for all metric providers used in the analysis metrics section and log a warning since Flagger startup check doesn't cover the metrics templates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement Improvement request for an existing feature
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants