Health check curl example

Marc Roos M.Roos at f1-outsourcing.eu
Mon Nov 25 11:06:55 EET 2019


 
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
> 
> 




More information about the dovecot mailing list