Forum Discussion

Daniel_55334's avatar
Daniel_55334
Icon for Altostratus rankAltostratus
Jun 16, 2011

URL monitoring problem

2 different web servers have to be monitored by LTM with version 10.2.0.

 

1 is 10.10.1.32 with monitoring URL http://10.10.1.32/Web/status.htm. It returns "Running" and I turn on debug with following messages.

 

 

 

2011-06-16 17:01:09.458329: ID 23 :(_send_active_service_ping): writing [ addr=::ffff:10.10.1.32:80 srcaddr=::ffff:10.10.1.7:54665 ] send=GET /Web/status.htm HTTP/1.1\x0d\x0aHost: 10.10.1.32\x0d\x0aConnection: Close\x0d\x0a\x0d\x0a

 

2011-06-16 17:01:09.458436: ID 23 :(_send_active_service_ping): sent ping [ addr=::ffff:10.10.1.32:80 srcaddr=::ffff:10.10.1.7:54665 ]

 

2011-06-16 17:01:09.458527: ID global:(_main_loop): about to select for 0.100000s

 

2011-06-16 17:01:09.458986: ID 23 :(_main_loop): rfd selected [ addr=::ffff:10.10.1.32:80 srcaddr=::ffff:10.10.1.7:54665 fd=9 pend=0 ]

 

2011-06-16 17:01:09.459065: ID 23 :(_recv_active_service_ping): reading [ addr=::ffff:10.10.1.32:80 srcaddr=::ffff:10.10.1.7:54665 ]

 

2011-06-16 17:01:09.459163: ID 23 :(_recv_active_service_ping): rcvd 304 bytes: -->HTTP/1.1 200 OK\x0d\x0aContent-Type: text/html\x0d\x0aLast-Modified: Tue, 14 Jun 2011 08:06:52 GMT\x0d\x0aAccept-Ranges: bytes\x0d\x0aETag: "036a946a2acc1:0"\x0d\x0aServer: Microsoft-IIS/7.5\x0d\x0aX-Powered-By: ASP.NET\x0d\x0aDate: Thu, 16 Jun 2011 09:06:15 GMT\x0d\x0aConnection: close\x0d\x0aContent-Length: 41\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0aRunning\x0d\x0a\x0d\x0a<-- [ addr=::ffff:10.10.1.32:80 srcaddr=::ffff:10.10.1.7:54665 ]

 

2011-06-16 17:01:09.459257: ID 23 :(_recv_active_service_ping): Response matched regex [ addr=::ffff:10.10.1.32:80 srcaddr=::ffff:10.10.1.7:54665 ] send=GET /Web/status.htm HTTP/1.1\x0d\x0aHost: 10.10.1.32\x0d\x0aConnection: Close\x0d\x0a\x0d\x0a

 

recv=Running

 

disable=

 

 

 

monitor configuration:

 

monitor monitor_10.10.1.32_1 {

 

defaults from http

 

recv "Running"

 

send "GET /Web/status.htm HTTP/1.1\r\nHost: 10.10.1.32\r\nConnection: Cl

 

ose\r\n\r\n"

 

}

 

 

 

 

Actually this monitor works find.

 

 

 

However I have another similar monitor which does not work properly. 10.10.1.12 with monitoring URL http://10.10.1.12/health/health.aspx. It returns "OK" and my monitor is configured to match "OK". When the server returns "NOTOK" on purpose, the monitor still deem the response as matched, with following debug message.

 

 

 

2011-06-16 17:01:07.455238: ID 11 :(_send_active_service_ping): writing [ addr=::ffff:10.10.1.12:80 srcaddr=::ffff:10.10.1.7:34974 ] send=GET /health/health.aspx HTTP/1.1\x0d\x0aHost: 10.10.1.12\x0d\x0aConnection: Close\x0d\x0a\x0d\x0a

 

2011-06-16 17:01:07.455344: ID 11 :(_send_active_service_ping): sent ping [ addr=::ffff:10.10.1.12:80 srcaddr=::ffff:10.10.1.7:34974 ]

 

2011-06-16 17:01:07.455465: ID global:(_main_loop): about to select for 0.100000s

 

2011-06-16 17:01:07.457013: ID 11 :(_main_loop): rfd selected [ addr=::ffff:10.10.1.12:80 srcaddr=::ffff:10.10.1.7:34974 fd=9 pend=0 ]

 

2011-06-16 17:01:07.457131: ID 11 :(_recv_active_service_ping): reading [ addr=::ffff:10.10.1.12:80 srcaddr=::ffff:10.10.1.7:34974 ]

 

2011-06-16 17:01:07.457223: ID 11 :(_recv_active_service_ping): rcvd 277 bytes: -->HTTP/1.1 200 OK\x0d\x0aCache-Control: private\x0d\x0aContent-Type: text/html; charset=utf-8\x0d\x0aServer: Microsoft-IIS/7.5\x0d\x0aX-AspNet-Version: 2.0.50727\x0d\x0aX-Powered-By: ASP.NET\x0d\x0aDate: Thu, 16 Jun 2011 09:06:14 GMT\x0d\x0aConnection: close\x0d\x0aContent-Length: 39\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0aNOTOK\x0d\x0a\x0d\x0a<-- [ addr=::ffff:10.10.1.12:80 srcaddr=::ffff:10.10.1.7:34974 ]

 

2011-06-16 17:01:07.457316: ID 11 :(_recv_active_service_ping): Response matched regex [ addr=::ffff:10.10.1.12:80 srcaddr=::ffff:10.10.1.7:34974 ] send=GET /health/health.aspx HTTP/1.1\x0d\x0aHost: 10.10.1.12\x0d\x0aConnection: Close\x0d\x0a\x0d\x0a

 

recv=OK

 

disable=

 

 

 

monitor configuration:

 

monitor monitor_10.10.1.12_1 {

 

defaults from http

 

recv "OK"

 

send "GET /health/health.aspx HTTP/1.1\r\nHost: 10.10.1.12\r\nConnection: Clo

 

se\r\n\r\n"

 

}

 

 

 

 

 

 

Could someone shield some light on this? Many thanks!

 

 

 

Daniel

 

  • Nice catch, Nitass.. Just found this SOL3618:

     

    http://support.f5.com/kb/en-us/solutions/public/3000/600/sol3618.html
  • Nice work in catching that Nitass. But I'd still expect \r\nOK to work only when the pool member returns OK as part of the payload as the 200 OK isn't an OK following a CR LF.

     

     

    Odd...

     

     

    Aaron