On 31/10/2015 3:14 AM, "Daren Sefcik" <dsef...@hightechhigh.org> wrote: > > > > On Thu, Oct 29, 2015 at 11:15 PM, Igor Cicimov < ig...@encompasscorporation.com> wrote: >> >> >> On 30/10/2015 4:48 PM, "Daren Sefcik" <dsef...@hightechhigh.org> wrote: >> > >> > So I think those links were the right idea and I have been trying different configurations but am not quite there and am hoping somebody can offer a bit more guidance. >> > >> > So when I telnet to the icap server I type in the OPTIONS line followed by (2) return key presses and then it returns the ICAP text, below is my telent session output >> > >> > =================== >> > >> > $ telnet 10.1.4.153 1344 >> > Trying 10.1.4.153... >> > Connected to 10.1.4.153. >> > Escape character is '^]'. >> > OPTIONS icap://127.0.0.1:1344/respmod ICAP/1.0 >> > >> > ICAP/1.0 200 OK >> > ISTAG: "5BDEEEA9-12E4-2" >> > Service: Diladele Web Safety 4.2.0.CBF4 >> > Service-ID: qlproxy >> > Methods: RESPMOD >> > Options-TTL: 3600 >> > Max-Connections: 15000 >> > Allow: 204 >> > Preview: 4096 >> > Transfer-Preview: * >> > Encapsulated: null-body=0 >> > Connection: close >> > >> > ======================== >> > >> > >> > Here is what I have tried in the backend configurations >> > >> > option tcp-check >> > tcp-check send OPTIONS\ icap\:\/\/127\.0\.0\.1\:1344\/respmod\ ICAP\/1\.0\r\n\ >> > tcp-check send \r\n >> > tcp-check expect string ICAP\/1\.0\ 200\ OK >> > >> > >> > but it is still not working, I suspect I need to use some type of regex or such. Hoping somebody can help me along with this. >> > >> > TIA.. >> > >> > >> > On Mon, Oct 19, 2015 at 7:42 AM, Daren Sefcik <dsef...@hightechhigh.org> wrote: >> >> >> >> Thanks Jarno, I am still not sure how I can apply this to each server using a different port but will poke around at it and see if I can figure it out. >> >> >> >> On Mon, Oct 19, 2015 at 1:04 AM, Jarno Huuskonen < jarno.huusko...@uef.fi> wrote: >> >>> >> >>> Hi, >> >>> >> >>> On Sun, Oct 18, Daren Sefcik wrote: >> >>> > I have an ICAP server backend with servers that each listen on different >> >>> > ports, can anyone offer some advice on how to configure health checks for >> >>> > it? I am currently using basic but that really doesn't help if the service >> >>> > is not responding. >> >>> > >> >>> > Here is my haproxy config for the backend: >> >>> > >> >>> > backend HTPL_CONT_FILTER_tcp_ipvANY >> >>> > mode tcp >> >>> > balance roundrobin >> >>> > timeout connect 50000 >> >>> > timeout server 50000 >> >>> > retries 3 >> >>> > server HTPL-WEB-01_10.1.4.153 10.1.4.153:1344 check inter 5000 weight 200 >> >>> > maxconn 200 fastinter 1000 fall 5 >> >>> > server HTPL-WEB-02_10.1.4.154 10.1.4.154:1344 check inter 5000 weight 200 >> >>> > maxconn 200 fastinter 1000 fall 5 >> >>> > server HTPL-WEB-02_10.1.4.155_01 10.1.4.155:8102 check inter 5000 weight >> >>> > 200 maxconn 200 fastinter 1000 fall 5 >> >>> > server HTPL-WEB-02_10.1.4.155_02 10.1.4.155:8202 check inter 5000 weight >> >>> > 200 maxconn 200 fastinter 1000 fall 5 >> >>> >> >>> Do the icap servers (squid+diladele?) respond to something like this: >> >>> https://support.symantec.com/en_US/article.TECH220980.html >> >>> or https://exchange.icinga.org/oldmonex/1733-check_icap.pl/check_icap.pl >> >>> >> >>> Maybe you can use tcp-check to send icap request and look for >> >>> "ICAP/1.0 200" response: >> >>> https://cbonte.github.io/haproxy-dconv/configuration-1.5.html#tcp-check%20connect >> >>> http://blog.haproxy.com/2014/01/02/haproxy-advanced-redis-health-check/ >> >>> >> >>> -Jarno >> >>> >> >>> -- >> >>> Jarno Huuskonen >> >> >> >> >> > >> Since your telnet session is on port 1344, maybe >> >> tcp-check connect port 1344 >> >> before the send command. > > Thank you but each backend server has a different port configured, that is just one example. > > > server HTPL-WEB-01_10.1.4.153 10.1.4.153:1344 check inter 5000 weight 200 maxconn 200 fastinter 1000 rise 1 fall 5 > server HTPL-WEB-02_10.1.4.154 10.1.4.154:1344 check inter 5000 weight 200 maxconn 200 fastinter 1000 rise 1 fall 5 > server HTPL-WEB-02-DOCK-02_10.1.4.155_01 10.1.4.155:8102 check inter 5000 weight 200 maxconn 200 fastinter 1000 rise 1 fall 5 > server HTPL-WEB-02-DOCK-02_10.1.4.155_02 10.1.4.155:8202 check inter 5000 weight 200 maxconn 200 fastinter 1000 rise 1 fall 5
I see. In that case I would say to try: tcp-check expect rstring ICAP\/1\.0\ 200\ OK since the response is multiline and you need regexp as you mentioned.