Professional Documents
Culture Documents
Management
User Guide
r11 SP4
This documentation and any related computer software help programs (hereinafter referred to as the
"Documentation") are for your informational purposes only and are subject to change or withdrawal by CA at any
time.
This Documentation may not be copied, transferred, reproduced, disclosed, modified or duplicated, in whole or in
part, without the prior written consent of CA. This Documentation is confidential and proprietary information of CA
and may not be used or disclosed by you except as may be permitted in a separate confidentiality agreement
between you and CA.
Notwithstanding the foregoing, if you are a licensed user of the software product(s) addressed in the
Documentation, you may print a reasonable number of copies of the Documentation for internal use by you and
your employees in connection with that software, provided that all CA copyright notices and legends are affixed to
each reproduced copy.
The right to print copies of the Documentation is limited to the period during which the applicable license for such
software remains in full force and effect. Should the license terminate for any reason, it is your responsibility to
certify in writing to CA that all copies and partial copies of the Documentation have been returned to CA or
destroyed.
TO THE EXTENT PERMITTED BY APPLICABLE LAW, CA PROVIDES THIS DOCUMENTATION "AS IS" WITHOUT
WARRANTY OF ANY KIND, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT. IN NO EVENT WILL CA BE LIABLE TO THE END
USER OR ANY THIRD PARTY FOR ANY LOSS OR DAMAGE, DIRECT OR INDIRECT, FROM THE USE OF THIS
DOCUMENTATION, INCLUDING WITHOUT LIMITATION, LOST PROFITS, LOST INVESTMENT, BUSINESS
INTERRUPTION, GOODWILL, OR LOST DATA, EVEN IF CA IS EXPRESSLY ADVISED IN ADVANCE OF THE
POSSIBILITY OF SUCH LOSS OR DAMAGE.
The use of any software product referenced in the Documentation is governed by the applicable license agreement
and is not modified in any way by the terms of this notice.
The manufacturer of this Documentation is CA.
Provided with "Restricted Rights." Use, duplication or disclosure by the United States Government is subject to the
restrictions set forth in FAR Sections 12.212, 52.227-14, and 52.227-19(c)(1) - (2) and DFARS Section 252.2277014(b)(3), as applicable, or their successors.
Copyright 2010 CA. All rights reserved. All trademarks, trade names, service marks, and logos referenced herein
belong to their respective companies.
Contact CA Technologies
Contact Technical Support
For your convenience, CA Technologies provides one site where you can
access the information you need for your Home Office, Small Business, and
Enterprise CA Technologies products. At http://ca.com/support, you can
access the following:
Provide Feedback
If you have comments or questions about CA Technologies product
documentation, you can send a message to techpubs@ca.com.
If you would like to provide feedback about CA Technologies product
documentation, complete our short customer survey, which is available on the
CA Support website at http://ca.com/docs.
Contents
Chapter 1: Introduction
15
Chapter 2: Security
37
Contents 5
75
85
6 User Guide
119
Contents 7
Resetting a Job Flow with Time Conditions Through INACTIVE Status Change ........................ 138
Resetting a Job Flow with Time Conditions Through Box Job................................................ 139
141
169
8 User Guide
Chapter 8: Machines
183
207
Contents 9
217
235
239
10 User Guide
265
Contents 11
295
303
How System Components Are Affected When a Job Is Defined .................................................. 303
Windows Services Troubleshooting ....................................................................................... 304
Event Server Troubleshooting .............................................................................................. 305
Event Server Is Down ................................................................................................... 305
Deadlocks....................................................................................................................306
Not Enough User Connections ......................................................................................... 306
Scheduler Troubleshooting .................................................................................................. 307
Scheduler Is Down ........................................................................................................ 308
Scheduler Will Not Start ................................................................................................ 309
Scheduler Will Not Start ................................................................................................ 312
Agent Troubleshooting ........................................................................................................ 314
Agent Not Responding ................................................................................................... 315
Agent Not Responding ................................................................................................... 316
Agent Temporary Files................................................................................................... 317
Agent Starts, Command Runs: No RUNNING Event Is Sent ................................................. 318
Job Failure Troubleshooting ................................................................................................. 321
Agent Will Start: Command Will Not Run .......................................................................... 321
Agent Not Found .......................................................................................................... 327
Jobs Run Only From the Command Line ........................................................................... 328
Jobs Run Twice ............................................................................................................ 330
Application Server Troubleshooting ....................................................................................... 331
Application Server Is Down ............................................................................................ 332
Application Server Will Not Start ..................................................................................... 334
Application Server Starts, Clients on Remote Machine Times out.......................................... 337
12 User Guide
341
355
379
Running Jobs on Computers with Legacy Unicenter AutoSys JM Agents ...................................... 380
Define Legacy Agent Computers ..................................................................................... 380
Define the Legacy Agent Port ......................................................................................... 381
Add User IDs and Passwords for a Windows Legacy Agent Computer .................................... 382
Contents 13
385
389
395
399
Index
14 User Guide
405
Chapter 1: Introduction
This guide is for users responsible for defining jobs to Unicenter AutoSys JM
and monitoring and managing these jobs. It assumes familiarity with the
operating system on which jobs are run, and it assumes that you have already
installed and are running Unicenter AutoSys JM.
Note: For more information, see the Windows or UNIX Implementation
Guides.
This section contains the following topics:
Operating Environment Conventions (see page 16)
Automated Job Control (see page 16)
Jobs (see page 17)
System Components (see page 18)
Communications (see page 27)
Computers (see page 28)
Instances (see page 28)
Events (see page 29)
Alarms (see page 29)
Utilities (see page 30)
Extending Functionality (see page 30)
About the Unicenter AutoSys JM Administrator Utility (see page 35)
Introduction 15
16 User Guide
Jobs
Jobs
In the Unicenter AutoSys JM environment, a job is a single action that can be
performed on a valid Agent computer. On Windows, this action can be any
single command, executable, or batch file. On UNIX, this action can be any
single command or shell script. Corresponding job definitions include attributes
that define various characteristics of associated jobs, included when and where
the jobs should run.
Defining Jobs
You can use either of the following methods to define a job by assigning it a
name and specifying the attributes that describe its associated behavior.
Unicenter WCC
The Unicenter WCC GUI lets you interactively set the attributes that
describe when, where, and how a job should run. The fields in the
Unicenter WCC GUI correspond to the JIL subcommands and attributes. In
addition, from the Unicenter WCC GUI, you can define calendars, global
variables, and jobsets, and monitor and manage jobs. Unicenter WCC is
supplied with Unicenter AutoSys JM.
Job Information Language
Job Information Language (JIL) is a scripting language with its own syntax
that provides a way to define various Unicenter AutoSys JM assets such as
jobs, global variables, machines, job types, external instances, and blobs.
JIL scripts contain one or more JIL subcommands and one or more
attribute statements; these elements constitute a job definition.
When you enter the jil command, the JIL command prompt is displayed so
you can enter the job definitions one line at a time. When you exit the JIL
command prompt, the job definition is loaded into the database.
Alternatively, you can enter the definition as a text file and redirect the file
to the jil command. In this case, the jil command activates the language
processor, interprets the information in the text file, and loads this
information in the database.
The specification created using these methods comprise of a job definition.
Introduction 17
System Components
System Components
The main system components of Unicenter AutoSys JM are:
Application Server
Scheduler
Agent
Client
Event Server
The Event Server is the database in which the system state and object
definitions are stored. Objects include but are not limited to calendars, jobs,
and global variables. To aid in disaster recovery, much of the active state of
the system, in particular the Scheduler, is stored in the Event Server. For
example, events and their current states, machine statuses, job statuses, and
machine queues are all stored in the Event Server.
18 User Guide
System Components
Application Server
The Application Server, which runs either as a UNIX process or a Windows
service, manages communication between the Event Server, Agent, and client
utilities.
Introduction 19
System Components
Scheduler
The Scheduler is the core component of Unicenter AutoSys JM. Sometimes
called the event_demon, the Scheduler is the program, running either as a
UNIX process or as a Windows service that actually runs Unicenter AutoSys
JM.
The Scheduler is event-driven. After you start it, the Scheduler periodically
queries the database for events to process. As events are retrieved, the
Scheduler acts on them as appropriate. Events have various origins: some are
manually sent by a user; others are sent by an Agent to indicate the progress
of a job. An event often requires an Agent process to perform an action. These
actions may include starting or stopping jobs, determining availability of
resources, monitoring existing jobs, or initiating corrective procedures.
20 User Guide
System Components
Agent
The Agent consists of two processes, a persistent or parent Agent and a
non-persistent or child Agent that is started by the parent for every job that is
run. The child Agent starts and monitors the job process and exits when the
job is completed.
Introduction 21
System Components
How the Event Server, Scheduler, Application Server, and Agents Interact
This example scenario and the numbered explanations illustrate the
interactions between the Event Server, the Scheduler, the Application Server,
and the Agents.
In the example, the following UNIX command line is used to run the
Agent when the job starts. In this scenario, the job starts when the Scheduler
reads a STARTJOB event for the job from the Event Server.
rm /temp/mystuff/*
Note: Understanding this example can help you answer questions that may
arise while using Unicenter AutoSys JM.
22 User Guide
System Components
Introduction 23
System Components
The Scheduler reads a new event (a STARTJOB event for which a start
time condition has been met) from the Event Server. Then, the Scheduler
reads the appropriate job definition from the database, including the
command and the full path name to the profile to use for the job. For jobs
running on Windows computers, the Scheduler also retrieves the user IDs
and passwords required to run the job on the client computer. In the
example, the Agent runs the following command:
del C:\tmp\*.*
rm /temp/mystuff/*
2.
The Scheduler issues a STARTING event to the Event Server, which the
Event Server processes later. Then the Scheduler passes the necessary
details about the job to the parent Agent. The details include the command
to run and how to contact the Application Server.
3.
The parent Agent starts the child Agent, which is responsible for
monitoring the progress of the Client job. At this point, the parent has
completed and awaits additional jobs to run from the Scheduler.
4.
The child Agent completes the communication with the Scheduler. The
Scheduler understands that the Agent has everything it requires to run the
Client job, and the Agent can continue without further interaction with the
Scheduler.
5.
The Agent checks the resource to verify that the minimum number of
processes is available. Then the child Agent logs on to the computer as the
user listed as the owner in the job definition. On Windows, the Agent uses
the credentials passed to it from the Scheduler. Finally, the Agent creates
a child process that runs the command specified in the job definition.
6.
When the Client job starts successfully, the Agent sends a RUNNING event
to the Application Server. The Application Server places the RUNNING
event in the Event Server.
7.
The command completes and exits, and the Agent captures the command
exit code.
8.
The Agent communicates the event, including the exit code and status, to
the Application Server, which in turn places the event in the Event Server.
If the job completes successfully, the Agent deletes the log file on the
Agent computer, based on configuration specifications. The child Agent
then exits.
To complete the operation, the Scheduler processes the events sent by the
Agent in Steps 6 and 8, which in turn may start other jobs.
24 User Guide
System Components
Four critical applications must be running for this process to work: the Event
Server, the Scheduler, the Agent, and the Application Server. If any of these is
not active, the job does not complete on time.
Client
A Client is any executable that interfaces with the Application Server. This
includes Unicenter AutoSys JM Command Line Interface (CLI) applications
such as JIL and autorep. It also includes the Unicenter WCC services which are
Clients of the Application Server and service the Unicenter WCC GUI
components and any user-defined binaries that link to the Unicenter AutoSys
JM SDK.
Note: For more information, see the SDK User Guide.
Client applications work by calling Application Programming Interfaces (APIs)
made available in the Application Server. A Client can run anywhere in the
enterprise provided it can reach the node on which the Application Server is
running. It does not require installation of a database vendor client. Clients are
the means by which users control the scheduling environment by creating and
monitoring the scheduling resources.
To view all the options of this utility, run the following command:
unisrvcntr -?
To determine the status of all the CA services that are installed on a machine,
run the following command:
unisrvcntr status
Introduction 25
System Components
Agent
Run the following command to start the Unicenter AutoSys JM Agent:
unisrvcntr start uajm_agent
Application Server
Run the following command to start the Unicenter AutoSys JM Application
Server:
unisrvcntr start uajm_server.$AUTOSERV
Scheduler
Run the following command to start the Unicenter AutoSys JM Scheduler:
unisrvcntr start uajm_sched.$AUTOSERV
26 User Guide
Communications
Interface Components
You can use either the Unicenter WCC GUI or CLI to define, monitor, and
report on jobs. In addition, the Job Status Console and its dialogs provide a
sophisticated method of monitoring jobs in real time. The Job Status Console
lets you view all defined jobs, whether they are currently active or not.
Unicenter AutoSys JM also provides the Unicenter AutoSys JM Administrator,
with which you can set configuration parameters, and the Job Profiles
Manager, with which you can set up job environment variables (or profiles) to
associate with jobs in their definitions.
Communications
Network communication between the Scheduler and the Agent, between the
Agent and the Application Server, and between the Client and the Application
Server is accomplished by proprietary middleware known as RRP.
Note: For more information, see the SDK User Guide.
RRP is implemented using proprietary technology known as libmsg over the
Secure Socket Adapter (SSA). SSA is a CA transport adapter, provided with CA
common components, which supports port multiplexing and SSL
authentication and encryption. libmsg is a high-performance, multi-threaded
library that manages delivery and acknowledgement of data using SSA.
Note: For more information about CA common components, see the CA
common components documentation.
Together, these technologies provide a robust, flexible, high-performance,
portable method of communication for Unicenter AutoSys JM applications.
Introduction 27
Computers
Computers
Unicenter AutoSys JM's architecture comprises the following types of
computers attached to a network:
The Client is the computer on which the Client software resides. A Client
must be installed on the server computer and can also be installed on
separate physical Client computers.
The Agent is the computer on which the Agent software resides and where
jobs run. An Agent must be installed on the server computer and can also
be installed on separate physical Agent computers. An Agent is also
installed by default when a Client is installed, but it is not required.
Instances
An instance is a licensed version of Unicenter AutoSys JM software running as
a server and as one or more Clients or Agents on one or more computers. An
instance uses its own Event Server, Application Server, and Scheduler and
operates independently of other instances. An instance is defined by the
instance ID, which is a capitalized three-letter identifier defined by the
AUTOSERV environment variable.
It is possible to install multiple instances. For example, you can have one
instance for production and another for development. Multiple instances can
run on the same computer using a single copy of the binaries, and can
schedule jobs on the same computers without interfering or affecting the other
instances.
28 User Guide
Events
Events
Unicenter AutoSys JM is completely event-driven; for the Scheduler to activate
a job, an event must occur on which the job depends. For example, a job can
be activated when a prerequisite job has completed running successfully or a
required file has been received.
Events can come from a number of sources, including:
Events sent with the sendevent command, from the Unicenter WCC GUI,
or from user applications.
As each event is processed, the Scheduler scans the database for jobs that are
dependent on that event. If the event satisfies another job's starting
conditions, that job is either started immediately or queued for the next
qualified and available computer. The completion of one job can cause another
job to start so that jobs progress in a controlled sequence.
Alarms
Alarms are special events that notify operators of situations requiring their
attention. Alarms are integral to the automated use of Unicenter AutoSys JM.
That is, you can schedule jobs to run based on a number of conditions, but
some facility is necessary for addressing incidents that require manual
intervention. For example, a set of jobs could depend on the arrival of a file,
and the file may be long overdue. It is important that someone investigate the
situation, make a decision, and resolve the problem.
The following are some important aspects of alarms:
Alarms have special monitoring features to make sure they are noticed.
Introduction 29
Utilities
Utilities
Unicenter AutoSys JM uses its own specification language (JIL) and client
utilities to help you define, control, and report on jobs. The JIL language is
processed by the JIL Client executable, which reads and interprets the JIL
statements that you enter and then performs the appropriate actions.
Unicenter AutoSys JM also provides a set of essential client programs for
controlling and reporting on jobs. For example, the autorep command lets you
generate a variety of reports about job execution, and the sendevent
command lets you manually control job processing.
Additional utilities are provided to assist you in troubleshooting, running
monitors and reports, and starting and stopping Unicenter AutoSys JM and its
components. Unicenter AutoSys JM also provides a database maintenance
utility that runs daily by default.
Extending Functionality
Unicenter AutoSys JM provides easy integration with other enterprise
applications and Schedulers.
30 User Guide
Extending Functionality
Introduction 31
Extending Functionality
More information:
Cross-Platform Scheduling Considerations (see page 355)
32 User Guide
Extending Functionality
Introduction 33
Extending Functionality
event_demon
as_server
auto_remote (parent)
Binaries such as jil, sendevent, autorep, chase, and auto_remote (child) are
Client processes and communicate with one or more of the server processes.
This discussion applies to all the Unicenter AutoSys JM binaries, both the
persistent server processes and the non-persistent Client processes.
Note: For a complete list of Client processes, see the Reference Guide.
You can use SSL encryption for all messaging between any of these processes.
SSL encryption is turned off by default.
Important! If SSL encryption is turned on for any server process, it must be
turned on for all Client and server processes that communicate with it. Simply
put, processes on an SSL-enabled host cannot communicate with processes on
a host that is not SSL-enabled. All Unicenter AutoSys JM processes are subject
to the SSL setting of the host.
34 User Guide
Introduction 35
Select a computer.
2.
Select an instance in the Unicenter AutoSys Instance screen and click OK.
The menu items and their corresponding toolbar buttons are enabled.
3.
36 User Guide
Chapter 2: Security
This section contains the following topics:
Security in Unicenter AutoSys JM (see page 37)
System-Level Security (see page 38)
eTrust Embedded Identity and Access Management (see page 44)
Native Security (see page 65)
System-level security
Asset-level security
Unicenter AutoSys JM can run in either external security mode through eTrust
Embedded Identity and Access Management (eTrust Embedded IAM) or native
security mode. Each security mode has different methods of delegating
administrative privileges to users and securing Unicenter AutoSys JM assets.
External security mode (eTrust Embedded IAM) is robust and provides the
most flexibility of the two modes. You can enable external security during
product installation, or an authorized user under the native model can enable
it later. When external security is enabled, eTrust Embedded IAM is used to
assign administrative rights to the user to define policies and to check whether
a given user can switch the security mode of the product back to native. While
external security is enabled, native security is not enforced.
Note: For more information about controlling the security setting with the
Unicenter AutoSys JM autosys_secure utility, see the Reference Guide.
More information:
eTrust Embedded Identity and Access Management (see page 44)
Restricting Unicenter AutoSys JM Through the File System (see page 43)
Security 37
System-Level Security
System-Level Security
Unicenter AutoSys JM provides the following security features at the system
level:
Agent authentication
Note: On UNIX, the database field and control string encryption features
provide a level of security comparable to the security provided in the native
UNIX environment.
38 User Guide
System-Level Security
Agent Authentication
Unicenter AutoSys JM provides two additional methods to authenticate an
Agent before permitting it to run a job on a computer:
User authentication
Scheduler authentication
User Authentication
Security 39
System-Level Security
40 User Guide
Has the job definition been modified? If so, the job definition is invalid,
and the job does not run.
Can the Scheduler connect to the Agent computer as defined in the DES
encrypted job definition?
Does the user defined as the job owner (user@machine) have a logon
account on the Agent computer?
System-Level Security
Note: The EDIT Superuser can use the autosys_secure utility to enable
remote authentication.
The following illustration shows the permissions and security checks that occur
before a job is allowed to start:
Note: In the illustration, an asterisk (for example, Yes*) indicates checks that
are made only if the specific method of remote authentication is enabled.
Security 41
System-Level Security
42 User Guide
System-Level Security
Any user can view jobs and reports about jobs (for example, by using
autorep to see the status of a job), but only authorized users can create
jobs and calendars or make changes to them.
If you want only authorized users to access Unicenter AutoSys JM, make sure
that only those users have execute permissions for the files in the bin
directory.
If you want all users to view reports about jobs, but only authorized users to
create and edit jobs and calendars, make sure that only the authorized users
have execute permission for the following files in the $AUTOSYS/bin directory.
This also prevents unauthorized users from making changes to the
configuration.
autocal_asc
autocal
archive_events
autotimezone
clean_files
DBMaint
dbspace
dbstatistics
jil
sendevent
You should also protect the files in the $AUTOUSER directory from modification
by ensuring that only users authorized to change the configuration have write
permission for the files. Read permission is necessary to source the
environment files.
Security 43
Note: For more information about using the eTrust IAM web interface and
creating administrative scoping policies, see the eTrust IAM documentation.
44 User Guide
legal_mode
Specifies the legal mode that Unicenter AutoSys JM uses to distinguish a
local user from a domain or remote user when evaluating eTrust IAM
policies. You can set the legal mode to one of the following:
Notes:
You can use the following qualifier with the STRICT, QUALIFY, and TRUST
legal modes:
AS_EEM_AUTHUSER_MODE=legal_mode,AD(DOMAIN1,DOMAIN2)
AD(DOMAIN1,DOMAIN2)
Causes the security subsystem to treat the DOMAIN or user account as
a valid user, if the DOMAIN is in the comma-delimited list of domain
names.
For example, if you want the security subsystem to treat all users of
DOMAIN1 and DOMAIN2 as valid users and all others as invalid users,
you must set the AS_EEM_AUTHUSER_MODE environment variable as
follows:
AS_EEM_AUTHUSER_MODE=TRUST,AD(DOMAIN1,DOMAIN2)
When a request is sent from the Unicenter AutoSys JM r11, r11 SP1, r11
SP2, or r11 SP3 client (irrespective of the legal mode set on the
application server), all users are treated as local users originating from the
host that is sending the request.
Security 45
Policy Synchronization
eTrust IAM r8.3 provides the following two methods for synchronizing policies
between the eTrust IAM back-end server and the eTrust IAM client:
Cache updateThe eTrust IAM client is configured to poll the eTrust IAM
back-end server at regular intervals and automatically download all the
policies that have been updated since the last interval.
Unicenter AutoSys JM relies on the cache update feature to update the local
eTrust IAM-enabled application's policy cache.
You can enable the synchronize push feature to reduce the overhead incurred
on the network by frequent download of updated policies from the eTrust IAM
back-end server. Instead of requesting for and downloading the changed
policy tree at a regular interval, you can configure the eTrust IAM client to
download all policy updates on the next synchronize push interval after a
synchronize push request has been issued on the eTrust IAM back-end server.
You can enable the synchronize push feature by selecting a large cache update
value and configuring a modest synchronize push interval. Once the
synchronize push feature has been enabled, an additional commit step must
be performed on the eTrust IAM backend after all policies updates have been
saved, before the eTrust IAM clients can download the policy updates.
46 User Guide
2.
3.
Click Applications.
The Applications pane appears.
4.
Click UnicenterAutoSysJM.
The Application Instance pane appears.
5.
Enter the Cache Update Time and the Synchronize Poll Interval, and click
Save.
The new configuration values are applied.
Security 47
2.
3.
Click Session.
The Session pane appears.
4.
5.
Click Synchronize.
The synchronize push feature is enabled.
After the synchronization push feature is enabled, the eTrust IAM client
downloads the latest policy tree and its local policy cache contains the latest
policy changes.
You can repeat these steps to let the eTrust IAM-enabled client-side
application download the entire policy tree from the eTrust IAM back-end
server.
Asset-Level Security
You can choose to enable external security during product installation, or an
EXEC Superuser under the native model can activate it later. After you
activate eTrust IAM security, the job-level security and Superuser privileges
supported in native mode are no longer active. After you enable external
security, policies in the as-control class govern who can disable eTrust IAM
security. Use the autosys_secure command to activate or disable security.
Note: For more information, see the Reference Guide.
48 User Guide
Resource Classes
A Unicenter AutoSys JM instance is the repository for policies that reside on
the eTrust IAM server and that are visible to Unicenter AutoSys JM. Policies in
the instance are classified into resource classes that control access to jobs,
calendars, cycles, machines, global variables, the owner field of a job, and so
on, and a specific class function to prevent unauthorized users from starting or
shutting down the Scheduler or disabling eTrust IAM security. A Unicenter
AutoSys JM instance can contain the following resource classes:
as-appl
as-calendar
as-cycle
as-control
as-group
as-gvar
as-job
as-jobtype
as-list
as-machine
as-owner
Security 49
The as-owner resource class is an exception to this rule, because it does not
require the name of the instance. For example, when a user tries to update
the job owner field of a job to parrot@jungle in the ACE instance, Unicenter
AutoSys JM queries eTrust IAM as follows:
as-owner parrot@jungle
50 User Guide
Access Modes
Unicenter AutoSys JM uses one or more of the following access modes on each
of the resource classes:
READ
CREATE
DELETE
EXECUTE
WRITE
The use of these access modes is explained in more detail in the description of
each class.
as-appl Class
The as-appl class controls access to the job application field in a job definition
and controls which jobs can be included in an application job set.
EXECUTE
Controls whether a job definition can use the application job set name in
its application field.
In EXECUTE mode, this class accepts the following binary, which has the
indicated security checkpoint:
jil
insert_job, update_job (using the application attribute).
Security 51
as-calendar Class
The as-calendar class controls access to calendar objects.
READ
Controls whether users can view calendars or their contents.
In READ mode, this class accepts the following binary, which has the
indicated security checkpoint:
autocal_asc
When as-list\AUTOCAL denied, LIST CALENDARS
LIST CALENDAR DATES
CREATE
Controls whether users can create a calendar.
In CREATE mode, this class accepts the following binary, which has the
indicated security checkpoint:
autocal_asc
CREATE CALENDAR
DELETE
Controls whether users can delete a calendar.
In DELETE mode, this class accepts the following binary, which has the
indicated security checkpoint:
autocal_asc
DELETE CALENDAR
EXECUTE
Controls whether users can specify a calendar to run or to exclude in a
job.
In EXECUTE mode, this class accepts the following binary, which has the
indicated security checkpoint:
jil
run_calendar, exclude_calendar
52 User Guide
WRITE
Controls whether users can update existing calendar objects.
In WRITE mode, the class accepts the following binary, which has the
indicated security checkpoint:
autocal_asc
MODIFY CALENDAR
Note: Assets in this class can only contain the following characters: a-z, A-Z,
0-9, period (.), underscore (_), and hyphen (-). Assets in this class cannot
contain spaces.
as-control Class
The as-control class controls access to critical Unicenter AutoSys JM services.
EXECUTE
Controls critical resources through the sendevent -e STOP_DEMON and
autosys_secure binaries.
STOP_DEMON
Controls who can use the sendevent binary to stop the Scheduler.
SECADM
Controls who can use the autosys_secure binary to disable external
security.
EPLOG
Controls whether users can retrieve Scheduler log files from the
Application Server.
Security 53
as-cycle Class
The as-cycle class controls access to cycle assets. Cycles are used in the
definition of advanced rules for generating calendar dates.
Note: For more information, see the Reference Guide.
READ
Controls whether users can view cycles or their contents.
In READ mode, this class accepts the following binary, which has the
indicated security checkpoint:
autocal_asc
When as-list\AUTOCAL denied, LIST CYCLE
LIST CYCLE DATES
CREATE
Controls whether users can create a cycle.
In CREATE mode, this class accepts the following binary, which has the
indicated security checkpoint:
autocal_asc
CREATE CYCLE
DELETE
Controls whether users can delete a cycle.
In DELETE mode, this class accepts the following binary, which has the
indicated security checkpoint:
autocal_asc
DELETE CYCLE
WRITE
Controls whether users can update existing cycles.
In WRITE mode, this class accepts the following binary, which has the
indicated security checkpoint:
autocal_asc
MODIFY CYCLES
Note: Assets in this class can only contain the following characters: a-z, A-Z,
0-9, period (.), underscore (_), and hyphen (-). Assets in this class cannot
contain spaces.
54 User Guide
as-group Class
The as-group class controls access to the job group field in a job definition and
controls which jobs can be included in a group job set.
EXECUTE
Controls whether a job definition can use the group job set name in its
group field.
In EXECUTE mode, this class accepts the following binary, which has the
indicated security checkpoints:
jil
insert_job, update_job (using the group attribute).
as-gvar Class
The as-gvar class controls access to global variable assets. Because global
variable assets are only controlled through the sendevent binary, the access
modes are verified during sendevent execution.
READ
Controls whether users can view specific global variable objects.
In READ mode, this class accepts the following binary, which has the
indicated security checkpoint:
autorep
-g variable
autostatus
-g variable
sendevent
CREATE
Controls whether users can create specific global variable objects.
In CREATE mode, this class accepts the following binary, which has the
indicated security checkpoint:
sendevent
-g (new variable)
DELETE
Controls whether users can delete specific global variable objects.
In DELETE mode, this class accepts the following binary, which has the
indicated security checkpoints:
sendevent
-g variable=DELETE
Security 55
EXECUTE
Controls whether users can use sendevent against all global variable
objects simultaneously.
In EXECUTE mode, this class accepts the following binary, which has the
indicated security checkpoints:
sendevent
-e SET_GLOBAL, all-g options
WRITE
Controls whether users can update specific existing global variable objects.
In WRITE mode, this class accepts the following binary, which has the
indicated security checkpoint:
sendevent
-g (existing variable)
as-job Class
The as-job class controls access to job assets.
READ
Controls whether users can view jobs or their contents.
In READ mode, this class accepts the following binaries, which has the
indicated security checkpoints:
autorep
When as-list\AUTOREP denied, -J job, -q
autostatad
When as-list\AUTOSTAT denied, -J job
autostatus
-J job
job_depends
When as-list\JOBDEP denied, -J job
monbro
When as-list\MONBRO denied
56 User Guide
CREATE
Controls whether users can create a job.
In CREATE mode, this class accepts the following binary, which has the
indicated security checkpoint:
jil
insert_job
DELETE
Controls whether users can delete jobs directly or with sendevent.
In DELETE mode, this class accepts the following binary, which has the
indicated security checkpoints:
jil
delete_job
sendevent
-e DELETEJOB
EXECUTE
Controls whether a user can issue a sendevent for the job.
In EXECUTE mode, this class accepts the following binary, which has the
indicated security checkpoints:
sendevent
-e STARTJOB
-e KILLJOB
-e FORCE_STARTJOB
-e JOB_ON_ICE
-e JOB_OFF_ICE
-e JOB_ON_HOLD
-e JOB_OFF_HOLD
-e COMMENT -J job
Security 57
WRITE
Controls whether users can update an existing job.
In WRITE mode, this class accepts the following binary, which has the
indicated security checkpoint:
jil
update_job
sendevent
-e CHANGE_PRIORITY
as-joblog Class
The as-joblog class controls access to job log files, including files that contain
normal or error outputs from a job run (as defined by the std_out_file and
std_err_file job attributes). The as-joblog class also includes log files that
contain output from the job Agent and job Agent profile files.
READ
Controls whether users can retrieve job log files from the Application
Server.
Note: No spaces are allowed between the >> characters and the full path or
file name in the std_out_file or std_err_file fields in a job definition.
58 User Guide
as-jobtype Class
The as-jobtype class controls access to job_type assets.
READ
Controls whether users can view job types or their contents.
In READ mode, this class accepts the following binaries, which has the
indicated security checkpoints:
autorep
When as-list\AUTOREP denied, -Y job_type
job_depends
When as-list\JOBDEP denied, -J job
CREATE
Controls whether users can create a job type.
In CREATE mode, this class accepts the following binary, which has the
indicated security checkpoint:
jil
insert_job_type
DELETE
Controls whether users can delete job types directly.
In DELETE mode, this class accepts the following binary, which has the
indicated security checkpoint:
jil
delete_job_type
Note: When installed, the as_jobtype class is defined with the DELETE
action. Its default policy is defined without the DELETE action. This
prevents a user from inadvertently deleting user-defined job types.
The default policy can be updated to include the DELETE action, or a
new policy can be defined that grants access to delete user-defined job
types.
EXECUTE
Controls whether users can specify a job type in a job.
In EXECUTE mode, this class accepts the following binary, which has the
indicated security checkpoint:
jil
job_type (with a value other than b, c, or f)
Security 59
WRITE
Controls whether users can update an existing job type.
In WRITE mode, this class accepts the following binary, which has the
indicated security checkpoint:
jil
update_job_type
as-list Class
The as-list class controls whether programs are directed to bypass individual
security for read-only operation of a potentially large list of assets where the
information displayed does not constitute a security violation (for example, in
autorep).
Note: By using the default of this class, Unicenter AutoSys JM does not incur
the overhead associated with issuing a security call for each individual line
item displayed.
READ
Controls security bypass through the following:
AUTOREP
Controls read access for the autorep binary. This value is ignored for
autorep reports created with the q option. The binary has the
following security checkpoints for READ mode:
-m ALL, -J ALL, -J box, -G ALL
AUTOSTAT
Controls read access in the autostatad binary. The binary has the
following security checkpoint for READ mode:
-J %
MONBRO
Controls read access to the monbro binary. The binary has the
following security checkpoint for READ mode:
Event related to secured jobs
JOBDEP
Controls read access to the job_depends binary. The binary has the
following security checkpoints for READ mode:
-c J ALL, -c J %, -t %, -d %, -t ALL, -d ALL, -t box, -d box
60 User Guide
as-machine Class
The as-machine class controls access to machine assets, including whether a
user can use a machine object in a job definition.
READ
Controls whether users can view machines or their contents.
In READ mode, this class accepts the following binary, which has the
indicated security checkpoint:
autorep
When as-list\AUTOREP denied, -m machine
CREATE
Controls whether users can create machine definitions.
In CREATE mode, this class accepts the following binary, which has the
indicated security checkpoint:
jil
insert_machine
DELETE
Controls whether users can delete machine definitions.
In DELETE mode, this class accepts the following binary, which has the
indicated security checkpoint:
jil
delete_machine
Security 61
EXECUTE
Controls whether users can specify a machine in a job definition.
In EXECUTE mode, this class accepts the following binary, which has the
indicated security checkpoints:
jil
machine
sendevent
-e STARTJOB
-e KILLJOB
-e FORCE_STARTJOB
-e JOB_ON_ICE
-e JOB_OFF_ICE
-e JOB_ON_HOLD
-e JOB_OFF_HOLD
-e COMMENT -J job
as-owner Class
The as-owner class controls access to the job owner field in the job and
controls which owners can be specified in a job definition. For example, the
user ID of the job creator is used by default as the job owner when a job is
created. However, when a user other than the job creator is to be used as the
owner, security verifies whether the current user can use the specified owner
ID.
EXECUTE
Controls whether users can use specific user IDs.
In EXECUTE mode, this class accepts the following binary, which has the
indicated security checkpoint:
jil
owner
62 User Guide
The Client calculates its offset (in seconds) from the GMT time zone and
sends it to the Application Server with the request.
When it receives the request, the Application Server checks its offset (in
seconds) from the GMT time zone.
The Application Server subtracts the Clients offset from its own to obtain
the time zone difference in seconds from the Client.
The Application Server applies the difference to the current time and uses
this as the time in its authorization check. This time represents the actual
time relative to the Clients time zone.
Create an Asset
To create an asset, you must validate that the user has the required
authorization. For the job assets, do the following:
Validate that the user can specify a different user in the owner job
attribute. Execute an authorization check against the user by passing in
the as-owner resource class name, the job owner, and the execute access
level.
Validate that the user can run the job on the computer that is specified in
the machine job attribute. Execute an authorization check against the user
by passing in the as-machine resource class name, the Unicenter AutoSys
JM instance-specific machine name, and the execute access level.
Validate that the user can use the calendar specified in the run_calendar
job attribute. Execute an authorization check against the user by passing
in the as-calendar resource class name, the Unicenter AutoSys JM
instance-specific calendar name, and the execute access level.
Note: You must repeat this step if a calendar name is also specified in the
exclude_calendar job attribute.
Security 63
Update an Asset
To update an asset, you must validate that the user has the required
authorization. For the job assets, do the following:
Validate that the user can specify a different user in the owner job
attribute. Execute an authorization check against the user passing in the
as-owner resource class name, the job owner, and the execute access
level.
Validate that the user can run the job on the computer specified in the
machine job attribute. Execute an authorization check against the user
passing in the Unicenter AutoSys JM instance-specific as-machine resource
class name, the machine name, and the execute access level.
Validate that the user can use the calendar specified in the run_calendar
job attribute. Execute an authorization check against the user passing in
the as-calendar resource class name, the Unicenter AutoSys JM instancespecific calendar name, and the execute access level.
Note: You must repeat this step if a calendar name is also specified in the
exclude_calendar job attribute.
Delete an Asset
To delete an asset, an authorization check is executed against the user
passing in the security resource class name, the Unicenter AutoSys JM
instance-specific asset name, and the delete access level.
64 User Guide
Native Security
If as-list read access is granted, all assets are displayed with no further
authorization checks.
If as-list read access is denied, validate that the user can view an
individual asset in a list by executing an authorization check against the
user by passing in the security resource class name, the Unicenter
AutoSys JM instance-specific asset name, and the read access level. Only
the assets that are granted read access will be displayed. Assets that are
denied read access are not displayed. If every asset in the list is denied
read access, nothing will be displayed.
For job objects, an as-list read access authorization check against the user
is executed in the Unicenter AutoSys JM instance, where you want to view
the contents of a box job, based on the following:
If as-list read access is granted, information about the box job and all
jobs in it are displayed.
If as-job read access to the box job is denied, neither the box job nor
the jobs in it are displayed.
If a box is granted as-job read access, but one or more jobs in the box
is denied as-job read access, only the box job and jobs in the box
granted as-job read access are displayed. Jobs in the box that are
denied as-job read access are not displayed.
Native Security
Native security is the default security model under which Unicenter AutoSys JM
runs if the option to run under eTrust IAM was not selected during installation
or if the eTrust IAM policy permits a user to disable external security. Although
it provides a level of security for certain assets and activities, the scope of
protection is limited when compared to that of external security.
Security 65
Native Security
Security Control
External security is controlled by a setting in the Unicenter AutoSys JM
database. You can use the autosys_secure binary to turn external security on
or off.
To turn external security on
1.
2.
Enter the EIAM Backend Server name (or press the enter key to cancel).
The external security turned on. The following message appears:
CAUAJM_I_60201 EIAM instance security successfully set.
2.
66 User Guide
Native Security
Superusers
Under the native security model, users with administrative privileges are
known as Superusers. Unicenter AutoSys JM lets you define two levels of
Superusers: EDIT and EXEC. You can use the autosys_secure command to
define these Superusers.
Note: For more information, see the Windows or UNIX Implementation Guide.
EDIT Superuser
Only the EDIT Superuser has permission to do the following:
Use the autosys_secure command to add or change Windows user IDs and
passwords.
Security 67
Native Security
EXEC Superuser
Only the EXEC Superuser has permission to do the following:
Note: EXEC Superuser privileges are typically granted to the night operator.
Asset-Level Security
The security scheme provides individuals and groups of users with Edit and
Execute permissions on a job-by-job basis.
68 User Guide
Native Security
Job Ownership
By default, the owner of a job is the user who defines that job on a particular
computer.
When a user defines a job on UNIX, the user ID is retrieved from the
UNIX environment and attached to the job in the form of user@machine. The
owner is defined by the owner job attribute. By default, only the owner can
edit and execute the job.
The user@machine combination must have Execute permission for any
command specified in a job on the computer where the job command is to
run. The job owner must also have permission to access any device, resource,
and so on that the command needs to access. For this process to work, the job
owner must have the appropriate system permissions.
The owner's umask write permission is used as the default Edit permission for
the job, and the umask execute permission is used as the default Execute
permission for the job.
Security 69
Native Security
User Types
Unicenter AutoSys JM uses the following three types of users for any job:
Owner
Creates the job.
Group
Resides in the same primary group as the owner.
World
Specifies all users.
Unicenter AutoSys JM uses the UNIX user ID (uid) and group ID (gid) of
a job's owner to control the following:
The owner of a job can let other users edit and execute the job by setting the
permissions in the job definition.
70 User Guide
Native Security
Permission Types
By default, only the owner has Edit and Execute permissions for a job, and all
Edit and Execute permissions are valid only on the computer on which the job
was defined. However, the owner can grant different types of permissions
when defining a job.
Unicenter AutoSys JM associates different types of permissions with each job.
Every job has the following permission types:
Edit
Lets users edit, override, or delete a job definition.
Execute
Lets users use the sendevent command or the Unicenter WCC GUI to send
an execute event that affects the running of a job.
Machine
Lets users logged on to a computer other than the one on which a job was
created edit or execute the job.
Note: For a job to run on a computer other than the one on which it was
defined, the owner of that job must have an account on that computer.
More information:
Security on Events Sent by Users (see page 73)
Security 71
Native Security
Granting Permissions
The owner of a job cannot override his or her ownership designation. Only the
EDIT Superuser has the authority to change the owner attribute for a job.
However, the owner can use JIL to set the permission attribute in the job
definition to grant other users Edit and Execute permissions for a job.
The following table shows the permissions that you can set using JIL:
JIL
Description
gx
Execute the job if logged onto the computer where the job was
created (the computer specified in the owner attribute; that is,
user@machine). This applies to users assigned to the job owner's
primary group.
ge
Edit the job if logged onto the computer where the job was
created (the computer specified in the owner attribute; that is,
user@machine). This applies to users assigned to the job owner's
primary group.
mx
Execute the job (otherwise, the user must be logged onto the
computer specified in the owner attribute; that is,
user@machine). This applies to users, regardless of the computer
logged onto.
me
Edit the job (otherwise, the user must be logged onto the
computer specified in the owner attribute; that is,
user@machine). This applies to users, regardless of the computer
logged onto.
wx
Execute the job if logged onto the computer where the job was
created (the computer specified in the owner attribute; that is,
user@machine). This applies to any user.
we
Edit the job if logged onto the computer where the job was
created (the computer specified in the owner attribute; that is,
user@machine). This applies to any user.
Note: A job and the command it runs always runs as the user specified in the
owner attribute of the job definition. Execute permissions verify who can
execute events against the job, but not how the job runs. Even if World
Execute permissions are granted, the job still runs as the user, who is defined
in the owner attributes.
72 User Guide
Native Security
When defining a job to run on a Windows computer, you can set Group
permissions, but they are ignored. Group permissions are used if a job is
edited or executed on a UNIX computer.
When editing a job from a Windows computer, the Group Edit permission
is ignored. In this case, the user editing the job must be the owner of the
job, or World Edit permissions must be specified for the job.
CHANGE_PRIORITY
CHANGE_STATUS
DELETEJOB
FORCE_STARTJOB
JOB_OFF_HOLD
JOB_OFF_ICE
JOB_ON_HOLD
JOB_ON_ICE
KILLJOB
SEND_SIGNAL
STARTJOB
Security 73
Native Security
Has the job definition been modified? If so, the job definition is invalid,
and the job does not run.
Does the user match the owner as indicated in the job definition?
Does the user have job execute permissions as indicated in the job
definition?
Is there a machine name in the owner value of the job definition? The
EDIT Superuser can remove this portion of the owner value.
Does the machine portion of the user logon credentials match the machine
portion of the job owner definition?
Does the job have machine permission as indicated by the job definition?
When you start a job by sending an event, the job permissions are verified as
shown in the following illustration:
74 User Guide
Job Attributes
The specification of a job's attributes and behavior is called a job definition.
You can use JIL or the Unicenter WCC GUI to create job definitions. Regardless
of how you create a job definition, the specified attributes are the same and
the job definition is always stored in the database.
Before modifying or deleting an existing job, make sure that the job is not
running. To help ensure that you do not lose job definitions in the event of a
system failure, you should back up your job definitions periodically.
Job Definitions 75
2.
job_name
Defines a unique name for the job.
attribute
Specifies the name of a valid JIL attribute.
value
Defines the setting to apply to the attribute.
The specified attributes and values are set for the indicated job.
Note: For more information, see the Reference Guide.
76 User Guide
JIL Subcommands
JIL Subcommands
The following table lists the JIL subcommands used to add, edit, and delete
jobs and machines in the database, notes whether the command is required,
and provides a brief description of the command.
Note: For more information, see the Reference Guide.
Subcommands
Required?
Command Use
insert_job
Yes
update_job
No
override_job
No
delete_job
No
delete_box
No
insert_machine
Yes
update_machine
No
delete_machine
No
Job Definitions 77
Job Attributes
Job Attributes
The following table lists job attributes, notes whether they are required for a
valid job definition, and summarizes the job types for which each attribute is
valid.
Note: For more information, see the Reference Guide.
Attribute
Required?
Job Types
alarm_if_fail
No
application
No
auto_delete
No
auto_hold
No
avg_runtime
No
box_failure
No
Box
box_name
No
box_success
No
Box
box_terminator
No
78 User Guide
chk_files
No
command
Yes
Command
condition
No
date_conditions
No
days_of_week
No
delete_box
No
Box
delete_job
No
description
No
exclude_calendar
No
group
No
heartbeat_interval
No
Command
insert_job
Yes
job_load
No
Command
job_name
Yes
Job Attributes
Attribute
Required?
Job Types
job_terminator
No
job_type
Yes
machine
Yes
max_exit_success
No
Command
max_run_alarm
No
min_run_alarm
No
n_retrys
No
notification_id
No
notification_msg
No
override_job
No
owner
Yes
permission
No
priority
No
Box, Command
profile
No
run_calendar
No
run_window
No
send_notification
No
service_desk
No
start_mins
No
start_times
No
std_err_file
No
Command
std_in_file
No
Command
std_out_file
No
Command
svcdesk_attr
No
svcdesk_desc
No
svcdesk_imp
No
svcdesk_sev
No
term_run_time
No
timezone
No
Job Definitions 79
Attribute
Required?
Job Types
update_job
No
watch_file
Yes
File Watcher
watch_file_min_size
No
File Watcher
watch_interval
No
File Watcher
days_of_week
exclude_calendar
run_calendar
run_window
start_times
Relative time dependencies are based either on the current time or relative to
the start of the hour (for example, start a job at 10 and 20 minutes after the
hour, or terminate a job after it has run for 90 minutes). The following
attributes define relative time dependencies:
auto_delete
max_run_alarm
min_run_alarm
start_mins
term_run_time
watch_interval
During the time change, absolute time attributes behave differently than
relative time attributes.
80 User Guide
Job Definitions 81
Jobs that are not time-based but have other dependencies still run during the
first hour.
Jobs with relative time dependencies run as expected. For example, if a job is
scheduled to run on Sunday at 0:30 and its term_run_time attribute is set to
120 minutes, the job would normally terminate at 2:30. On the day of the
autumn time change, the job terminates at 1:30 standard time, which is 120
minutes after the job started.
When testing how the change from daylight time to standard time affects your
jobs, you must set the system clock to a time before 1:00 a.m. and allow the
entire hour to pass before you can observe the time change. If you manually
set the time to a period during the 1:00 a.m. to 2:00 a.m. window, the system
assumes that the time change has already occurred and does not reset at 2:00
a.m.
82 User Guide
Run windows are treated differently. When the specified start of a run window
is before the time change and its specified end occurs during the repeated
hour, the run window closes during the daylight time period (the first hour).
For example, a run window of 11:30 - 1:30 ends at 1:30 DT, not 1:30 ST (that
is, the run window remains open for its specified two hours, not for three
hours). A problem might occur if there are also associated start times for the
job that occur during the repeated hour. If the job in our example also had a
start time of 1:15, the start time would be calculated for 1:15 ST and the job
would not run on the day of the time change.
When the specified opening of the run window falls during the repeated hour,
Unicenter AutoSys JM moves its start time to the second, standard time hour.
The end time does not change, so the length of the run window remains the
same. For example, a run window of 1:45 - 2:45 becomes 1:45 ST - 2:45 ST.
When both the specified start and end of the run window occur during the
repeated hour, the run window opens during the second, standard time hour.
Job Definitions 83
Introducing Jobs
All activity controlled by Unicenter AutoSys JM is based on jobs. Other objects,
such as monitors, reports, and the Job Status Console, track job progress. A
job is the foundation for the entire operations cycle.
A job is any single command or executable, UNIX shell script, or Windows
batch file. Each job definition contains a variety of qualifying attributes,
including the conditions specifying when and where a job should run.
You can define jobs using JIL statements. When you use JIL statements, you
can input them interactively to the jil command, or you can store them in text
files, which you can redirect into the jil command.
Note: The Scheduler must be running before you start any processes, so you
should start it before performing the tasks described in this chapter.
More information:
Schedulers (see page 110)
Job Definitions (see page 75)
More information:
Create a New Job Type (see page 89)
86 User Guide
Command Jobs
Command jobs are usually simply referred to as jobs. The command run by
the job can be a shell script, an executable program, a file transfer, and so on.
When a command job runs, the result is the execution of a specified command
on a Client computer. When all the starting conditions are met, Unicenter
AutoSys JM runs this command and captures its exit code upon completion.
The exit event (either SUCCESS or FAILURE) and the exit code value are
stored in the database.
Command jobs have the following supporting features:
Resource Criteria
Unicenter AutoSys JM verifies that an appropriate amount of free file space
is available before starting a process. If it is not available, an alarm is sent
and the job is rescheduled.
Profile Script
For each job, you can specify a script to be sourced before command
execution that defines the environment in which the command is to run.
All commands are run under the Bourne shell (/bin/sh). Therefore, all
statements in the profile must use /bin/sh syntax.
You can define a profile with environments variables that are stored
in the Windows registry by using the job profiles binary.
Standard I/O Files
For each job, you can specify the standard input, output, and error files.
Box Jobs
A box job (or box) is a container of other jobs. You can use it to organize and
control process flow. The box itself performs no actions, although it can trigger
other jobs to run. An important feature of this type of job is that boxes can
contain other boxes. You can use boxes to contain other boxes that contain
jobs that are related by starting conditions or other criteria (not by similar
application types). This allows you to group the jobs and operate on them in a
logical manner.
Box jobs are powerful tools for organizing, managing, and administering large
numbers of jobs that have similar starting conditions or complex logic flows.
Knowing how and when to use boxes is often the result of some
experimentation.
88 User Guide
Insert_job_type:0.
2.
3.
Enter the following description: This is a job type to run special adapter
commands.
The new job type is created.
Insert_job:test.
2.
Enter job_type:0.
3.
90 User Guide
Use the Job Profiles Manager to define a profile that contains the
environment variables required for a specific job to run. The profile job
attribute is set to the name of the set of environments stored in the
registry as created by the Job Profiles Manager.
You can create a simple shell script file written to the Bourne shell
containing the environments you wish to source. The profile job attribute
is set to the filename of the shell script.
Use the profile attribute or the Unicenter WCC GUI to assign the profile to
one or more jobs.
The Agent on the job's target computer first sets the environment
variables for the job's execution, and then sets the specified job profile
variables.
Note: Only one job profile can be sourced for a job, and the environment
variables are set before the profile variables. Therefore, you can reference
system environment variables in job profiles. However, if a variable is set
more than once, the last value read is used.
The Agent searches for the assigned profile. By default, the Agent
searches for the profile on the computer on which the command is to run.
However, when assigning the job profile, you can specify both the
computer name and the profile name, which lets you run the job on one
computer while using a job profile defined on another computer.
Note: Job profiles are instance-specific. You cannot assign a profile
defined in one Unicenter AutoSys JM instance to a job defined in another.
Environment Variables
You must define all the environment variables needed to run a job in its
assigned profile, because only one profile is sourced before a command job
runs.
If you do not assign a profile job attribute in the job definition, the Agent
uses the DEFAULT job profile. While Unicenter AutoSys JM supplies a DEFAULT
job profile, it does not define any environment variables in it. You must use
the Job Profiles Manager to define your own DEFAULT profile.
When the Agent reads the profile, the environment variables in the profile are
expanded. For example, if Path is a variable in the specified profile, Unicenter
AutoSys JM expands any environment variables specified as the value of Path,
uses this path to search for the command, and sets the new value for the
%Path% variable before running the command. You can specify the full path
name, in which case you can use variables set from the job profile in the path
name specification. The Agent reads profile variables in alphabetical order.
Therefore, if you plan to expand variables in the profile itself, you must define
the variables so that they are in the appropriate order when read
alphabetically.
Note: Although environment variables are set automatically in the command's
environment, user environment variables are not automatically set. All other
required environment variables must be defined in the job's profile, either in
the DEFAULT profile (which on Windows is initially empty) or in a user-defined
job profile.
For more information about the profile attribute, see the Reference Guide.
92 User Guide
2.
(Optional) To connect to a host other than the computer you are currently
logged on to, type the appropriate name in the Host Name field and click
Connect.
The Job Profiles Manager connects to the specified host.
3.
The current settings for the selected profile appear in the Environment
Variables area. Double-click a variable to display it in the Variable and
Value fields for editing.
To create a profile, enter a new profile name in the Profile Name field.
A new profile is created.
Note: Variable definitions in Windows are not case-sensitive. However, the Job
Profiles Manager does replicate, in the job profile itself, the capitalization that
you enter in the Variable and Value fields.
Select the profile to delete from the Profile Name list in the Job Profiles
Manager.
The current settings for the selected profile appear in the Environment
Variables area.
2.
3.
Click OK.
The job profile is deleted.
Note: You cannot delete the DEFAULT profile. However, you can add and
delete environment variables in the DEFAULT profile. When you click Cancel,
the Job Profiles Manager discards all modifications you made to the current
profile, but does not restore deleted variables.
94 User Guide
Select the profile for which to create a variable definition from the Profile
Name list in the Job Profiles Manager.
The current settings for the selected profile appear in the Environment
Variables area.
2.
Enter a variable name in the Variable field, enter a value for the variable in
the Value field, and click Set.
The variable definition is recorded and the new variable appears in the
Environment Variables area.
3.
When you finish adding variables, do one of the following to save the
settings for the current profile:
Click OK.
Your settings are saved and the Job Profiles Manager closes.
Note: When adding new profiles, you must either define the profile on the
computer where the command runs or specify the computer name (on which
the profile is defined) with the profile name when you are defining the job
environment profile or the profile attribute. If you do not use one of these
approaches, a Profile not found error displays when you attempt to start the
job. For more information, see the Reference Guide.
Select the profile for which to edit a variable definition from the Profile
Name list in the Job Profiles Manager.
The current settings for the selected profile appear in the Environment
Variables area.
2.
3.
Modify the variable name and value as appropriate, and click Set.
The variable definition is recorded and the modified variable appears in the
Environment Variables area.
4.
When you finish editing variables, do one of the following to save the
settings for the current profile:
Click OK.
Your settings are saved and the Job Profiles Manager closes.
Note: If you click Cancel, the Job Profiles Manager only discards
modifications you made to the current profile. Any changes you made to
other profiles were saved when you selected the current profile.
96 User Guide
Select the profile from which to delete a variable definition from the Profile
Name list in the Job Profiles Manager.
The current settings for the selected profile appear in the Environment
Variables area.
2.
3.
Click Delete.
The variable and its value are deleted from the profile.
4.
When you finish deleting variables, do one of the following to save the
settings for the current profile:
Click OK.
Your settings are saved and the Job Profiles Manager closes.
Note: You cannot undo the deletion of a variable, but you can cancel any
other modifications you made to the current profile by clicking Cancel.
When you click Cancel, the Job Profile Manager closes and Unicenter
AutoSys JM does not update the current profile. Any changes you made to
other profiles were saved when you selected the current profile.
98 User Guide
Job States
Job States
Unicenter AutoSys JM tracks the current state, or status, of every job. The
value of a job's status checks when to start jobs with dependencies on the
tracked job. The job status is displayed in the job report generated by the
autorep command and in the Unicenter WCC GUI.
A job can have one of the following statuses:
ACTIVATED
Indicates that the top-level box in which the job resides is currently in a
RUNNING state but the job has not yet started.
FAILURE
Indicates one of the following:
For a command job, the command exited with a code greater than the
max_exit_success (maximum exit code for success) attribute value
specified for the job.
For a box job, at least one job in the box ended with a FAILURE status
or the box_failure (exit condition for box failure) attribute evaluated to
TRUE.
Job States
QUE_WAIT
Indicates that the job can logically start (that is, all the starting conditions
have been met), but the machines to which it is assigned do not have
enough available load units. When the required load units become
available, Unicenter AutoSys JM starts the job.
RESTART
Indicates that the job was unable to start because of hardware or
application problems, and has been scheduled to restart.
RUNNING
Indicates that the job is running. If the job is a box job, the jobs in the box
can start (other conditions permitting). If the job is a command or file
watcher job, the RUNNING status indicates that the specified process is
actually running on the client computer.
STARTING
Indicates that the Scheduler has initiated the start job procedure with the
Agent. This status is only for command and file watcher jobs.
SUCCESS
Indicates that the job exited with a code equal to or less than the
max_exit_success (maximum exit code for success) attribute value
specified for the job.
If the job is a box, this value means that all the jobs in the box have
finished with a SUCCESS status or the box_success (exit condition for box
success) attribute evaluated to TRUE.
By default, only exit code 0 is interpreted as SUCCESS. However, you can
reserve a range of values up to the max_exit_success value to interpret as
SUCCESS for each job.
TERMINATED
Indicates that the job ended while in the RUNNING state. A job can be
terminated if it receives a KILLJOB event or if it was defined to terminate if
its containing box failed. A job might also be terminated if it exceeds its
term_run_time (maximum run time) attribute value or if it receives a UNIX
kill command. If the job itself fails, it has a FAILURE status, not a
TERMINATED status. Unicenter AutoSys JM issues an alarm when a job is
terminated.
Note: Jobs that depend on a job that is ON_ICE run as though the job
succeeded. However, dependent jobs do not run when a job is ON_HOLD. If a
jobs starting conditions are already satisfied when it is taken off hold, it is
scheduled to run. However, when a job is taken off ice, it does not run (even if
its starting conditions are already satisfied) until its starting conditions recur.
Job States
The following illustration shows the simplest state transition for a job, in which
an event satisfies the starting conditions for the job.
The job starts, processes, and completes with either a FAILURE or SUCCESS
exit code.
Note: In the following illustration, statuses are shown as shaded boxes:
Job States
A box always enters the RUNNING state as soon as all its starting conditions
are met. This RUNNING event usually starts jobs in the box.
If a job has an associated priority, all its starting conditions have been met,
and there are not enough machine resources available, it enters the
QUE_WAIT state. When resources become available, it enters the STARTING
state, and then runs.
Because the job state reflects the Scheduler status, a job might have actually
completed even if the Scheduler has not processed that event. In this case,
Unicenter AutoSys JM still shows the job's status as RUNNING. To view all the
events for a job, including those that have not yet processed, display the job
detail in the output of the autorep command.
Starting Conditions
In addition, the job state always reflects the most recent event processed.
Therefore, after a job completes, the status remains as it was on completion.
If the job ended successfully, the status remains SUCCESS until the job runs
again.
Note: When a box job starts, all jobs in the box change their state to
ACTIVATED before they run. Jobs run immediately unless other conditions
apply. If a box completes before a job runs, the job is set to INACTIVE at box
completion. As a result, jobs do not retain their statuses from previous box
processing cycles when a new box cycle begins.
More information:
Box Jobs (see page 88)
Starting Conditions
Unicenter AutoSys JM verifies if it should start a job based on the evaluation of
the starting conditions defined for the job. All defined starting conditions must
be true for a job to start. These conditions can include one or more of the
following:
Starting Conditions
TZ Environment Variable
By default, jobs with time-based starting conditions that do not specify a time
zone are scheduled to start based on the time zone of the TZ environment
variable (that is, the time zone under which the Scheduler runs).
Before you start the Scheduler, make sure that the TZ environment variable is
set. The Scheduler must be started once after you upgrade your database to
insert the value of the TZ environment variable into the database. Do this
before executing jil or autorep.
Custom Calendars
You can use the autocal_asc utility to define any number of custom calendars,
each with a unique name and containing any number of dates or date/time
combinations. You can use these calendars to specify days on which to run the
jobs with which they are associated or to specify days on which jobs with
which they are associated should not run. Calendars exist independently of
any jobs associated with them and are referenced by jobs through job
definitions.
Starting Conditions
Note: If you specify a condition for an undefined job, the condition evaluates
as FALSE, and any jobs dependent on this condition do not run. You can use
the ujo_chk_cond stored procedure to check for this type of invalid condition
statement.
The syntax for defining job dependencies is the same whether the job is being
defined using JIL or the Unicenter WCC GUI, except that the JIL statement
begins with the JIL condition keyword.
Starting Conditions
status
Indicates the status as one of the following:
success
Indicates that the status condition for job_name is SUCCESS. You can
abbreviate this value to s.
failure
Indicates that the status condition for job_name is FAILURE. You can
abbreviate this value to f.
done
Indicates that the status condition for job_name is SUCCESS, FAILURE
or TERMINATED. You can abbreviate this value to d.
terminated
Indicates that the status condition for job_name is TERMINATED. You
can abbreviate this value to t.
notrunning
Indicates that the status condition for job_name is anything except
RUNNING. You can abbreviate this value to n.
job_name
Identifies the job on which the new job is dependent.
You can also abbreviate the dependency specification EXIT CODE to e and
VALUE (of a global variable) to v.
You can use the max_exit_success (maximum exit code for success) attribute
set for a job to control the value of the SUCCESS status. If you specify this
attribute, any job that exits with an exit code less than or equal to the
specified value is treated as a success. A FAILURE status means the job exited
with an exit code higher than this value. The default exit code for normal job
completion is 0. A TERMINATED status means the job was killed.
Note: You can use either uppercase or lowercase letters to specify a status.
However, you cannot use mixed case.
Starting Conditions
Starting Conditions
In this example, the job_name identifies a job defined for the instance
indicated by the autoserv, which identifies the instance's unique, capitalized
three-character identifier (for example, ACE).
You can also associate jobs with more than one instance. For example, a job
defined to run on one instance could have as a starting condition the
successful completion of a job running on a different instance. The
specification for such a job dependency might resemble the following:
condition: success(jobA) AND success(jobB^PRD)
Starting Conditions
The following illustration shows two instances, each with a Single Event
Server, exchanging cross-instance job dependencies:
Different instances can run from the same executables and can have the same
values for $AUTOSYS and $AUTOUSER, both on the Scheduler machine and on
machines running remote Agents. However, each instance must have a
different value for $AUTOSERV.
For more information, see the Windows or UNIX Implementation Guide.
Schedulers
When you implement cross-instance dependencies, different Schedulers can do
the following:
Starting Conditions
Event Servers
Event Servers track cross-instance job dependencies. Each time a job
definition with a cross-instance job dependency is submitted to the database,
the Event Server does the following:
The Event Server uses the job name, a caret symbol (^) and the instance
name to enter jobs in the ujo_ext_job and ujo_req_job tables. For example:
jobB^PRD
If JobC should only start when both JobA and JobB complete successfully or
when both JobD and JobE complete (regardless of whether JobD and JobE
failed, succeeded, or terminated), you would specify the following dependency
in the job definition for JobC:
(success(JobA) AND success(JobB)) OR (done(JobD) AND done(JobE))
As indicated in this example, you can use any job status as part of the
specification for a specific job's starting conditions. With this latitude, you can
program branching paths that must be taken and provide alternate actions for
error conditions.
Starting Conditions
For example, if JobB fails after partially processing, you might want to call a
routine called Backout that reverses the changes that were made. You would
specify the following job dependency in the job definition for Backout:
failure(JobB)
You can use the notrunning operator to keep multiple jobs from running
simultaneously. For example, assume you do not want to run a database
dump (DB_DUMP) and a file backup (BACKUP) at the same time because such
processing would adversely impact performance. However, you might have a
smaller job that can run as long as both of these resource-intensive jobs are
not running. You would specify the smaller job's dependency as follows:
notrunning(DB_DUMP) AND notrunning(BACKUP)
More information:
Specifying Job Load (job_load) (see page 186)
Starting Conditions
job_name
Defines the name of the job upon which the new job depends.
operator
Specifies one of the following exit code comparison operators:
=
Equal to.
!=
Not equal to.
<
Less than.
>
Greater than.
<=
Less than or equal to.
>=
Greater than or equal to.
value
Defines the numeric exit code value on which to base the dependency.
For example, if a broken communication line results in JobA failing with an exit
code of 4, and you want the system to run a script (JobB) that redials the line
when this code is encountered, you would enter the following for the job
dependency specification for the JobB redial job:
exitcode (JobA) = 4
You can use any job status or exit codes as part of the specification for
starting conditions. You can abbreviate the dependency specification exitcode
with the letter e (uppercase or lowercase).
Starting Conditions
When you define jobs to run batch files on Windows, you should be
aware of and account for Windows-specific behavior.
Windows programs return any exit values that are programmed in the
executable code. This exit value is the last thing returned to Windows when
the program terminates.
Generally, a zero (0) exit code indicates success, while a non-zero exit code
indicates an error. The expected error values should be documented with each
individual program, but some programs can return unexpected exit codes.
Modify these programs so that they return expected values, and use these
values when specifying exit code dependencies.
Jobs are created using standard Windows process creation techniques. After
the job is created, the Agent waits for the job to complete. When the job
completes, Unicenter AutoSys JM gets the program exit code from Windows
and stores it in the database for later use.
When launching programs directly, the exit codes are returned and put in the
database. However, there are some exit code behaviors that you must take
into consideration when using a job to start *.BAT batch files.
The exit code returned from a batch file is the return code from the last
operation executed in that particular batch file. Consider the following
example:
REM test batch file
test
if errorlevel 1 goto bad
goto good
:bad
del test.tmp
:good
exit
This sample batch file returns a 0 exit code as long as test.tmp exists. If
test.tmp does not exist, the return code is from the del line and not from the
line that runs the test. Therefore, this batch file returns a 0 (successful) exit
code, even if test failed to execute as intended.
Starting Conditions
When test fails with error level 1, this batch file returns an exit code of 1 from
FALSE.EXE, whether the test.tmp file exists or not.
Starting Conditions
global_name
Defines the name of the global variable upon which the job depends.
Limits: This value can be up to 30 characters in length. The following
characters are valid: a-z, A-Z, 0-9, period (.), underscore (_), and
hyphen (-). You can include spaces in a global variable name.
operator
Specifies one of the following exit code comparison operators:
=
Equal to.
!=
Not equal to.
<
Less than.
>
Greater than.
<=
Less than or equal to.
>=
Greater than or equal to.
value
Defines the numeric or text value of the global variable on which to base
the dependency.
Limits: This value can be up to 30 characters in length and cannot contain
quotation marks or spaces. The following characters are valid: a-z, A-Z, 09, period (.), underscore (_), and hyphen (-).
Note: When using JIL, use the condition attribute to enter the above
expression in the appropriate JIL script.
For example, assume that a set of jobs in a box should only run with a
manager's approval. In this case, use the following syntax to set the global
variable named manager-ok to OK, and make the top-level box job dependent
on this global variable:
VALUE(manager-ok) = OK
You can abbreviate the dependency specification VALUE with the letter v
(uppercase or lowercase).
Jobs in a box start only if the box itself has a status of RUNNING.
Boxes are used primarily for jobs with the same starting conditions.
A box remains in RUNNING state until all the jobs it contains have run.
A box returns a status of SUCCESS when all the jobs it contains have run
and returned a status of SUCCESS.
A box returns a status of FAILURE when all the jobs it contains have run
and one or more of the jobs has returned a status of FAILURE.
More information:
Box Job Attributes and Terminators (see page 122)
Starts all jobs with no additional starting conditions and without any
implied order or priority.
Maintains the box in the RUNNING state as long as there are jobs in it with
ACTIVATED or RUNNING status.
Changes the status of the job directly from ACTIVATED to INACTIVE if its
containing box is terminated before the job starts.
Note: Jobs in a box cannot start unless the box has a status of RUNNING.
However, after a job starts running, it runs to completion even if the box is
stopped.
After all the jobs in a box have completed successfully, the box completes with
a status of SUCCESS. The status of the box and the jobs it contains remain
unchanged until the next time the box runs.
If a box changes to TERMINATED state (for example, if a user sends a KILLJOB
event), it stays in TERMINATED state until the next time it is started,
regardless of any later state changes of the jobs it contains.
Example: Simple Box Job
This example shows the behavior of a simple box job.
The following illustration shows a box named simple_box that contains three
jobs (job_a, job_b, and job_c). job_a and job_b have no starting conditions.
The starting condition for job_c is the success of job_b.
When simple_box starts running, the status of all the jobs changes to
ACTIVATED. Because job_a and job_b have no additional starting conditions,
they start running. When job_b completes successfully, job_c starts. When
job_c completes successfully, the box completes with a SUCCESS status.
If job_b fails, job_c does not start but remains in the ACTIVATED state.
Because no contingency conditions have been defined, simple_box continues
running, waiting for the default completion criteria (that all jobs in the box
have run) to be met.
More information:
How Job Status Changes Affect Box Status (see page 122)
SUCCESS
TERMINATED or FAILURE
FAILURE
SUCCESS
SUCCESS
FAILURE
SUCCESS
SUCCESS
FAILURE
FAILURE
INACTIVE
SUCCESS
SUCCESS
INACTIVE
TERMINATED or FAILURE
FAILURE
TERMINATED
Any change
If another job is dependent on the status of the box, the status change could
trigger the job to start. If the box status does not change, dependent jobs are
not affected.
If the box contains other jobs in addition to the job that changed status, the
status of the box is evaluated again according to the success or failure
conditions assigned to the box (either the default or user-assigned). Any jobs
in the box with a status of INACTIVE are ignored when the status of the box is
being re-evaluated. For example, consider an INACTIVE box that contains four
jobs, all with a status of INACTIVE (this is typical of a newly created box). If
one of the jobs is forced to start and completes successfully, the status of the
box changes to SUCCESS even though none of the other jobs ran.
In the following illustration, the box job bx_report contains three jobs
(job_Fwatch, run_stats, and report_stats). If the job run_stats fails, the
bx_report box job terminates because run_stats has a box_terminator
attribute. If you force start run_stats, and it completes successfully,
report_stats would still not start because the box it is in is not running.
The box job can complete successfully only when all of the jobs it contains
have completed successfully.
The following illustration shows the job definitions and the job flow:
The following illustration shows the job definitions and the job flow:
The following illustration shows the job definitions and the job flow:
Job Flow with Time Conditions Running on the First of the Month
This scenario is an example of a job flow that begins on the first of every
month.
Job Flow with Time Conditions Running on the Second of the Month
This scenario builds upon the previous scenario and takes place on the
following day.
On days of the month other than the first, job_Fwatch and job_monthly do not
run. They still have a status of SUCCESS in the database from the previous
run on the first day of the month. As a result, job_daily still runs.
Job Flow with Time Conditions Running on the First of the Following Month
This scenario builds upon the previous scenario and takes place on the first
day of the following month.
On the first day of the next month (for example, February 1), the file from the
mainframe fails to arrive in the 90 minute wait time; therefore, job_Fwatch
self-terminates. As a result, job_monthly misses its run for the month.
However, because its event status in the database is still SUCCESS from the
previous month, job_daily is able to run every day this month. When job_daily
runs, it uses the previous month's data leading to invalid reports for the
month.
Resetting a Job Flow with Time Conditions Through INACTIVE Status Change
This scenario builds upon the previous scenario and takes place on the last day
of the month.
To fix time-related statuses, you can use a sendevent command to change
them to INACTIVE at the end of their valid interval. You can create another job
to do this automatically.
Changing the status of job_monthly to INACTIVE at the end of every month
allows job_daily to run only in the months that job_monthly completes
successfully. In the following example, when job_Fwatch fails, job_monthly
will not run, job_daily will not run because its status has been reset to
INACTIVE.
sub_command
Defines a JIL subcommand.
job_name
Defines the name of the job on which to act.
Rule 2
You can follow each subcommand with one or more attribute statements.
These statements can occur in any order, and are applied to the job
specified in the preceding subcommand. A subsequent subcommand
begins a new set of attributes for a different job. The attribute statements
have the following form:
attribute_keyword:value
attribute_keyword
Defines a valid JIL attribute.
value
Defines the setting to apply to the attribute.
Rule 3
You can enter multiple attribute statements on the same line, but you
must separate the attribute statements with at least one space.
Rule 4
A box job definition must exist before you can add jobs to it.
Rule 5
Valid value settings can include any of the following characters:
Hyphens (-)
Underscores (_)
Numbers (0-9)
Colons (:), if the colon is escaped with quotation marks (" ") or a
preceding backslash (\)
Rule 6
Because JIL parses on the combination of a keyword followed by a colon,
you must use escape characters (a backslash) with any colons used in an
attribute statement's value. For example, to define the start time for a job,
specify 10\:00.
Note: When specifying drive letters in commands, you must use escape
characters with the colon (:). For example, "C:\tmp" and C\:\tmp are
valid; C:\tmp is not.
Rule 7
Use one of the following methods to indicate comments in a JIL script:
To comment an entire line, put a pound sign (#) in the first column.
Rule 8
You can use the blob_input attribute to manually enter multiline text. This
attribute is only valid for the insert_job, update_job, insert_blob, and
insert_glob subcommands. The blob_input attribute has the following
form:
blob_input:auto_blobt this is a multiline text
/auto_blobt
Note: Use the auto_blobt meta-tags to indicate the beginning and end of
multiline text. JIL interprets every character input between the auto_blobt
meta-tags literally. This implies that JIL does not enforce any of the
previously discussed rules for text entered in an open auto_blobt
meta-tag.
JIL Subcommands
JIL Subcommands
You can use the following JIL subcommands to create, modify, override, or
delete Unicenter AutoSys JM assets:
insert_job
Adds a new command, box, or file watcher job definition to the database.
update_job
Updates an existing command, box, or file watcher job definition in the
database.
delete_job
Deletes a specified command, box, or file watcher job from the database.
If the specified job is a box job, the box job is deleted and the jobs in the
box become stand-alone jobs.
delete_box
Deletes a specified box job and all the jobs in that box from the database.
override_job
Defines a one-time override of specified attributes to apply to the next run
of a job.
insert_machine
Adds a new real or virtual machine definition to the database.
delete_machine
Deletes the specified real or virtual machine definition from the database.
insert_monbro
Adds a new monitor or report definition to the database.
update_monbro
Updates an existing monitor or report definition in the database.
delete_monbro
Deletes the specified monitor or report definition from the database.
insert_job_type
Adds a new job type definition to the database. This is the only way to
define a job type.
update_job_type
Updates an existing job type definition in the database. You can use this
command to change the values of the command and description attributes.
JIL Subcommands
delete_job_type
Verifies that no jobs are currently defined with the specified job type, then
deletes the specified job type definition from the database.
insert_xinst
Adds a new external instance definition to the database.
update_xinst
Updates an existing external instance definition in the database.
delete_xinst
Deletes the specified external instance definition from the database.
insert_blob
Adds a new blob definition associated with an existing job.
delete_blob
Disassociates a blob definition from an existing job and deletes the blob
from the database.
insert_glob
Adds a new glob definition referenced by a given name.
delete_glob
Deletes the specified glob definition from the database.
Note: Blobs and globs can only contain the following characters: A-Z, a-z, and
0-9.
When jobs of type FTP are defined, all of them execute /home/scripts/myftp
when those jobs are run.
insert_job: ftp_test
job_type: f
std_in_file: /tmp/ftp_params
When a new version of FTP script is used, only the definition of job type has to
be modified.
You can use the following jil commands to create, update, and delete
user-defined job types.
insert_job_type
delete_job_type
update_job_type
description
Defines a description of the job type.
Limits: This value can be up to 256 characters in length.
Any other attribute is rejected and JIL fails.
Note: You must define a job type before you can use it to define a job. For
more information, see the Reference Guide.
Example: Use insert_job_type to Add a User-Defined Job Type
This example creates an association between a user-defined job type and an
executable.
insert_job_type: 5
description: Web Service Adapter
command:ws.exe
2.
Issue the following command to redirect the JIL script file containing the
job definition to the jil command:
jil < script name
Script name
Defines the script to redirect to all the jil command.
The job definitions in the specified script are submitted to the database.
To specify the instance to which to send and apply definitions, use the
-S autoserv_instance argument to the jil command. For single-instance
environments, the command defaults to the only available instance. For the jil
command to work properly, the correct environment variables must be
assigned.
Note: You can also submit job definitions through the Unicenter WCC GUI. For
more information about environment variables, see the Windows or UNIX
Implementation Guide. For more information about the jil command, see the
Reference Guide.
Example: Submit a Job Definition in a JIL Script
This example redirects a file called my_jil_script to the jil command on the
PRD instance of Unicenter AutoSys JM.
jil s PRD < my_jil_script
2.
3.
Enter jil commands and prompts as directed, and enter Exit at the
command prompt when you complete the job definition.
JIL interactive mode ends.
Note: You can also submit job definitions through the Unicenter WCC GUI. For
more information about environment variables, see the Windows or UNIX
Implementation Guide. For more information about the jil command, see the
Reference Guide.
This command tells the Scheduler to start the job named test_install.
This example shows a JIL script that defines a simple command job
named test_run:
insert_job: test_run
job_type: c /*(optional, it is the default) */
machine: tibet
command: "c:\bin\test.bat"
This example shows a JIL script that defines a simple command job
named test_run:
insert_job: test_run
job_type: c /*(optional, it is the default) */
machine: tibet
command: /bin/touch /tmp/test_run.out
Watch for a file named EodTransFile in the /tmp directory (this file
contains end of day transactions).
Check if the file has reached the minimum file size of 50,000 bytes.
When the watched file reaches the specified minimum size and does not
change between check intervals (60 seconds in this example), it is considered
complete. When this occurs, the file watcher job ends with a SUCCESS status.
Run the job only if the file watcher job named EOD_watch completes with
a SUCCESS status.
Note: Unicenter AutoSys JM lets you specify a time limit in the condition
attribute for use in job dependency evaluations. The job's execution
environment is verified exclusively by the profile, which is sourced immediately
before the job starts. By default, the file /etc/auto.profile, on the Client
computer, is sourced. You can use the profile attribute to override the default
profile.
More information:
How the Agent Sets Job Profiles (see page 91)
Look-Back Conditions
Unicenter AutoSys JM supports look-back conditions. You can use look-back
conditions to base dependencies for a job on the last run of another job. The
last run is defined by the ending time of the last successful run of a job. If the
job has run with the specified result, the condition or predecessor is satisfied
and the job starts. If not, the condition is not satisfied and the job for which
the look-back condition is defined does not start.
To specify a look-back dependency, enter the job name followed by a comma
(,) then HH (hours), period (.) and MM (minutes).
Example: Specifying Look-Back Conditions
This example shows a job definition with look-back conditions.
In the following job definition, the command job test_sample_04 can only start
if all of the following conditions are met:
insert_job: test_sample_04
machine: localhost
command: sleep 10
condition: success(test_sample_01,12.00) AND failure(test_sample_02,24.00) AND
success(test_sample_03)
Run the job only if the file watcher job named EOD_watch completes with
a SUCCESS status.
More information:
Box Job Logic (see page 119)
To run a job associated with the EmployeePay application, enter the following:
sendevent -e STARTJOB -I EmployeePay
To run a job associated with the Accounting group, enter the following:
sendevent -e STARTJOB -B Accounting
To run a job associated with both the EmployeePay application and Accounting
group (intersection of both sets), enter the following:
sendevent -e STARTJOB -I EmployeePay -B Accounting
Real machine
Virtual machine
Unicenter NSM
You can specify the machine type as r (real UNIX), v (virtual), n (real or
virtual Windows), u (Unicenter NSM or UUJMA), c (Unicenter AutoSys JM
Connect), l (legacy real UNIX), or L (legacy real Windows). The component
real machines in a virtual machine definition can be UNIX or Windows
machines or a mix of both.
If you are defining a virtual machine, follow the insert_machine subcommand
with one or more machine attributes that specify real machines.
You can specify any machine accessible through the TCP/IP protocol in
the machine attribute of a job; you need not explicitly define it using the
insert_machine command. However, any undefined machine has a default
factor value of 1.0 and no max_load value, meaning that there is no limit on
the job load assigned to it.
You can specify any machine defined in the /etc/hosts file on the
machine running the Scheduler in the machine attribute of a job; you need not
explicitly define it using the insert_machine command. However, any
undefined machine has a default factor value of 1.0 and no max_load value,
meaning that there is no limit on the job load assigned to it.
Note: For more information, see the Reference Guide.
Note: In this example, the two real machines (when specified in a job
definition through the virtual machine) vary considerably in capacity from a
scheduling standpoint. However, when these machines are explicitly specified
by name in a job definition, the factor and max_load attributes defined here
have no effect; they only have these values when used through the virtual
machine.
Use the delete_job subcommand to delete the current job definition, and
use the insert_job subcommand to redefine the job.
This method is useful when the job definition contains many non-default
attributes that you want to deactivate instead of resetting them. However,
if you delete and redefine the job, you must redefine any non-default
attributes you want to keep from the previous definition.
Remove the previously defined starting conditions from the job definition,
so the job inherits the starting conditions of the box in which it resides.
Start the job at 10:00 a.m. and 2:00 p.m. on each of the specified days.
The times shown in the sample script are surrounded by quotation marks
because they contain a colon. You can also use a backslash (\) as an escape
character for the colon, as the following example shows:
start_times: 10\:00, 14\:00
Note: If a job runs daily at the same time (for example, 12:00) and you edit
the job definition and save it at 11:59, the job will not run until the next day
at 12:00.
When you save a start time job definition to the database within one minute of
the specified start time, the start time is placed in the future (that is,
tomorrow). However, if the start time is two minutes or more from the save
time, the job runs at the next occurrence of the specified start time (that is,
today).
Delete a Job
Delete a Job
To delete a job, enter the delete_job subcommand followed by the name of
the job to delete. For example, to delete the job test_run, you would enter the
following:
delete_job: test_run
When JIL is in job verification mode (the default), the delete_job subcommand
scans the ujo_job_cond table and notifies you of any dependent conditions for
the deleted job before deleting it.
To delete a box without deleting the jobs it contains, enter the delete_job
command followed by the name of the box job to delete. The jobs in the box
become stand-alone jobs. For example, to delete the box EOD_box without
deleting the jobs in it, you would enter the following:
delete_job: EOD_box
auto_hold
command
condition
date_conditions
days_of_week
exclude_calendar
machine
max_run_alarm
min_run_alarm
n_retrys
profile
run_calendar
run_window
start_mins
start_times
std_err_file
std_in_file
std_out_file
term_run_time
watch_file
watch_file_min_size
watch_interval
JIL will not accept an override if it results in an invalid job definition. For
example, if a job definition has only one starting condition, start_times, JIL will
not let you set the start_times attribute to NULL because removing the start
condition makes the job definition invalid (no start time could be calculated).
Machine unavailability
Media failures
Exit status greater than the defined maximum exit status for success
override_job: RunData
condition: NULL
std_out_file: "C:\tmp\SpecialRun.out"
override_job: RunData
condition: NULL
std_out_file: "tmp\SpecialRun.out"
Note: After you submit a JIL script to the database, you cannot view the script
or edit an override. To change the override values, you must submit another
JIL script with new values or use the Unicenter WCC Job Editor. However, the
original override remains stored in the ujo_overjob table in the database.
box_name: Nightly_Download
condition: success(filter_data)
machine: lowgate
command: isql -U mutt -P jeff
std_in_file:/DOWNLOAD/MAINFRAME/SALES.SQL
When the jobs are running on a single computer, you can define a
command job to run a program that outputs the data to a file using the
std_out_file attribute.
2.
When the job is completed, a file is created in the location specified by the
std_out_file attribute.
3.
All the other jobs that depend on this output data can access this file.
4.
You can also define a second command job to run a program that reads
the output data of the previous job, by specifying the file name in the
std_in_file attribute.
5.
This second command job opens the file specified by the std_in_file
attribute and passes the data to the program, allowing it to complete
successfully.
Based on this example, as the output data is stored in a file on one computer,
it is not available to all the other jobs that are scheduled to run on other
computers. However, the use of blobs allows the data that is saved as output
by a job on one computer to be shared by all the other jobs that are running
across multiple computers.
Also, you can define a command job to run a program that uploads the output
data to the database as a blob using the std_out_file attribute. You can also
define a second command job to run a program that reads the blob data of the
previous job using the std_in_file attribute. The second command job
downloads the blob data specified by the std_in_file attribute from the
database and passes the data to the program, allowing it to complete
successfully.
Images
Video files
Audio files
Textual Data
Requires an operating system that can interpret the bytes in textual data,
which contains the characters that conform to the ASCII standard.
Note: Some operating systems handle the specification of a new line in
the textual data differently. In this instance, you must convert the
necessary textual data when it is copied across operating systems.
Unicenter AutoSys JM allows you to specify the type of blob data that is
being used and converts the textual data when it is downloaded across
multiple operating systems.
Types of Blobs
Types of Blobs
Unicenter AutoSys JM supports the following types of blobs:
Job blobs
Global blobs
Job Blobs
Job blobs are associated with an existing Unicenter AutoSys JM job and are
referenced by the job name. Job blobs can either be created at the time of the
job definition or after the job has been defined. They are deleted when the job
is deleted.
There are three types of job blobs, which include the following:
Input
Contains the input data that is reserved for the job to which they are
associated in textual data format.
Output
Stores the program output messages of a running job in textual or binary
data format.
Error
Stores the error messages of a running job in textual or binary data
format.
Global Blobs
Global Blobs
Global blobs are general purpose blobs in textual or binary data format. Like
the Unicenter AutoSys JM global variables, they are referenced by a unique
name. You can either upload the global blobs to the database using JIL or they
can be uploaded by the Unicenter AutoSys JM Agent, after a job has completed
its run. After a global blob is created, it is available to any job as input. Global
blobs remain in the database until they are deleted using JIL.
Blob Attributes
Blob Attributes
The following table lists the subcommands and attributes associated with the
definition or destruction of a blob:
Task
Subcommands
Attributes
insert_blob
blob_input or blob_file
delete_blob
blob_type
insert_glob
blob_mode, blob_input, or
blob_file
delete_glob
The blob_input attribute lets you manually input the contents of a blob
containing textual data. The blob_input attribute has the following format:
blob_input: <auto_blobt>textual data</auto_blobt>
Note: The textual data begins immediately after the auto_blobt XML-style
open tag and may span multiple lines. JIL recognizes the end of the textual
data when it reads the auto_blobt XML-style end tag. This implies that the
literal character string </auto_blobt> cannot form part of the blob_input
value. If you want to include this character string as part of the textual blob
data, use the blob_file attribute.
The blob_file attribute allows the user to specify the location and name of a file
on the computer that serves as the input job blob or global blob file. The
blob_file attribute has the following format:
blob_file: filename
Note: If the blob_file attribute is used to specify an input job blob through the
insert_job or insert_blob subcommand, the file is interpreted as a text-based
file.
Upload an input job blob at the time of the definition of the associated job.
Upload an input job blob after you have defined the job.
Note: Input job blobs are referenced by the name of the job.
To create an input job blob at the time of the definition of the associated job,
use the insert_job JIL subcommand and specify either the blob_input or
blob_file attributes, as follows:
insert_job: test_job_with_blob
job_type: c
command: sleep 60
machine: juno
owner: jerry@juno
permission:
std_in_file: $$blobt
blob_input: <auto_blobt>multi-lined text data for job blob
</auto_blobt>
or
blob_file: /test_job_with_blob_file.txt
To create an input job blob after you have defined the job, use the insert_blob
JIL subcommand and specify either the blob_input or blob_file attributes, as
follows:
insert_blob: test_job_with_blob
blob_input: <auto_blobt>multi-lined text data for job blob
</auto_blobt>
or
blob_file: /test_job_with_blob_file.txt
JIL interprets the file name that is specified in the blob_file attribute as a file
that contains the textual data and performs a conversion of the new line
character. JIL also displays the version number of the most recent input job
blob.
You must specify whether to delete the job input or output blob data using the
blob_type attribute.
Note: Job blobs are referenced by the name of the job. JIL displays the
version number of the most recent job input blob.
To delete the most recent version of the input job blob, use the delete_blob
JIL subcommand and specify the blob_type attribute with the value of input,
as follows:
delete_blob: test_job_with_blob
blob_type: input
To delete the output and error job blobs, use the delete_blob JIL subcommand
and specify the blob_type attribute with the value of output, as follows:
delete_blob: test_job_with_blob
blob_type: output
Specify the mode of the blob data that is being used in the blob_mode
attribute.
Note: If you use the insert_glob JIL subcommand using the same name as an
existing global blob, the blob data is reinserted into the database. In this case,
the original blob data is deleted and the new blob data takes its place.
To create a global blob containing textual data, use the insert_glob JIL
subcommand and specify the blob_mode attribute with a value of text and
either the blob_input or blob_file attributes, as follows:
insert_glob: my_text_global_blob
blob_mode: text
blob_input: <auto_blobt>multi-lined text data for job blob
</auto_blobt>
or
blob_file: /my_text_global_blob_file.txt
Note: JIL interprets the file name that is specified in the blob_file attribute as
a file that contains textual data and performs a conversion of the new line
character.
To create a global blob containing binary data, use the insert_glob
subcommand and specify the blob_mode attribute with a value of binary and
the blob_file attribute, as follows:
insert_glob: my_binary_global_blob
blob_mode: binary
blob_file: /my_binary_global_blob_file
Note: You cannot use the blob_input attribute to create a global blob that
contains the binary data.
std_in_file Attribute
The keywords that are supported by the std_in_file attribute include the
following:
$$blobt
Uses the input job blob of the current job as input and treats the blob data
as textual data.
$$blob.<job name>
Uses the output job blob of the specified job as input and treats the blob
data as binary data.
$$blobt.<job name>
Uses the output job blob of the specified job as input and treats the blob
data as textual data.
$$glob.<global blob name>
Uses the specified global blob as input and treats the blob data as binary
data.
$$globt.<global blob name>
Uses the specified global blob as input and treats the blob data as textual
data.
Note: You cannot use the keyword $$blob to specify the use of the current
job's input blob.
To define a job that uses the output blob of its previous run as input
1.
Define the job so that the job's name is in the std_in_file attribute using
either the $$blob.<job name> or $$blobt.<job name> keyword.
2.
Apply a one-time override of the std_in_file attribute, so that the job reads
from a local file on the computer on its first run.
Unicenter AutoSys JM does not support the use of > or >> character
strings in the std_out_file or std_err_file attributes.
Existing blob data is overwritten with the new data after the job run is
completed.
If the job has one or more input blobs tied to it, in addition to the job
definition, the autorep command extracts each of the job blob definitions, and
the output might resemble the following:
insert_job: test_job_with_blob
job_type: c
command: sleep 60
machine: juno
owner: jerry@juno
permission:
std_in_file: $$blobt
alarm_if_fail: 1
/* -- test_job_with_blob:insert_blob #1 -- */
insert_blob: test_job_with_blob
blob_input: <auto_blobt>multi-lined text data for job blob 1
</auto_blobt>
/* -- test_job_with_blob:insert_blob #2 -- */
insert_blob: test_job_with_blob
blob_input: <auto_blobt> multi-lined text data for job blob 2
</auto_blobt>
/* -- test_job_with_blob:insert_blob #3 -- */
insert_blob: test_job_with_blob
blob_input: <auto_blobt> multi-lined text data for job blob 3
</auto_blobt>
You can also specify a location to download the blobs using the -f parameter
as follows:
autorep -J ALL -q -f /myblobsdir
job_type: c
command: sleep 60
machine: juno
owner: jerry@juno
permission:
std_in_file: $$blobt
alarm_if_fail: 1
/* -- test_job_with_blob:insert_blob #1 -- */
insert_blob: test_job_with_blob
blob_file: /myblobsdir/test_job_with_blob_1.txt
/* -- test_job_with_blob:insert_blob #2 -- */
insert_blob: test_job_with_blob
blob_file: /myblobsdir/test_job_with_blob_2.txt
/* -- test_job_with_blob:insert_blob #3 -- */
insert_blob: test_job_with_blob
blob_file: /myblobsdir/test_job_with_blob_3.txt
File Name
____________
_____________________________
MYGLOB
/myblobsdir/MYGLOB
REPORT_CHART
/myblobsdir/REPORT_CHART
ARCHIVED_DATA
/myblobsdir/ARCHIVED_DATA
JOB_SNAPSHOT
/myblobsdir/JOB_SNAPSHOT
This example generates a report that downloads the contents of all global
blobs to the location /myblobsdir as text data:
autorep -z ALL -f /myblobsdir -a
File Name
__________________________________
MYGLOB
/myblobsdir/MYGLOB.txt
REPORT_CHART
/myblobsdir/REPORT_CHART.txt
ARCHIVED_DATA
/myblobsdir/ARCHIVED_DATA.txt
JOB_SNAPSHOT
/myblobsdir/JOB_SNAPSHOT.txt
Chapter 8: Machines
This section contains the following topics:
Real Machines (see page 183)
Virtual Machines (see page 184)
Defining Machines (see page 184)
Machine Definitions (see page 189)
Machine Status (see page 194)
Load Balancing (see page 197)
Forcing a Job to Start (see page 200)
Queuing Jobs (see page 200)
User-Defined Load Balancing (see page 206)
Real Machines
A real machine is any network host that meets the following criteria:
A real machine must meet these conditions to run jobs. However, for
Unicenter AutoSys JM to perform intelligent load balancing and queuing while
running jobs, it must know the relative processing power of the various real
machines. Unicenter AutoSys JM uses the virtual machine logical construct to
provide both load balancing and queuing.
Machines 183
Virtual Machines
Virtual Machines
A virtual machine is comprised of one or more real machines. By defining
virtual machines to Unicenter AutoSys JM and then submitting jobs to run on
those machines, you can specify the following:
Defining Machines
You can use machine attribute statements in a JIL script to define both real
and virtual machines. The following JIL subcommand defines a real or virtual
machine:
insert_machine: machine_name
Note: You can only define real and virtual machines using JIL. There is no
Unicenter WCC GUI interface for defining real and virtual machines.
You can use the following JIL attributes to define machines:
type
Specifies a machine type, which can be one of the following:
machine
Defines the name of a real machine to use as a component of a virtual
machine.
Defining Machines
max_load
Defines the maximum load (in load units) that a machine can reasonably
handle. This attribute is used for load balancing and is only valid in a real
machine definition.
factor
Defines a factor to multiply by a real machine's available CPU cycles to
verify the relative available CPU cycles. This attribute is used for load
balancing and is only valid in a real machine definition.
You need only define a real or virtual machine if it meets one of the following
criteria:
You must define virtual machines before you can use them.
Load balancing and queuing is possible only if real and virtual machines have
been defined to Unicenter AutoSys JM using these machine attributes. The
max_load and factor attributes, used when defining real machines, are key for
load balancing and queuing.
Note: For more information, see the Reference Guide.
Machines 185
Defining Machines
Defining Machines
Machines 187
Defining Machines
Machine Definitions
Machine Definitions
Unicenter AutoSys JM can infer whether you are defining a real or virtual
machine based solely on the attributes in the definition:
The type attribute is required when defining a Windows real machine, but you
can omit it when defining a UNIX machine. Compare the following definitions:
/* real UNIX */
insert_machine: toad
max_load: 100
factor: 0.8
/* real Windows */
insert_machine: tiger
type: n
max_load: 100
factor: 0.8
/* virtual */
insert_machine: jungle
machine: toad
machine: tiger
To help you understand virtual machines and their capabilities, the following
sections provide a series of examples that demonstrate the different
combinations of real machines that can constitute a virtual machine. These
examples include the JIL statements used to define these machines.
Machines 189
Machine Definitions
2.
3.
Machine Definitions
2.
3.
Machines 191
Machine Definitions
Machine Definitions
The machine attribute followed by the name of the real machine to delete.
Machines 193
Machine Status
Machine Status
Real machines have a run-time status attribute designed to reflect the
machines availability. The machine status lets the Scheduler run more
efficiently by not wasting time trying to contact machines that are out of
service. If a job is scheduled for a machine that is offline, it is set to
PEND_MACH status until the machine comes back online. In the case of a
virtual machine, offline machines are not considered as possible candidates for
running a job.
A machine can have one of following statuses:
Online
Indicates that the machine is available and accepting jobs to run.
Offline
Indicates that the machine has been manually removed from service and
will not accept jobs to run.
Missing
Indicates that the Scheduler has verified that the machine is not
responding and has automatically removed it from service. The machine
will not accept jobs to run.
Machine Status
The Scheduler log displays a message similar to the following when the
machine is offline:
[11/28/2005 15:38:21]
MACHINE: cheetah
The Scheduler log displays a message, similar to the following, when the
machine is online:
[11/28/2005 15:38:21]
MACHINE: cheetah
Machines 195
Machine Status
If the Agent fails to respond after three attempts, the Scheduler marks the
machine as missing, issues a MACHINE_UNAVAILABLE alarm, and logs a
message similar to the following:
[11/28/2005 16:01:46]
Taking offline.
The Scheduler puts all jobs scheduled to start on the missing machine in
PEND_MACH status.
When the machine returns to service, the Scheduler starts all jobs in
PEND_MACH status for that machine.
Note: If you understand the cause of a missing machine and intervene to
correct it, you can use the sendevent command to send a MACH_ONLINE
event to bring the machine back online instead of waiting for the
Scheduler to do so.
Load Balancing
Load Balancing
You can implement simple load balancing (wherein the workload is spread
across multiple machines based on each machine's capabilities) by using the
machine attribute to specify a virtual machine or multiple real machines in a
job definition. This is also an easy way to help ensure reliable job processing.
For example, the Scheduler can use load balancing to check which of the
machines in a job definition is best suited to run the job, and automatically
start it on that machine.
The advantages of building a virtual machine are:
Its definition can be changed and the new construct is immediately applied
globally.
Even when a set of real machines that have not been explicitly defined to
Unicenter AutoSys JM is specified in a job's machine attribute, the
available CPU cycles are used to check which machine runs the job.
Alternatively, you can specify a list of real machines in the job's machine
attribute. The system configuration includes machines of varying processing
power, so you should specify the max_load and factor attributes for each real
machine. If the max_load attribute is not defined for any of the real machines
or all of them have ample load units available, Unicenter AutoSys JM chooses
which machine to run on based solely on available processing power.
Machines 197
Load Balancing
In either case, Unicenter AutoSys JM uses the following process to verify the
available relative processing cycles for each machine:
1.
2.
3.
If a real machine in the virtual machine is not online, the Scheduler does not
attempt to contact it and it is not considered in the load balancing algorithm.
If the machines have equal max_load and factor values, it is equivalent to
defining a job and specifying the following in the machine field:
machine: cheetah, camel
Load Balancing
To start a job on this virtual machine, specify marmot in the job's machine
attribute. The Scheduler performs the necessary calculations to verify on
which machine to run the job, and reflects these calculations in its output log.
The output is similar to the following:
EVENT: STARTJOB JOB: test_mach
[11/22/2005 10:16:53]
[11/22/2005 10:16:54]
CAUAJM_I_10208
[11/22/2005 10:16:59]
<cheetah=78>
[11/22/2005 10:17:02]
<hippogriff=80*[.80]=64>
[11/22/2005 10:17:07]
<camel=20*[.30]=6>
[11/22/2005 10:17:11]
JOB: tvm
STATUS: STARTING
JOB: tvm
[11/22/2005 10:17:11]
Note that even though the machine usage on cheetah was less than that of
machine hippogriff, machine cheetah was picked because of the result of the
factor calculation (machine cheetah had 78% of its processing power available,
while machine hippogriff only had 64% available). Thus, the factors weigh
each machine to account for variations in processing power.
Machines 199
Queuing Jobs
Queuing is a mechanism used in Unicenter AutoSys JM to check the run order
of jobs that cannot run immediately. There is no actual physical queue.
Instead, Unicenter AutoSys JM uses queuing policies, which are based on the
use and subsequent interaction of the job_load and priority attributes in a job
definition and the max_load and factor attributes in a machine definition. You
can also use the sendevent command to send a CHANGE_PRIORITY event to
change the priority of a job that is already queued.
Note: The constructs of job loads (specified in the job_load attribute) and
machine loads (specified in the max_load attribute) are user-defined
conventions that Unicenter AutoSys JM enforces. If you do not indicate what
the load of a job is, it does not figure in the product's queuing calculations.
This is different from the load balancing feature, which inspects the CPU to
verify its usage.
The following sections discuss queuing jobs and give examples of how to use
load balancing and queuing to optimize job processing in your environment.
Queuing Jobs
If you set a job_load value for a job and you assigned a max_load for
every real machine comprising a virtual machine, Unicenter AutoSys JM
checks if each machine has sufficient available load units before running
the job.
When more than one job is queued, the priority value is considered first
when deciding which job to run next. If there are insufficient load units
available to run the highest priority job, it remains in the queue and lower
priority jobs are considered subsequently.
If only one of the machines has sufficient load units, the job runs on that
machine.
When one of the machines has the necessary load units available,
Unicenter AutoSys JM reviews all the job's starting conditions to make sure
it may still run.
If all of the job's starting conditions are satisfied (that is, they evaluate
as TRUE), the job runs and is removed from all other queues.
Machines 201
Queuing Jobs
In this example, if JobA was running when JobB started, Unicenter AutoSys JM
would put JobB in QUE_WAIT status until JobA completes, at which point JobB
can run.
Example: Job Queuing and Load Balancing
This example shows a situation in which a machine has 80 load units and
multiple jobs are waiting to start. In this example, JobB and JobC are
executing, while JobA and JobD are queued (in the QUE_WAIT state) and
waiting for available load units. The numbers in the following illustration
indicate the job_load assigned to each job, and the max_load set for the
machine.
The following JIL statements define the machine and the jobs in this example:
insert_machine: cheetah
max_load: 80
insert_job: JobA
machine: cheetah
job_load: 50
priority: 60
insert_job: JobB
machine: cheetah
job_load: 50
priority: 50
Queuing Jobs
insert_job: JobC
machine: cheetah
job_load: 30
priority: 80
insert_job: JobD
machine: cheetah
job_load: 30
priority: 70
In this example, JobB and JobC are already running because their starting
conditions were satisfied first. After JobB or JobC completes, JobA or JobD
starts. Whether JobA or JobD starts first is verified by a combination of the
priority and job_load attributes of each job, and the max_load machine
attribute. The result differs based on whether JobB or JobC finishes first. If
JobB finishes first, 50 load units become available, so either JobA or JobD
could run. Because JobA has a higher priority, it runs first. However, if JobC
finishes first, only 30 load units become available, so only JobD could run.
Machines 203
Queuing Jobs
Queuing Jobs
Although the real machine cheetah has a max_load value of 80, meaning that
all three jobs (with their job_load values of 15) could run on it simultaneously,
the virtual machine cheetah_printQ effectively resets the real machine's
max_load to 15. Because each job is defined to run on cheetah_printQ, not
cheetah, only one of the jobs can run at a time because each job requires all
of the load units available on the specified machine.
Note: The load units associated with a virtual machine have no interaction
with the load units for the real machine. This example implies that the virtual
load of 15 does not subtract from the load units of 80 for the real machine.
Load units are simply a convention that lets the user restrict concurrent jobs
running on any one machine.
If neither machine has enough available load units, the product puts the
job in QUE_WAIT status and starts it when there are enough load units.
If only one machine has enough available load units, the product starts the
job on that machine.
If both machines have enough available load units, the product checks the
usage on each, and starts the job on the machine with the most available
CPU resources.
Machines 205
Monitors
Monitors provide a real-time view of the system. The following steps are
necessary to use a monitor:
1.
2.
A running monitor is an application that polls the database for new events that
meet the selection criteria. Monitors are strictly informational. They provide an
up-to-the-minute view of Unicenter AutoSys JM events as they occur. For box
jobs, all job levels can be observed, if appropriate.
Note: Monitor names can only contain the following characters: a-z, A-Z, 0-9,
period (.), underscore (_), and hyphen (-). You cannot include spaces or tabs
in a monitor name.
Reports
A report or browser is a query run against the database, based on the
selection criteria defined for that report. Its primary function is to enable you
to quickly get specific information, such as the finish time of the database
backup for the last two weeks or a list of all jobs that have an alarm
associated with them. In addition, all job levels in box jobs can be reported.
Like monitors, a report definition is stored in the database, enabling you to run
reports any time, without redefining the criteria. Reports can only display
events that are still in the database. Archived events are inaccessible and
cannot be displayed.
Note: Report names can only contain the following characters: a-z, A-Z, 0-9,
period (.), underscore (_), and hyphen (-). You cannot include spaces or tabs
in a report name.
Its name.
monbro_name
Defines a unique name for the monitor or report.
Limits: A monitor cannot have the same name as a report, but a monitor
or report can have the same name as a job.
This value can be up to 30 characters in length and can contain the
following characters: A-Z, a-z, 0-9, period ( . ), underscore ( _ ), and
hyphen ( - ). This value cannot include spaces or tabs.
Mode
mode: type
type
Specifies whether to define a monitor or report.
All Events
all_events: toggle
toggle
Specifies whether to track all events for the specified jobs.
Set toggle to y or 1 to track all events. In this case, the other event
filtering attributes are ignored, and all events, regardless of source,
are reported for the selected jobs. These events include job status
events and alarms.
Note: Do not define a monitor to monitor all events for all jobs. Instead,
use the following command to display the Scheduler log in real time:
autosyslog -e
Alarms
alarm: toggle
toggle
Specifies whether to track alarms. You can track alarms and job status
events in the same monitor or report.
Default: 0
toggle
Specifies whether to track all job status events for the specified jobs. Job
status events occur whenever a job's status changes. You can track alarms
and job status events in the same monitor or report.
Set toggle to n or 0 if you do not want to track all job status events.
Default: 0
JIL Keyword
Field Name
running
success
failure
terminated
starting
restart
Default: n or 0.
Job Filter
job_filter: type
type
Defines which jobs to track. Monitors and reports can track events based
on selected jobs. The events to track are verified by the combination of
the various event filters and the job filter.
If you set type to b or j, you must also define the job_name attribute to
specify the name of the box or job to track.
Default: a
toggle
Specifies whether to report events only for the current or most recent run
of the specified jobs.
This feature is useful for getting a sense of what is happening right now.
For example, you could select the job status event RESTART, turn off job
filtering, and set this attribute to y to see all the jobs that have been
automatically restarted in their current or latest run.
Default: 1
date_time
Defines that only events occurring for the specified jobs after the specified
date and time are reported.
Default: When you set the currun attribute to n or 0, the after_time
attribute defaults to 00:00 (12:00 a.m.) on the current day. When you set
the currun attribute to y or 1, the after_time attribute is ignored. When
you omit the date from the date_time value, after_time defaults to the
current day.
Limits: Specify date_time in the format "MM/DD/[YY]YY hh:mm", where
MM is the month, DD is the day, [YY]YY is the year, hh is the hour (in 24hour format), and mm is the minutes. You must enclose the date_time
value in quotation marks (").
You cannot use the after_time attribute in a monitor definition because
monitors only show events as they occur.
Its name.
toggle
Specifies whether the monitor should require an operator response to
alarm events and provides an accounting of alarm events for which there
was an operator response. When the monitor detects an alarm event, it
prompts the operator for a response and repeats the prompt every 20
seconds until the operator responds. When the operator responds
(typically by entering a comment at the prompt), the monitor time stamps
the response and records it in the database, along with the alarm event.
Default: 0
The only difference between defining monitors or reports and defining jobs is
that different subcommands are used. Use the following JIL subcommands to
define and manage monitors and reports:
insert_monbro
update_monbro
delete_monbro
These JIL statements are stored in the ujo_monbro table in the database.
The quotation marks are required in the after_time value because it contains a
colon (:).
Note: Reports can only display events that are still in the database. Archived
events are inaccessible and cannot be displayed.
Open the Unicenter AutoSys JM Administrator from the program group and
select Instance from the AutoSys menu.
The Unicenter AutoSys Instance screen opens.
2.
3.
Select an instance from the AutoSys Instance list, specify the date format
in the Date Format field, and click OK.
The Unicenter AutoSys Instance screen closes.
4.
5.
Select the Scheduler from the Service list and click Start Service.
The Scheduler starts.
Note: Most services, including the Agent and the Event Server (database
service), start automatically at system startup. We recommend that you start
the Scheduler and the Application Server manually after starting your system.
If you lose several systems simultaneously due to power failure, this approach
lets the Agents start on their respective computers before you start the
Scheduler.
Runs the chase command with the -A and -E parameters. The chase
command verifies from the database which jobs are in the STARTING or
RUNNING state, and on which computer. For each Client computer, the
chase command passes the Agent a list of jobs that should be running
there and instructs the Agent to verify that the processes are actually
running. This command also verifies that the Agent is running. If the chase
command detects errors, it sends an alarm. If a job is not running as
expected, the Scheduler sends the necessary corrective event for the job,
if the job definition allows it.
Note: You can turn off this Scheduler startup behavior by clearing the
Chase On Startup check box on the Unicenter AutoSys Administrator
Scheduler screen. For more information, see the Online Help.
Note: You can turn off this Scheduler startup behavior by running the
eventor script with the -n command line option:
eventor -n
Calendar definitions
Job definitions
Machine definitions
Global variables
2.
3.
4.
directory
Defines a directory outside of the Unicenter AutoSys JM directory
structure.
directory
Defines a directory outside of the Unicenter AutoSys JM directory
structure. We recommend that you use the same directory in which
you saved your calendar definitions.
The command saves your job definitions to a file named autosys.jil.
2.
The command appends your monitor and report definitions to the file that
contains your backed-up job and machine definitions.
directory
Defines a directory outside of the Unicenter AutoSys JM directory
structure. We recommend that you use same directory in which you saved
your other definitions.
This command saves your global variables to a file named globals.jil. This file
is simply a record of what you must redefine following a system failure.
Restore Definitions
Restore Definitions
If you think you might have lost data during a system failure or you want to
reset the definitions in your database to a previous level, you must restore
backed-up definitions. This procedure assumes that you have previously
backed up your global variables and your calendar, job, machine, monitor and
report definitions.
To restore definitions
1.
directory
Defines the directory to which you previously backed up the
definitions.
The commands restore your calendar definitions to the database.
2.
directory
Defines the directory to which you previously backed up the
definitions.
The command restores your definitions to the database.
3.
Open the globals.jil file that contains your backed-up global variables and
reference it as you manually redefine any global variables and reset the
necessary Administrator settings.
Your global variables are restored.
Restore Definitions
To restore definitions
1.
directory
Defines the directory to which you previously backed up the
definitions.
The commands restore your calendar definitions to the database.
2.
directory
Defines the directory to which you previously backed up the
definitions.
The command restores your definitions to the database.
3.
Open the globals.jil file that contains your backed-up global variables and
reference it as you manually redefine any global variables.
Your global variables are restored.
This log file contains a record of all the actions taken by the Scheduler,
including startup and shutdown information.
To view the log file, run the following command:
autosyslog -e
This log file contains a record of all the actions taken by the Scheduler,
including startup and shutdown information. If the $AUTOUSER directory is
NFS mounted, you can view this output from any computer on the network.
To view the log file, run the following command:
autosyslog-e
When you run the autosyslog-e command, the last ten lines of the Scheduler
log file are displayed, and all subsequent additions to the log are automatically
displayed as they occur.
To terminate autosyslog, press Ctrl+C.
If the Scheduler fails early in startup, it writes errors to the Windows Event
Log.
If the Scheduler fails during the startup procedure, it writes errors to the
designated Enterprise Wide Directory, in the following location:
event_demon.$AUTOSERV$.out
Open the Unicenter AutoSys JM Administrator from the program group and
select Instance from the AutoSys menu.
The Unicenter AutoSys Instance screen opens.
2.
3.
Select an instance from the AutoSys Instance list, specify the date format
in the Date Format field, and click OK.
The Unicenter AutoSys Instance screen closes.
4.
5.
Select the Global Auto Hold check box, and click OK.
The Global Auto Hold mode is activated and the Unicenter AutoSys
Scheduler screen closes.
6.
7.
Select the Scheduler from the Service list and click Start Service.
The Scheduler starts.
Job_name
Defines the name of the job to which to send the FORCE_STARTJOB
event.
The specified job starts.
You can specify the Shadow Scheduler and the Tie-breaker Scheduler by
modifying the RoleDesignator parameter in the configuration file.
More information:
Dual Event Servers (see page 19)
High Availability Option and Dual Event Servers: Tie-breaker Scheduler (see
page 21)
High Availability Option: Shadow Scheduler (see page 20)
High Availability Recovery (see page 258)
3.
4.
Select an instance from the AutoSys Instance list, specify the date format
in the Date Format field, and click OK.
The Unicenter AutoSys Instance screen closes.
5.
6.
Select the Scheduler from the Service list and click Start Service.
The Scheduler starts.
7.
8.
9.
Select an instance from the AutoSys Instance list, specify the date format
in the Date Format field, and click OK.
The Unicenter AutoSys Instance screen closes.
Log onto the machine running the Shadow Scheduler as the EXEC
Superuser, and issue the following command:
sendevent -E STOP_DEMON.
When you issue the sendevent command, the STOP_DEMON event is sent to
the database. The Scheduler reads the STOP_DEMON event, enters an orderly
shutdown cycle (completing any processing it is currently performing), and
exits.
There might be a delay between when you send the STOP_DEMON event and
when the Scheduler reads it and shuts down. If the Scheduler does not stop
immediately, do not send another STOP_DEMON event, because the Scheduler
will process that event the next time it starts, promptly shutting down.
To assign a high priority to the sendevent command, include the -P 1
argument, as follows:
sendevent -E STOP_DEMON -P 1
Note: Do not attempt to stop the Scheduler by terminating the process. This
method stops the Scheduler immediately, even if it is processing an event.
Also, if you are using Dual Event Servers and terminate the process in any
way other than with the sendevent command, the databases can lose
synchronization. For more information, see the Reference Guide.
Whether the Scheduler and the Agents are installed and configured
properly. Running in test mode uses the same mechanisms of starting jobs
and sending events that Unicenter AutoSys JM uses in normal mode.
To define the level at which test mode runs, set the value of the
%AUTOTESTMODE% variable before you start the Scheduler. You can set
%AUTOTESTMODE% to one of the following values:
%AUTOTESTMODE% = 1
Runs each job with the following test mode variations:
The Scheduler redirects standard output and standard errors for the
command to the \tmp\autotest %AUTO_JOB_NAME% file, where
%AUTO_JOB_NAME% is the job name as defined to Unicenter AutoSys
JM.
If the job being run in test mode is a file watcher job, it is not
disabled. The Scheduler runs it as it would in real mode.
%AUTOTESTMODE% = 2
Runs each job with the same behaviors as %AUTOTESTMODE = 1, adding
the following procedures:
To define the level at which the test mode runs, set the value of the
$AUTOTESTMODE variable before you start the Scheduler. The levels of test
mode are verified by the value of the $AUTOTESTMODE variable. You can set
$AUTOTESTMODE to one of the following values:
$AUTOTESTMODE = 1
Runs each job with the following test mode variations:
The Scheduler redirects standard output and standard errors for the
command to the \tmp\autotest $AUTO_JOB_NAME$ file, where
$AUTO_JOB_NAME$ is the job name as defined to Unicenter AutoSys
JM.
If the job being run in test mode is a file watcher job, it is not
disabled. The Scheduler runs it as it would in real mode.
$AUTOTESTMODE = 2
Runs each job with the same behaviors as $AUTOTESTMODE = 1, adding
the following procedures:
Note: The Scheduler cannot run partially in test mode, and Unicenter AutoSys
JM does not provide a test mode for the database. Exercise extreme caution
when you run in test mode on a live production system.
Open the Unicenter AutoSys JM Administrator from the program group and
select Instance from the AutoSys menu.
The Unicenter AutoSys Instance screen opens.
2.
(Optional) Enter the name of the computer on which the Agent is installed
in the Computer field, and click Connect.
Note: By default, the Computer field contains the name of the computer
you are logged on to, but you can connect to a remote computer to
administer the instance information by specifying the appropriate
computer name.
Unicenter AutoSys JM connects to the specified computer.
3.
Select the instance with which the Agent is associated from the AutoSys
Instance list, and click OK.
The Unicenter AutoSys Instance screen closes.
4.
5.
6.
More Information:
Agent Troubleshooting (see page 314)
Maintenance Commands
Maintenance Commands
The following maintenance commands are located in the %AUTOSYS/bin
directory. You can run these commands from the instance command prompt
window or as a job.
chase
Verifies that the expected jobs are running. The command queries every
computer that should be running a job and verifies that the Agent and the
job are running.
The chase command sends errors it detects to standard output. You can
use the following options with the chase command to further define the
actions to take when the command detects error conditions:
-A
Sends alarms to alert you when the command detects an error.
-E
Restarts missing jobs that are defined as restartable.
Note: The chase command cannot tell if a computer is down;
therefore, the command cannot tell if jobs on that computer are
running or if the network connection to the computer is down. If you
run the chase command with the -E option, jobs that have already run
or are running on the computer with the failed network connection
might restart when the network connection is re-established.
clean_files
Deletes old Agent log files. The command searches the database for all
computers that have had jobs started on them, and sends a command to
the database on that computer to purge all remaining log files from the
computer's enterprise-wide logging directory (for UNIX it is specified by
AutoRemoteDir in the configuration file, and for Windows it is specified in
the Enterprise Wide Logging Directory field in the Unicenter AutoSys
Scheduler screen). To remove only the log files older than a specific
number of days, enter the command as follows:
clean_files -d days
-d days
Defines the threshold for deleting old Agent log files. When you run
the command, files older than the specified number of days are
deleted.
Note: For more information, see the Reference Guide.
Job definitions
Events
Calendar definitions
Machine definitions
Note: For more information about the database tables and views and the
event and alarm codes used in the database, see the Reference Guide.
The Scheduler reads from the Event Server to check what actions to take. The
Agents send starting, running, and completion information about jobs to the
Event Server.
Due to the critical nature of the information stored in the database, you can
configure to run with Dual Event Servers (two databases). Dual databases
provide redundancy in the event of an Event Server crash.
Note: While Unicenter AutoSys JM uses the database solely as an SQL engine,
it does use Sybase Open Client C Library communications protocol, Oracle
SQL*Net V2, and Microsoft SQL Server Multi-Protocol Net-Library to send
events around the system.
More Information:
Configuring Unicenter AutoSys JM (see page 265)
Note: For information about installing a second Event Server, see the
Windows or UNIX Implementation Guide.
Database Architecture
Database Architecture
The following illustration shows the layout of databases in a Unicenter
AutoSys JM environment to help you understand configuration options. It
shows how Unicenter AutoSys JM verifies which database to use, and how the
four primary components (the Scheduler, the Application Server, the Event
Server database, and the Agent) interact.
The illustration shows one instance configured with Dual Event Servers, which
are used only by this instance. The Scheduler and the Agent ensure that
events are written to the appropriate databases.
The controlling variable in the architecture is the environment variable named
%AUTOSERV%, which is the instance name. You define the configuration for
an instance at installation and with the Unicenter AutoSys JM Administrator. In
the Administrator, you can specify which databases to use. This information is
stored in the Windows registry and all commands access it. The
%AUTOSERV% variable is set in the instance command prompt window, so
you must run commands using that window.
Note: For more information, see the Online Help.
Database Architecture
The illustration shows one instance configured with Dual Event Servers, which
are used only by this instance. Both the Scheduler and the Agent help ensure
that events are written to the appropriate databases.
The controlling variable in the architecture is the environment variable named
$AUTOSERV, which is the instance name. You define the configuration for an
instance at installation and by modifying the $AUTOUSER/config.$AUTOSERV
configuration file. In this file, you can specify which databases to use, and all
commands access this information. The $AUTOSERV variable is set in the
instance command prompt window, so you must run commands using that
window.
How often the database is cleaned (every time a job runs, it generates at
least three events and an entry in the ujo_job_runs table).
The standard sizes for databases are 64 MB (Microsoft SQL Server), 400 MB
(Oracle) and 200 MB (Sybase). The database tables are created with the
option that they will automatically extend as long as there is room in the file
system. The table sizes specified are the recommended initial size. If your job
load is large, create a larger database.
Open the Unicenter AutoSys JM Administrator from the program group and
select Scheduler from the AutoSys menu.
The Unicenter AutoSys Scheduler screen opens.
2.
3.
Edit the time of day the DBMaint.bat file should run in the Database
Maintenance Time field. Use 24-hour format for the time entry.
4.
Click OK.
The Unicenter AutoSys Scheduler screen closes and the DBMaint.bat file
will run as scheduled.
Update statistics in the database for optimal performance. For Sybase and
Microsoft SQL Server databases, dbstatistics updates statistics for the
event, job, job_status, and job_cond tables. For Oracle, it computes
statistics for all of the tables.
Run the dbspace command to check the available space in the database. If
the amount of free space is insufficient, dbspace issues warning messages
and generates a DB_PROBLEM alarm.
Note: If you use an Oracle database, running DBMaint may incorrectly
report that your database is nearly full. This can occur because dbspace
calculates how much space is not allocated for extents. The extents may
be nearly empty, but the command reports the whole extent as used
space.
Calculate and update the average job run statistics in the ujo_avg_job_run
table. When dbstatistics runs, it overwrites old data with the new data.
Events and alarms associated with them from the ujo_event table
Running DBMaint is a good way to calculate how many events that occur in a
single day you can safely maintain in the database before you should archive
them.
Note: If you are archiving large event tables, your SQL connection might time
out, causing the DBMaint script to fail. If this occurs, set the -I argument of
the archive_events command to a higher value. For more information, see the
Reference Guide.
You can also lock tables individually. To do so, enter the following command at
an ISQL prompt:
alter table tablename lock datarows;
tablename
Defines the name of a table on which to configure row-level locking.
Based on usage, we recommend that you lock the following tables:
ujo_event
ujo_proc_event
ujo_job
ujo_job2
ujo_job_cond
ujo_job_status
ujo_job_runs
ujo_last_Eoid_counter
ujo_next_oid
The connection to the database is lost, and after the configured number of
reconnect attempts, the database remains unconnected.
When an Event Server rollover occurs, the product edits the AutoSys
Administrator Event Server screen or $AUTOUSER/config.$AUTOSERV
configuration file on the Scheduler computers only. The
$AUTOUSER/config.$AUTOSERV configuration file on Client computers are
not modified.
Open the Unicenter AutoSys JM Administrator from the program group and
select Services from the AutoSys menu.
The Unicenter AutoSys Services screen opens.
3.
Select the Application Server from the Service list, and click Stop Service.
The Application Server stops.
4.
5.
b.
(Optional) Enter the name of the computer on which the Event Server
is installed in the Computer field, and click Connect.
Note: By default, the Computer field contains the name of the
computer you are logged on to, but you can connect to a remote
computer to administer the instance information by specifying the
appropriate computer name.
Unicenter AutoSys JM connects to the specified computer.
c.
Select the instance with which the Event Server is associated from the
AutoSys Instance list, and click OK.
The Unicenter AutoSys Instance screen closes.
d.
e.
f.
Click OK.
The Unicenter AutoSys Event Server screen closes.
6.
b.
Select the Scheduler from the Service list, and click Start Service.
The Scheduler starts.
Note: The Scheduler marks both Event Servers as being in Dual Event
Server mode. Unicenter AutoSys JM Client processes and commands check
the flags in both Event Servers for consistency; therefore, you must start
the Scheduler before running any other commands.
7.
Select the Application Server service from the Service list, and click Start
Service.
The Application Server starts.
5.
Make sure that the Event Servers have unique names (for example,
eventserver1::mdb and eventserver2::mdb).
For Microsoft SQL Server, make sure both databases are defined correctly.
Use the Microsoft SQL Enterprise Manager to view the information.
For Oracle, make sure the TNSNAMES.ORA file contains valid entries for
both Event Servers.
For Sybase, make sure the SQL.INI file contains entries for both Event
Servers.
Know the path to the database software so you can supply it when you run
the autobcpDB script.
Make sure you have at least as much free disk space as the size of your
database for the temporary file that autobcpDB script creates. The script
deletes this temporary file after the synchronization process is complete.
Note: When you stop the Scheduler, any jobs that are running run to
completion. You can run the autobcpDB script while the jobs are running on
remote computers. In the worst-case scenario, there may be events on the
source Event Server that are not stored on the target Event Server. This is not
a problem, because the Scheduler always reads from both Event Servers. If
the Scheduler finds an event on one server that is not on the other, it copies
that event to the database that is missing it. If one Event Server missed an
event due to recovery or network problems, this feature also dynamically
synchronizes both Event Servers.
Open the Unicenter AutoSys JM Administrator from the program group and
select Services from the AutoSys menu.
The Unicenter AutoSys Services screen opens.
3.
Select the Application Server from the Service list, and click Stop Service.
The Application Server stops.
4.
dbtype
Specifies the type of database in use: MSQ (Microsoft SQL), ORA
(Oracle), or SYB (Sybase).
5.
autosys_password
Defines the password for the autosys user (by default, the autosys
user password is autosys).
destination_db
Defines the destination Microsoft SQL Server or Sybase database.
destination_instance
Defines the destination Oracle instance (for example, AUTOSYSDB2).
destination_server
Defines the destination Microsoft SQL Server or Sybase database (for
example, AUTOSYSDB2). For Sybase, this is defined in the SQL.INI
file.
dump_file
Defines the temporary file used in the transfer of data from one
database to the other.
source_db
Defines the source Microsoft SQL Server or Sybase database (for
example, autosys).
source_instance
Defines the source Oracle instance (for example, AUTOSYSDB).
source_server
Defines the name of the source Microsoft SQL Server or Sybase server
(for example, AUTOSYSDB). For Microsoft SQL Server, see the
Microsoft SQL Enterprise Manager. For Sybase, this is defined in the
SQL.INI file.
The Event Servers are synchronized.
6.
7.
8.
Select the Scheduler from the Service list, and click Start Service.
The Scheduler starts.
9.
Select the Application Server from the Service list, and click Start Service.
The Application Server starts.
Log on to a server machine as the EXEC Superuser, make sure that no one
is running JIL or using the Unicenter WCC GUI to change job definitions,
and enter the following command to stop the Scheduler:
sendevent -E STOP_DEMON
autosys_password
Defines the password for the autosys user (by default, the autosys
user password is autosys).
destination_db
Defines the destination Sybase database.
destination_instance
Defines the destination Oracle instance (for example, AUTOSYSDB2).
destination_server
Defines the destination Sybase server (for example, AUTOSYSDB2).
For Sybase, this is defined in the interfaces file.
dump_file
Defines the temporary file used in the transfer of data from one
database to the other.
source_db
Defines the source Sybase database (for example, autosys).
source_instance
Defines the source Oracle instance (for example, AUTOSYSDB).
source_server
Defines the name of the source Sybase server (for example,
AUTOSYSDB). For Sybase, this is defined in the interfaces file.
The Event Servers are synchronized.
4.
5.
Handle Errors
If the autobcpDB script detects an error, the script exits and displays the
following message:
The AutoSys data server is not accessible.
Please check the data server and rerun this script.
If this happens, verify the following, and rerun the autobcpDB script:
For Oracle, look for the following services (where * indicates the
Oracle SID): OracleService*, OracleStart*, and OracleTNSListener.
Did you specify the source and the target databases correctly in the
autobcpDB script?
Did you specify the Event Server names and ports correctly?
Note: The Scheduler marks both Event Servers as being in Dual Event Server
mode. Unicenter AutoSys JM Client processes and commands check the flags
in both Event Servers for consistency; therefore, you must start the Scheduler
before running any other commands.
Open the Unicenter AutoSys Event Server screen of the Unicenter AutoSys
JM Administrator and locate the DB Event Reconnect configuration
parameter.
2.
Only the Primary and Shadow Schedulers roll over to Single Event Server
mode when the number of reconnection attempts is exceeded. The Primary or
Shadow Scheduler performs the following actions during a database rollover:
Updates the Event Server to reflect that the system is running in Single
Event Server mode.
Updates the status of the failed Event Server in the Windows registry. This
registry entry activates the Enable button corresponding to the failed
Event Server in the Event Server screen of the Unicenter AutoSys JM
Administrator utility.
2.
Only the Primary and Shadow Schedulers roll over to Single Event Server
mode when the number of reconnection attempts is exceeded. The Primary or
Shadow Scheduler performs the following actions during a database rollover:
Updates the Event Server to reflect that the system is running in Single
Event Server mode.
The Tie-breaker Scheduler and the Application Server do not automatically roll
over to Single Event Server mode. They maintain both their connections to the
database and try to reconnect until they receive notification from either the
Primary or Secondary Schedulers to roll over.
Note: The Application Server does not service API requests from Unicenter
AutoSys JM Clients from the time the Application Server detects the failure of
one of the databases until the time it receives notification to roll over.
If any of the components lose all of their database connectivity, either before
or after database rollover occurs, the components shut down. If the Scheduler
or Application Server receives a request to shut down, the database
reconnection process is interrupted immediately after the active connection
attempt is completed.
2.
2.
In Single Event Server mode, the system enters High Availability mode when
both the Primary and Shadow Schedulers are running. If the Shadow
Scheduler does not update the database for two consecutive intervals, the
Primary Scheduler issues an EP_HIGH_AVAIL alarm with a message to indicate
that the Shadow Scheduler has not updated its status. If the Shadow
Scheduler returns and posts updates at regular intervals, the system re-enters
High Availability mode. If the Primary Scheduler does not update the database
for two consecutive intervals, the Shadow Scheduler issues an
EP_HIGH_AVAIL alarm with a message to indicate that the Primary has not
updated its status. It proceeds to fail over and become the new Primary
Scheduler. If the original Primary Scheduler returns, it detects that the
Shadow Scheduler has failed over and shuts down. The system remains in
failover status until the Primary Scheduler is shut down.
In Dual Event Server mode, the system enters High Availability mode when
the Primary, Shadow, and Tie-breaker Schedulers are running. The detection
and failover procedure is the same as in Single Event Server mode. However,
before either Scheduler makes the final decision to fail over, it also verifies if
the Tie-breaker Scheduler has sent regular updates. If either the Primary or
Shadow Scheduler fails to detect two consecutive updates from its counterpart
and the Tie-Breaker Scheduler, that Scheduler shuts itself down.
It re-establishes a connection.
If the connections to both Event Servers are lost, Unicenter AutoSys JM takes
the following actions:
It re-establishes a connection.
It detects the loss of the second Event Server and shuts itself down.
It re-establishes a connection.
It re-establishes a connection.
If the connections to both Event Servers are lost, Unicenter AutoSys JM takes
the following actions:
It re-establishes a connection.
It re-establishes a connection.
Configuration File
Configuration File
UNIX run-time behavior is controlled by the parameters in the
configuration file and the environment variables set in the /etc/auto.profile
file.
Upon startup, Unicenter AutoSys JM reads the configuration file to verify its
behavior, including which databases to connect to and how to react to certain
error conditions. In particular, the Scheduler bases much of its run-time
behavior on the parameters found in this file. If you change the settings in the
configuration file, you must stop and restart the Scheduler so that it can read
the new settings.
The configuration file has the following name:
$AUTOUSER/config.$AUTOSERV
The file is instance-specific, and the $AUTOSERV value is the name of the
instance with which the configuration file is associated. The $AUTOSERV value
must be three uppercase alphabetic characters and must be unique to each
instance.
Note: Events have a unique ID called eoid, which is prefixed by the first three
letters of $AUTOSERV value. This ensures an event's uniqueness and
traceability across multiple instances.
Typically, the database should never time out. However, if it does, Unicenter
AutoSys JM attempts to reconnect to the database the number of times
specified by the DBEventReconnect parameter. If the database connections
time out often, it probably indicates some kind of computer or data server
contention problem.
Note: If you set this value to DBLibWaitTime=0, no time-out value is applied
and the connection is continuous. Because it can cause the Scheduler to hang,
we do not recommend this setting.
SNMP Connections
Unicenter AutoSys JM can be integrated with Hewlett-Packard's Node
Manager software, versions 4.10 or higher. This enables OpenView users to do
the following:
This setting specifies that the Scheduler should attempt to connect with the
Event Server 50 times. If it cannot connect after 50 attempts, the Scheduler
shuts down.
In Dual Event Server mode, the DBEventReconnect parameter contains two
values (separated by a comma) that describe the connection and rollover
behaviors, as follows:
DBEventReconnect=50,5
This setting specifies that the Scheduler should attempt five connections with
the Event Servers. If it cannot connect after five attempts, the Scheduler rolls
over to Single Event Server mode, marking the other Event Server as down.
When in Single Event Server mode, the Scheduler attempts to connect with
the Event Server 50 times. If the Scheduler cannot connect to the Event
Server, it assumes there is a connection or configuration problem, and shuts
down.
CAUAJM_I_40248
Exiting.
When you set CleanTmpFiles on, the Agent removes the /tmp/auto_rem* file
when its tasks complete successfully (assuming the AutoRemoteDir parameter
specifies the default /tmp directory).
The format of the Agent log file name (that is, of the auto_rem* file name) is
as follows:
auto_rem.joid.run_number.ntry
joid
Defines the unique job object ID associated with the job.
run_num
Defines the jobs run number.
ntry
Defines the number of tries or restarts.
If the Agent cannot run the job successfully, it does not remove the files
because they are useful for diagnosing the problem.
To view the Agent output file, use the autosys_log command on the client
computer as follows:
autosys_log -J job_name
job_name
Defines the name of the job for which to display the log file.
Regardless of how you set the CleanTmpFiles parameter, you should run the
clean_files command regularly to remove files from unsuccessful Agent
processes.
The name of the file to which the product writes output is based on the log file
name, and has the following format:
auto_rem_pro.joid.run_number.ntry
joid
Defines the unique job object ID associated with the job.
run_num
Defines the jobs run number.
ntry
Defines the number of tries or restarts.
This output file contains entries if anything specified in the profile fails. For
example, if the profile attempts to use setenv to set an environment variable,
the Bourne shell cannot process the C shell syntax. In this case, the output file
contains the following record:
setenv: not found
Non-fatal errors that occur when a profile is sourced are not recorded and do
not appear in the output file.
To view the output file, use the autosys_log command on the Client computer
as follows:
autosys_log -J job_name -p
job_name
Defines the name of the job for which to display the log file.
This command displays the log file and appends the profile output, if there is
any. If no profile output file exists, the log file contains the following record:
File: profile_output_file Does Not Exist.
Note: If you set CleanTmpFiles to 1 (on), the output file is removed when the
job completes successfully, and the profile log information is not available. If
you set CleanTmpFiles to o (off), the file remains until you use the clean_files
command to remove it.
Notes:
2.
agent_name
Specifies the name of the agent on the machine where you want to
define the MaxRestartTrys value.
value
Defines the maximum number of times the scheduler tries to restart a
job after a system or network problem occurs.
3.
Repeat Step 2 for each machine where you want to define the
MaxRestartTrys value.
Note: Each entry must begin on a new line.
4.
RestartConstant
Indicates the minimum time (in seconds) to wait between each attempt to
restart a job.
Num_of_Tries
Identifies the value of the n_retrys attribute defined to a job.
RestartFactor
Indicates the time (in seconds) compounded to the RestartConstant. This
value multiplies with every job restart and is used to gradually increase
the number of seconds per retry attempt.
Send a SIGHUP signal (kill -1) to reset the running inetd process.
Sometimes, a kill -1 command is not sufficient to reset the inetd. If
rstatd fails, you might have to issue a kill -9 command, and restart
inetd. If necessary, check with your systems administrator.
We recommend that you set the KillSignals parameter to 15,9. In most cases,
this leads Unicenter AutoSys JM to return a TERMINATED state for the target
job. If it does not, set the KillSignals parameter to 9.
Note: The sendevent -k command overrides the KillSignals value in the
configuration file.
Note: If you use NIS or NIS+, and want to change the AutoRemPort value,
you must modify /etc/services on your NIS or NIS+ master and push it to all
Client computers, then run a kill -1 process on inetd.
Note: If you are running jobs across operating systems, the Scheduler of the
issuing instance controls the default behavior.
To override either the instance-wide or machine setting in a job definition by
entering the following notation as the first characters in the standard output
and standard error file specifications:
>
Overwrite file
>>
Append file
Note: For Windows, the default is to overwrite the standard error and
standard output files.
Note: Setting InetdSleepTime too low for your hardware could adversely
affect performance. You must also make sure your computer has a processor
fast enough to handle starting jobs at the shorter interval. Otherwise, frequent
socket connection failures will occur, causing numerous job restarts.
More Information:
Unicenter Integration (see page 341)
More Information:
Unicenter Integration (see page 341)
More Information:
Unicenter Integration (see page 341)
auto.profile File
auto.profile File
The Agent is a process (called auto_remote) that is started so the
Scheduler can perform a specific task on a remote (Client) computer. The
Agent starts the command specified for a given job, sends running and
completion information about a task to the Event Server, and then exits.
The Agent starts on the Client computer as root. The Agent environment is
controlled through special descriptors in the /etc/auto.profile file, which is
located on the remote Client.
The /etc/auto.profile file serves two purposes:
It specifies a number of descriptors that set the environment for the Agent
on the Client computer. These descriptors are environment variables that
are preceded by the following characters:
#AUTOENV#
It specifies default settings for jobs that do not have a profile specified in
the job definition. A job profile sets environment variables for a job
immediately before the job starts.
A typical job reads /etc/auto.profile twice. First, the Agent reads the file, using
only the lines beginning with #AUTOENV# to set its own environment. Then, if
there is no explicit profile in the job definition, the Agent orders the shell to
read /etc/auto.profile before running the command for the job. The shell
interprets the entire file except lines beginning with #.
You should view the /etc/auto.profile file in a text editor to familiarize yourself
with the environment settings in it.
More information:
AutoInstWideAppend ParameterSpecify Whether to Overwrite Standard
Error and Standard Output (see page 284)
Client-Side Security (see page 292)
auto.profile File
auto.profile File
After you complete these steps, the Agent only runs jobs submitted by
Schedulers listed in the .autostuff file.
Client-Side Security
The /etc/.autostuff file should have read and write permissions for root
only. Entries in this file must be in the following form:
AUTOSERV:hostname
AUTOSERV
Defines the three-character name of the Unicenter AutoSys JM instance
with which the trusted Scheduler is associated.
hostname
Defines the name of the host on which the trusted Scheduler is
associated.
Client-Side Security
The AUTOENV environment variable DENY_ACCESS restricts access to
the Agent computer.
You can use the auto.profile file for the Agent computer to specify a list of
users whose jobs are prohibited from running on that computer. The list is a
comma-delimited list of user names, with no spaces. The entry can contain up
to 512 characters. For example, you might specify the following in the
auto.profile file:
########################################################
#
DO NOT REMOVE
#AUTOENV#DENY_ACCESS=root,demon,admin
In this example, the Agent will not start jobs owned by root, demon, or admin.
If a job owned by one of these users is submitted to run on the Agent, the job
fails as if the job's owner did not have a valid account on the computer. There
will be no job restart attempts, regardless of the MaxRestartTrys setting in the
configuration file. When a job fails for this reason, the Scheduler log displays
the following error as a STARTJOBFAIL alarm on the job:
Permission ERROR:
$2 = Text Message
#DB_ROLLOVER $AUTOUSER/notify_db
#DB_PROBLEM $AUTOUSER/notify_db
#EP_ROLLOVER $AUTOUSER/notify_ep
#EP_SHUTDOWN $AUTOUSER/notify_ep
#EP_HIGH_AVAIL $AUTOUSER/notify_ep
Notification Example
This example gives the process for instructing Unicenter AutoSys JM to
call the program /usr/local/bin/pager when the Scheduler shuts down:
1.
2.
When the Scheduler shuts down, Unicenter AutoSys JM passes the pager
program a numeric code and a text message. The pager itself must be
programmed to accept these parameters.
Host name
Hardware vendor
Operating system
Installed software
After the asset information is stored in the CA-MDB, it becomes available for
other CA products (including Unicenter AutoSys JM) to share.
machine_conditions_file
Defines the full path and name of the file containing the criteria for
determining which machines to include in the virtual machine. The syntax
of the search criteria in the file resembles the following:
<machine_query_type_meta-tag>
(attribute operator value) [boolean_operator (attribute operator value)]
...
</machine_query_type_meta-tag>
...
machine_query_type_meta-tag
Defines the type of search criteria. This value can be one of the
following:
MA_ATTRIB_QUERYDefines search criteria based on Unicenter
AutoSys JM machines.
CA_ASSET_QUERYDefines search criteria based on machines
discovered by Unicenter DSM.
attribute
Defines a valid machine search criteria attribute.
operator
Defines the operator to apply to the attribute. Valid operators are: >
(greater than), < (less than), = (equal to), != (not equal to), >=
(greater than or equal to), and <= (less than or equal to).
value
Defines the setting to apply to the attribute.
boolean_operator
Defines the operator to use to join two or more expressions. Valid
Boolean operators are: && (and) and || (or).
Note: For more information about autodwp syntax, see the Reference Guide.
Example: Define Search Criteria Based on Unicenter AutoSys JM
Machines
This example shows the autodwp machine search criteria file entries for
refreshing a virtual machine definition with real UNIX or Windows Unicenter
AutoSys JM machines that are online:
<MA_ATTRIB_QUERY>
(MachineType=r || MachineType=n) && MachineStatus=o
</MA_ATTRIB_QUERY>
m for offline
o for online
When the job's starting conditions are met, the Scheduler starts an Agent
on the Client computer to run the job.
The Agent runs the job and returns the job's exit status to the Application
Server.
After the job completes, it does not run again until its starting conditions
are met.
Note: Sybase and Oracle are supported in UNIX, and MS SQL, Oracle and
Sybase are supported in Windows. Database-specific tools like SQLPLUS
(Oracle) and ISQL (Sybase/MS SQL) are recommended for any databasespecific tasks. You must use OSQL for MS SQL 2005, because ISQL is not
available; however, for the purposes of this documentation, the group ISQL
contains OSQL. XQL and ZQL have been phased out.
Troubleshooting 303
You can start the Application Server, Scheduler, and Agents from the
Services screen of the Unicenter AutoSys Administrator, and you can start the
Event Server (the Microsoft SQL Server, Oracle, or Sybase service) from the
Windows Services Control Manager. You can find details as to why a service
did not start in the Windows Event Viewer in the Administrative Tools program
group.
Typically, problems with starting services using the Unicenter AutoSys
Administrator indicate that the software was not successfully installed. In such
cases, the best approach is often to remove the existing Unicenter AutoSys JM
installation and reinstall it.
Note: For more information about how to remove Unicenter AutoSys JM, see
the Windows Windows or UNIX Implementation Guide. For more information
about starting services with the Administrator, see the Online Help.
To verify that the Event Server service (the database service) is started, look
at the Windows Services Control Manager.
If you are running Microsoft SQL Server, verify the status of the MSSQLServer
service.
If you are running Oracle, verify the status of the following services (substitute
your Oracle SID for the asterisk): OracleService*, OracleStart*, and
OracleTNSListener.
If you are running Sybase, verify that a service with a name that starts with
SYBSQL is started. It is possible that a different name was chosen for the
service when Sybase was installed.
Solution:
Either the database server is down, or the process in question cannot access
the database server.
To confirm that the database server is down, log on to the Event Server and
look to see if the database processes are active.
If the database is running, the problem could be that Unicenter AutoSys JM is
configured to the wrong Event Server or communication between Unicenter
AutoSys JM and the Event Server is not configured correctly.
Troubleshooting 305
Deadlocks
Valid on Windows and UNIX
Symptom:
A message similar to the following appears in the Scheduler log when viewed
with the autosyslog -e command or in the database server error log:
Your server command (process id #11) was deadlocked with another process and has
been chosen as deadlock victim. Re-run your command.
Solution:
A deadlock is a condition that occurs when two users have a lock on separate
objects, and they each want to acquire an additional lock on the other user's
object. The first user is waiting for the second user to release the lock, but the
second user will not release it until the lock on the first user's object is freed.
The database server detects the situation and chooses the user whose process
has accumulated the least amount of CPU time. The database server rolls back
that user's transaction, notifies the application with the indicated error
message, and lets the other user's processes continue.
The Application Server tries to rerun the command until it is successful or until
it has exceeded the maximum number of retries.
Scheduler Troubleshooting
Scheduler Troubleshooting
This topic describes Scheduler troubleshooting.
Output from the Scheduler is redirected to the following log file:
%AUTOUSER%\out\event_demon.%AUTOSERV%
$AUTOUSER/out/event_demon.$AUTOSERV
To view this file, issue the autosyslog -e command. This command displays the
Scheduler log file and shows each job-related event as it occurs. To terminate
this reporting, press Ctrl+C.
The Scheduler log records every Scheduler action in the order it was
performed. Network problems are usually reflected in this file. This file is very
useful for reconstructing what happened when a problem occurs.
Troubleshooting 307
Scheduler Troubleshooting
Scheduler Is Down
Valid on Windows and UNIX
Symptom:
The Scheduler log has not registered a date and time stamp for a while.
The Scheduler log should register date and time stamps each minute.
Solution:
Do one of the following to confirm that the Scheduler is down:
Run the autosyslog -e command to display the Scheduler log, and check
for date and time stamps.
Scheduler Troubleshooting
Symptom:
The autosyslog -e command displays messages indicating that it cannot
connect to the database.
Solution:
The database is down or there are problems with the database. To correct this,
verify that the database is running and that you can connect to it. After you
have done this and the database is accessible, the Scheduler should be able to
connect.
Symptom:
Solution:
Check for a file named event_demon.%AUTOSERV% in the directory specified
in the Enterprise-Wide Logging Directory field on the Scheduler screen of the
Unicenter AutoSys Administrator (by default, this directory is
%AUTOUSER%\out).
If the file exists, enter the following command at a command prompt to view
it:
type %AUTOUSER%\out\EVENT_DEMON.%AUTOSERV% | more
Correct the problems identified at the end of this file, and restart the
Scheduler.
Note: The Scheduler appends this file each time it starts.
Troubleshooting 309
Scheduler Troubleshooting
Symptom:
The Scheduler does not remain running and does not write log output to the
%AUTOUSER%\out\event_demon.%AUTOSERV% file.
Solution:
This symptom could have various causes; and the resolution depends on which
of the following messages is displayed in the Windows event log. The Event
Log Viewer is located in the Administrative Tools program group.
The log file %AUTOUSER%\out\event_demon.%AUTOSERV% is
missing!
The Scheduler must have been started on the computer at least once or
this message appears. If the Scheduler has been started, make sure that
permissions are set on the log file that enables a system program to read
and write to it.
Incorrect options have been set to event_demon. It must not have
been set properly.
This occurs if you have modified the Windows Registry so that the -A
option is not used when starting the Scheduler service. To fix this problem
with the Windows Registry settings, you must uninstall Unicenter AutoSys
JM, and reinstall it.
The environment variable AUTOSYS is not set.
The %AUTOSYS% system environment variable is not available to the
Scheduler. In the Windows Control Panel, click the System icon and make
sure the %AUTOSYS% environment variable is set properly in the System
Environment Variables region. You can also check the setting of this
variable on the System screen of the Unicenter AutoSys Administrator.
The environment variable AUTOSYS is too long.
The %AUTOSYS% environment variable value is set to a path that is more
than 80 characters in length. Uninstall Unicenter AutoSys JM, and reinstall
it to a directory path that is fewer than 80 characters in length.
chk_auto_up process is missing. Scheduler not operational. Call Tech
support.
The Scheduler runs the chk_auto_up command upon initialization, and
that process has terminated without properly notifying the Scheduler. This
indicates a serious problem with your local system account. Try setting the
Scheduler to log on as the administrator. If this is successful, you can run
the Scheduler. However, we recommend that you consider uninstalling and
reinstalling Unicenter AutoSys JM.
Scheduler Troubleshooting
Troubleshooting 311
Scheduler Troubleshooting
Symptom:
The autosyslog -e command displays messages indicating that it cannot
connect to the database.
Solution:
The database is down or there are problems with the database. To correct this,
verify that the database is running and that you can connect to it. After you
have done this and the database is accessible, the Scheduler should be able to
connect.
Symptom:
Solution:
Check for a file named event_demon.$AUTOSERV in the enterprise-wide
logging directory (by default, this directory is $AUTOUSER/out).
If the file exists, enter the following command at a command prompt to view
it:
type $AUTOUSER/out/event_demon.$AUTOSERV | more
Correct the problems identified at the end of this file, and restart the
Scheduler.
Note: The Scheduler appends this file each time it starts.
Scheduler Troubleshooting
Symptom:
The Scheduler does not remain running and does not write log output to the
$AUTOUSER/out/event_demon.$AUTOSERV file.
Solution:
This symptom could have various causes and the resolution depends on which
of the following messages occurs.
The log file $AUTOUSER/out/event_demon.$AUTOSERV is missing!
The Scheduler must have been started on the computer at least once or
this message appears. If the Scheduler has been started, make sure that
permissions are set on the log file that enables a system program to read
and write to it.
The environment variable AUTOSYS is not set.
The $AUTOSYS environment variable is not available to the Scheduler.
Make sure Unicenter AutoSys JM source file has been sourced in your
session.
The Unicenter AutoSys JM environment has not been installed
correctly.
The Scheduler runs the chk_auto_up command upon initialization and it
has reported that the setup is incorrect. Make sure Unicenter AutoSys JM
source file has been sourced in your session.
A Scheduler is already running. We will not start another one.
When the Scheduler was started, it detected another Scheduler running
with the same instance ID. Only one Scheduler can run in an instance.
Either stop the other Scheduler, or do not attempt to start this Scheduler.
Scheduler cannot open its log file event_demon.$AUTOSERV. Some
directory in the path is not accessible to the SYSTEM.
The Scheduler could not create the normal log file named in the message.
Make sure that the log file has permissions that enable a system program
to read and write to it. Also verify that the disk drive has not run out of
space.
Could not rename the LARGE Scheduler file: event_demon.$AUTOSERV
to backup archive file: event_demon.$AUTOSERV.date. Fix file and
directory permissions so accessible by SYSTEM, or remove the files.
When the Scheduler starts it checks the size of the
event_demon.$AUTOSERV log file. If this file is larger than 256 KB, the
Scheduler tries to rename it to event_demon.$AUTOSERV.date and create
a new event_demon.$AUTOSERV log file. If the Scheduler cannot to do
this, verify that event_demon.$AUTOSERV has permissions that enable a
system program to read and write it. Also, verify that the disk drive has
not run out of space.
Troubleshooting 313
Agent Troubleshooting
Agent Troubleshooting
If you suspect there are problems with the Agent, you can use the autoping
command to verify them.
The autoping command tests the connections between the Scheduler and
Agent, and between the Application Server and the Agent. If you issue the
following command and it does not return an error, the Agent should start
properly:
autoping -m machine
machine
Defines the name of the client computer to verify.
This computer must be a real machine that is accessible through
TCP/IP on the computer from which you issue the command.
This computer must be a real machine that is listed in the /etc/hosts
file on the computer from which you issue the command.
If you enter ALL instead of a machine name for the -m parameter, the
autoping command verifies the Application Server database connection for
all computers.
The Application Server writes RUNNING and completion statuses to the Event
Server when the Agent confirms these statuses to the Application Server.
You can use the autoping command to verify the Application Server database
connection on request of the Agent. To determine the database connections on
a computer, enter the following command:
autoping -m machine -D
The autoping command captures the output from the attempted database
connection and displays it.
If you use the -A parameter with the autoping command, it generates an
alarm containing the output from the attempted database connection, if
problems occur.
Agent Troubleshooting
Symptom:
The autosyslog -e command displays a message that resembles the following:
Read stream socket failed
CAUAJM_E_40157 System Restart Job (Jobxxx) was unable to start
CAUAJM_I_40253 Machine is not responding. Taking Offline.
Solution:
To verify that the Agent service is started
1.
Open the Unicenter AutoSys JM Administrator from the program group and
select Instance from the AutoSys menu.
2.
(Optional) Enter the name of the computer on which the Agent is installed
in the Computer field, and click Connect.
Note: By default, the Computer field contains the name of the computer
you are logged on to, but you can connect to a remote computer to
administer the instance information by specifying the appropriate
computer name.
Unicenter AutoSys JM connects to the specified computer.
3.
Select the instance with which the Agent is associated from the AutoSys
Instance list, and click OK.
4.
5.
Select the CA Unicenter AutoSys JM Agent service from the Service list.
The Unicenter AutoSys Services screen refreshes to indicate the status of
the Agent. If the Agent is not running, Start Service is enabled. If the
Agent is running, Stop Service is enabled and Start Service is disabled.
6.
Troubleshooting 315
Agent Troubleshooting
Symptom:
The autosyslog -e command displays a message that resembles the following:
Read stream socket failed
CAUAJM_E_40157 System Restart Job (Jobxxx) was unable to start
CAUAJM_I_40253 Machine is not responding. Taking Offline.
Solution:
To verify that the Agent service is started
1.
If the Agent is not running, run the following command to start it:
unisrvcntr start uajm_agent
Agent Troubleshooting
Solution:
The problem was resolved by removing all files under the
AutoSys_Install_Directory/agent/tx/* directories. We recommend that you do
the following:
When possible, let the job agents processes complete before recycling the
autosys or agent service.
Troubleshooting 317
Agent Troubleshooting
The Scheduler window (or log) or the results of running the autorep
command on the job contain the following event with nothing after it, but
the job runs to completion on the client computer:
CHANGE_STATUS Status: STARTING Job: test_install
Solution:
This is a common problem and is nearly always the result of the Agent being
unable to contact the Application Server.
First, make sure network problems are not preventing communication between
the Agent and the Application Server computers. If this is not the problem, use
the following database-specific solutions to confirm whether the Application
Server can contact the Event Server:
For Microsoft SQL Server and Sybase databases, the usual cause of this
connection problem is that the database settings on the Application Server
are different from those used by the Unicenter AutoSys JM Scheduler.
For Oracle databases, this problem usually occurs because the SQL*Net V2
connections are not set up properly.
For Sybase databases, this problem usually occurs because the interfaces
file is not set up properly on the computer running the Agent.
The Agent must be able to contact the Application Server, and the Application
Server must be able to connect to the database to send the RUNNING,
SUCCESS, FAILURE, or TERMINATED status events.
To verify the problem, issue the following command at an instance command
prompt on the machine where the job should have run to view the job log:
autosyslog -J job_name
job_name
Defines the name of the job.
In the log, check the AutoRemoteDir\auto_rem* file value for the job.
The AutoRemoteDir value is the Local Agent Logging Directory value, specified
in the Unicenter AutoSys Agent screen in the Administrator.
If the Agent cannot send the event back to the Application Server, it writes a
message to that effect, and runs some diagnostics. The output from the
autosyslog command could provide a helpful DBMS error number from the
connect attempt.
Agent Troubleshooting
To verify that all the database settings are correct, check the settings on
the Event Server screen of the Unicenter AutoSys Administrator for both the
Application Server and the Scheduler computers. Verify that the Application
Server's Event Server name, database, and port number settings are the same
as the settings on the Scheduler computer.
To verify that all the database settings are correct, check the settings in
the $AUTOUSER/config.$AUTOSERV configuration file for both the Application
Server and the Scheduler computers. Verify that the Application Server's
Event Server name, database, and port number settings are the same as the
settings on the Scheduler computer.
You should also make sure that the database settings (as verified by
Microsoft SQL Server, Oracle, or Sybase) are the same as the settings on the
Event Server screen of the Unicenter AutoSys Administrator.
For Microsoft SQL Server databases, use the SQL Enterprise Manager to
check the Microsoft SQL Server database settings. Also make sure that
one of the following is true:
User accounts have been added on the database computers for all
users.
If you do not configure your Microsoft SQL Servers in one of these ways,
your jobs go into STARTING state and seem to remain in this condition.
This behavior results from the fact that the Agent cannot write the status
back to the Microsoft SQL Server databases because the job owner does
not have proper permissions on that database server.
Confirm that the Oracle TNS names file has an SQL*Net V2-formatted
entry for the Event Server.
For Sybase databases, make sure that the Sybase SQL.INI file exists, then
make sure that the settings are the same as the settings Unicenter
AutoSys JM is using. This file is located in the %SYBASE%\INI directory.
Troubleshooting 319
Agent Troubleshooting
Confirm that the Oracle TNS names file has an SQL*Net V2 formatted
entry for the Event Server.
For Sybase databases, first make sure that the Sybase interfaces file
exists, then make sure that the settings are the same as the settings
Unicenter AutoSys JM is using. This file is located in the $SYBASE
directory.
To test that communication from the Application Server to the Event Server is
set up properly, try to log on to the Event Server from the Application Server
computer, using database-specific utilities like ISQL/w (for Microsoft SQL
Server), SQLPLUS (for Oracle), or ISQL (for Sybase). When you log on to the
Event Server, use the autosys user name and password.
Note: For more information about testing the database setup, contact your
database administrator or see the database documentation.
AutoRemoteDir
Defines the Local Agent logging directory specified during
installation or in the Agent screen of the Unicenter AutoSys Administrator.
By default, this directory is C:\%AUTOROOT%\agent\out.
Defines the local Agent logging directory specified during
installation. By default, this directory is
/opt/CA/UnicenterAutoSysJM/agent/out.
auto_rem.pid
Defines the process ID of the Agent. After the Agent receives its
instructions from the Scheduler, it renames this file as follows to give it a
unique name:
AutoRemoteDir\auto_rem.joid.run_num.ntry
joid
Defines the unique job object ID associated with the job.
run_num
Defines the job's run number.
ntry
Defines the number of tries or restarts.
This file contains all the instructions passed to the Agent by the Scheduler, the
results of any resource checks, and a record of all actions taken. Any problems
experienced by the Agent are reported here, including the inability to send
events to the databases, which is the most common problem.
Troubleshooting 321
To find the most recent instance of the Agent Log for a given job, issue the
following command on the computer where the job last ran:
autosyslog -J job_name
job_name
Defines the name of the job.
Note: The Clean Temporary Files check box on the Scheduler screen of
the Unicenter AutoSys Administrator specifies whether Agent log files should
be cleaned up at the completion of a job. If this setting is selected (the
default), the file is removed when a job completes normally. If the job fails,
the log file is not deleted regardless of the setting. To turn off automatic
deletion of the Agent log files, clear the Clean Temporary Files check box on
the Unicenter AutoSys Scheduler screen.
Symptom:
The Scheduler log as viewed with the autosyslog -e command displays a
message resembling the following:
Agent remote authentication!
Error:<Remote Authentication has FAILED for
User: USER@HOST on machine:RAHOST.>
The Agent log as viewed with the autorep -J job_name command might also
display a message resembling the following:
Remote Authentication has FAILED for User:USER@HOST on machine:RAHOST.
Message: Couldn't find valid entry in security key.
Solution:
The job is trying to run on a host that is different from the host or domain on
which it was defined, and security (Agent user authentication) has denied
access for the host or domain on which the job was defined. In this case, the
job was defined on the HOST host, and is trying to run on the RAHOST host.
For this example, you can resolve the problem in one of the following ways:
Log on to the RAHOST machine as the EDIT Superuser and add a Trusted
Host entry for HOST to the Trusted Hosts list.
Log on to the RAHOST machine as USER and add a Trusted User entry for
the USER@HOST user to the Trusted Users list.
Note: On Windows, you can add a trusted host and a trusted user in the
Security screen of the Unicenter AutoSys Administrator.
Troubleshooting 323
Symptom:
The Scheduler log as viewed with the autosyslog -e command displays a
message that resembles one of the following:
Owner UserId/Password error! ERROR: The password specified for
USER@HOSR_OR_DOMAIN is invalid! Run "autosys_secure" to enter the correct
password.
or
Owner UserId/Password error! ERROR: No valid password was found for USER@HOST or
USER@DOMAIN. Cannot run job for user USER! Run "autosys_secure" to enter the user
password.
The Agent log as viewed with the autorep -J job_name command might also
display a message that resembles one of the following:
The password specified for USER@DOMAIN is invalid! Run "autosys_secure" to enter
the correct password.
or
No valid password was found for USER@HOST or USER@DOMAIN. Cannot run job for user
USER! Run "autosys_secure" to enter the user password.
Solution:
The password for user@host_or_domain does not exist or is invalid. To fix this
problem, run the autosys_secure command to enter or change the user ID and
password.
Note: For more information, see the Reference Guide.
Symptom:
The Scheduler log as viewed with the autosyslog -e command indicates that
the job immediately returned a FAILURE status.
Solution:
To verify what is wrong, run the autosyslog -e command on the Scheduler
machine and the autorep -J job_name command on the machine where the
job should have run, and review the resultant error messages.
For example, if the job's standard output file was read-only, a message
indicating this would appear in the Scheduler log.
You should also verify the following items:
Make sure the default profile or the job's specified user-defined profile
defines the appropriate job environment. In particular, make sure that the
path variable, if defined in a job profile, is correct. You should always
include the following in any job profile that defines a path variable to help
ensure that all system path directories are accessible:
%PATH%
$PATH
Make sure the file system where the job command resides is accessible
from the machine where the job should have run.
Make sure the system permissions are correct for the job command to run.
Make sure the permissions are correct on any standard input and output
files specified for redirection.
Troubleshooting 325
Symptom:
When a job starts, the Scheduler log as viewed with the autosyslog -e
command displays a message that resembles the following:
Read Stream Socket Failed
Solution:
This error has the following possible causes:
Network problems
Symptom:
When trying to start a job or trying to start the Scheduler with a Shadow
Scheduler, the following message appears in the Scheduler log when viewed
with the autosyslog -e command:
Unknown Host Machine
Solution:
This message might occur in the following situations:
1.
There is a network problem and the Scheduler cannot connect to the Agent
computer.
2.
3.
Troubleshooting 327
Symptom:
Jobs run from the command line, but they fail when run.
Solution:
This problem is nearly always in the shell environment where the job runs. The
following are the possible reasons for the problem:
The profile in the job definition is not a Bourne shell (sh) type profile. If
this is the case, the profile fails.
The default profile does not produce the proper environment for the job to
run. The default profile for all jobs is /etc/auto.profile, not the job owner's
logon profile $HOME/.profile. If the job owner's profile is not specified in
the job definition, it is never sourced.
To verify the difference between the job definition and the user
environment
1.
2.
client_hostname
Defines the host name of the computer where the problem job runs.
owner
Defines the owner of the job that will not run.
3.
4.
Enter the following command to check the two files for differences:
diff /tmp/auto.env user.env
The diff command shows you where the environment and the user
environment files differ. Make the necessary changes in the job definition
and the user profile.
It is also useful to define the std_err_file for the job that fails, because you
can check the errors from the shell for a clue about what is missing.
Note: No spaces are allowed between the >> characters and the full path or
file name in the std_out_file or std_err_file fields in a job definition.
Troubleshooting 329
Symptom:
Failed to connect to socket errors occur during a job run and the job runs
more than once.
Solution:
The scenario has the following sequence of events:
1.
2.
The Agent on the Client starts the job, and then tries to respond to the
server.
3.
The server issues a failed to connect to socket error because the Agent
took longer than 30 seconds (the time-out value) to start the job and
respond.
4.
The server checks whether the job can be restarted, and (if possible)
restarts the job. Meanwhile, the job is running and perhaps completed on
the Client.
5.
The server opens another connection to the Client to run the job a second
time.
6.
The Agent starts the job and responds to the server in time.
7.
The main reason for this scenario occurring is severe performance problems on
the Client. For example, the following might affect performance:
Running a full system backup on the Client at the same time as jobs are
starting might slow the system down and cause the timeout because it
cannot respond to the server.
Are there too many processes running on the Client when you run jobs?
%AUTOUSER%\out\as_server.%AUTOSERV%
$AUTOUSER/out/as_server.$AUTOSERV
Press Ctrl+C.
Terminates error reporting.
You can view the details related to error messages in the Application Server
log records.
You can enable run-time traces to view incoming Client requests in the order
they were received by the Application Server and use them for troubleshooting
communications with the Unicenter AutoSys JM Client or an application using
the SDK.
Troubleshooting 331
Symptom:
Solution:
Do one of the following to confirm that the Application Server is down:
Run the autosyslog -s command to view the Application Server log, and
check for date and time stamps of the last run as well as any other error
messages.
For Microsoft SQL Server, use the ISQL/w graphical query interface.
Use the Unicenter AutoSys JM user name and password to log on to the
Event Server.
You can also check the status of the Application Server in the Windows
Service Control Manager.
To check the status of the Application Server, use the Services screen of the
Unicenter AutoSys JM Administrator. Select the Application Server from the
Service list. Use the Status icon to check the status of the Application Server.
If the Application Server is down, use the Services screen of the Unicenter
AutoSys Administrator to restart it. Select the Application Server from the
Service list, and click Start Service. The Status field changes to running, and
the Application Server icon turns Green.
Note: For information about the Unicenter AutoSys JM Administrator, see the
Online Help.
Symptom:
The Application Server log has registered an error message since it was
started.
Solution:
Do one of the following to confirm that the Application Server is down:
Run the autosyslog -s command to view the Application Server log, and
check for date and time stamps of the last run as well as any other error
messages.
Use the Unicenter AutoSys JM user name and password to log on to the
Event Server.
Check for running as_server processes for the given $AUTOSERV using the
ps command.
Troubleshooting 333
If the Application Server is down, run the following command to start it:
unisrvcntr start uajm_server.$AUTOSERV
Symptom:
The autosyslog -s command displays messages indicating that it cannot
connect to the database.
Solution:
To confirm that the Application Server is down, log on to the Event Server
computer and run the chk_auto_up utility. If the database is running, there is
a possibility that Unicenter AutoSys JM is configured to the wrong Application
Server or communication between Unicenter AutoSys JM and the Application
Server is failing.
To test that communication from the Application Server to the Event Server is
set up properly, try to log on to the Event Server from the Application Server
computer, by using the following:
For Microsoft SQL Server, use the ISQL/w graphical query interface.
Use the Unicenter AutoSys JM user name and password to log on to the Event
Server.
Symptom:
The Application Server does not remain running and does not write log output
to the %AUTOUSER%\out\as_server.%AUTOSERV% file.
Solution:
Check the Windows event log message viewer, located in the Administrative
Tools program group, to verify the cause of the problem. Take the appropriate
solution based on the problem in the event log.
Troubleshooting 335
Symptom:
The autosyslog -s command displays messages indicating that it cannot
connect to the database.
Solution:
The database server is down or there are problems with the database
installation. To test that communication from the Application Server to the
Event Server is set up properly, log on to the Event Server from the
Application Server computer, by using the following:
Use the Unicenter AutoSys JM user name and password to log on to the Event
Server.
Symptom:
The Application Server is not running and does not write log output to the
$AUTOUSER/out/as_server.$AUTOSERV file.
Solution:
This symptom could be attributed to a number of causes.
Symptom:
When you run the chk_auto_up command from a remote machine, it returns a
message similar to the following:
CAUAJM_E_50033 Error initializing tx subsystem: CAUAJM_E_10527 Timed out waiting
for response from the Unicenter AutoSys JM Application Server.
CAUAJM_E_10062 Failed to get initial configuration Unicenter AutoSys JM
Application Server: [<application server machine>:9,000]
Solution:
Check to make sure that network problems are not preventing communication
between the Client and the Application Server computers through the
Operating System ping command.
Use the following steps to confirm whether the Client computers can contact
the Application Server:
1.
On the Client computer, open a command prompt to the bin folder of the
location specified by the %CSAM_SOCKADAPTER% environment variable,
and run the following command:
csamconfigedit Port=nnnn display
nnnn
Defines the port number to display.
Default: 9000
2.
nnnn
Defines the port number to display.
Default: 9000
Troubleshooting 337
3.
Compare the two previous outputs and make sure that both the
EnablePmux and EnableSSL settings are identical.
4.
Symptom:
When you run the chk_auto_up command from a remote machine, it returns a
message similar to the following:
CAUAJM_E_50033 Error initializing tx subsystem: CAUAJM_E_10527 Timed out waiting
for response from the Unicenter AutoSys JM Application Server.
CAUAJM_E_10062 Failed to get initial configuration Unicenter AutoSys JM
Application Server: [<application server machine>:9,000]
Solution:
Make sure network problems are not preventing communication between the
Client and the Application Server computers through the Operating System
ping command.
Use the following steps to confirm whether the Client computers can contact
the Application Server:
1.
On the Client computer, open a command prompt to the bin folder of the
location specified by the $CSAM_SOCKADAPTER environment variable, and
run the following command:
csamconfigedit Port=nnnn display
nnnn
Defines the port number to display.
Default: 9000
2.
nnnn
Defines the port number to display.
Default: 9000
3.
Compare the two previous outputs and make sure that both the
EnablePmux and EnableSSL settings are identical.
4.
Troubleshooting 339
Define calendars that establish dates and times for processing events.
Monitor event activity through the console log and immediately respond to
events as they occur.
Define console log views that restrict message access to authorized users
and user groups.
Note: The examples in this section focus on the Unicenter WCC GUI. You can
also perform most of the actions with Unicenter Management Portal.
1.
2.
3.
The event is added to the console log, if a message policy does not
prevent it.
4.
5.
6.
The situation that caused the message is resolved, and another event can
be created to announce the resolution.
Installation Considerations
To integrate Unicenter AutoSys JM with Event Management, you must have an
Event Agent installed on the Unicenter AutoSys JM server. The Event Agent
can be installed from the CA Common Components DVD (shipped with
Unicenter AutoSys JM) or Unicenter NSM.
Note: You can skip this section if you already have an Event Agent installed on
the Unicenter AutoSys JM server.
If you do not already have an Event Agent installed on the Unicenter AutoSys
JM server, select Event Agent from CA common components when installing
Unicenter AutoSys JM. Selection of just the Agent component implies that you
have installed a Unicenter Event Manager in your enterprise. If you want to
integrate Unicenter AutoSys JM with Event Management but do not have an
Event Manager installed, Event Manager from CA common components.
If you only selected the Event Agent component, the Unicenter AutoSys JM
installation prompts you for the machine name of the Unicenter Event Manager
node.
CAI_OPR_REMOTEDB
CAI_CAL_REMOTEDB
CA_CAL_SYSTEMID
To redefine the manager on systems running Unicenter NSM, modify the data
in these three environment variables and recycle Unicenter NSM.
For an Event Agent-only installation, this information specifies the manager
from which the Agent retrieves its policies. No messages are forwarded to the
manager or any other location unless it is specified in a policy defined for this
Agent. This policy resides on the manager as a Message Record defined for the
Event Agent node with a FORWARD action of the complete message text,
where the forwarding destination is the manager node.
After the policy is defined and reloaded on the manager and the Event Agent is
recycled to pick up the new policy, all messages that arrive on the Event Agent
are sent to that managing node.
To make sure that messages are properly forwarded from the Event Agent
residing on the Unicenter AutoSys JM server, do the following:
1.
2.
Define a Message Record/Action for the Event Agent node that forwards all
messages that occur on the Event Agent computer to the Event Manager
node. If the Event Manager is active, issue the opreload command to
cause a reload of all new event policies.
Recycle the Event Agent using the Unicenter commands unishutdown all and
unistart all.
Note: For more information about Event Management setup and configuration,
see the Unicenter Event Management documentation.
3.
4.
The Scheduler starts. Any messages written to the Scheduler log should
now also appear in the Event Management console.
Voice - TAPI
Telephony Application Programming Interface (TAPI) is used on Windows
to send one-way voice messages that are synthesized from text using the
Microsoft Speech Application Programming Interface (SAPI) text-to-speech
(TTS) engine. The default speech is set in the Windows Control Panel. The
messages travel by telephone line to a human recipient using a
TAPI-compliant telephony device.
Script
Third-party or customer programs or scripts can be used to send one-way
messages. Scripts and command definitions are stored in the
UNSConnections.ini file in the install_path/config directory.
2.
User interface
3.
4.
The daemon checks periodically for a response from the service provider, if
one was requested.
5.
The daemon stores information about the notification on disk, and updates
that information throughout the life cycle of the notification. This is called
checkpointing. Updates occur for the following events:
Installation Considerations
To integrate Unicenter AutoSys JM with Unicenter Notification Services, you
must have a Notification Agent installed on the Unicenter AutoSys JM server.
The Notification Agent can be installed from the Unicenter NSM media.
Note: You can skip this section if, you already have a Notification Agent
installed on the Unicenter AutoSys JM server.
If you do not already have a Notification Agent installed, on the Unicenter
AutoSys JM server, you must install it from the Unicenter NSM media. The
Notification Agent installation assumes you have installed a Notification
Manager in your enterprise. If you want to integrate Unicenter AutoSys JM
with Unicenter Notification Services but do not have a Notification Manager
installed, you must install the Notification Manager from the Unicenter NSM
media.
Note: For more information about Unicenter Notification Services setup and
configuration, see the Unicenter NSM documentation.
Configure Notification
After installing and configuring the basic software, you must configure the
Unicenter AutoSys JM server to activate its notification interface.
Note: Unicenter Notification Services is installed as a component of Unicenter
NSM. Unicenter AutoSys JM requires at least Unicenter Notification r11.
To send a notification request to Unicenter Notification Services, Unicenter
AutoSys JM requires the node name of the Unicenter Notification Manager.
If the manager is not installed locally on the Unicenter AutoSys JM server, the
Notification Agent requires a valid CAICCI connection to the Notification
Manager computer.
To configure notification
1.
3.
4.
Note: For more information about the notification attributes of jobs, see the
Reference Guide.
Open the Unicenter Service Desk application and verify that it operates
properly.
2.
3.
3.
Note: For more information about the service desk attributes of a job, see the
Reference Guide.
Definition of Terms
The following table lists the Unicenter AutoSys JM and UUJMA events:
Operation
Unicenter AutoSys JM
UUJMA
Starting a job
STARTJOB
SUBMITU
RUNNING
JOBINITU
SUCCESS or FAILURE
JOBTERMU
FAILURE
JOBFAILU
Definition of Terms
The following terms are used in this appendix.
Agent computer
Any computer that supports a Unicenter workload agent.
bi-directional job scheduling
The ability of Unicenter AutoSys JM to support both inbound and outbound job
scheduling.
CAICCI
CA International Common Communications Interface
cross-instance job dependency
A dependency between jobs running on different Unicenter AutoSys JM
instances.
cross-instance scheduling
The process of scheduling jobs or dependencies between Unicenter AutoSys JM
instances.
cross-platform scheduling
The process of scheduling jobs or dependencies between Unicenter AutoSys JM
and any Unicenter Workload Agent.
cross-platform job dependency
A dependency between Unicenter AutoSys JM and any Unicenter Workload
Agent.
Definition of Terms
CAICCI
Note: For more information, see the Windows or UNIX Implementation Guide.
Cross-Platform Considerations
Cross-Platform Considerations
Keep the following in mind when you are running jobs across platforms:
When running a job from a Unicenter NSM Job Management Option (JMO)
scheduling manager, you may need to modify the default fail codes
currently set for the Unicenter JMO defined job. Exit codes 2 through 99
are defined as the default fail codes for Unicenter JMO jobs; thus an exit
code of 0 to 1 indicates success. When you run a job from Unicenter JMO
that executes a job in Unicenter AutoSys JM and the job fails with an exit
code 1, (for example, bad command), from Unicenter AutoSys JM job the
Unicenter AutoSys JM job ends with a status of FAILURE, but the Unicenter
JMO defined job ends with a status of SUCCESS or COMPLETE. You must
modify the fail codes to accommodate the differences in how success and
failure are interpreted between the two scheduling systems. That is, you
must define exit codes 1 through 99 as the fail codes for the Unicenter
JMO defined job and define only an exit code of 0 to indicate success.
CHANGE_PRIORITY
SEND_SIGNAL
3.
remote_node
Identifies the hostname of the computer running UUJMA, Unicenter
CA-7, or Unicenter AutoSys Connect.
4.
5.
Note: If you modify external instance entries while the Unicenter AutoSys JM
Scheduler is active, the Scheduler handles the modifications in real time. You
need not recycle the Scheduler when maintaining external instance entries.
cci_system_id
Defines the CAICCI system ID used by the cross-platform scheduling
interface when communicating with remote mainframe or UUJMA nodes.
This environment variable is key to providing failover support in the
Unicenter AutoSys JM environment if the Primary Scheduler shuts down or
becomes unreachable.
If the Primary Scheduler fails over, all communication on the Secondary
Scheduler proceeds as normal. Any statuses currently residing on the
Agent computers (mainframe or UUJMA) are dispatched to the Secondary
Scheduler computer for processing.
Bi-Directional Scheduling
Bi-Directional Scheduling
You can use bi-directional scheduling to employ Unicenter AutoSys JM as the
workload manager, to define a job to run on any Unicenter Workload Agent
machine that is defined in the Event Server; and also employ Unicenter
AutoSys JM as the Workload Agent machine by using any Unicenter workload
manager to schedule a previously defined Unicenter AutoSys JM job.
You can also use the cross-platform interface to start jobs in other Unicenter
AutoSys JM instances. Any instance can initiate or be a recipient of any other
instance, regardless of platform or Event Server, provided the instances run
on distinct servers (although these instances can share the same Event
Server).
Note: These limitations only apply to jobs that are referenced to Unicenter
AutoSys JM Connect.
2.
3.
4.
5.
6.
The Unicenter AutoSys JM Scheduler processes the status and starts the
job that is dependent on the completion of the Unicenter AutoSys JM
Connect job, if appropriate.
status
Specifies one of the following statuses:
SUCCESS
TERMINATED
DONE
NOTRUNNING
When the specified Unicenter AutoSys JM Connect job completes with the
specified status, the job dependency is satisfied.
JOB_NAME
Defines the name of the job.
Note: Job names for cross-platform dependencies must all be uppercase.
^
Indicates that the job resides on a different Unicenter AutoSys JM
instance.
INS
Defines the three-letter uppercase identifier of the external instance on
which the specified job is running.
Example: Unicenter AutoSys JM Connect Cross-Platform Dependency
This example defines a dependency for a job that starts only upon the
successful completion of a Unicenter AutoSys JM Connect job (JOBA), which
runs on an external instance named CA7:
condition: success(JOBA^CA7)
UUJMA starts the job and sends an event to the Scheduler (JOBINITU if it
could start the job, or JOBFAILU if it could not start the job).
remote_host
Defines the name of the UUJMA computer.
machine_type
Specifies the type of machine you are defining:
u
Indicates a computer running UUJMA. This can be a computer running
Unicenter NSM JMO, Unicenter CA-7, Unicenter CA-Jobtrac, Unicenter
CA-Scheduler, or Unicenter AutoSys JM.
c
Indicates a computer running Unicenter AutoSys JM Connect.
If Unicenter AutoSys JM Connect is running on the same computer as
Unicenter CA-7, Unicenter CA-Jobtrac, Unicenter CA-Scheduler, or any
OS/390 scheduling system, you should set machine_type to c.
Note: UUJMA-managed computers cannot be part of a virtual machine. The
job_load, max_load, and factor attributes are not supported for
UUJMA-managed computers.
Example: Define a UUJMA Computer
This example defines the computer MYAGENT, which is running UUJMA with
Unicenter NSM, Unicenter CA-7, Unicenter CA-Jobtrac, Unicenter
CA-Scheduler, or Unicenter AutoSys JM:
insert_machine: MYAGENT
type: u
The owner identified in the owner attribute of the job definition must have an
account on the target UUJMA computer. The account must match the owner
name exactly for the job to run. You must specify the owner of the job
definition as user@machine. The EDIT Superuser must use the autosys_secure
command to add valid accounts and passwords on the UUJMA computer.
To add user IDs and passwords on a UUJMA Computer
1.
The Security Utility starts and displays the AutoSys Security Utility menu.
2.
3.
Enter the user name, user host or domain, and password information
when prompted:
CAUAJM_I_60207 Create an USER@HOST user:
Input the user name (or hit enter to cancel): BOB
Enter user Host or Domain (or hit enter to cancel): ZASYS400
Enter new password:
******
******
You have successfully added a user when the Security Utility displays the
following message:
CAUAJM_I_60135 User Create successful.
job_type: c
job_type: c
job_type: c
command: RYAKEJ01
machine: A87SOENF
owner: user1@A87SOENF
permission: gx,wx
date_conditions: 1
days_of_week: all
start_mins: 45
The cross-platform interface has been activated on the server (where job
ca72 is being submitted) by setting the CrossPlatformScheduling
parameter to 1 (run jobs directly on a UUJMA Agent). If this instance will
receive job submissions from any workload manager in the enterprise, set
the CrossPlatformScheduling parameter to 2 (enable bi-directional
scheduling support) instead.
job_name=job_name
machine_name
Identifies the UUJMA computer to which the job is being submitted.
job_name
Identifies the Unicenter AutoSys JM job name as defined to the Event
Server.
The following message indicates that an event status has been received from
UUJMA. The event status is converted to the appropriate Unicenter AutoSys JM
event status and inserted in the Event Server.
CAUAJM_I_40263 EVENTU: event_name
EXITCODE: exitcode/dbcode JOB: job_name
event_name
Identifies one of the following events:
JOBINITU
Indicates that a job has started on a UUJMA.
JOBTERMU
Indicates that a job has completed on a UUJMA.
JOBFAILU
Indicates that a job has failed to start on a UUJMA.
SUBMITU
Indicates that a job has been submitted to Unicenter AutoSys JM.
exitcode/dbcode
Identifies the actual job exit code returned by the UUJMA.
job_name
Identifies the Unicenter AutoSys JM job name as defined to the Event
Server.
JIL Attribute
UI Field
chk_files
heartbeat_interval
job_load
Job Load
job_terminator
job_type:f
n_retrys
priority
Queue Priority
profile
std_err_file
std_in_file
std_out_file
term_run_time
watch_file
watch_file_min_size
watch_interval
remote_host
Defines the name of the legacy Agent computer.
machine_type
Specifies the type of machine you are defining:
l
Indicates a UNIX computer running a Unicenter AutoSys JM legacy
Agent. This machine type lets the Scheduler know how to use the
legacy communication protocol to communicate with the Agent and is
analogous to an r-type computer for Unicenter AutoSys JM.
L
Add User IDs and Passwords for a Windows Legacy Agent Computer
After you define a legacy Agent computer to Unicenter AutoSys JM, you can
use the machine attribute to specify that computer in a job definition. For
example:
insert_job: aslegacyjob
owner: user@legacyagenthost
machine: legacyagenthost
command: my_command
The owner identified in the owner attribute of the job definition must have an
account on the target legacy Agent computer. The account must match the
owner name exactly for the job to run. You must specify the owner of the job
definition as user@machine. The EDIT Superuser must use the autosys_secure
command to add valid accounts and passwords for a Windows legacy Agent
computer just as you do for a Windows Unicenter AutoSys JM Agent.
To add user IDs and passwords for a Windows legacy Agent computer
1.
The Security Utility starts and displays the AutoSys Security Utility menu.
2.
Enter the user name, user host or domain, and password information
when prompted:
CAUAJM_I_60207 Create an USER@HOST user:
Input the user name (or hit enter to cancel): user
Enter user Host or Domain (or hit enter to cancel): legacyagenthost
Enter new password:
******
******
You have successfully added a user when the Security Utility displays the
following message:
CAUAJM_I_60135 User Create successful.
After evaluating the job start conditions, the Scheduler places the job in a
STARTING status.
The Scheduler obtains the port number of the legacy Agent computer from
its configuration settings.
The Scheduler prepares the job details using the legacy Agent
communication protocol. The Scheduler then sends the information to the
newly started Agent process.
The legacy Agent puts a RUNNING event directly into the Event Server.
After the job completes, the legacy Agent puts a SUCCESS, FAILURE, or
TERMINATED event directly into the Event Server based on the exit code
of the job.
Note:
If the Scheduler log reports an error while trying to run a job on a computer
with a legacy Agent, see the Agent log file on the remote computer for details.
The legacy Agent log may report some database errors while trying to send
job status events even when the Scheduler log shows that the job has
completed successfully. The errors are due to the differences between the new
Unicenter AutoSys JM database tables and the tables expected by the legacy
Agent. These database errors do not prevent the job event from being sent to
the Event Server and must be ignored.
ISDBGACTIV
The ISDBGACTIV setting controls the display of trace messages. The
configuration of the ISDBGACTIV setting is different for the various
components. This section explains how to configure Unicenter AutoSys JM to
generate runtime traces.
ISDBGACTIV
For the Scheduler or Application Server to read the new value after it
has been set on Windows, you must locate the service in the Windows Service
Control Manager, and pause and resume the service.
For the Scheduler or Application Server to read the new value after it
has been set on UNIX, you must obtain the process id of the application, and
use the signal -HUP UNIX command to issue the SIGHUP signal. The new trace
level will be displayed in the log file for confirmation.
ISDBGACTIV
For the Agent to read the new value after it has been set on Windows,
you must locate the service in the Windows Service Control Manager, and
pause and resume the service.
For the Agent to read the new value after it has been set on UNIX, you
must obtain the process id, and use the signal -HUP UNIX command to issue a
SIGHUP signal. The new trace level will be displayed in the log file for
confirmation.
ISDBGACTIV
Trace Settings
The following table describes how Unicenter AutoSys JM interprets the
ISDBGACTIV values:
ISDBGACTIV
Value
Description
OFF
No Traces
MS
LIGHT
Light Traces
HEAVY
Heavy Traces
JOB
DUMP
GBE
COMM
Note: To combine trace settings, separate each setting with a comma (,). If
you use the OFF setting with other settings, the traceable applications will not
display a trace.
The Scheduler, Application Server, Agent, client utilities, and communication
and database infrastructure routines generate trace messages.
For components such as the Scheduler that generate their own log files, trace
messages are added to these log files at various places when the components
encounter them.
For applications (such as client utilities like jil, autorep, and sendevent) that
are executed interactively or in batches, trace messages are written to the
active window or to a file if streamed accordingly.
Port Multiplexing
The PMUX feature of SSA enables network data intended for multiple ports on
the same host to be redirected through a single physical port. Using PMUX
increases availability of physical ports and reduces the number of ports that
are exposed through a firewall. Physical port 7163 has officially been
registered with the Internet Assignment Numbers Authority (IANA) for use by
CA products. Therefore, the ports that are configured for the Unicenter
AutoSys JM Application Server and Agent during installation are considered to
be virtual ports that map to physical port 7163.
SSA consists of a Connection Broker that receives incoming data from the
physical port and redirects it to the corresponding network application that is
listening on a virtual port. Similarly, the Connection Broker redirects all
outgoing data sent by network applications using different virtual ports
through the same physical port.
For the Connection Broker to effectively redirect network traffic to the correct
application, it must be told what virtual ports to recognize. During installation,
Unicenter AutoSys JM configures the virtual ports it intends to use. If,
however, you want to change any of the virtual ports originally set during
installation, you must perform an additional configuration step.
Port Multiplexing
The default virtual port is in use by another CA product and you want that
product to continue using that virtual port.
You want to enable more than one Application Server to run on the same
host (which requires you to specify a unique virtual port for each
Application Server).
2.
Open a command prompt to the bin folder of the location specified by the
CSAM_SOCKADAPTER environment variable and run the following
command:
csamconfigedit port=nnnn EnablePmux=True
nnnn
Defines the port number to configure.
3.
Run the following command to display the configuration information for the
specified virtual port:
csamconfigedit port=nnnn display
4.
5.
Port Multiplexing
6.
7.
8.
2.
Open a command prompt to the bin folder of the location specified by the
CSAM_SOCKADAPTER environment variable and run the following
command:
csamconfigedit port=nnnn EnableSSL=True
nnnn
Defines the port number to configure.
Note: By default, the Unicenter AutoSys JM installation configures 9000 as
the Application Server port. If you selected another port value for the
Application Server, use that port number when configuring SSL.
3.
Run the following command to display the configuration information for the
specified virtual port:
csamconfigedit port=nnnn display
4.
Run the following command to enable SSL for the virtual ports in the
ephemeral port range:
csamconfigedit PortRange=49152-50176 EnableSSL=True
5.
Stop the CA Connection Broker service from the Windows Service Control
Manager.
6.
7.
8.
jobs_onice
Generates the total number of jobs in ON_ICE status.
jobs_restart
Generates the total number of jobs in RESTART status.
jobs_running
Generates the total number of jobs in RUNNING status.
jobs_starting
Generates the total number of jobs in STARTING status.
jobs_success
Generates the total number of jobs in SUCCESS status.
jobs_terminated
Generates the total number of jobs in TERMINATED status.
job_failures
Generates the total number of jobs that are in FAILURE or TERMINATED
status.
job_runs
Generates the total number of jobs that ran in that hour.
job_force_starts
Generates the total number of jobs that were force started.
job_kills
Generates the total number of jobs for which KILLJOB event was sent.
job_open_svcdesk
Generates the total number of jobs for which a service desk issue was
opened. This statistic is different from others in that it is not for a
particular hour. It is computed for that Unicenter AutoSys JM instance
depending on when the aggregator was run.
total_events
Generates the total number of events processed.
total_latency
Generates the latency in processing all events. That is the total processing
time that is required for all the events.
Note: For more information, see the Reference Guide.
DB_CONNECTIONS
Controls the maximum number of database connections allotted to the
Scheduler. Increasing this value increases the Schedulers ability to
perform simultaneous database operations.
Default: 16
Limit: 1 to 128
Index
$
$AUTORUN 117
$AUTOTESTMODE 232
$AUTOUSER/config.$AUTOSERV 266
%
%AUTOTESTMODE% 232
/
/etc/.autostuff file 291, 292
A
access modes 51
ACTIVATED status 100
activating Unicenter Service Desk interface
352
adding user IDs and passwords 382
administrative privileges 44
administrator
overview 35
starting 36
after_time report attribute 213
agent
computer 28, 357
log files directory 274
maintaining 235
overview 21
setting job profiles 91
starting 236
troubleshooting 314, 318, 321
tuning 403
verifying 314
aggregator
overview 395
running 396
statistics 397
alarm monitor/report attribute 210
alarm_verif monitor attribute 214
alarms
callbacks 293
DB_PROBLEM 293
DB_ROLLOVER 293
EP_HIGH_AVAIL 293
EP_ROLLOVER 293
EP_SHUTDOWN 293
overview 29
verification 214
all_events monitor/report attribute 210
all_status monitor/report attribute 211
application server
overview 19
troubleshooting 331, 332, 334, 337
tuning 402
asset-level security 48, 68
assets
creating 63
deleting 64
listing 65
updating 64
attributes
box job 99
command job 98
file watcher job 98
machine 300, 301
monitor (optional) 214
monitor and report (essential) 209, 210,
211, 212
report (essential) 213
unsupported 377
auto.profile file 288
autodwp command 298
AutoInstWideAppend 284
automated job control 16
autoping command 314
AutoRemoteDir 274
AutoRemPort 282
AUTOSERV variable 28
autosyslog command 315, 316
B
backing up
calendar definitions 220
definitions 221
global variable definitions 222
batch files and exit codes 114
best match policy 50
bi-directional scheduling 357, 365
box jobs
attributes 99, 123
creating 155
Index 405
C
cache update interval 47
CAICCI
defined 357
calculating wait time 279
calendars
backing up 220
custom 105
restoring definitions 223
chase command 238
Check_Heartbeat 273
clean_files 238
CleanTmpFiles 275
client
computer 28
defined 25
command jobs 87, 98
communications 27
components
client 25
dual event server 19
event server 18
interaction 22, 303
overview 18
scheduler 20
troubleshooting 303
computers
agent 28, 357
client 28
server 28
configuration
file 266
configuring
application server 390
enterprise job scheduling 361
file parameters 266
message forwarding 345
notification 350
remote authentication 291
D
database
architecture 241
connections 269
daily maintenance 244
general maintenance 243
maintenance 271
overview 18
passwords 42
storage requirements 243
vendors 18
verifying connection 314
date/time job dependencies 105
daylight time changes 81
DB_CONNECTIONS 400, 402
DBEventReconnect 269
DBLibWaitTime 267
DBMaint script 245, 246
DBMaint.bat batch file 245, 246
DBMaintCmd 271
DBMaintTime 271
E
EDErrTimeInt 270
edit permissions 71
EDIT superuser 67
EDNumErrors 270
enabling synchronized push 48
encrypting messages 34
enterprise job scheduling
configuring 361
prerequisites 359
environment variables
defining 92
eTrust IAM
asset level security 48
best match policy 50
native security 65
policy synchronization 46
resource classes 49
security control 66
security enabled applications 63
F
factor 184, 188
FAILURE status 100
FALSE.EXE 114
file watcher jobs
attributes 98
creating 152
overview 89
forcing jobs to start 200
G
gid 70
global variables (job dependencies) 116
group ID 70
Index 407
H
handling errors 257
heartbeats 273
high availability
dual event servers 19
shadow scheduler 20
I
INACTIVE status 100
InetdSleepTime 285
installation considerations (event agent) 343
instances
defined 28
interface components 27
ISDBGACTIV 385
J
JIL
adding machines 157
changing a job 159
creating a box job 155
creating a file watcher job 152
creating dependent command job 153
creating job definition 76
creating job groupings 156
defined 17
defining a monitor or report 208
deleting a job 162
example script 166
placing jobs in a box 159
running a job 150
setting job overrides 165
setting time dependencies 160
specifying job overrides 163
subcommands 144
submitting job definitions 148, 149
syntax rules 142
job information language 17, 30
job ownership 69
job profiles manager 93
job scheduling
inbound 358
outbound 358
job states 100
job status 106
job types
job types 146
using 90
job_load 186
jobs
attributes 98, 99
backing up definitions 220
basic job information 87
box jobs 88
command jobs 87
defining 17
deleting 162
dependencies 106, 113, 116
edit permissions 71
execute permssions 71
file watcher jobs 89
managing job status 108
naming conventions 370
overview 17, 85
permissions 73
placing jobs in a box 159
restoring definitions 223
run numbers and names 117
running JIL 150
running on UUJMA computers 370
setting overrides 165
setting time dependencies 160
specifying job overrides 163
starting conditions 90, 104
states 100
submitting definitions 148
time/date dependencies 105
types 86
K
KillSignals 281
L
load balancing 197, 206
log 376
look-back conditions 154
M
MachineMethod 280
machines
attributes 300, 301
definitions 189
status 194
maintenance commands 238
managing job status 108
max_load 184, 186
MaxRestartTrys 277
N
naming conventions 367
native security 65
notifications
configuring 350
installation considerations 349
overview 346
sending 351
working 348
NotifyAckTimeout 286
NotifyServerNode 286
ntrys 117
O
offline 195
ON_HOLD status 100
ON_ICE status 100
online 195
operating environment conventions 16
Oracle
database-specific tools 303
P
passwords 42
PEND_MACH status 100, 196
permissions
edit 71
execute 71
granting 72
machine 71
types 71
Windows NT 73
policy synchronization 46
port multiplexing 389
Q
QUE_WAIT status 100
queuing jobs 200, 201, 204, 205
R
real machines
defining 190
deleting 190, 193
overview 183
RemoteProFiles 276
reports 207, 208
resource classes
as-appl class 51
as-calendar class 52
as-control class 53
as-cycle class 54
as-group class 55
as-gvar class 55
as-job class 56
as-joblog class 58
as-jobtype class 59
as-list class 60
as-machine class 61
as-owner class 62
RESTART status 100
restoring definitions 223
RSP_REGULATOR 403
run number 117
run_num/ntry 117
running
monitor or report 216
scheduler in test mode 232
running jobs on legacy agent computers 380,
384
RUNNING status 100
S
sample configuration file 267
SCHED_SCALE 400
scheduler
authentication 40
cascading errors 270
log 376
log disk space 270
log file location 226
maintaining 217
monitoring 225
overview 20, 110
restoring primary 229
rollover 228
running in test mode 232
start processing 219
starting in global mode 226
stopping 231
troubleshooting 307, 308, 309
Index 409
tuning 400
security
agent authentication 39
asset-level 68
client-side 292
database field verification 38
events sent by users 73
granting permissions 72
job definition encryption 38
job permissions and windows 73
native 65
overview 37
passwords 42
permission types 71
preventing unauthorized access 38
restricting 43
scheduler authentication 40
security control 66
system level 38
user authentication 39
user types 70
security (events) 73
security-enabled application 63
sendevent command 68
sendevent retries 272
server
computer 28
service desk
configuring 352
initiating 354
overview 352
setting parameters 352
ServiceDeskCust 287
ServiceDeskURL 287
ServiceDeskUser 287
shadow scheduler
high availability option 20
SNMP connections 268
SnmpCommunity 268
SnmpManagerHosts 268
specifying relative process power 188
SSL 389, 392
standard time change 82
starting conditions 104, 106
STARTING status 100
subcommands 144
SUCCESS status 100
superuser
EDIT 67
EXEC 68
synchronize poll interval time 47
synchronizing databases 252
syntax rules 142
system architecture (example) 22
T
TERMINATED status 100
time changes
date and time attributes 80
daylight saving 81
standard 82
time dependencies 105, 160
troubleshooting
agent 314, 315, 316, 318, 321
application server 321, 331, 332, 337
event server 305, 306
job failure 327, 328, 330
scheduler 307, 308, 309, 312
system components 303
Windows services 304
tuning
agent 403
application server 402
scheduler 400
TZ environment variable 105
U
uid 70
Unicenter AutoSys JM Connect 358
Unicenter AutoSys JM Scheduler 358
Unicenter DSM 296
Unicenter Job Scheduling Manager 358
Unicenter WCC GUI 17
UnicenterEvents 285
unsupported attributes 377
user
authentication 39
types 70
user ID 70
user-defined load balancing 206
utilities 30
UUJMA
adding user IDs and passwords 372
computers 371
defined 358
defining computers 371
job names and user IDs 370
running jobs 369, 370
V
variable definitions
creating 95
deleting 97
editing 96
virtual machines
defining 191
deleting 193
overview 184
virtual port 390
Index 411