Probe question on ACE

Unanswered Question
Jul 23rd, 2008
User Badges:

I have a serverfarm with four rservers defined with port 80,8080,8009. Each rserver is defined with a probe for each individual probes like TCP_80, TCP_8080 and TCP_8009


Out of these three ports only port 80 is listening. Other ports are down


When I do show serverfarm it says probe failed. why? I know 2 ports are down but port 80 is listening



  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 3 (1 ratings)
Loading.
kirit_patel Wed, 07/23/2008 - 17:49
User Badges:

I know how to do show probe but thats not what I am asking . I have a serverfarm defined as follows. This serverfarm has only 1 server



show serverfarm 204.6.147.30-any

serverfarm : 204.6.147.30-any, type: HOST

total rservers : 1

---------------------------------

----------connections-----------

real weight state current total

---+---------------------+------+------------+----------+--------------------

rserver: nj09mhe0111

172.28.8.46:0 8 PROBE-FAILED 0 0



The rserver looks like this


rserver host nj09mhe0111

ip address 172.28.8.46

probe PING

inservice



The serverfarm looks like this


serverfarm host 204.6.147.30-any

probe TCP_80

probe TCP_8080

probe TCP_40000

probe TCP_40001

probe TCP_50668

rserver nj09mhe0111

inservice


Only port 80 is running on the server but the probe fails for the serverfarm.why? We need to probe those services even though they are down


Here are the probes


probe tcp TCP_40000

port 40000

interval 5

passdetect interval 5

connection term forced

probe tcp TCP_40001

port 40001

interval 5

passdetect interval 5

connection term forced




Syed Iftekhar Ahmed Wed, 07/23/2008 - 19:10
User Badges:
  • Blue, 1500 points or more

if you define multiple probes under a severfarm then all need to pass before serverfarm is declared operational.


If you want it to fail only when all probes fail then you need to use "fail-on-all" command under server farm.


Syed

kirit_patel Thu, 07/24/2008 - 07:24
User Badges:

there is no fail-on-all command under serverfarm. There is failaction command. But so let me get this straight. If 4 probes are defined under serverfarm and only 1 probe is up i should use the fail-on-all command right? so where is this command under serverfarm I only see


description Configure description string for serverfarm

do EXEC command

end Exit from configure mode

exit Exit from this submode

failaction Configure action to be taken on rserver failure or removal

no Negate a command or set its defaults

predictor Configure Load Balancing Predictor Algorithm for the serverfarm

probe Associate probe with sfarm

retcode Configure http return code checking

rserver Associate server with serverfarm

transparent No virtual-address to real-address translation


ciscocsoc Thu, 07/24/2008 - 07:51
User Badges:
  • Silver, 250 points or more

Hi,


The fail-on-all option comes with ACE 2.1.0:


Quoth the manual:

"By default, real servers that you configure in a server farm inherit the probes that you configure directly on that server farm. When you configure multiple probes on a server farm, the real servers in the server farm use an OR logic with respect to the probes. This means that if one of the probes configured on the server farm fails, all the real servers in that server farm fail and enter the PROBE-FAILED state.

With AND logic, if one server farm probe fails, the real servers in the server farm remain in the OPERATIONAL state. If all the probes associated with the server farm fail, then all the real servers in that server farm fail and enter the PROBE-FAILED state. You can also configure AND logic for probes that you configure directly on real servers in a server farm. For more information, see the command in server farm host real server configuration mode.

Examples

To configure the SERVER1 real server to remain in the OPERATIONAL state unless all associated probes fail, enter the following commands:

host1/Admin(config)# rserver SERVER1

host1/Admin(config-rserver-host)# ip address 192.168.12.15

host1/Admin(config-rserver-host)# probe HTTP_PROBE

host1/Admin(config-rserver-host)# probe ICMP_PROBE

host1/Admin(config-rserver-host)# fail-on-all

To remove the AND probe logic from the real server and return the behavior to the default of OR logic, enter the following command:

host1/Admin(config-rserver-host)# no fail-on-all"


Example from my 2.1.0a system:


ace1/web2(config)# serverfarm FARM-Wibble

ace1/web2(config-sfarm-host)# ?

Configure host serverfarm:

description Configure description string for serverfarm

do EXEC command

end Exit from configure mode

exit Exit from this submode

fail-on-all Fail reals when all probes fail

failaction Configure action to be taken on rserver failure or removal

no Negate a command or set its defaults

partial-threshold Configure partial-threshold % to deactivate the sfarm

predictor Configure Load Balancing Predictor Algorithm for the serverfarm

probe Associate probe with sfarm

retcode Configure http return code checking

rserver Associate server with serverfarm

transparent No virtual-address to real-address translation


Which version of ACE software are you using?


HTH


Cathy

kirit_patel Thu, 07/24/2008 - 08:07
User Badges:

I am running REL_3_0_0_A1_6_3 and thats a problem i don't see that commands under rserver and serverfarm

ciscocsoc Thu, 07/24/2008 - 08:11
User Badges:
  • Silver, 250 points or more

Hi,


You will need to upgrade from 1.6.3 to version 2.1.0 or higher to use this feature.


Cathy

kirit_patel Thu, 07/24/2008 - 08:14
User Badges:

whats the exact release can u send me show version from your box

ciscocsoc Thu, 07/24/2008 - 08:18
User Badges:
  • Silver, 250 points or more

sh ver

Cisco Application Control Software (ACSW)

TAC support: http://www.cisco.com/tac

Copyright (c) 2002-2008, Cisco Systems, Inc. All rights reserved.

The copyrights to certain works contained herein are owned by

other third parties and are used and distributed under license.

Some parts of this software are covered under the GNU Public

License. A copy of the license is available at

http://www.gnu.org/licenses/gpl.html.


Software

loader: Version 12.2[120]

system: Version A2(1.0a) [build 3.0(0)A2(1.0a) adbuild_04:14:49-2008/04/18_/auto/adbu-rel3/rel_a2_1_throttle/REL_3_0_0_A2_1_0A]

system image file: [LCP] disk0:c6ace-t1k9-mz.A2_1_0a.bin

installed license: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

followurself Tue, 08/12/2008 - 00:51
User Badges:

Hi,

Can you please elborate the OR logic, when one probe fails all servers in the farm enter the probe failed state. does that mean no requests will be processed for that server farm?

one more question

we want a single vip to listen on multiple ports. e.g port 8010, 8111, 8112. there are 3 servers in the farm. these servers actually listen on 9010, 9111, 9112..how does the port translation happens and how will ace understand if request come for 8010 forward it to 9010 and so on.

also probing on ports 9010, 9111 and 9112 needs to be enabled and if 9010 stops listening on port 9010, only that server should be out of service for all the 3 ports. how this can be achieved

Thanks


Syed Iftekhar Ahmed Tue, 08/12/2008 - 01:15
User Badges:
  • Blue, 1500 points or more

I have written and attached a sample config for your requirement.

Above discussion doesn't hold true for your requirement. You need 3 different class-maps and policies.


Syed



Attachment: 
Gilles Dufour Tue, 08/12/2008 - 05:06
User Badges:
  • Cisco Employee,

The wording was a little bit misleading.

The default is that if you configure many probes and one of them fails, the rservers which didn't respond to the probe, will go down.

Only those rservers will fail. Not all of them.


With the new command provided, all probes for one rserver need to fail before that rserver is put into failed state.


Hope this helps.


Gilles.

Syed Iftekhar Ahmed Tue, 08/12/2008 - 08:36
User Badges:
  • Blue, 1500 points or more

It became misleading because in question only a single real server was used in the serverfarm :)


syed

followurself Tue, 08/19/2008 - 04:17
User Badges:

Thanks

more to add

actually all these ports will be listen by a http server. so with your config i have replaced the probe type to be http

The config you attached has a class map to match the vip address with a policy map type loadbalance and have a action with server farm. how do i also get stickyness applied. within the policy -map only one action is allowed

so when a request on port 8111, it should be loadbalanced and translated to port 9111. and stickyness applied. with any other ports probing 9010, 9112 failure the server should be removed from the requests being sent.

will appreciate your comments

Thanks

Frederick Reimer Tue, 08/19/2008 - 05:39
User Badges:

For sticky, just create a sticky serverfarm and reference your existing serverfarm, then change your loadbalance policy to refer to your sticky serverfarm instead of your existing serverfarm. You could try reading the manuals...


followurself Tue, 08/19/2008 - 07:05
User Badges:

load balancing policy can have either sticky command or server farm. so with the config attached where we need a single vip listening for multiple ports and then understand when a request received for a port say 8010 translated to 9010 only and not others. the load balance policy is created for the same. how do i get also sticky group attached in the same policy without affecting the requirements

Thanks

followurself Tue, 08/19/2008 - 07:26
User Badges:

part of the config from the attachment given before

class-map match-all APP-8010

2 match virtual-address 192.168.1.100 tcp eq 8010



policy-map type loadbalance first-match APP-8010-Policy

class class-default

serverfarm SF-PORT-8010


serverfarm host SF-PORT-8010

predictor leastconns

probe TCP9111

probe TCP9010

probe TCP9112

rserver Realserver1 9010

inservice

rserver Realserver2 9010

inservice

rserver Realserver3 9010

inservice


policy-map multi-match VIPS

class APP-8010

loadbalance vip inservice

loadbalance policy APP-8010-Policy

loadbalance vip icmp-reply active


how do i also get stickyness for http cookie in

Thanks

Syed Iftekhar Ahmed Tue, 08/19/2008 - 09:20
User Badges:
  • Blue, 1500 points or more

Just for an example if you want to stick you sessions based on "JSESSION" cookie then the above config will change to



serverfarm host SF-PORT-8010

predictor leastconns

probe TCP9111

probe TCP9010

probe TCP9112

rserver Realserver1 9010

inservice

rserver Realserver2 9010

inservice

rserver Realserver3 9010

inservice




sticky http-cookie JSESSIONID APP-8010-STICKY

cookie offset 53 length 10

timeout 120

replicate sticky

serverfarm SF-PORT-8010



class-map match-all APP-8010

2 match virtual-address 192.168.1.100 tcp eq 8010



policy-map type loadbalance first-match APP-8010-Policy

class class-default

sticky-serverfarm APP-8010-STICKY




policy-map multi-match VIPS

class APP-8010

loadbalance vip inservice

loadbalance policy APP-8010-Policy

loadbalance vip icmp-reply active


Syed

Frederick Reimer Tue, 08/19/2008 - 07:33
User Badges:

You can read the "Cisco Application Control Engine Module Server Load-Balancing Configuration Guide" Chapter 5 - "Configuring Stickiness" to start. There is a section there on the Overview of Stickiness, Configuration Requirements and Considerations, and a specific section on Configuring HTTP-Cookie Stickiness. Finally, there are sections on Configuring an SLB Traffic Policy for Stickiness, Displaying Sticky Configurations and Statistics, Clearing Sticky Statistics, and actual Example of a Stick Configuration.


If you have a specific question, by all means ask, but a general "how do I configure stickiness" is well answered by the manuals.


Actions

This Discussion