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

Would it be possible to configure Fabio to watch services with warning state? #509

Closed
kuskmen opened this issue Jun 15, 2018 · 2 comments
Closed

Comments

@kuskmen
Copy link
Contributor

kuskmen commented Jun 15, 2018

Hi guys,
I am currently looking for a nice way of implementing our API health check status decision.

Consider this scenario - I have a service which depends on multiple other services in order to provide multiple functionalities. For the sake of argument lets say that there is logical mapping between my dependent services and functionalities my service provide. This means that in order to provide functionality(we will call it F) some dependent service must be healthy(we will call it S). With that being said couple of scenarios emerge:

  • My service calls service S and other dependent services and responses are that they are healthy - No problems here my service is also healthy than.
  • My service calls service S, it is critical, but then all other services completely unrelated to functionality F I provide are healthy. - Now I have a decision to make is my service healthy or not but this decision is though, because why should I consider my service as critical if all other functionalities besides F I can easily provide. And vice verse, I should not consider my service healthy because I am not able to provide 100% of the functionalities it usually provides.
  • My service calls service S, it is healthy, but then one or more services completely unrelated to functionality F I provide are not healthy. - This is basically the same as the second bullet.
  • My service calls service S and all other dependent services and they are not healthy - No problem again I shall consider my service as not healthy as well.

According to Consul documentation, it provides three statuses in the response of /health - (2xx - healthy, 429 - warning, everything else - critical). You can see how warning status can fit here really good into the scenario. All this have unfortunate problem however https://github.com/fabiolb/fabio#getting-started

Make sure the health check is passing since fabio will only watch services which have a passing health check.

although I do not have enough knowledge of Fabio, hence asking you guys, if there is any way to configure Fabio to watch for services that are in warning state as well and does all of this makes sense to you?

Sorry for the long post. Here is potato: 🥔

@magiconair
Copy link
Contributor

I think what you are looking for is https://fabiolb.net/ref/registry.consul.service.status/

@kuskmen
Copy link
Contributor Author

kuskmen commented Jun 15, 2018

Hmm thanks mate it looks like it is indeed, but shouldnt we change the getting started page then?

In case you change your mind: #510

@kuskmen kuskmen closed this as completed Jun 16, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants