Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

Need GET health check endpoint for deployment status #9401

Closed
robdoesstuff opened this issue Aug 22, 2018 · 10 comments
Closed

Need GET health check endpoint for deployment status #9401

robdoesstuff opened this issue Aug 22, 2018 · 10 comments
Labels
F3-annoyance 💩 The client behaves within expectations, however this “expected behaviour” itself is at issue. M6-rpcapi 📣 RPC API. P5-sometimesoon 🌲 Issue is worth doing soon.
Milestone

Comments

@robdoesstuff
Copy link

Running Parity 1.11.8

There is no documented health check which we can use for checking for service presence. Most services have a static GET /health, /status or /ping which returns either the current time as JSON or a static up:true or something that load balancers and monitoring systems can use to determine the service is running.

We have been trying to use the peer count endpoint to determine if it's up but that endpoint is unreliable, often timing out after several seconds and leading to false service outage errors for us.

@Tbaut
Copy link
Contributor

Tbaut commented Aug 23, 2018

The /api/health has been removed. We advise to use:

  • eth_syncing for sync state
  • parity_netPeers for network state

If you have problems with one of those, then please open an issue as it is expected to work reliably.

@Tbaut Tbaut added Z1-question 🙋‍♀️ Issue is a question. Closer should answer. M6-rpcapi 📣 RPC API. labels Aug 23, 2018
@Tbaut Tbaut added this to the 2.1 milestone Aug 23, 2018
@robdoesstuff
Copy link
Author

We were previously using net_peerCount but it's unreliable and times out often. I filed an issue for it last year (#8141) but it was ignored and the problem is not fixed. We still have timeouts with that call, and upon inspection of the underlying code in the service, it appears to do some major digging and possibly wait on locks, so it's not the kind of endpoint you'd want to use for a fast availability check.

Also the convention most load balancers use is just a simple GET. Setting up a POST with data is sometimes hard in some environments and with some services, and I'm seeing solutions being used where people are adding GET /health sidecars to their docker containers which do the health check.

I agree that fixing the peer count endpoint is a separate topic, but as it stands today, it's not a suitable replacement and is not the normal convention used for service up checks.

@Tbaut
Copy link
Contributor

Tbaut commented Aug 24, 2018

I filed an issue for it last year (#8141) but it was ignored and the problem is not fixed

If I read this correctly, it got anything but ignored.. questions were asked and not answered 🙄

so it's not the kind of endpoint you'd want to use for a fast availability check.

Also the convention most load balancers use is just a simple GET.

Agreed, we can discuss it here.

@Tbaut Tbaut added P5-sometimesoon 🌲 Issue is worth doing soon. F3-annoyance 💩 The client behaves within expectations, however this “expected behaviour” itself is at issue. and removed Z1-question 🙋‍♀️ Issue is a question. Closer should answer. labels Aug 24, 2018
@5chdn 5chdn modified the milestones: 2.1, 2.2 Sep 11, 2018
@debris
Copy link
Collaborator

debris commented Sep 17, 2018

@tomusdrw what is the status of it? Is parity-ethereum master already exposing it? :)

@tomusdrw
Copy link
Collaborator

Merged here: paritytech/jsonrpc#301 jsonrpc bump and implementation on Parity Ethereum side needed.

@prettymuchbryce
Copy link

@tomusdrw Thank you for addressing.

How will we take advantage of this when it is merged?

Previously we were hitting :8545/api/health. Will this still be the same?

@tomusdrw
Copy link
Collaborator

@prettymuchbryce yes, although the response will be a different JSON (definitely no time info).

@stephgosling
Copy link

stephgosling commented Oct 23, 2018

Can I just say that with Constantinople happening on the 25th of October this is actually quite a big deal for folks who don't have a proxy service in place to monitor this health :/

@5chdn 5chdn modified the milestones: 2.2, 2.3 Oct 29, 2018
@levino
Copy link

levino commented Nov 6, 2018

What is the status on this?

@tomusdrw
Copy link
Collaborator

tomusdrw commented Nov 6, 2018

@levino PR pending: #9847

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
F3-annoyance 💩 The client behaves within expectations, however this “expected behaviour” itself is at issue. M6-rpcapi 📣 RPC API. P5-sometimesoon 🌲 Issue is worth doing soon.
Projects
None yet
Development

No branches or pull requests

8 participants