Grpc resource can't hit health check

-Goals: I want to be able to hit the grpc.health.v1.Health/Check endpoint on my grpc service.

  • Details: I have a grpc server hosting 2 services - my primary service and the grpc.health.v1.Health service to use for healthchecks. when i go to use the Resource i see the primary service but grpc.health.v1.Health is not listed so i cannot hit the Check endpoint. I also stoodup a seperate server for just grpc.health.v1.Health on its own port and when creating the resource i can successfully test the connection but no services are listed.

  • Steps: stand up a grpc server exposing the default grpc.health.v1.Health, connect it to Retool, try and call the grpc.health.v1.Health/Check endpoint

Is there a particular way to configure the GRPC resource to be able to expose the grpc.health.v1.Health service ?
How do I call the Check endpoint?

Notes:

  • using the SaaS version (not self-hosted)
  • the grpc server has reflection turned on so it should find all services running by default
  • retool properly displays and i can hit the primary service & endpoints without any issues
1 Like

Hey @IlanRasekh_Receive! Welcome to the community and thanks for reaching out. :slightly_smiling_face:

Are you able to hit that particular service and endpoint when connecting to your server in other ways? Whether manually or through another platform?

I'd also be interested in seeing whether your server's proto file explicitly defines the Health service, as that may be necessary when using server reflection. Are you able to share any code snippets or screenshots?

Hi @Darren - yes when I run evans from my terminal and list services, in addition to my service i get:

grpc.health.v1.Health
grpc.reflection.v1.ServerReflection
grpc.reflection.v1alpha.ServerReflection

this also works from grpcurl and I see the Health service in my postman (I can hit it from a custom script - e.g. python, etc.)

that said, no the Health service is not explicitly defined in my proto file (but I'm using reflection in my retool instance). Rather it's an additional service I launch on every one of my grpc servers.