Temporal Server Logs location & Health check context url

Hi,

I have deployed the temporal server in kubernetes cluster, I would like to know the how & where to configure the logs for workflow services like frontend, worker, matching & history.

How to check the health check for all the 4 services? is there any default context?

Are you looking for server logs or metrics?
In order to get a good picture of your cluster health you should most likely set up metrics, dashboards and possibly alerts.

For health checks see this post for more info.

SDKs in addition perform the gRPC health check when you create a new client.
With tctl you can also health check the front-end service with command:
tctl cluster health

@tihomir
Server Logs:
I am looking on server logs of the services frontend, matching, worker & history.
I have deployed each service in separate pods in Kubernetes.
I would like to log some location like /opt/logs,.

Health Check:
Do we have health check url for all the services that can be tested through http(s) url instead of CLI

tctl cluster health

like… https://temporal-server/frontend/healthcheck
https://temporal-server/worker/healthcheck

something like this?

For health check you can see sample code here:

Note that fullWorkflowServiceName
should be changed depending on which service you want to health check:

temporal.api.workflowservice.v1.WorkflowService
temporal.api.workflowservice.v1.HistoryService
temporal.api.workflowservice.v1.MatchingService

and as mentioned you can health check FrontEnd service via the tctl cluster health command.

I believe that for server logs it goes to stderr and stdout by default. This should be able to be changed via your deployment infra config tho. Will check more on this and get back to you.

You can configure where the log is written:

All services are gRPC endpoints and healthcheck is implemented in standard gRPC way. Please check gRPC doc for more details.
AWS for example, support gRPC healthcheck out of the box.
If you want to do it manually you need a special tool (sort of curl for gRPC) for it. It is very easy to write one in go, or you can use grpcurl or evans.

@tihomir
Can’t we enable all 4 services healthCheck? How to do it?
is there way we can enable healthCheck for all 1 or 4 services from config deployment file?