USS CONTROL Policy Item

If you select the USS CONTROL policy item on the Policy Selection panel for USS subsystems, SA z/OS displays the panel shown in Figure 1 and Figure 2 where you can enter additional information for UNIX subsystems.

Figure 1. USS Control Specification Panel for Application Classes
   COMMANDS  HELP                                                               
 ------------------------------------------------------------------------------ 
 AOFGDYNA                  USS Control Specification              Line 00000001 
 Command ===>                                                  Scroll ===> CSR  
                                                                                
 Entry Type : Application           PolicyDB Name   : USER_PDB                  
 Entry Name : C_USS_APPL            Enterprise Name : USER_ENTERPRISE           
                                                                                
 User ID  . . . . . . . . OMVSKERN                                              
                                                                                
 Monitoring Command . . .                                                       
                                                                                
                                                                                
                                                                                
 Further definitions have to be done for the instance objects.                  
 ******************************* Bottom of data ********************************
Figure 2. USS Control Specification Panel for Application Instances
   COMMANDS  HELP                                                               
 ------------------------------------------------------------------------------ 
 AOFGDYNA                  USS Control Specification              Line 00000001 
 Command ===>                                                  Scroll ===> CSR  
                                                                                
 Entry Type : Application           PolicyDB Name   : USER_PDB                  
 Entry Name : SSHD                  Enterprise Name : USER_ENTERPRISE           
                                                                                
 User ID  . . . . . . . . OMVSKERN                                              
                                                                                
 Monitoring Command . . .                                                       
                                                                                
                                                                                
                                                                                
 Specify either a USS Process, a USS File or a USS Port:                        
 Process Command/Path . .                                                       
 /usr/sbin/sshd                                                                 
                                                                                
 with Filter  . . . . . .                                                       
 USSFILT                                                                        
                                                                                
                                                                                
 File Name  . . . . . . .                                                       
                                                                                
                                                                                
 IP Stack . . . . . . . .                                                         
 Port Number  . . . . . .                                                       
 

If either of the values for the User ID or Monitoring Command has been inherited from linked classes, they are displayed in a different color. You can find out which class a value has been inherited from by typing the command classname (or its abbreviation cn) on the command line, moving the cursor to the field of interest and pressing Enter. You can override any inherited values by overtyping them. If you override either of the values that have been inherited, they are individually applied to the current application and change color to turquoise to indicate this.

For class objects, only User ID and Monitoring Command may be specified.

For instance objects, additionally either Process, File, or Port monitoring must be specified.

User ID
Enter the UNIX user ID that this resource belongs to.
Monitoring Command
Enter the UNIX System Services monitoring command that is used to get the status of the resource. This command must be a valid program in the zFS. If the field is left blank, the SA z/OS supplied standard monitoring routine is used. The return codes must be one of the following:
0
The resource is available.
4
The resource is starting.
8
The resource is unavailable.
12
An error occurred.
If the first character is a '/', the specified command is considered to be an absolute path. Otherwise the monitoring routine must be in the same directory as the SA z/OS routines.
For USS Process monitoring specify either one or both of the following fields:
Process Command/Path
Enter the path of the command that is running, as shown by the UNIX command ps -e.
Sample output of UNIX ps -e command:
     PID ... CMD                                                    
      16 ... /usr/sbin/inetd                                        
50331665 ... /bin/sh                                                
50331666 ... /usr/sbin/sshd                                         
83886161 ... /SYSTEM/local/WebSphere/V6R1/AP/AppServer/java/bin/java
50331736 ... /local/WebSphere/V6R1/AP/AppServer/java/bin/java       
Filter
Enter additional filter criteria to uniquely identify the USS process. This field is optional and can be specified only if a Process Command/Path specification is available.

As shown in the sample output for the Process Command/Path field, the command/path specification, especially for Java™ processes, is not unique. You can use the UNIX command ps -ef to obtain the complete definitions.

Sample output of the UNIX ps -ef command:
     PID ... CMD                                                                          
83886161 ... java -Djava.util.logging.configureByServer=true
50331736 ... java -Dcom.ibm.eez.adapter.debug=true
16398523 ... java -X32m -X256m -Xquick -Dibm=1 -Ds=2 -Dl=1 Da=5 De=7 
13259061 ... sh -c sleep 300 ; uss_command parm1
Specify -Djava.util.logging.configureByServer=true as filter to identify the first Java process listed above.

There are some cases that you cannot use the ps -ef command output directly:

  • Quotation marks (example PID 13259061)

    If the USS start command does contain quotation marks, for example,

    sh -c 'sleep 300 ; uss_command parm1'

    Then the quotation marks are not present any longer when you are checking the running processes within the system. Nevertheless, specify the filter data with single-quotation marks to be able to identify the process within the system:

    -c 'sleep 300 ; uss_command parm1'
  • Variable substitution & quoted strings (example PID 16398523)

    A USS shell script may contain variables that are surrounded by double and single quotation marks, for example,

    ...
    #variable section
    JO='-X32m -X256m'
    JP1='-Xquick -Dibm=1'
    JP2='-Ds=2 -Dl=1'
    #command execution
    nohup java "${JO}" "$JP1" $JP2 'Da=5 De=7'
    ...
    When the command is issued, the variables are resolved.

    Specify the filter data with single-quotation marks surrounding the resolved content as detected from the running process:

    '-X32m -X256m' '-Xquick -Dibm=1' -Ds=2 -Dl=1 'Da=5 De=7'
For USS File monitoring specify the following field:
File Name
Enter the path of a file in the zFS. If the file exists and the user ID that you specified is the owner of the file the resource is available, otherwise the resource is not available.
For USS Port monitoring specify either one or both of the following fields:
IP Stack
Enter the TCP/IP jobname to indicate the corresponding IP stack. Complete this field only if your system is configured for multiple IP stacks. If nothing is specified, the first active TCP/IP job is used. You may include system symbols and system automation symbols.
Port Number
Enter the TCP port number that this resource is supposed to listen to on the local host.