Technical Forum
Ask questions. Discover Answers.
cancel
Showing results for 
Search instead for 
Did you mean: 
Custom Alert Banner

Health Monitors

ozdemircili_696
Nimbostratus
Nimbostratus
Hi, I have created a health monitor with the following config: Interval 5 Timeout 16 Send String GET /test/test.jsp Receive String HTTP 1\.(0|1) 200 Reverse No Transparent No Alias address ALL Alias Service Port ALL But whne I go to add it to a specific node choosing NODE SPECIFIC I cannot see the monitor I created inside the list. Do I need to do anything else to make the monitor a node specific one? Thanks.
16 REPLIES 16

hooleylist
Cirrostratus
Cirrostratus
See this post for details:

 

 

 

Can't see all the monitors

 

http://devcentral.f5.com/Default.aspx?tabid=53&aft=1172093&afc=1172379

 

 

A node is an IP address whereas a pool member is an IP address and port (with an association to the pool name). Normally, you create a monitor for a pool member without an alias IP or port and the monitor inherits the pool member IP and port. A service level monitor without a hardcoded port can't be associated with a node as there isn't a way for the monitoring daemon to know what port to perform the check on. If you create a monitor with a hardcoded alias port, then you can apply it to a node (an IP address).

 

 

The short answer is that you generally want to associate service monitors with a pool. If you need to create dependencies between multiple ports or multiple IP:ports you can use the alias IP and/or port definitions on the monitor to do so.

 

 

Hope this is clear? If not, can you describe what you're trying to implement in more detail?

 

 

 

Aaron

ozdemircili_696
Nimbostratus
Nimbostratus
Hi absolutely it is clear now. I have managed to add the monitor to the pool I have created. Though I have another problem. As the send string I have placed GET /test/index.jsp /HTTP1.1\n Host:\nConnection: Closed\n The url / test/index.jsp basicly returns a web page with words "Data and Retailer", A box and a send button. What should I add as the receive string? I have tried adding Data HTTP/(1.0|1.1) (200 OK|304 Not Modified) which didnt succeed. P.S. this is a tomcat app that Im trying to monitor. When the app stops the page still exists but gives a 404 error.

hooleylist
Cirrostratus
Cirrostratus
Can you test this using netcat? Also, \r\n is the delimiter for lines in HTTP. Can you try this as your request to netcat:

 

 

echo -e "GET /test/index.jsp /HTTP1.1\r\n Host:\r\nConnection: Close\r\n\r\n" | nc 1.1.1.1 80

 

 

Replace 1.1.1.1 80 with your server IP and port.

 

 

And then try this as your send string in the monitor configuration:

 

 

GET /test/index.jsp /HTTP1.1\r\n Host:\r\nConnection: Close

 

 

The monitoring daemon in 9.4 - 10.1 appends two CRLFs to the end of the send string, so you shouldn't include them. Note I've removed the d in closed.

 

 

Can you try this as a receive string:

 

 

HTTP/1\.(0|1) (200|304)

 

 

Aaron

ozdemircili_696
Nimbostratus
Nimbostratus
Hi, I have added them. Although I have the tomcat working and application stopped the monitor still shows the node as active. The output of the command from my workstation is: HTTP/1.1 505 Versi�n de HTTP No Soportada Server: Apache-Coyote/1.1 Date: Fri, 18 Jun 2010 08:09:18 GMT Connection: close Just a sidenote on the command. As it is tomcat I am using 8080: echo -e "GET /test/test.jsp /HTTP1.1\r\n Host:\r\nConnection: Close\r\n\r\n" | nc ipoftheserver 8080

hooleylist
Cirrostratus
Cirrostratus
A 505 status indicates the client HTTP version not supported. Can you add a space between HTTP and 1.1?

 

 

Aaron

ozdemircili_696
Nimbostratus
Nimbostratus
Hi Aaron, I have added the following as the send string GET /test/index.jsp /HTTP 1.1\r\n Host:\r\nConnection: Close Although the app is up it shows as offline.

hooleylist
Cirrostratus
Cirrostratus
Which LTM version are you running? Can you test the monitor send string with netcat and reply with the output?

 

 

echo -e "GET /test/index.jsp HTTP/1.1\r\n Host: \r\nConnection: Close\r\n\r\n" | nc 1.1.1.1 80

 

 

Thanks, Aaron

ozdemircili_696
Nimbostratus
Nimbostratus
Still Im getting

 

 

HTTP/1.1 505 Versi�n de HTTP No Soportada

 

Server: Apache-Coyote/1.1

 

Date: Fri, 18 Jun 2010 08:37:25 GMT

 

Connection: close

 

 

The version is: BIG-IP 9.4.8 Build 355.0 Final

hooleylist
Cirrostratus
Cirrostratus
I had another typo in the monitor send string. Can you try the edited version from my last post?

 

 

Thanks, Aaron

ozdemircili_696
Nimbostratus
Nimbostratus
Somthing has changed, When the application is online I get the following: HTTP/1.1 400 Petici�n incorrecta Server: Apache-Coyote/1.1 Date: Fri, 18 Jun 2010 09:53:59 GMT Connection: close And when I stop the application that is /test/test.jsp does not exist. It still gives the same error.

ozdemircili_696
Nimbostratus
Nimbostratus
Hi, Just an update. I think I was able to find the correct string:

 

 

Send:

 

GET /test.test.jsp/ HTTP/1.1\r\nConnection: Close\r\nHost: \r\n\r\n

 

 

Recv

 

HTTP/1\.(0|1) (200|304)

 

 

Now when I stop the app. The node seems down too.

 

 

 

What do you think?

 

 

 

hooleylist
Cirrostratus
Cirrostratus
It would be ideal to find a page which exists in the application that you can request and receive a 2xx or 3xx response for. You can then use the receive string you have listed to check for the service status.

 

 

Also, the receive string shouldn't have any \r\n's on the end as bigd appends two for you in 9.4.x.

 

 

Aaron

ozdemircili_696
Nimbostratus
Nimbostratus
Hi, Just an update for the people that may have the same problem.With the latest modifications it it is working without problems. Thank you hoolio?

maximillean_953
Nimbostratus
Nimbostratus
i had same issue as you do, its realated with Host: param on http headers, web app servers returns 400 if the http header doesnot include Host

 

for example curl always returned correct but not the nc cause of Host param it took long time for me to figure that out.

 

luciano_55922
Nimbostratus
Nimbostratus
Personally I'm with a problem like this, I have an application that said www.teste.com / apex.apex.jnlp, escrica This application is in java, suppose one of the servers lodged during a problem with java (application) with I I can get this machine in the pool?

Quidity
Nimbostratus
Nimbostratus

Perhaps working with experts in Healthcare, would solve this problem https://tech-stack.com/industries/healthcare