Health check curl example

Marc Roos
Mon, 25 Nov 2019 09:06:55 -0000

Thanks, Markus, maybe we should add this to the admin_manual? However I
am now getting the error 'script: Fatal: Missing script path'

Similar as when I try via the command line
bash-5.0# /usr/libexec/dovecot/script -e  /bin/health-check.sh
Fatal: Missing script path


bash-5.0# /usr/libexec/dovecot/script -e  /bin/ health-check.sh
Panic: BUG: No IOs or timeouts set. Not waiting for infinity.
Aborted (core dumped)




-----Original Message-----
Subject: Re: Health check curl example

Hi,

you can use telnet or netcat to send input to that port and receive the
answer.

echo "PING" | nc localhost 5001

Best regards

Markus


On 11/24/19 2:43 PM, Marc Roos via dovecot wrote:
>
> How do I check the standard script then on this port 5001 from the
> command line?
>
>
> This one of alpine linux also does not have it yet bash-5.0# dovecot
> --version
> 2.3.7.2 (3c910f64b)
>
>
>
>
>
> -----Original Message-----
> Subject: RE: Health check curl example
>
> Yes. The passthrough option is rather new.
>
> Aki
>
> 	On 24/11/2019 15:28 Marc Roos via dovecot < dovecot at dovecot.org>
> wrote:
>
>
> 	I think I already have that, I am having this configured
>
> 	service health-check {
> 	# this is the default configuration using the simple PING->PONG
> 	# example health-check.
> 	executable = script -p /bin/health-check.sh
> 	inet_listener health-check {
> 	port = 5001
> 	}
> 	}
>
> 	bash-5.0# /bin/health-check.sh
> 	HTTP/1.1 200 OK
> 	Connection: keep-alive
>
> 	OK
>
>
>
>
>
> 	-----Original Message-----
> 	Subject: Re: Health check curl example
>
> 	Your health check script should implement HTTP protocol. Then you
can
> 	use passthrough mode and use cURL.
>
> 	The provided script does not speak HTTP.
>
> 	Aki
>
> 	On 24/11/2019 15:12 Marc Roos via dovecot < dovecot at dovecot.org>
> 	wrote:
>
>
> 	I am not understanding how this health check[1] script should
work.
>
> 	From
> 	the commandline it works fine when I type a PING I get a PONG.
But
> 	how
> 	do I do a curl to this 5001 port?
>
> 	Tried something like this:
>
> 	bash-5.0# curl http://localhost:5001/
> 	curl: (56) Recv failure: Connection reset by peer
>
> 	bash-5.0# curl http://localhost:5001/PING
> 	curl: (56) Recv failure: Connection reset by peer
>
> 	[1]
> 	https://doc.dovecot.org/admin_manual/health_check/
>
>
> 	---
> 	Aki Tuomi
>
>
> ---
> Aki Tuomi
>
>