Product Documentation

Graceful shutdown of services

Starting with NetScaler 12.1 build 49.xx, Citrix ADC clusters support graceful shutdown of services. To gracefully shutdown the services, you can perform one of the following tasks.

  • Explicitly disable the service, and

    • Set a delay (in seconds).
    • Enable graceful shutdown.
  • Add a TROFS code or string to the monitor.

For more details, see Graceful shutdown of services.

To configure graceful shutdown for a service by using the CLI

Disable with graceful option only:

At the command prompt, type:

disable service <name> [-graceFul (YES|NO)]  

show service <name>

Example

disable service svc1 -graceFul YES
Done
sh service svc1
                svc1 (10.102.225.11:80) - HTTP
                State: GOING OUT OF SERVICE   Graceful (number of active clients: 1)
                Last state change was at Wed Jul 25 10:46:29 2018
                Time since last state change: 0 days, 00:00:02.680
                ……….
                ……….
                Traffic Domain: 0

1)            Monitor Name: tcp-default
                                State: UP             Weight: 1             Passive: 0
                                Probes: 26           Failed [Total: 0 Current: 0]
                                Last response: Success - TCP syn+ack received.
                                Response Time: 0.0 millisec

Disable with timeout and graceful option:

At the command prompt, type:

disable service <name> [<delay>] [-graceFul (YES|NO)]  

show service <name>  

Example

disable service svc1 2000 -graceFul YES

Done
> sh service svc1
                svc1 (10.102.225.11:80) - HTTP
                State: GOING OUT OF SERVICE (Graceful (number of active clients: 1), Out Of Service in 1998 seconds)
                Last state change was at Wed Jul 25 10:49:08 2018
                Time since last state change: 0 days, 00:00:01.710
                ……….
                ……….
                Traffic Domain: 0

1)            Monitor Name: tcp-default
                                State: UP             Weight: 1             Passive: 0
                                Probes: 57           Failed [Total: 0 Current: 0]
                                Last response: Success - TCP syn+ack received.
                                Response Time: 0.0 millisec
Done

Disable service group with timeout and graceful option:

At the command prompt, type:

disable serviceGroup <serviceGroupName>@ [<serverName>@ <port>] [-delay
<secs>] [-graceFul ( YES | NO )]
Show service group <serviceGroupName>

Example:

disable servicegroup sg -delay 2000 -graceFul yes
sh servicegroup sg
                sg - HTTP
                State: DISABLED                Effective State: OUT OF SERVICE Monitor Threshold : 0
                Max Conn: 0       Max Req: 0          Max Bandwidth: 0 kbits
                Use Source IP: NO
                Client Keepalive(CKA): NO
                ……….
                ………


                1)   200.200.10.21:80       Server Name: server3    Server ID: None Weight: 1
                                State:    GOING OUT OF SERVICE (learnt from node:2 )     Graceful (number of active clients: 6), Out Of Service in 1993 seconds
                                Last state change was at Mon Aug 13 15:15:11 2018
                                ………

                2)   200.200.10.22:80       Server Name: server4    Server ID: None Weight: 1
                                State:    GOING OUT OF SERVICE (learnt from node:2 )     Graceful (number of active clients: 7), Out Of Service in 1993 seconds
                                Last state change was at Mon Aug 13 15:15:11 2018

Note: CLIP displays the aggregated value of all active clients connections from all cluster nodes.

To configure graceful shutdown for a service by using the GUI

  1. Navigate to Traffic Management > Load Balancing > Services.
  2. Open the service, and from the Action list, click Disable. Enter a wait time, and select Graceful.

To configure a TROFS code or string in a monitor by using the CLI

At the command prompt, type one of the following commands:

add lb monitor <monitor-name> HTTP -trofsCode <respcode>
add lb monitor <monitor-name> HTTP-ECV  -trofsString <resp string>
add lb monitor <monitor-name> TCP-ECV  -trofsString <resp string>

To configure a TROFS code or string in a monitor by using the GUI

  1. Navigate to Traffic Management > Load Balancing > Monitors.

  2. On the Monitors pane, click Add, and do one of the following steps:

    • Select Type as HTTP, and specify a TROFS Code.
    • Select Type as HTTP-ECV or TCP-ECV, and specify a TROFS String.