how to configure the ca workload automation system agent agentparm.txt file

154
How to Configure the CA Workload Automation System Agent agentparm.txt File MFX22E #CAWorld Mainframe John Rooney CA Technologies Sr. Principal Consultant

Upload: ca-technologies

Post on 25-Jun-2015

2.307 views

Category:

Technology


8 download

DESCRIPTION

Unlock the mystery and power of CA Workload Automation System Agent by understanding how to configure its agentparm.txt file. For more information on Mainframe solutions from CA Technologies, please visit: http://bit.ly/1wbiPkl

TRANSCRIPT

How to Configure the CA Workload Automation System Agent agentparm.txt File

MFX22E #CAWorld

Mainframe

John Rooney

CA TechnologiesSr. Principal Consultant

2 © 2014 CA. ALL RIGHTS RESERVED.

Abstract

Unlock the mystery and power of the CA Workload Automation (CA WA) System Agent by understanding how to configure its agentparm.txt file!

John Rooney

CA Technologies

Sr. Principal Consultant

3 © 2014 CA. ALL RIGHTS RESERVED.

Agenda

AGENT OVERVIEW/ARCHITECTURE

REVIEW AN AGENT INSTALL ON WINDOWS X64

SUMMARY

RECOMMENDED CHANGES/ADDITIONS TO THE DEFAULT

AGENT TROUBLESHOOTING

SOME COMMON QUESTIONS

1

2

3

4

5

6

Agent Architecture

5

CA Workload Automation Agents wiki – NEW!

http://wiki.ca.com/wlaagents

This should be your first

resource for all questions!

I5

AIX/64HP_UX/Itanium

CA Workload Automation Agents & Application Integrations

Windows/64

Solaris/x86

CA WorkloadAutomation Application

(AutoSys,dSeries,CA7, ESP)

LINUX/64z/LINUX

Databases(1:1)

WebService

(1:many)

ApplicationServices

(1:1)

Informatica(1:3)

SQLServer(1:10)

Oracle E Business Suite

(1:1)

RemoteExecution

(1:6)

MicroFocus(1:1)

PeopleSoft(1:1)

SAP(1:1)

CA WA System Agents

CA WA Application IntegrationAgents (Plug-ins)

CA WAManager

z/OS

7

Out-of-the-box Agent Job Types

System Tasks Application Services Application Integrations

Command HTTP ● SAP

FTP/SFTP and Secure Copy POJO R/3

SNMP Get/Set/Subscribe/Send RMI Job Copy

Wake-on-LAN JMS Publish/Subscribe BW Process Chain

● z/OS Session Bean BW InfoPackage

Batch Job Entity Bean Data Archiving

Manual Job MBean Create/Remove (JMX) Batch Input

Data Set Trigger MBean Get/Set Event Monitor

HP Integrity NonStop MBean Operation/Subscribe Process Monitor

i Series ● Oracle E-Business Suite

Web Services Single Request

Monitoring RPC/Encoded Request Set

File Trigger / Watcher Document/Literal Copy Single Request

Text File Process Automation PeopleSoft PeopleTools

Process Microsoft SQL Server

CPU Database Integrations Informatica PowerCenter

Disk Database Monitor Micro Focus

IP Database Trigger

Windows Event Log Database Stored Procedure Remote Execution

Windows Services SQL Remote Execution

8

What is the CA WA System Agent?

Originally developed in 1994

Re-engineered to be Java based around 2000

Small, non-invasive processes (Approximately 141 MB disk space)

TCP/IP communication using short data packets

Encrypted communication to/from the Workload Managers– DES, DESEDE, AES, Blowfish

9

What is the CA WA System Agent? (cont’d)

Data Event sensors and Integration points to your business applications

Provides ability to manage distributed and mainframe workload from a single point of control

Highly scalable: Customers routinely deploy over 1,000 Agents per Manager

10

What Does the CA WA System Agent Do?

Enables any CA Workload Automation Manager to manage workload on distributed platforms

Executes the scripts, binaries and other executables

Operating Systems:– UNIX, Linux, Windows, I5

– Runs as a Process on UNIX and as a Service on Windows

Communicates to CA Workload Automation Manager via TCP/IP– Waits for instructions from Manager

– Processes work when sent a message

11

What does the CA WA System Agent Do? (cont’d)

Submits executable (script, .bat, .exe, .bin, etc…) and returns status to Manager– Started

– Running

– Complete/Failed (by default a non-zero RC)

Will independently monitor for data events (even continuously) when sent a message

Stores stdout and stderr output from jobs in a spool file

Enables users to retrieve spoolfile output without having to logon to the agent’s server

12

What do the CA WA Application Integration Agents Do?

Enables the functional interface to the specific Application to start and monitor requests– Logon with a specific Userid/password to make the request

– Interpret the Success or failure

– Cancel

– Restart

Retrieve information from the Application – Pre-defined job definitions (ABAPS, Workflows, Job lists, etc..)

– Read a job log

– Retrieve a job’s spool file output

13

Agent Architecture

All System Agents utilize JAVA Runtime Environment as the Base Architectural Component

All System Agent functions are created as JAVA Plug-in’s and come standard with the base System Agent– plugins.start_internal_1=runner– plugins.start_internal_2=router– plugins.start_internal_3=filemon– plugins.start_internal_4=objmon– plugins.start_internal_5=filebrowser– plugins.start_internal_6=ftp– plugins.start_internal_7=management– plugins.start_internal_8=snmp

These are the mostcommon default

plugins started

14

An Application Integration Agent is enabled as a “Plug-in” to the System Agent

Installed as “Plug-in” to an existing Systems Agent on UNIX, Linux or Windows

C:\Program Files\CA\WA Agent R11.3.4>plugininstallerusage: plugininstaller <packed file> <agent directory> [<stdin path> [<force override flag>]]

C:\Program Files\CA\WA Agent R11.3.4>plugininstaller database.pak .Please enter the database type1: Oracle2: SQL Server3: DB24: SybasePlease enter the database type

15

An Application Integration Agent is enabled as a “Plug-in” to the System Agent (con’t)

Certified (whenever possible) interface to 3rd party solutions that have a built-in scheduler– SAP (CCMS)– PeopleSoft (Process Scheduler)– Oracle E Business Suite (Concurrent Manager)– SQL Server– Informatica

Does not need to be installed on same server as the Application – Uses a remote connection (Remote call, JDBC, RFC, etc…)

16

Agent Communication

Each Agent has one dynamic sender port and one predefined receiver port

The Manager can have multiple receiver ports and one dynamic sender port for each connected Agent

When the sender (Agent or Manager) has a message(s) to transmit, it connects to the receiver’s port, sends the message(s), and then closes the connection

17

Agent Communication

Managers and Agents communicate asynchronously using message queues

Managers and Agents communicate by sending Automated Framework Messages or AFMs

AFM’s include:– Date/Time Stamp– Agent Name– Address (Host, DNS, TCPIP)– Command or Script to Execute– User-id to Execute the workload

under– Arguments for the Script or

Command– Environment Variables– Status information

18

20140518 18235971+0400 AGENT_R1134 MANAGER RVALS/SWRUN.68/MAIN

RUN . Data(Command="C:\My Documents\Scripts\sleep.exe”,Args=“240”)

20140518 18241546+0400 MANAGER AGENT_R1134 RVALS/SWRUN.68/MAIN

State EXEC SetStart Status(Executing at AGENT_R1134) Jobno(5704))

Automated Framework Message(AFM)

Date/TimeManager

NameAgentName

JobName

Application/Generation

Action

Date/Time

Manager Name

AgentName

JobName

Application/Generation

AFM: Manager to Agent

AFM: Agent to Manager

Additional information

Status Information

Constant

19

General Architecture

Decentralized approach– Has Core for common

functionality– Utilizes plug-in architecture

Incoming

Plug-in

Core

Controlled

Plug-in

Controlled

Plug-in

Controlled

Plug-in

Incoming

Plug-in

Incoming

Plug-in

RMI RMI

RMI RMI

20

General Architecture - Core

Incoming plug-in manager

Outbox

Inbox

Initiator Manager

Plug-in Manager

Message Arrived

Ask Initiator Manager to submit a job

We have an initiator, submitWe’ve got a reply

Release initiator?

Can go to manager?

Send to manager

From Incoming Plug-in

To Controlled Plug-in

21

General Architecture – Plug-in

Represents a piece of agent functionality– Receives an AFM from Core

– Sends reply back to Core

Can be loaded internally or in separate JVM– Can be loaded dynamically without agent restart (this is not typical)

Prefixes “from” field with plug-in manager name followed by hash (#)– “from” field will look like:

JavaAgent#TCPIP@CM_CENTRAL

22

Deep Inside - Persistence

Every message is persisted– Queues

– Maps

Both are persistent collections written internally

All activities are logged

23

Deep Inside - Persistence

Queues– Have smart cache– Difficult to blow up– Log every message in and out– Are binary

Maps– Some keep all content in memory– Some have smart cache– Unlikely to be blown up– Log every message in and out

24

Log Files The Communications between a Manager and Agent are

logged– Lifecycle of each job from start to finish

Communications between internal Agent components are logged

Logging Levels:– 5 is the Default value in R11.3– You should normally run with 1

0, 1, or 2 - Creates logs for any errors including the receiver and transmitter logs. Level 2 is adequate for production, unless problems arise requiring more details for troubleshooting

3 - Adds queues. If this value is specified, the agent ignores the log.maxsize parameter

4 or 5 - Adds debugging information. Use log level 5 for setup and initial testing

6, 7, or 8 - Adds tracing information to diagnose a problem. These levels are not intended for continuous use.

25

Log Files

By default, the Agent maintains the log files in a directory called “log” in the directory that contains the Agent files

The Agent logs the path of any AFM as it proceeds from the Manager to the Agent

26

Log Files: runner_os_component.log

Contains Agent start-up information and error messages

Can provide vital information in case agent does not start

Log Started Sun Oct 12 21:03:15 2014

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

Sun Oct 12 21:03:15 2014: Job objects are supported

Sun Oct 12 21:03:15 2014: Map: Garbage collection starts

Sun Oct 12 21:03:15 2014: Map: Garbage collection completed

Sun Oct 12 21:03:15 2014: NT Service has initialized

Sun Oct 12 21:03:15 2014: CA Workload Automation Agent for Microsoft Windows R11.3, Build 717

Sun Oct 12 21:03:15 2014: OS component - 5276

Sun Oct 12 21:03:15 2014: Running under: Windows 7, Build 7600

Sun Oct 12 21:03:15 2014: Hardware: CPU = x86-64 x8, Physical memory = 16340MB

27

Log Files: runner_os_component.log

Contains Agent start-up information and error messages

Sun Oct 12 21:03:15 2014: Jars found:

jars/config.jar;jars/core.jar;jars/filebrowser.jar;jars/filemon.jar;jars/ftp.jar;jars/install

er.jar;jars/jmxconnector.jar;jars/js.jar;jars/library.jar;jars/management.jar;jars/objmon.jar

;jars/pluginlib.jar;jars/plugin_installer.jar;jars/router.jar;jars/runner.jar;jars/snmp.jar;j

ars/snmpagent.jar;jars/snmpconnector.jar;jars/tcpip.jar;jars/utility.jar;jars/ext/axis-

ant.jar;jars/ext/axis-schema.jar;jars/ext/axis.jar;jars/ext/commons-

codec.jar;jars/ext/commons-discovery-0.2.jar;jars/ext/commons-

httpclient.jar;jars/ext/commons-

logging.jar;jars/ext/ireasoningsnmp.jar;jars/ext/jaxrpc.jar;jars/ext/jsafeJCEFIPS.jar;jars/ex

t/saaj.jar;jars/ext/sinetfactory.jar;jars/ext/wsdl4j-1.5.1.jar;

Sun Oct 12 21:03:16 2014: Calling cybermation.agent.CybAgentDriver.main

Sun Oct 12 21:03:16 2014: Starting receive loop

Sun Oct 12 21:03:16 2014: Transmitter started

28

Log Files: runner_os_component.log

Contains Agent shut-down information and error messagesSun Oct 12 21:12:07 2014: ServiceControl called with SERVICE_CONTROL_STOP

Sun Oct 12 21:12:07 2014: Initiating shutdown sequence...

Sun Oct 12 21:12:07 2014: Named pipe server is about to stop

Sun Oct 12 21:12:07 2014: NamedPipeServer exiting on CONTROL SHUTDOWN_INTERNAL

Sun Oct 12 21:12:07 2014: Named pipe server stopped

Sun Oct 12 21:12:07 2014: Transmitter is about to stop

Sun Oct 12 21:12:07 2014: Transmitter: Sending AFM: . . . . . CONTROL INACTIVE

Sun Oct 12 21:12:07 2014: shutdownVM: Attaching JVM thread

Sun Oct 12 21:12:07 2014: shutdownVM: invoking cybAgentDriver.shutdown()

Sun Oct 12 21:12:07 2014: Transmitter wait for completion is over

Sun Oct 12 21:12:07 2014: JVM is shutting down... . Maximum grace period - 300 seconds

Sun Oct 12 21:12:07 2014: Transmitter stopped

Sun Oct 12 21:12:08 2014: Receiver: exiting on SHUTDOWN request

Sun Oct 12 21:12:08 2014: Exited receive loop

Sun Oct 12 21:12:08 2014: Receiver stopped

Sun Oct 12 21:12:08 2014: CybAgentDriver has exited

Sun Oct 12 21:12:08 2014: Receiver is about to stop

Sun Oct 12 21:12:08 2014: Shutdown sequence complete. Service Manager notified

29

Log Files: defaultlog_agent.log Contains Agent start-up information and logging for other functions without a separate log

Log Started Sun Oct 12 21:03:16 EDT 2014 with level 5

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

10/12/2014 21:03:16.126 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:208] - CA Workload Automation Agent, Build 717, Service Pack 4, Maintenance Level 0 starting

10/12/2014 21:03:17.148 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:233] - Security manager is about to be initialized

10/12/2014 21:03:17.153 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:248] - Main queues are about to be created

10/12/2014 21:03:17.174 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:257] - Connectivity framework is about to be initialized

10/12/2014 21:03:17.259 EDT-0400 3 main.MainThread.CybTcpipControllerPlugin.initialize[:274] - Receiver/Transmitter initializing...

10/12/2014 21:03:17.676 EDT-0400 2 main.MainThread.CybTcpipControllerPlugin.initialize[:301] - Receiver starting on port 7535

10/12/2014 21:03:17.772 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:272] - CybControlSetPropertyHandler is about to be initialized

10/12/2014 21:03:17.783 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:275] - CybControlRefresh is about to be initialized

10/12/2014 21:03:17.789 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:282] - InitiatorManager is about to be initialized

10/12/2014 21:03:17.806 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:289] - NOP handler is about to be initialized

10/12/2014 21:03:17.812 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:292] - Clear log files handler is about to be initialized

10/12/2014 21:03:17.819 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:296] - Heart beat handler is about to be initialized

10/12/2014 21:03:17.831 EDT-0400 5 main.MainThread.CybFilemonPluginDriver.<clinit>[:207] - filefilter native library successfully loaded

10/12/2014 21:03:17.867 EDT-0400 5 main.MainThread.CybRunnerPluginDriver.runApplication[:73] - CybRunnerPluginDriver Build 717, Service Pack 4, Maintenance Level 0 starting

10/12/2014 21:03:17.896 EDT-0400 5 main.MainThread.CybRunnerPluginDriver.runApplication[:100] - RMI connectivity framework is about to be initialized

10/12/2014 21:03:17.899 EDT-0400 5 main.MainThread.CybRunnerPluginDriver.runApplication[:107] - Listener is about to initialize

10/12/2014 21:03:17.915 EDT-0400 5 main.MainThread.CybRouterPluginDriver.runApplication[:68] - CybRouterPluginDriver starting

10/12/2014 21:03:17.934 EDT-0400 5 main.MainThread.CybRouterPluginDriver.runApplication[:77] - RMI connectivity framework is about to be initialized

10/12/2014 21:03:17.943 EDT-0400 5 main.MainThread.CybFilemonPluginDriver.runApplication[:76] - CybFilemonPluginDriver Build 717, Service Pack 4, Maintenance Level 0 starting

10/12/2014 21:03:17.969 EDT-0400 5 main.MainThread.CybFilemonPluginDriver.runApplication[:96] - Previous jobs are about to be recovered

10/12/2014 21:03:17.972 EDT-0400 5 main.MainThread.CybFilemonPluginDriver.runApplication[:103] - RMI connectivity framework is about to be initialized

10/12/2014 21:03:17.975 EDT-0400 5 main.MainThread.CybFilemonPluginDriver.runApplication[:110] - Plugin started

10/12/2014 21:03:17.986 EDT-0400 5 main.MainThread.CybObjmonPluginDriver.runApplication[:71] - CybObjmonPluginDriver Build 717, Service Pack 4, Maintenance Level 0 starting

10/12/2014 21:03:18.009 EDT-0400 5 main.MainThread.CybObjMonAdapterGeneralFactory.<init>[:113] - The objmon OS is: "windows"

10/12/2014 21:03:18.013 EDT-0400 5 main.MainThread.CybObjmonPluginDriver.runApplication[:87] - RMI connectivity framework is about to be initialized

10/12/2014 21:03:18.016 EDT-0400 5 main.MainThread.CybObjmonPluginDriver.runApplication[:94] - Previous jobs are about to be recovered

10/12/2014 21:03:18.019 EDT-0400 5 main.MainThread.CybObjmonPluginDriver.runApplication[:101] - Plugin started

10/12/2014 21:03:18.029 EDT-0400 5 main.MainThread.CybFilebrowserPluginDriver.runApplication[:70] - CybFilebrowserPluginDriver Build 717, Service Pack 4, Maintenance Level 0

starting

10/12/2014 21:03:18.049 EDT-0400 5 main.MainThread.CybFilebrowserPluginDriver.runApplication[:85] - RMI connectivity framework is about to be initialized

10/12/2014 21:03:18.070 EDT-0400 3 main.MainThread.CybTcpipControllerPlugin.postInitialize[:323] - Receiver/Transmitter starting...

10/12/2014 21:03:18.388 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:334] - InitiatorManager is about to be post-initialized

10/12/2014 21:03:18.460 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:341] - Mailboxes are about to be initialized

10/12/2014 21:03:18.627 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:358] - CybAgentDriver started

30

Log Files: receiver.log

Contains AFMs received by Agent from the ManagerLog Started Mon Oct 13 11:30:00 EDT 2014 with level 5

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

10/13/2014 11:30:00.339 EDT-0400 2 main.MainThread.CybReceiverScheduler.<init>[:105] - Creating the processor pools[2]

10/13/2014 11:30:27.064 EDT-0400 2 TCP/IP Controller Plugin.Receiver pool thread <Regular:1>.CybReceiverChannel.receive[:157] - Conversation from

127.0.0.1:55796 to 127.0.0.1:7535 arrived

10/13/2014 11:30:27.068 EDT-0400 2 TCP/IP Controller Plugin.Receiver pool thread <Regular:1>.CybReceiverChannel.receive[:252] - Exiting conversation

10/13/2014 11:30:28.011 EDT-0400 2 TCP/IP Controller Plugin.Receiver pool thread <Regular:2>.CybReceiverChannel.receive[:157] - Conversation from

127.0.0.1:55797 to 127.0.0.1:7535 arrived

10/13/2014 11:30:28.049 EDT-0400 5 TCP/IP Controller Plugin.Receiver pool thread <Regular:2>.CybReceiverSession.accept[:269] - Message accepted: 20141013

11302800+0400 JPRR1134 DSERIES113 1413214.228000/DSERIES113.1/MAIN Control Mgraddr Address(roojo02-w7) Port(7507) User(DSERIES113) Persistent(TRUE)

10/13/2014 11:30:30.090 EDT-0400 2 TCP/IP Controller Plugin.Receiver pool thread <Regular:2>.CybReceiverSession.accept[:276] - Message received: 20141013

11302800+0400 JPRR1134 DSERIES113 1413214.228000/DSERIES113.1/MAIN Control Mgraddr Address(roojo02-w7) Port(7507) User(DSERIES113) Persistent(TRUE)

10/13/2014 11:30:32.112 EDT-0400 2 TCP/IP Controller Plugin.Receiver pool thread <Regular:2>.CybReceiverChannel.receive[:252] - Exiting conversation

10/13/2014 12:17:11.001 EDT-0400 2 TCP/IP Controller Plugin.Receiver pool thread <Regular:1>.CybReceiverChannel.receive[:157] - Conversation from

127.0.0.1:56414 to 127.0.0.1:7535 arrived

10/13/2014 12:17:11.006 EDT-0400 2 TCP/IP Controller Plugin.Receiver pool thread <Regular:1>.CybReceiverChannel.receive[:252] - Exiting conversation

10/13/2014 12:22:11.003 EDT-0400 2 TCP/IP Controller Plugin.Receiver pool thread <Regular:2>.CybReceiverChannel.receive[:157] - Conversation from

127.0.0.1:56502 to 127.0.0.1:7535 arrived

10/13/2014 12:22:11.009 EDT-0400 2 TCP/IP Controller Plugin.Receiver pool thread <Regular:2>.CybReceiverChannel.receive[:252] - Exiting conversation

10/13/2014 12:27:11.006 EDT-0400 2 TCP/IP Controller Plugin.Receiver pool thread <Regular:1>.CybReceiverChannel.receive[:157] - Conversation from

127.0.0.1:56570 to 127.0.0.1:7535 arrived

10/13/2014 12:27:11.013 EDT-0400 2 TCP/IP Controller Plugin.Receiver pool thread <Regular:1>.CybReceiverChannel.receive[:252] - Exiting conversation

10/13/2014 13:24:47.458 EDT-0400 2 TCP/IP Controller Plugin.Receiver pool thread <Regular:2>.CybReceiverChannel.receive[:157] - Conversation from

127.0.0.1:57451 to 127.0.0.1:7535 arrived

10/13/2014 13:24:47.463 EDT-0400 5 TCP/IP Controller Plugin.Receiver pool thread <Regular:2>.CybReceiverSession.accept[:269] -

Message accepted: 20141013 13244745+0400 JPRR1134 DSERIES113 SAMPLE_JOB/CA_WORLD_2014_SINGLE_JOB.2/MAIN RUN .

Data(Args="10",Command="C:\Scripts\sleep.bat") TargetSubsystem(WIN) MFUser(JPR)10/13/2014 13:24:47.481 EDT-0400 2 TCP/IP Controller Plugin.Receiver pool thread <Regular:2>.CybReceiverSession.accept[:276] - Message received: 20141013

13244745+0400 JPRR1134 DSERIES113 SAMPLE_JOB/CA_WORLD_2014_SINGLE_JOB.2/MAIN RUN . Data(Args="10",Command="C:\Scripts\sleep.bat") TargetSubsystem(WIN)

MFUser(JPR)

10/13/2014 13:24:49.496 EDT-0400 2 TCP/IP Controller Plugin.Receiver pool thread <Regular:2>.CybReceiverChannel.receive[:252] - Exiting conversation

31

Log Files: transmitter.log Contains AFMs sent from Agent to Manager Agent build information

Log Started Sun Oct 12 21:03:17 EDT 2014 with level 5

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

10/12/2014 21:03:17.714 EDT-0400 2 main.MainThread.CybTransmitterScheduler.<init>[:130] - Creating the processor pools[2]

10/12/2014 21:03:17.718 EDT-0400 2 main.MainThread.CybTransmitterScheduler.<init>[:147] - Maximum sending errors before delay - 3

10/12/2014 21:03:17.721 EDT-0400 2 main.MainThread.CybTransmitterScheduler.<init>[:148] - Delay time after maximum errors limit reached -

120000ms.

10/12/2014 21:03:18.079 EDT-0400 5 TCP/IP Controller Plugin.Transmitter pool thread <Regular:1>.CybTargetHandlerChannel.call[:687] - Attempting

to send: 20141012 21031774+0400 DSERIES113 JPRR1134 JPRR1134/AGENTMON1.0/MAIN CONTROL ACTIVE OSText(Windows 7 for amd64) ByUser(ROOJO02-W7$)

AgentRelease(R11.3) AgentBuild(717, Service Pack 4, Maintenance Level 0) User(JPRR1134) Host(ROOJO02-W7)

10/12/2014 21:03:18.082 EDT-0400 5 TCP/IP Controller Plugin.Transmitter pool thread

<Regular:1>.CybTargetHandlerChannelLogHelper.logConnectionAttempt[:75] - Attempting to open conversation to DSERIES113@roojo02-w7:7507 using

plain socket

10/12/2014 21:03:18.092 EDT-0400 5 TCP/IP Controller Plugin.Transmitter pool thread

<Regular:1>.CybTargetHandlerChannelLogHelper.logConnectionInfo[:109] - Opened conversation to DSERIES113@roojo02-w7:7507 with partner at

10.132.22.71:7507 with timeout of 10000 from 10.132.22.71:54895

10/12/2014 21:03:18.132 EDT-0400 2 TCP/IP Controller Plugin.Transmitter pool thread

<Regular:1>.CybTargetHandlerChannel.call[:721] - Message has been sent: 20141012 21031774+0400 DSERIES113 JPRR1134

JPRR1134/AGENTMON1.0/MAIN CONTROL ACTIVE OSText(Windows 7 for amd64) ByUser(ROOJO02-W7$) AgentRelease(R11.3)

AgentBuild(717, Service Pack 4, Maintenance Level 0) User(JPRR1134) Host(ROOJO02-W7)

10/12/2014 21:03:18.136 EDT-0400 5 TCP/IP Controller Plugin.Transmitter pool thread <Regular:1>.CybTargetHandlerChannelLogHelper.logConnectionClose[:133] - Conversation with DSERIES113 closed

10/12/2014 21:12:08.032 EDT-0400 2 Core Mailbox.outbound.CybTargetHandlerChannel.quiesce[:388] - The channel dseries113 has been quiesced

10/12/2014 21:12:08.036 EDT-0400 5 TCP/IP Controller Plugin.Transmitter.CybTargetHandlerChannelLogHelper.logConnectionAttempt[:75] - Attempting

to open conversation to DSERIES113@roojo02-w7:7507 using plain socket

32

Database Files *.odb

Queues and Maps

Are persistent so that no message is ever lost even over restarts

Deleting these files is effectively a cold start

33

filemon_plugin_threads_filemon.odbR 5 9ROOJO02.FILETRIG.WTDDEFCC4D37371774776A/WTD.1/SENSMGR20140701 21300391+0400 JPRAGENT JavaAgent#tcpip@CM_CAESP21 ROOJO02.FILETRIG.WTDDEFCC4D37371774776A/WTD.1/SENSMGR FILETRIG DEFINE

Name(C:\Prod\Incoming_files\*.*) Type(CREATE) Recursive Continuous(*) SensorMode(TRUE) DropIfExistsWOBRequestID(64F93B2235C1E5AA89A14D6048B776F16AD42C9F14042645809400) SensorRestartedR 1 "ROOJO02.DB02.WTDDEFCAF4AE84DDCFAD32/WTD.1/SENSMGR20140701 21300392+0400 JPRR113 JavaAgent#tcpip@CM_CAESP21 ROOJO02.DB02.WTDDEFCAF4AE84DDCFAD32/WTD.1/SENSMGR FILETRIG DEFINE Name(c:\prod\Agents.txt) Type(UPDATE) Continuous(*) SensorMode(TRUE) DropIfExists WOBRequestID(64F93B2235C1E5AA89A14D6048B776F16AD42C9F14042645817170) SensorRestartedR 2 +ROOJO02.CALI1.WTDDEFCDC53BDA4EF55B52/WTD.1/SENSMGR20140917 14122363+0400 JPRR113 JavaAgent#tcpip@CM_CAESP21 ROOJO02.CALI1.WTDDEFCDC53BDA4EF55B52/WTD.1/SENSMGR FILETRIG DEFINE Name(C:\Prod\Incoming_files\*.*) Type(CREATE) Continuous(*) SensorMode(TRUE) DropIfExists WOBRequestID(E6A55DC3B2AB4D422BD3C2EAFE689F1B27821B5014109775190150) SensorRestarted

This is an example of a File Trigger Job Type.It is a Continuous File monitor. Recursive means that the files in the root folder and all subfolders will be monitored for file creation.

34

db_afm.odb – Database plug-in

A 3 MROOJO02.DBTRIG.WTDDEFCCBD4C73CDB2556B/WTD.1/SENSMGR20140701 21300394+0400 JPRR113_DB JavaAgent#tcpip@CM_CAESP21 ROOJO02.DBTRIG.WTDDEFCCBD4C73CDB2556B/WTD.1/SENSMGR DBTRIG DEFINE

DbUrl("jdbc:sqlserver://roojo02-W7:1433;databasename=pubs") TrigType(INSERT) TableName(stores) Continuous(*) DropIfExists MFUser(ROOJO02) WOBRequestID(64F93B2235C1E5AA89A14D6048B776F16AD42C9F14042645820150)A H ‰AB893BD6CF18424DB8E4FD54618CDABD/APPL0FEA1B9E11DD80C53D6355D8APPL.1/MAIN20140822 12113159+0400 JPRR113_DB JavaAgent#tcpip@DSERIES113 AB893BD6CF18424DB8E4FD54618CDABD/APPL0FEA1B9E11DD80C53D6355D8APPL.1/MAIN DBTRIG DEFINE User(dSeries) Password(97771796C72600D3) MFUser(JPR) DbUrl(jdbc:sqlserver://roojo02-w7:1433;DatabaseName=pubs) TableName(Stores) TrigType(INSERT) Continuous(alert) DropIfExists WOBRequestID(796EA8E50C94E47CD16273445A06DA15FD7F790E14087238916140)

Above is the database trigger stored in the database file to make the database trigger persistent across restarts of the Agent.

This is an example of the job definition for the Database Trigger Job Type:

AGENT JPRR113_DB TABLE_NAME stores TRIG_TYPE INSERT DB_URL 'jdbc:sqlserver://roojo02-W7:1433;databasename=pubs'

35

objmon_adapters_objmon.odbR $ CD63B9AB.87C4BB53/000007F0.1/RESOMGR20140701 20532772+0400 JPRR113_DB JavaAgent#[email protected]/000007F0.1/RESOMGR OBJTRIG DEFINE MonType(CPU) PollInterval(60) Continuous() LowerBoundary(0) UpperBoundary(100) WOBRequestID(F478E4363AC5556DA2C360E5F26A1C1EC8866C9514042646739740) SensorRestartedR -JPRAGENT/#LOADBALANCINGCPUMONITOR/SERVERQUERY20140703 10163363+0400 JPRAGENT JavaAgent#tcpip@DSERIES113 JPRAGENT/#LOADBALANCINGCPUMONITOR/SERVERQUERY OBJTRIG DEFINE MonType(CPU) PollInterval(300) Continuous LowerBoundary(0) DropIfExistsWOBRequestID(C7F33908372CD79A07C01C3E5AD2E515F698367214043969936850) SensorRestartedR $ CD63B9AB.87C31253/00000778.1/RESOMGR20140701 20532772+0400 JPRAGENT JavaAgent#tcpip@JPR CD63B9AB.87C31253/00000778.1/RESOMGR OBJTRIG DEFINE MonType(CPU) PollInterval(60) Continuous() LowerBoundary(0) UpperBoundary(100)

WOBRequestID(F478E4363AC5556DA2C360E5F26A1C1EC8866C9514042646706320) SensorRestartedR , JPRR113/#LOADBALANCINGCPUMONITOR/SERVERQUERY20140703 10162744+0400 JPRR113 JavaAgent#tcpip@DSERIES113

JPRR113/#LOADBALANCINGCPUMONITOR/SERVERQUERY OBJTRIG DEFINE MonType(CPU) PollInterval(300) Continuous LowerBoundary(0) DropIfExists WOBRequestID(C7F33908372CD79A07C01C3E5AD2E515F698367214043969874890) SensorRestarted

Persistence for the Object monitors are kept in this database file.This is an example of the manager that sent a message to the Agent to have it monitor the CPU usage on the server and send a message back every 300 seconds (5 minutes).

Review an Agent Install on Windows x64

37

CA WA Workload Automation Release and Support Lifecycle Dates

http://www.ca.com/us/support/ca-support-online/product-content/status/support-life-cycle/indexes/ca-workload-automation-release-and-support-lifecycle-dates.aspx

38

Download the Agent from support.ca.com

11.3 SP4 went GA on September 30, 2014

39

Contents of DVD09133347E - 11.3 SP 4

This is the list of agents available in the “pool” based license

There are additional application integrations presently available and others being developedthat are not part of the “pool”

40

Default Directory

The following screens will show the contents in the agentparm.txt file based upon the answers during the install

41

Choose whether it is for AutoSys or not

42

AutoSys Compatibility Mode Installation Settings

## General characteristics#spooldir=C:/Program Files/CA/WA Agent R11.3.4 - AE/spoolrunnerplugin.spool.clean.enable=truerunnerplugin.spool.expire=7d

# Autosys Compatibility Modeagent.spool.success.autocleanup=trueagent.resourcemon.enable=trueoscomponent.joblog.success.autocleanup=true oscomponent.noexitcode=256oscomponent.cmdprefix.force=trueoscomponent.initialworkingdirectory=USER_CONT_NOT_AVAILoscomponent.cmdprefix.force.quotes.full=true

43

Is this an upgrade from an R7 agent?

44

Agentname

#

# Agent name#agentname=JPRR1134_all

## Communications#communication.inputport=7536

45

How many managers?

The agent can manage communication to many mangers concurrently

You need to specify at least one

Other managers can be added dynamically

46

Communication Manager

communication.managerid_1=DSERIES113communication.manageraddress_1=roojo02-w7communication.managerport_1=7507communication.monitorobject_1=JPRR1134_all/AGENTMON1.0/MAIN

47

Encryption Algorithm

## Security#security.filename=C:/Program Files/CA/WA Agent R11.3.4 -all/security.txtsecurity.level=onsecurity.cryptkey=C:/Program Files/CA/WA Agent R11.3.4 -all/cryptkey.txt

48

Contents of the crytkey.txt file

49

Keygen.exe Utility

CA Workload Automation AE and CA Workload Automation CA 7 Edition support only AES encryption. To determine which encryption types are supported, consult the documentation for your scheduling manager.

If you omit the 0x prefix, the keygen utility interprets the inputted value as a 16-character passphrase and not as a hexadecimal number. If you enter fewer than 16 characters, the keygenutility appends the passphrase with spaces for the missing number of characters. The keygenutility internally encodes the 16-character passphrase into a 32-character hexadecimal character AES encryption key.

50

Local Security

## Security#security.filename=C:/Program Files/CA/WA Agent R11.3.4 - all/security.txtsecurity.level=onsecurity.cryptkey=C:/Program Files/CA/WA Agent R11.3.4 - all/cryptkey.txt

51

Local Security

This security is above and beyond

os level securityc – for commands to the agentf – FTP commandsx – submit commandsa – allowd - denied

Default scheme disallows any job from running as root

x a * * +

x d * root +

c a * * *

f a * * +

Windows sample to disallow any

job from any manager as any user

from executing any executable in

the c:\Prod directory and any of

its subfolder(s)

52

Managed by SNMP Manager or not

# # What management connectors we want to start by the core Java agent#

management.connector_1=snmpmanagement.connector_2=jmx

53

Remote SNMP manager information

## SNMP Management connector specific settings#

management.snmp.agent.trapsink.host=localhostmanagement.snmp.agent.port=161

54

Configure the Agent to Connect with an SNMP Manager

## SNMP Management connector specific settings#

management.snmp.agent.trapsink.host=localhostmanagement.snmp.agent.port=161

55

JMX management

## JMX Management connector specific settings#

management.jmx.port=1099

56

Choose to enable the FTP plug-in

# What plugins we want to start by the core Java agentplugins.start_internal_1=runnerplugins.start_internal_2=routerplugins.start_internal_3=filemonplugins.start_internal_4=objmonplugins.start_internal_5=filebrowserplugins.start_internal_6=ftpplugins.start_internal_7=managementplugins.start_internal_8=snmp

57

Can enable the agent to act as an FTP server or not

58

Ftpusers.txt

## FTP specific#

ftp.serverport=2221

#ftp.client.ssl=false#ftp.client.ssl.truststore=C:/Program Files/CA/WA Agent R11.3.4 - all/cacerts#ftp.client.ssl.truststore.password=055A55EB863D2A5D

#ftp.server.ssl=false#ftp.server.ssl.keystore=C:/Program Files/CA/WA Agent R11.3.4 - all/serverkeystore#ftp.server.ssl.keystore.password=C8B98BFA6652520BC0

59

Ftpusrcfg.exe Utility

FTP Server has its own user

access list

– Does not use OS to authenticate users

Used to manage the userids and

passwords to be used to logon

the agent when acting as an ftp

server

60

SNMP job types – Subscribe and Send# What plugins we want to start by the core Java agentplugins.start_internal_1=runnerplugins.start_internal_2=routerplugins.start_internal_3=filemonplugins.start_internal_4=objmonplugins.start_internal_5=filebrowserplugins.start_internal_6=ftpplugins.start_internal_7=managementplugins.start_internal_8=snmp

## Management plugin specific#management.snmp.mibfile=C:/Program Files/CA/WA Agent R11.3.4 -all/cybermation.mibmanagement.snmp.host=localhost

61

SNMP Listener

## SNMP plugin specific settings#

snmp.trap.listener.port=162

62

Enable SSA or not

63

SSA Socket Path

64

Windows Service name

65

Time to install

66

All done!

Recommended changes/additions to the default

68

Best Practice Tip

Parameter changes should be kept common across all agents

Makes automated or silent installs easier to manage

Exceptions– Plug-ins

Example: You may not want to enable FTP plug-ins universally

Other functional plug-ins will need to be manually installed

69

Agentparm.txt default installation on Windows x64

## Agent settings for nt-x86-64#

## Log## log.archive settings:# 0 - archive with time extension# 1 - append ".archive.log"# 2 - delete previous log# 3 - keep writing to the same log filelog.level=5log.archive=1log.maxsize=1M#

70

Maintaining the Agent: Log Files

The Agent creates log files during normal processing which contain messages between Manager and Agent as well as internal messages

By default these files are not cleared automatically You can perform an automatic cleanup by configuring the

“log.archive” parameter in the agentparm.txt file– log.archive=<0|1|2|3>, where

0 — Append current date and time to the log file (default) 1 — Rename to logfile.archive and start a new file 2 — Remove current file 3 — No archive file (new log entries are appended to the current logs)

71

Agentparm.txt default installation on Windows x64## Agent name#agentname=JPRR1134

## Communications#communication.inputport=7535

communication.managerid_1=DSERIES113communication.manageraddress_1=roojo02-w7communication.managerport_1=7507communication.monitorobject_1=JPRR1134/AGENTMON1.0/MAIN

communication.managerid_2=CAESPcommunication.manageraddress_2=TSO21communication.managerport_2=7507communication.monitorobject_2=JPRR1134/AGENTMON.0/MAIN

When configuring multiple managers,

make sure you start with ”_1” and

continue sequentially!

Note for ESP users, make sure that the

Application name matches up to the ESP

Application used to monitor Agents

– communication.monitorobject_2=JPRR1134/AGENTMON.0/MAIN

72

Adding a communication Alias

By default an agent will only accept a message with its name in the AFM Conceptually, an alias can be thought of as an alternate name for the agent Enables agents to respond to AFM messages intended for their defined aliases

– i.e. Sample agentparm.txt

## Agent name#agentname=AGENT1communication.alias_1=Cluster1

Starting with the R6.1 agent, support for Agent Aliasing in clustered environments includes:– HACMP/6000 for IBM AIX– MC/ServiceGuard for HP-UX and Linux– VERITAX Cluster Service

73

Aliasing Setup – Agent Side

Agent aliases are configured in the agentparm.txt file with the following configuration setting:– communication.alias_N=<package name>

where: N represents the alias sequence number starting with 1 <package name> is an alias name for the agent

A physical agent must be installed on each physical node in the cluster, with a cluster-wide common alias.Example:– In a three node cluster, there will exist three physical agent installations, each having a unique name,

for example, AGENT1, AGENT2 and AGENT3.– Each physical agent may have a common alias name of Cluster1– JOB definitions use the common alias name – Cluster1

Each agent should have the same encryption key and port number It is recommended to have each Agent’s spooldir using the same directory on shared storage

– Rerunning of a job even if a different Agent is selected for the rerun will have the rerun stderr/stdoutappended to the original job’s execution spoolfile

74

Aliasing Setup – Manager Side

In addition to each physical agent, each “alias” should be defined as a real agent in the topology

Agent name should be the “alias” defined in agentparm.txt– Using the previous example, AGENT1, AGENT2, AGENT3, and Cluster1

will be defined as real agents in the topology.

Address of Cluster1 should be the Virtual IP address of the load balancer or cluster manager

This “alias” agent is the agent that should be used in JOB definition

75

Agent Alias

Agent Name: AGENT1Alias Name: Cluster1

Host: Server1IP Addr: 10.1.3.181

CA Workload Automation Scheduling Engine

Windows JobJob name:

Sample_jobAgent name: AGENT1

CA Workload Automation System Agents

AFM

Agent Name: AGENT2Alias Name: Cluster1

Host: Server2IP Addr: 10.1.3.182

Agent Name: AGENT3Alias Name: Cluster1

Host: Server3IP Addr: 10.1.3.183

Agent Name

IPAddress/DNS

AGENT1 Server1

AGENT2 Server2

AGENT3 Server3

CLUSTER1 10.1.3.180

The job can ONLY run on AGENT1, because the Agent

definition specifies that Agent explicitly

Load Balancer/Cluster Manager

Agent Name: CLUSTER1VIP Addr: 10.1.3.180

VIP SharedStorage

76

Agent Name: AGENT1Alias Name: Cluster1

Host: Server1IP Addr: 10.1.3.181

CA Workload Automation Scheduling Engine

Windows JobJob name:

Sample_jobAgent name: Cluster1

CA Workload Automation System Agents

AFMAgent Name: AGENT2Alias Name: Cluster1

Host: Server2IP Addr: 10.1.3.182

Agent Name: AGENT3Alias Name: Cluster1

Host: Server3IP Addr: 10.1.3.183

Agent Name

IPAddress/DNS

AGENT1 Server1

AGENT2 Server2

AGENT3 Server3

CLUSTER1 10.1.3.180

The decision on which agent runs the job is up to the Load Balancer/Cluster

Manager software

Load Balancer/Cluster Manager

Agent Name: CLUSTER1VIP Addr: 10.1.3.180

VIP SharedStorage

Agent Alias

77

Agentparm.txt default installation on Windows x64

## Initiators# There will be separate line for each pair of <class, number of initiators># initiators.class_N, where N is number running from 1 to ...# Class is user definable, (should be the same here and in AFM)# Soft shutdown mode waits for all jobs to be completed# initiators.class_1=Default,1000

Use this parameter to limit the number of jobs that can run on the Agent

Can be used to single thread different types of workload

78

Initiator setting to single thread some workload

## Initiators# There will be separate line for each pair of <class, number of initiators># initiators.class_N, where N is number running from 1 to ...# Class is user definable, (should be the same here and in AFM)# Soft shutdown mode waits for all jobs to be completed# initiators.class_1=Default,1000initiators.class_2=RUNDOT,1

initiators.afmjobclassmap_1=RUN,.,RUNDOT

Set the initiators.afmjobclassmap to

the combination shown in the

receiver.log and give it a specific

name (ex. RUNDOT)

Then set another initiators.class_x

parameter with the name in it and

the number of initiators you would

like it to have

79

Agentparm.txt default installation on Windows x64

## Core parameters#

core.health.monitor.enable=true

Set to true to enable logging of resource usage information to simple_health_monitor.log

80

Simple_health_monitor.log

81

Agentparm.txt default installation on Windows x64

## General characteristics#spooldir=C:/Program Files/CA/WA Agent R11.3.4/spool# Java parametersoscomponent.javapath=C:/Program Files/CA/WA Agent R11.3.4/jre/binoscomponent.jvm=server

If the spooldir is changed, ensure security access to the directory

82

Agent spooldir

The directory can be changed## General characteristics#spooldir=C:/Program Files/CA/WA Agent R11.3.4 - AE/spool

It is recommended to change

this value to a shared directory

when using a communication

alias in a clustered

environment

83

Maintaining the Agent: Spool Files

The Agent creates spool files during normal processing To change the default to have the files deleted automatically

– agent.spool.success.autocleanup=true

Perform a manual cleanup by running the following supplied scripts– clearspool (Windows)

Perform an automatic cleanup by configuring the “spool” parameters in the agentparm.txt file– runnerplugin.spool.clean.enable=true

– runnerplugin.spool.expire=5D

– runnerplugin.spool.sleep=36H

84

Agentparm.txt default installation on Windows x64

# What plugins we want to start by the core Java agentplugins.start_internal_1=runnerplugins.start_internal_2=routerplugins.start_internal_3=filemonplugins.start_internal_4=objmonplugins.start_internal_5=filebrowserplugins.start_internal_6=ftpplugins.start_internal_7=managementplugins.start_internal_8=snmp

85

Runner

Implements an ability to run binaries and scripts

Very platform specific

Consists of two parts– Java part needed to communicate with core

– OS component that performs job submission and tracking

OS component responsible for initializing the rest of the agent

86

Router

Garbage collection

Process MGRADDR commands– Update agentparm file with new manager address

Process ad hoc property change requests from Manager(user)

87

File Monitoring

File Monitoring is an ability to monitor for file system activity:

– Creation of files

– Deletion of files

– Existing / Non-existing

– Expansion of files

– Shrinkage of files

– Update of files

Every request is handled by separate thread Full state of previous scan is kept in memory

– Wildcard selects list of files and all those are monitored

OS specifics handled through JNI Possibility of recursive monitoring

88

File Monitoring – Continued…

In case of Continuous all files that match will trigger. That means there will be an AFM for each file

In case of non-continuous monitoring, first file in the list will trigger (Just one AFM)

The filemonplugin.sleepperiod defines “Sleep” period for scans in milliseconds – 30 seconds by default

89

Object Monitoring

Object Monitoring is an ability to monitor for object activity:– State of process– State of Windows service– Submit database queries– Monitor for CPU activity– Monitor for Disk activity– Monitor for Memory activity– Monitor for Windows Performance Counters– Monitor for a host to be up or down– Monitor for text file activity– Monitors for Windows Event Log

90

Object Monitoring – Continued…

State of process– Checks or waits for the process to become active or inactive

State of Windows Service– Checks or waits for a service to reach a desired state

Monitors for CPU activity– Reports total CPU utilization on the box

Monitors for Memory activity– Reports total memory utilization on the box

Monitors for Disk activity– Reports partition/file system load information on the system

91

Object Monitoring – Continued…

Monitors for Windows Performance Counters– Queries OS for an arbitrary performance counter value

Windows specific

– Application specific – MS SQL Server

Monitors for a particular host to be up/down– Pings the machine in question

– Checks whether a particular port is in LISTENING state

– Can return current status or wait for machine to go up or down

92

Object Monitoring – Continued…

Monitors for text file activity– Acts as sophisticated “grep” command

– Can set boundaries as:

Line numbers

Regular expressions

Time stamp

– Can monitor continuously

Monitors for Windows Event Log activity– Monitors given event log based on variety of criteria

93

Filebrowser

When defining a job, this plugin is used to browse the file directory of the Agent and return the contents to the user

Retrieve spoolfiles as requested by users and send to their user workstation

94

Management

Management plugin is responsible for sending SNMP traps

Sends traps when:– Agent starts/stops

– Agent has problems communicating with the manager

– Manager generated traps

95 © 2014 CA. ALL RIGHTS RESERVED.

SNMP Trap sent for Agent Started

96

SNMP Trap sent for Agent Stopped

97

Agentparm.txt default installation on Windows x64

# Jars classpathoscomponent.classpath=jars/*.jar;jars/ext/*

Jars/ext/ is the location where you will add any jar files when using a Jobtypelike pojo

98

Agentparm.txt default installation on Windows x64

## Management plugin specific#management.snmp.mibfile=C:/Program Files/CA/WA Agent R11.3.4 -all/cybermation.mibmanagement.snmp.host=localhost

Change to the SNMP manager host name

99

Agentparm.txt default installation on Windows x64

## FTP specific#

ftp.serverport=2221

#ftp.client.ssl=false#ftp.client.ssl.truststore=C:/Program Files/CA/WA Agent R11.3.4 - all/cacerts#ftp.client.ssl.truststore.password=055A55EB863D2A5D

#ftp.server.ssl=false#ftp.server.ssl.keystore=C:/Program Files/CA/WA Agent R11.3.4 - all/serverkeystore#ftp.server.ssl.keystore.password=C8B98BFA6652520BC0

Other useful settings:ftp.proxyHost=10.100.101.50ftp.proxyPassword.encr=F12345660CA17ftp.proxyPort=90ftp.proxyUser=username

100

Agentparm.txt default installation on Windows x64

## SNMP plugin specific settings#

snmp.trap.listener.port=162

101

Agentparm.txt default installation on Windows x64

# # What management connectors we want to start by the core Java agent#

management.connector_1=snmpmanagement.connector_2=jmx

102

Agentparm.txt default installation on Windows x64

## JMX Management connector specific settings#

management.jmx.port=1099

103

Agentparm.txt default installation on Windows x64

## SNMP Management connector specific settings#

management.snmp.agent.trapsink.host=localhostmanagement.snmp.agent.port=161

104

Agentparm.txt default installation on Windows x64

## Windows Service name#oscomponent.servicename=CA Workload Automation Agent 11.3.4oscomponent.servicedisplayname=CA Workload Automation Agent 11.3.4

105

Agentparm.txt default installation on Windows x64

# Windows Settingsoscomponent.lookupcommand=falseoscomponent.joblog=true

to automatically look in Windows/system32 for executables

You may want to set oscomponent.joblog=false or add oscomponent.joblog.success.autocleanup=true

106

Oscomponent.lookupcommand

Execute the Windows command ipconfig

Commands fails because the file cannot be found

107

Set lookupcommand to True

Execute the Windows command ipconfig after setting oscomponent.lookupcommand=true

Command is found

108

Agentparm.txt default installation on Windows x64

#

# Installer setting. Do not modify the setting below#installer.version=R11.3.4

Do not modify

109

oscomponent.initialworkingdirectory

Specifies the default initial working directory for all scripts. Options are as follows: SCRIPT

Sets the path to where the script resides. USER

Sets the path to the home directory of the owner of the script. USER_CONT_NOT_AVAIL

Specifies that the script should run even if a home directory for the user is not defined. path

Specifies the path to the directory in which the script should run.

Notes: On CA Workload Automation AE, set this parameter to USER_CONT_NOT_AVAIL for backward

compatibility with legacy agents. If you do not specify a value, the parameter defaults to the path where the running cybAgent

resides. You can override the initial working directory on a per-job basis by specifying a value for

the PWD or HOME environment variable.

110

Force the Default Shell for UNIX Jobs

The shell the agent uses to run a UNIX script is determined by the following settings in the order listed: The shell that is specified in the job definition. The first line of the script the job runs. The oscomponent.defaultshell parameter in the agentparm.txt file for

the agent. The user default shell that is defined in the user profile.

You can force the agent to use the default shell that is specified in the oscomponent.defaultshell parameter in the agentparm.txt file oscomponent.defaultshell.force=true oscomponent.defaultshell =/bin/sh

111

Configure the Agent to Monitor Available Disk Space

You can configure the agent to monitor the amount of available disk space for the database directory and send notifications to warn you when the space is too low. The agent has three disk space warning thresholds:

– Notice—The agent sends a warning notice when the disk space reaches this level but continues to run.

– Severe—The agent sends a severe warning and stops accepting new automated framework messages (AFMs).

– Critical—The agent logs a critical warning and shuts down.

The agent logs the severe and critical warning messages in the runner_os_component.log and nohup.stderr logs. To configure the agent to monitor available disk space

agent.resourcemon.enable=true Note: By default this parameter is set to false.

112

Configure the Agent to Monitor Available Disk Space

Set one or more of the following parameters: agent.resourcemon.threshold.disk.warning.noticeSpecifies the amount of disk space required before the agent sends an SNMP trap. The agent continues to run after it sends the trap. This parameter uses the following syntax: size[B|K|M|G] size Specifies the amount of disk space in bytes (B), kilobytes (K), megabytes (M), or gigabytes(G). Default: 21M

agent.resourcemon.threshold.disk.warning.severeSpecifies the amount of disk space required before the agent sends an SNMP trap and stops accepting new automated framework messages (AFMs). This parameter uses the following syntax: size[B|K|M|G] size

Agent Troubleshooting

114

Start with the wiki

115

Troubleshooting Agents

Agents present a unique set of challenges– Initial configuration (Addresses, ports, encryption keys)

– Communication across the network

– Different operating systems/platforms

– Different security systems

– Different support people

116

What is the agent version?

Cybagent -v

----------------------------------------------------------------Output of messages for workload object LIST_AGENT_VERSION.JPRR113/AGENTPARM_LIST.4/MAINStart date Fri Oct 17 15:26:08 2014----------------------------------------------------------------CA Workload Automation Agent

for Microsoft Windows 64-bitVersion R11.3, Service Pack 2, Maintenance Level 1, Build

525

Enabled plug-in(s):- runner- router- filemon- objmon- filebrowser- ftp- database- dataservices- appservices- webservice- SNMP

117

What is the contents of agentparm.txt?

cmd: C:\Windows\SYSTEM32\CMD.EXE

arg: /C "more "%ESPAGENTDIR%"\agentparm.txt"

----------------------------------------------------------------Output of messages for workload object LIST_AGENT_VERSION.JPRR113/AGENTPARM_LIST.4/MAINStart date Fri Oct 17 15:26:08 2014----------------------------------------------------------------CA Workload Automation Agent

for Microsoft Windows 64-bitVersion R11.3, Service Pack 2, Maintenance Level 1, Build

525

Enabled plug-in(s):- runner- router- filemon- objmon- filebrowser- ftp- database- dataservices- appservices- webservice- SNMP

118

Use Windows findstr command to find specific strings

Rough equivalent of grep shipped with Windows– http://technet.microsoft.com/en-us/library/bb490907.aspx

Easier than opening each file in notepad.exe

findstr /r /s "SAMPLE_JOB" *.logfindstr /r /s " 10165481" *.logfindstr /r /s /i "WINDOWS_JOB3" *.log

119

Windows findstr command continued

Extract all lines ending with the word initialized in to a new file called thisfile.txt– findstr /r /s “ initialized$” *.log > thisfile.txt

Extract all lines with timestamp between 17:20 and 17:29– findstr /r /s “ 17:2[0123456789]:” *.log

Extract all lines containing TCPIP but ignore case– findstr /r /s /i “tcpip” *.log

Say, what is all of this /r, /s and /i stuff– /r the search expression (in the “”) is a regular expression– /s search the named (or current) directory and its subtrees– /i specifies that the search isn’t to be case sensitive

120

Windows findstr command continued

Character Value

. Wildcard: any character

* Repeat: zero or more occurences of previous character or class

^ Line beginning

$ Line end

[class] Character class: any one character in set

[x-y] Range: any character in the specified range

……… See the MS doc for the rest

Regular expressions are similar to those used in TEXT_MON objects

121

findstr /r /s " 10165481" *.log

C:\Program Files\CA\WA Agent R11.3.4\log>findstr /r /s " 10165481" *.logcybcontrollerpluginmanager.log:10/13/2014 10:16:54.839 EDT-0400 5 TCP/IP Controller Plugin.Receiver pool thread <Regular:1>.CybControllerPluginManager.sendMessageToAgent[:324] - tcpip attepmpts to send a message: 20141013 10165481+0400 JPRR1134 DSERIES113 WINDOWS_JOB2/SIMPLE.460/MAIN RUN . Data(Args="0",Command=SetExitC) TargetSubsystem(WIN) MFUser(JPR)internal_plugin_queue_for_runner.log:10/13/2014 10:16:56.658 EDT-0400 3 Core Mailbox.inbound.CybObjectQueue.put[:291] - put 20141013 10165481+0400 JPRR1134 JavaAgent#tcpip@DSERIES113 WINDOWS_JOB2/SIMPLE.460/MAIN RUN . Data(Args="0",Command=SetExitC) TargetSubsystem(WIN) MFUser(JPR) WOBRequestID(7F28ABC67D0971CEA383B14DD51943E41194B7ED14132098165750)internal_plugin_queue_for_runner.log:10/13/2014 10:16:56.678 EDT-0400 3 RunnerPlugin.runner Internal Thread.CybObjectQueue.get[:175] - get 20141013 10165481+0400 JPRR1134 JavaAgent#tcpip@DSERIES113 WINDOWS_JOB2/SIMPLE.460/MAIN RUN . Data(Args="0",Command=SetExitC) TargetSubsystem(WIN) MFUser(JPR) WOBRequestID(7F28ABC67D0971CEA383B14DD51943E41194B7ED14132098165750)queue_inbox.log:10/13/2014 10:16:56.607 EDT-0400 3 TCP/IP Controller Plugin.Receiver pool thread <Regular:1>.CybObjectQueue.put[:291] - put 20141013 10165481+0400 JPRR1134 tcpip@DSERIES113 WINDOWS_JOB2/SIMPLE.460/MAIN RUN . Data(Args="0",Command=SetExitC) TargetSubsystem(WIN) MFUser(JPR) WOBRequestID(7F28ABC67D0971CEA383B14DD51943E41194B7ED14132098165750)queue_inbox.log:10/13/2014 10:16:56.646 EDT-0400 3 Core Mailbox.inbound.CybObjectQueue.get[:175] - get 20141013 10165481+0400 JPRR1134 tcpip@DSERIES113 WINDOWS_JOB2/SIMPLE.460/MAIN RUN . Data(Args="0",Command=SetExitC) TargetSubsystem(WIN) MFUser(JPR) WOBRequestID(7F28ABC67D0971CEA383B14DD51943E41194B7ED14132098165750)receiver.log:10/13/2014 10:16:54.836 EDT-0400 5 TCP/IP Controller Plugin.Receiver pool thread <Regular:1>.CybReceiverSession.accept[:269] - Message accepted: 20141013 10165481+0400 JPRR1134 DSERIES113 WINDOWS_JOB2/SIMPLE.460/MAIN RUN . Data(Args="0",Command=SetExitC) TargetSubsystem(WIN) MFUser(JPR)

receiver.log:10/13/2014 10:16:56.614 EDT-0400 2 TCP/IP Controller Plugin.Receiver pool thread <Regular:1>.CybReceiverSession.accept[:276] - Message received: 20141013 10165481+0400 JPRR1134 DSERIES113 WINDOWS_JOB2/SIMPLE.460/MAIN RUN . Data(Args="0",Command=SetExitC) TargetSubsystem(WIN) MFUser(JPR)

122

Agent unable to connect to the Manager10/13/2014 11:14:24.259 EDT-0400 2 main.MainThread.CybTransmitterScheduler.<init>[:130] - Creating the processor pools[2]10/13/2014 11:14:24.262 EDT-0400 2 main.MainThread.CybTransmitterScheduler.<init>[:147] - Maximum sending errors before delay - 310/13/2014 11:14:24.264 EDT-0400 2 main.MainThread.CybTransmitterScheduler.<init>[:148] - Delay time after maximum errors limit reached - 120000ms.

10/13/2014 11:14:24.669 EDT-0400 5 TCP/IP Controller Plugin.Transmitter pool thread <Regular:1>.CybTargetHandlerChannel.call[:687] - Attempting to send: 20141013 11142428+0400 DSERIES113 JPRR1134 JPRR1134/AGENTMON1.0/MAIN CONTROL ACTIVE OSText(Windows 7 for amd64) ByUser(ROOJO02-W7$) AgentRelease(R11.3) AgentBuild(717, Service Pack 4, Maintenance Level 0) User(JPRR1134) Host(ROOJO02-W7)10/13/2014 11:14:24.672 EDT-0400 5 TCP/IP Controller Plugin.Transmitter pool thread <Regular:1>.CybTargetHandlerChannelLogHelper.logConnectionAttempt[:75] - Attempting to open conversation to DSERIES113@dummy:7507 using plain socket10/13/2014 11:14:34.721 EDT-0400 1 TCP/IP Controller Plugin.Transmitter pool thread <Regular:1>.CybTargetHandlerChannel.constructConversation[:1190] - cybermation.library.communications.CybConversationException: connect timed out

at cybermation.library.communications.CybConversation.<init>(CybConversation.java:256)at cybermation.library.communications.CybConversation.<init>(CybConversation.java:153)at cybermation.commplugins.tcpip.handler.CybTargetHandlerChannel.constructConversation(CybTargetHandlerChannel.java:1095)at cybermation.commplugins.tcpip.handler.CybTargetHandlerChannel.call(CybTargetHandlerChannel.java:698)at cybermation.commplugins.tcpip.handler.CybTargetHandlerChannel.call(CybTargetHandlerChannel.java:73)at cybermation.commplugins.tcpip.handler.CybTransmitterScheduler$CallableWrapper.call(CybTransmitterScheduler$CallableWrapper.java:396)at cybermation.commplugins.tcpip.handler.CybTransmitterScheduler$CallableWrapper.call(CybTransmitterScheduler$CallableWrapper.java:360)at java.util.concurrent.FutureTask.run(Unknown Source)at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)at java.lang.Thread.run(Unknown Source)

Caused by: java.net.SocketTimeoutException: connect timed outat java.net.DualStackPlainSocketImpl.waitForConnect(Unknown Source)at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)at java.net.AbstractPlainSocketImpl.connect(Unknown Source)at java.net.PlainSocketImpl.connect(Unknown Source)at java.net.SocksSocketImpl.connect(Unknown Source)at java.net.Socket.connect(Unknown Source)at cybermation.library.communications.CybConversation.constructConnectingSocket(CybConversation.java:308)at cybermation.library.communications.CybConversation.<init>(CybConversation.java:181)at cybermation.library.communications.CybConversation.<init>(CybConversation.java:153)at cybermation.commplugins.tcpip.handler.CybTargetHandlerChannel.constructConversation(CybTargetHandlerChannel.java:1095)at cybermation.commplugins.tcpip.handler.CybTargetHandlerChannel.call(CybTargetHandlerChannel.java:698)at cybermation.commplugins.tcpip.handler.CybTargetHandlerChannel.call(CybTargetHandlerChannel.java:73)at cybermation.commplugins.tcpip.handler.CybTransmitterScheduler$CallableWrapper.call(CybTransmitterScheduler$CallableWrapper.java:396)at cybermation.commplugins.tcpip.handler.CybTransmitterScheduler$CallableWrapper.call(CybTransmitterScheduler$CallableWrapper.java:360)at java.util.concurrent.FutureTask.run(Unknown Source)at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)at java.lang.Thread.run(Unknown Source)

10/13/2014 11:14:34.725 EDT-0400 1 TCP/IP Controller Plugin.Transmitter pool thread <Regular:1>.CybTargetHandlerChannel.processErrors[:624] - The limit of 3 consecutive errors for DSERIES113 has been reached, sleep -12000010/13/2014 11:16:34.733 EDT-0400 5 TCP/IP Controller Plugin.Transmitter pool thread <Slow:1>.CybTargetHandlerChannel.call[:687] - Attempting to send: 20141013 11142428+0400 DSERIES113 JPRR1134 JPRR1134/AGENTMON1.0/MAIN CONTROL ACTIVE OSText(Windows 7 for amd64) ByUser(ROOJO02-W7$) AgentRelease(R11.3) AgentBuild(717, Service Pack 4, Maintenance Level 0) User(JPRR1134) Host(ROOJO02-W7)

123

The Agent can automatically add the Manager communication as well as update the Manager Address

The Agent settings in the Manager allow for two settings to be sent to the Agent:1. False – the Agent will make in incore change and will not remember over restarts2. True – The Agent will update its incore settings as well as make agentparm.txt change

Note: still subject to any time left in the timeout value specified in:communication.transmitter.senderrordelay

Receiver.log

Log Started Mon Oct 13 11:30:00 EDT 2014 with level 5-----------------------------------------------------10/13/2014 11:30:00.339 EDT-0400 2 main.MainThread.CybReceiverScheduler.<init>[:105] - Creating the processor pools[2]10/13/2014 11:30:27.064 EDT-0400 2 TCP/IP Controller Plugin.Receiver pool thread <Regular:1>.CybReceiverChannel.receive[:157] - Conversation from 127.0.0.1:55796 to 127.0.0.1:7535 arrived10/13/2014 11:30:27.068 EDT-0400 2 TCP/IP Controller Plugin.Receiver pool thread <Regular:1>.CybReceiverChannel.receive[:252] - Exiting conversation10/13/2014 11:30:28.011 EDT-0400 2 TCP/IP Controller Plugin.Receiver pool thread <Regular:2>.CybReceiverChannel.receive[:157] - Conversation from 127.0.0.1:55797 to 127.0.0.1:7535 arrived

10/13/2014 11:30:28.049 EDT-0400 5 TCP/IP Controller Plugin.Receiver pool thread <Regular:2>.CybReceiverSession.accept[:269] - Message accepted: 20141013 11302800+0400 JPRR1134 DSERIES113 1413214.228000/DSERIES113.1/MAIN Control Mgraddr Address(roojo02-w7) Port(7507) User(DSERIES113) Persistent(TRUE)10/13/2014 11:30:30.090 EDT-0400 2 TCP/IP Controller Plugin.Receiver pool thread <Regular:2>.CybReceiverSession.accept[:276] - Message received: 20141013 11302800+0400 JPRR1134 DSERIES113 1413214.228000/DSERIES113.1/MAIN Control Mgraddr Address(roojo02-w7) Port(7507) User(DSERIES113) Persistent(TRUE)10/13/2014 11:30:32.112 EDT-0400 2 TCP/IP Controller Plugin.Receiver pool thread <Regular:2>.CybReceiverChannel.receive[:252] - Exiting conversation

124

Manager unable to connect to Agent

Hi John

Quick question for you

The other day I had an esp agent installed on my laptop to try and test some file triggering, but the agent keeps on going down, is there anything obvious you can see wrong with the setup?

The agent stays active (and can always be communicated with from our mvs devsystem), but it keeps on dropping on d:series. We have tried changing the frequency and attempts of the heartbeats but it keeps on dropping after a couple of minutes until I restart the agent

The agent stays active about 1 min in d:series but is really still active on my laptop as I can test from MVS successfully

125

Some troubleshooting

Transmitter.log has a successfully sent message to the Manager:10/07/2014 07:07:20.763 EDT-0400 5 TCP/IP Controller Plugin.Transmitter pool thread <Regular:1>.CybTargetHandlerChannelLogHelper.logConnectionAttempt[:75] - Attempting to open conversation to DS_SL@ESP:6666 using plain socket10/07/2014 07:07:20.779 EDT-0400 5 TCP/IP Controller Plugin.Transmitter pool thread <Regular:1>.CybTargetHandlerChannelLogHelper.logConnectionInfo[:109] - Opened conversation toDS_SL@ESP:6666 with partner at 10.10.10.10:6666 with timeout of 10000 from 10.10.10.12:6553310/07/2014 07:07:20.857 EDT-0400 2 TCP/IP Controller Plugin.Transmitter pool thread <Regular:1>.CybTargetHandlerChannel.call[:695] - Message has been sent: 20141007 07072046+0400 DS_SL XX111 XX111/AGENTMON2.0/MAIN CONTROL ACTIVE OSText(Windows 7 for amd64) ByUser(WW730L09743A$) AgentRelease(R11.3) AgentBuild(508, Service Pack 2, Maintenance Level 0) User(XX111) Host(XX111)10/07/2014 07:07:20.857 EDT-0400 5 TCP/IP Controller Plugin.Transmitter pool thread <Regular:1>.CybTargetHandlerChannelLogHelper.logConnectionClose[:133] - Conversation with DS_SL closed

Receiver.log has no message entry from the Manager DS_SL.

126

Manager unable to connect to Agent - resolution

We opened an incident with our firewall people and it looks like they need to grant

me admin access to a corporate user space, they are performing the firewall push

next wed 10/22 so will let you know if it works after that.

Hi John

That was the issue, they opened the port last night and now my agent is active (and staying active) and I can test.

Thx for all your help

Lesson: Don’t assume just because you can connect one way that the network is fine!

127

Setup Errors

Common error:– Job stays in “Ready” status

Potential cause:– Port does not match between Manager and Agent– Encryption key does not match between Manager and Agent

Resolution:– Verify connection information in agentparm.txt file and AGENTDEF file match– Verify encryption key is the same on both sides– After correcting, Recycle the Agent

128

Startup Errors

Common error:– Agent will not start up

Potential cause:– Port is in use by another application

Resolution:– Look in the runner_os_component.log

During AFM processing, any errors are logged here

– Use NETSTAT command to check port status

– Modify port number and recycle the Agent

129

Startup error – Check defaultlog_agent.log Look for the previous message for a bind failure. It will tell you which port

to change in the agetnparm.txt file The usual suspects are the receiver port, FTP port and SNMP port

Log Started Mon Oct 13 12:25:50 EDT 2014 with level 5-----------------------------------------------------10/13/2014 12:25:50.060 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:208] - CA Workload Automation Agent, Build 717, Service Pack 4, Maintenance Level 0 starting10/13/2014 12:25:51.082 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:233] - Security manager is about to be initialized10/13/2014 12:25:51.089 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:248] - Main queues are about to be created10/13/2014 12:25:51.098 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:257] - Connectivity framework is about to be initialized10/13/2014 12:25:51.193 EDT-0400 3 main.MainThread.CybTcpipControllerPlugin.initialize[:274] -Receiver/Transmitter initializing...10/13/2014 12:25:51.606 EDT-0400 2 main.MainThread.CybTcpipControllerPlugin.initialize[:301] - Receiver starting on port 753510/13/2014 12:25:51.627 EDT-0400 1 main.MainThread.CybTcpipControllerPlugin.initialize[:312] -cybermation.library.communications.CybConversationException: Address already in use: JVM_Bind

130

Startup error – Check defaultlog_agent.log-----------------------------------------------------10/13/2014 12:33:39.276 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:208] - CA Workload Automation Agent, Build 717, Service Pack 4, Maintenance Level 0 starting10/13/2014 12:33:40.317 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:233] - Security manager is about to be initialized10/13/2014 12:33:40.324 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:248] - Main queues are about to be created10/13/2014 12:33:40.335 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:257] - Connectivity framework is about to be initialized10/13/2014 12:33:40.433 EDT-0400 3 main.MainThread.CybTcpipControllerPlugin.initialize[:274] - Receiver/Transmitter initializing...10/13/2014 12:33:40.848 EDT-0400 2 main.MainThread.CybTcpipControllerPlugin.initialize[:301] - Receiver starting on port 753610/13/2014 12:33:40.945 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:272] - CybControlSetPropertyHandler is about to be initialized10/13/2014 12:33:40.957 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:275] - CybControlRefresh is about to be initialized10/13/2014 12:33:40.963 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:282] - InitiatorManager is about to be initialized10/13/2014 12:33:40.982 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:289] - NOP handler is about to be initialized10/13/2014 12:33:40.989 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:292] - Clear log files handler is about to be initialized10/13/2014 12:33:40.996 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:296] - Heart beat handler is about to be initialized10/13/2014 12:33:41.009 EDT-0400 5 main.MainThread.CybFilemonPluginDriver.<clinit>[:207] - filefilter native library successfully loaded10/13/2014 12:33:41.058 EDT-0400 5 main.MainThread.CybRunnerPluginDriver.runApplication[:73] - CybRunnerPluginDriver Build 717, Service Pack 4, Maintenance Level 0 starting10/13/2014 12:33:41.100 EDT-0400 5 main.MainThread.CybRunnerPluginDriver.runApplication[:100] - RMI connectivity framework is about to be initialized10/13/2014 12:33:41.103 EDT-0400 5 main.MainThread.CybRunnerPluginDriver.runApplication[:107] - Listener is about to initialize10/13/2014 12:33:41.124 EDT-0400 5 main.MainThread.CybRouterPluginDriver.runApplication[:68] - CybRouterPluginDriver starting10/13/2014 12:33:41.158 EDT-0400 5 main.MainThread.CybRouterPluginDriver.runApplication[:77] - RMI connectivity framework is about to be initialized10/13/2014 12:33:41.169 EDT-0400 5 main.MainThread.CybFilemonPluginDriver.runApplication[:76] - CybFilemonPluginDriver Build 717, Service Pack 4, Maintenance Level 0 starting10/13/2014 12:33:41.206 EDT-0400 5 main.MainThread.CybFilemonPluginDriver.runApplication[:96] - Previous jobs are about to be recovered10/13/2014 12:33:41.210 EDT-0400 5 main.MainThread.CybFilemonPluginDriver.runApplication[:103] - RMI connectivity framework is about to be initialized10/13/2014 12:33:41.212 EDT-0400 5 main.MainThread.CybFilemonPluginDriver.runApplication[:110] - Plugin started10/13/2014 12:33:41.222 EDT-0400 5 main.MainThread.CybObjmonPluginDriver.runApplication[:71] - CybObjmonPluginDriver Build 717, Service Pack 4, Maintenance Level 0 starting10/13/2014 12:33:41.255 EDT-0400 5 main.MainThread.CybObjMonAdapterGeneralFactory.<init>[:113] - The objmon OS is: "windows"10/13/2014 12:33:41.259 EDT-0400 5 main.MainThread.CybObjmonPluginDriver.runApplication[:87] - RMI connectivity framework is about to be initialized10/13/2014 12:33:41.262 EDT-0400 5 main.MainThread.CybObjmonPluginDriver.runApplication[:94] - Previous jobs are about to be recovered10/13/2014 12:33:41.265 EDT-0400 5 main.MainThread.CybObjmonPluginDriver.runApplication[:101] - Plugin started10/13/2014 12:33:41.275 EDT-0400 5 main.MainThread.CybFilebrowserPluginDriver.runApplication[:70] - CybFilebrowserPluginDriver Build 717, Service Pack 4, Maintenance Level 0 starting10/13/2014 12:33:41.304 EDT-0400 5 main.MainThread.CybFilebrowserPluginDriver.runApplication[:85] - RMI connectivity framework is about to be initialized10/13/2014 12:33:41.315 EDT-0400 5 main.MainThread.CybFtpPluginDriver.runApplication[:74] - CybFtpPluginDriver Build 717, Service Pack 4, Maintenance Level 0 starting10/13/2014 12:33:41.349 EDT-0400 5 main.MainThread.CybFtpPluginDriver.runApplication[:86] - RMI connectivity framework is about to be initialized

10/13/2014 12:33:41.354 EDT-0400 1 main.MainThread.CybFtpPluginDriver.runApplication[:132] - CybFtpPluginDriver terminated:

cybermation.library.communications.CybConversationException: Address already in use: JVM_Bind

131

Startup error – Check defaultlog_agent.logLog Started Mon Oct 13 12:21:02 EDT 2014 with level 5-----------------------------------------------------10/13/2014 12:21:02.871 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:208] - CA Workload Automation Agent, Build 717, Service Pack 4, Maintenance Level 0 starting10/13/2014 12:21:04.405 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:233] - Security manager is about to be initialized10/13/2014 12:21:04.414 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:248] - Main queues are about to be created10/13/2014 12:21:04.423 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:257] - Connectivity framework is about to be initialized10/13/2014 12:21:04.593 EDT-0400 3 main.MainThread.CybTcpipControllerPlugin.initialize[:274] - Receiver/Transmitter initializing...10/13/2014 12:21:05.066 EDT-0400 2 main.MainThread.CybTcpipControllerPlugin.initialize[:301] - Receiver starting on port 753610/13/2014 12:21:05.174 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:272] - CybControlSetPropertyHandler is about to be initialized10/13/2014 12:21:05.189 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:275] - CybControlRefresh is about to be initialized10/13/2014 12:21:05.197 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:282] - InitiatorManager is about to be initialized10/13/2014 12:21:05.217 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:289] - NOP handler is about to be initialized10/13/2014 12:21:05.224 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:292] - Clear log files handler is about to be initialized10/13/2014 12:21:05.232 EDT-0400 2 main.MainThread.CybAgentDriver.runApplication[:296] - Heart beat handler is about to be initialized10/13/2014 12:21:05.259 EDT-0400 5 main.MainThread.CybFilemonPluginDriver.<clinit>[:207] - filefilter native library successfully loaded10/13/2014 12:21:05.321 EDT-0400 5 main.MainThread.CybRunnerPluginDriver.runApplication[:73] - CybRunnerPluginDriver Build 717, Service Pack 4, Maintenance Level 0 starting10/13/2014 12:21:05.352 EDT-0400 5 main.MainThread.CybRunnerPluginDriver.runApplication[:100] - RMI connectivity framework is about to be initialized10/13/2014 12:21:05.354 EDT-0400 5 main.MainThread.CybRunnerPluginDriver.runApplication[:107] - Listener is about to initialize10/13/2014 12:21:05.371 EDT-0400 5 main.MainThread.CybRouterPluginDriver.runApplication[:68] - CybRouterPluginDriver starting10/13/2014 12:21:05.390 EDT-0400 5 main.MainThread.CybRouterPluginDriver.runApplication[:77] - RMI connectivity framework is about to be initialized10/13/2014 12:21:05.401 EDT-0400 5 main.MainThread.CybFilemonPluginDriver.runApplication[:76] - CybFilemonPluginDriver Build 717, Service Pack 4, Maintenance Level 0 starting10/13/2014 12:21:05.431 EDT-0400 5 main.MainThread.CybFilemonPluginDriver.runApplication[:96] - Previous jobs are about to be recovered10/13/2014 12:21:05.434 EDT-0400 5 main.MainThread.CybFilemonPluginDriver.runApplication[:103] - RMI connectivity framework is about to be initialized10/13/2014 12:21:05.437 EDT-0400 5 main.MainThread.CybFilemonPluginDriver.runApplication[:110] - Plugin started10/13/2014 12:21:05.446 EDT-0400 5 main.MainThread.CybObjmonPluginDriver.runApplication[:71] - CybObjmonPluginDriver Build 717, Service Pack 4, Maintenance Level 0 starting10/13/2014 12:21:05.469 EDT-0400 5 main.MainThread.CybObjMonAdapterGeneralFactory.<init>[:113] - The objmon OS is: "windows"10/13/2014 12:21:05.473 EDT-0400 5 main.MainThread.CybObjmonPluginDriver.runApplication[:87] - RMI connectivity framework is about to be initialized10/13/2014 12:21:05.476 EDT-0400 5 main.MainThread.CybObjmonPluginDriver.runApplication[:94] - Previous jobs are about to be recovered10/13/2014 12:21:05.479 EDT-0400 5 main.MainThread.CybObjmonPluginDriver.runApplication[:101] - Plugin started10/13/2014 12:21:05.488 EDT-0400 5 main.MainThread.CybFilebrowserPluginDriver.runApplication[:70] - CybFilebrowserPluginDriver Build 717, Service Pack 4, Maintenance Level 0 starting10/13/2014 12:21:05.507 EDT-0400 5 main.MainThread.CybFilebrowserPluginDriver.runApplication[:85] - RMI connectivity framework is about to be initialized10/13/2014 12:21:05.516 EDT-0400 5 main.MainThread.CybFtpPluginDriver.runApplication[:74] - CybFtpPluginDriver Build 717, Service Pack 4, Maintenance Level 0 starting10/13/2014 12:21:05.540 EDT-0400 5 main.MainThread.CybFtpPluginDriver.runApplication[:86] - RMI connectivity framework is about to be initialized10/13/2014 12:21:05.555 EDT-0400 5 main.MainThread.CybManagementPluginDriver.runApplication[:82] - CybManagementPluginDriver Build 717, Service Pack 4, Maintenance Level 0 starting10/13/2014 12:21:05.678 EDT-0400 5 main.MainThread.CybManagementPluginDriver.runApplication[:98] - RMI connectivity framework is about to be initialized10/13/2014 12:21:05.700 EDT-0400 5 main.MainThread.CybSnmpPluginDriver.runApplication[:76] - CybSnmpPluginDriver Build 717, Service Pack 4, Maintenance Level 0 starting

10/13/2014 12:21:06.073 EDT-0400 1 main.MainThread.CybSnmpPluginDriver.runApplication[:139] - CybSnmpPluginDriver terminated:

java.net.BindException: Address already in use: Cannot bind

132

Startup Errors

Use NETSTAT command to check status of port(s)– D:\>netstat –a –b

-a Displays all connections and listening ports.-b Displays the executable involved in creating each connection

133

Execution Errors

Common error:1. “File not found” message2. “Command file not found” message3. “Irregular file” message

Potential cause:1. Path name is incorrect2. CMDNAME not specified on job definition3. File is not an executable

Resolution:– Look in the transmitter.log for error messages and correct

134

Execution Errors

Mon May 20 17:01:54 EDT 2009: CybTransmitter - Message has been sent: 20090520

17015463+0400 LPARB V5UNIX V5SUNERR/V5SUNERR.1/MAIN State SUBERROR Failed

SetEnd Status(File not found) Cmpc(4001) User(V5UNIX) Host(dragon-rd)

Mon May 20 17:05:17 EDT 2009: CybTransmitter - Processing the queue for: LPARB

Mon May 20 17:05:17 EDT 2009: CybTransmitter - Attempting to send: 20090520

17051764+0400 LPARB V5UNIX

Mon May 20 17:15:26 EDT 2009: CybTransmitter - Processing the queue for: LPARB

Mon May 20 17:15:26 EDT 2009: CybTransmitter - Attempting to send: 20090520

17152634+0400 LPARB V5UNIX

V5SUNER1/V5SUNER1.1/MAIN State SUBERROR Failed SetEnd Status(Irregular file)

Cmpc(4017) User(V5UNIX) Host(dragon-rd)

Verify Path

Verify File Type

135

Execution Errors – Transmitter.log

10/28/2014 20:45:30.667 EDT-0400 5 TCP/IP Controller Plugin.Transmitter pool thread

<Regular:1>.CybTargetHandlerChannelLogHelper.logConnectionInfo[:109] - Opened conversation to DSERIES113@roojo02-w7:7507

with partner at 10.132.20.92:7507 with timeout of 10000 from 10.132.20.92:51234

10/28/2014 20:45:30.710 EDT-0400 2 TCP/IP Controller Plugin.Transmitter pool thread

<Regular:1>.CybTargetHandlerChannel.call[:721] - Message has been sent: 20141028 20453063+0400 DSERIES113 JPRR1134

SLEEP_JOB/BAD_COMMAND_FILE.1/MAIN State SUBERROR Failed SetEnd Status("Command file not found") Cmpc(20007)

JobLogId(A9785D3A2C450B82D0EE245EE586C3B5B2A0FA57) User(JPRR1134) Host(ROOJO02-W7)

10/28/2014 20:45:30.715 EDT-0400 5 TCP/IP Controller Plugin.Transmitter pool thread

<Regular:1>.CybTargetHandlerChannelLogHelper.logConnectionClose[:133] - Conversation with DSERIES113 closed

Verify CMDNAME

136

Security Errors for plugins

Common error:– Some type of “User not authorized”

message

Potential cause and resolution:– If the job definition has a “user”

parameter, then you need to define the userid/password pair using the Manager’s security process

– You may also be able to limit the use of the userid/pair to a specific agent only

– Userid and Password is case sensitive

137

CAWA System Agent Dataflow

See Troubleshooting in

WA_Agent_for_UNIX_Linux_Window

s_Impl_r11_3_SP4_ENU

grep or findstr AFMs out of logs for

Wob in question

grep or findstr AFMs out of logs for

Wob that was successful

compare for differences

138

CA WA System Agent DataflowStep Log File Description Log

Level

1 receiver.log Record of all successfully received AFMs. 0, 1, 2

2 queue_receiver.log Log for the queue that holds all successfully

received AFMs.

0, 1, 2

3 cybrmicontrollerpluginmanager.log Shows TCP/IP plug-in attempts to send a

message to the core.

5

4 queue_inbox.log All messages from the controller arrive here.

Incoming message distributor (inbox) calls

initiatormanager to process these messages.

3

5 initiatormanager.log The initiatormanager records any exception

conditions here.

5

6 initiators_waiting_<Job class>.log If all initiators for this job class are consumed,

the job is put in a queue.

3

7 rmipluginmanager.log Logs the number of active jobs that the plug-in

has.

4

8 plug-in specific

■ For the runner plug-in, see

Runner Plug-in AFM Processing

■ For the file monitoring plug-in,

see Filemon Plug-in AFM

Processing

The message is sent to a plug-in; for example,

runner_os_component.log.

Once you have completed the trace routine in

either of the two other streams, return to the

next step in this stream.

-

9 rmipluginmanager.log Shows the plug-in has attempted to send a

message to the core.

4

10 queue_communicator.log A reply is placed here. 3

11 initiatormanager.log Shows the initiator has been released. 5

12 messagedistributoroutgoing.log Shows the message is sent through the controller

plug-in manager to the scheduling manager.

5

13 transmitter.log Log of all sending activity and any errors

discovered.

0, 1, 2

139 © 2014 CA. ALL RIGHTS RESERVED.

1. AFM arrives to TCP/IP incoming plug-in

– receiver.log

2. Log for the queue that holds all successfully received AFMs

– queue_receiver.log

3. TCP/IP plug-in sends message to the Core through Controller Plug-in Manager

– cybrmicontrollerpluginmanager.log

4. Controller Plug-in Manager puts the message into inbox queue

5. Inbox Processor reads the message and asks Initiator Manager to execute the job

– initiatormanager.log

Data Flow

140

6. Initiator Manager checks whether there are initiators for the Job Class (Default – by default)– No such Job Class – Failure

– Not enough initiators - initiators_wait_<Job Class>.log

Put into waiting queue

Whenever initiator released, job from the waiting queue processed first, ahead of

those in the inbox queue

– Initiator is available – proceed

– Jobs that have . (dot) as a WOB id, don’t consume initiator

Data Flow

141

7. Plug-in manager receives job for execution– internal_plugin_queue_for_<plug-in name>.log

– Get list of all currently registered plug-ins that subscribed for given Verb and Subverb

– If there are more than one such plug-in

Ask all of them for number of jobs they are running, AFM passed as an example for

the job type in question

– Ignore plug-ins that don’t respond

– Send AFM to all those that asked to send always and to the guy that has minimum number of jobs running

Multiple plug-ins can subscribe for the same Verb/Subverb given they have different names

Data Flow

142

8. Plug-in sends message back

– rmipluginmanager.log

9. RMI Plug-in Manager puts message into outgoing queue

– queue_communicator.log

10.Outbox Processor retrieves message from the queue and

– In case of a completion message (COMPLETE / FAILED / SUBERROR / MONERROR) releases initiator

Checks whether message is allowed to pass to manager

– When we have . (dot) as a WOB id placeholder - no passing

– Special flag (used internally) – no passing

Data Flow

143

11. Asks Controller Plug-in Manager to send message to the manager

12. Controller Plug-in Manager determines plug-in that sent original message and

sends message to it

– Form: <Plug-in Name>@<Manager Id>

– In case plug-in name is unavailable, broadcast to all plug-ins

Data Flow

144

13. Transmitter sends message to TCP/IP plug-in

– Has a queue per target

transmitter_queue_spool_<manager_id>.log

Non-responding manager will not block the transmitter

– Processes up to a Time Slice messages a time

Ensures Round Robin processing – no starvation

– Employs Adaptive Timeout on per-manager basis when sending:

When send times out, will abort connection

Next time will double the timeout up to the maximum

When successful, will measure round-trip time and adjust the timeout

Will lower the timeout until reaches user-defined timeout value

Writes to transmitter.log

Data Flow

Some Common Questions

146

Can I install multiple agents on the same OS?

Yes!

• You will need to specify a different listening port• A different Service name for Windows

147

I don’t have any output in the spoolfile?

Check the script and see if stdout and stderr are redirected in the script

Very common in cron scripts to redirect the stdout to a specific location

If stdout is redirected, it will not be in the Agent’s spoolfile

148

Starting an Agent on Unix – “&” vs. “-a”

The process sent in the background by & may not completely detach in some terminals. They can die if the terminal is closed and it can also be brought back by ‘fg’. If you deamonize a process, it will be completely detached from the terminal.

[root@linbox WA_Agent_R11_3_3]# ./cybAgent &[1] 5435[root@linbox WA_Agent_R11_3_3]# fg./cybAgent ß The process is now back on the front![root@linbox WA_Agent_R11_3_3]# ./cybAgent -a[root@linbox WA_Agent_R11_3_3]# fg-bash: fg: current: no such job[root@linbox WA_Agent_R11_3_3]#

Note: For Windows, always use Services Console (services.msc) to start or stop the agent. Starting from command line is mainly done for debugging purposes, and agent will stop if CMD is closed.

149

Which JREs can be used to run the Agent?

Please use the one shipped with the Product You can use any other JVM but be prepared to be asked to use

the one shipped Why?

– Agent features are dependent upon the class implementation at each level of the JRE

– JREs come from several providers – while they have a standard to achieve the choice on how this is accomplished is left to the vendor

– Patch levels for JREs vary

The Agent may work using a different JRE however if it does not CA Technologies will ask that you use the one shipped with the Agent

150

Common Changes

Objmon.cpu.scalefactor=15– To figure out the number take

the number of cores/100

– Ex. 12 cores would be: Objmon.cpu.scalefactor=8

151

Parameters to seriously question before changing

persistence.coldstart=false– False is the default

– True says to always do a coldstart on any restart and rebuild database files

oscomponent.noguardianprocess=false– Track jobs that were executing

during the agent recycle

communication.transmitter.senderrordelay=12000000– 2 minutes is the default

– Extending this can cause the agent to “shut-out” the manager for a long period of time

152

Summary

Results

The agentparm.txt file has many parameters that can change the behavior of the agent to meet your needs. Before answering “no” to a question as to whether the Agent supports that capability or not, check:

The manual,

Agent wiki,

CA Communities,

or ask CA Support.

You may find that there is a way to accomplish your need.

153

For More Information

To learn more about Mainframe, please visit:

http://bit.ly/1wbiPkl

Insert appropriate screenshot and text overlayfrom following “More Info Graphics” slide here;

ensure it links to correct pageMainframe

154 © 2014 CA. ALL RIGHTS RESERVED.

For Informational Purposes Only

© 2014 CA. All rights reserved. All trademarks referenced herein belong to their respective companies.

This presentation provided at CA World 2014 is intended for information purposes only and does not form any type of warranty. Some of the specific slides with customer references relate to customer's specific use and experience of CA products and solutions so actual results may vary.

Terms of this Presentation