Agents in JAMS

There are many different Agents available for JAMS, and each one is designed and configured for a specific platform and purpose.

Most JAMS Agents have installers on the JAMS Server along with the JAMS Scheduler (C:\Program Files\MVPSI\JAMS\Scheduler\Agents). The JAMS Client can be used to deploy and upgrade Agents, after those Agents have been defined.

NOTE: For more information on working with specific JAMS Agents, refer to the Agent topics.

Agents in JAMS are initially defined using four fundamental properties:

  • Name - The reference name for the Agent definition in JAMS.
  • Description - An optional description of the defined JAMS Agent.
  • Type of Agent- The type of Agent to be created, based on the Agent's intended use. The type defines the protocol and direction of the communication between the Agent and the JAMS Scheduler. The default Agent Type is Outgoing. JAMS has the following types of Agents:
    • Local – This Agent type is used for the JAMS Scheduler machine because the Scheduler acts as its own Agent.
    • Incoming – This Agent type is used the JAMS Agent Interactive. The Agent initiates communication with the JAMS Scheduler. To stop an Agent from connecting, the connection needs to be disabled at the Agent.
    • Outgoing – This Agent type is the most common type and is used for most Agents. The JAMS Scheduler initiates communication with the Agent. This is used for Windows and AgentD. Windows Agents can maintain the connection between Jobs and run multiple Jobs simultaneously without a new connection.
    • SSH – This Agent type can connect to a remote system through the SSH protocol. You can enter one command at a time just like you were if you were typing at a terminal.
    • SSHAgentX – This Agent type is used only for when the remote machine has the SSHAgentX Agent installed.
    • Passive – This Agent type is mainly used for the z/OS integration. For Passive Agents, the Execution Method handles the communication.
  • Type of Platform - The operating system platform for the Agent. Options include Windows, Linux, UNIX, OpenVMS, and more.

Agent Definitions screen

The Agent Definitions screen lists all Agents that have been defined. The following information is displayed:

  • Agent Name – The name assigned to the Agent. The name of a JAMS Agent is a friendly name for the Agent in JAMS. The JAMS name of an Agent is not required to match the system name of the Agent machine.
  • Description – An optional description of the Agent.
  • Platform – The operating system platform for the Agent. Options include Windows, Linux, UNIX, OpenVMS, and more.
  • Agent Type – The type of Agent based on its intended use.
  • Enabled – An Agent can run Jobs when it is enabled. If it is disabled, the Agent will not run Jobs.
  • Agent State – The current state of the Agent.
  • Job Count – The number of Jobs running on the Agent.
  • Job Limit – The maximum number of Jobs that can run at one time on the Agent. You can adjust this to optimize performance.
  • License Allocated – A read-only field that indicates if JAMS has allocated a license to the Agent. The license is allocated the first time a Job is submitted to the Agent, if a license is available.
  • Port – The network port that JAMS is using to communicate with the Agent. The default for outgoing Agents is 77.
  • Version – The version of JAMS the Agent is running.

Defining an Agent in JAMS

  1. Click Agents from the Shortcuts menu.
  2. In the Agent Definitions screen, select Add.
  3. In the Name field, enter a name for the Agent. The name of a JAMS Agent is a friendly name for the Agent in JAMS. The JAMS name of an Agent is not required to match the system name of the Agent machine. You can enter the HostName or IP address in the Address property of the Agent definition, if it is different from the Display Name.
  4. In the Type of Agent field, select the type of Agent.
  5. In the Type of Platform field, select the platform for the Agent.
  6. Click Ok. By default, JAMS automatically opens the full Agent Definition dialog, so you can configure it.

Configuring an Agent in JAMS

After an Agent has been defined in JAMS, you can configure its properties, including the Job Count/Limit, connection settings, security, and access controls.

  1. Click Agents from the Shortcuts menu.
  2. Right-click an Agent, and select Properties.
  3. Select the State tab to view Agent information, or set a Job Limit for the Agent.
  4. In the Properties tab, you will see a list of Agent Properties tailored to the Type and Platform of the Agent. You can also change the Type of Agent and the Type of Platform by using the drop-down boxes. Some Agent Type and Agent Platform combinations are not supported. If you select an unsupported combination, an Invalid Agent error message is displayed.
  5. Use the available Agent Properties to configure the Agent. For example, on an Outgoing Windows Agent, the Address would be defined.
  6. Select the Security tab to modify group permissions to the Agent.
    NOTE: Ensure the Submit permission is selected for user accounts that will use this Agent.
  7. Click Save and Close.
NOTE: After the Agent is created, it is recommended that you set up TLS communication if SSPI is not available. See Setting up Secure Communication with Outgoing JAMS Agents. This will be required for communication to occur. You will see the Agent state listed as Unauthenticated until this security is configured.
NOTE: If you change the security settings for Allow No Remote Host Security or Allow SSPI Remote Host Security, the changes will be applied when the Agent has a new connection. This may occur when the Agent is restarted or when the next connection is made, if the Connect on Demand option is used.

Deploying an Agent in JAMS

After you define an Agent in JAMS, it can be deployed from the Agent Definitions view. The JAMS Scheduler offers built-in capabilities to install a JAMS Agent on machines running Windows or System I (AS400).

NOTE: See Manual Installation of JAMSAgentX for information on deploying on Linux.
NOTE: OpenVMS and Linux Agents cannot be push deployed from the JAMS Server.

If the Agent already exists, follow the steps below to deploy or upgrade the Agent.

  1. Click Agents from the Shortcuts menu.
  2. Right-click the Agent to be deployed, and select Deploy.
  3. In the dialog, select the JAMS User to be used to deploy the JAMS Agent. This user should have all necessary permissions to the defined JAMS Agent.
  4. Click OK. The Deploy Agent Job runs in the Monitor view.

Configuring the Connection for Outgoing Agents

For an Outgoing Agent, you can control when the Agent is connected to the JAMS Scheduler by using the Connect On Demand option. This is useful if you want to limit the number of open and active connections to Agents that are rarely used.

By default, this option is disabled so the Agent connection remains open if no Jobs are running on it. If you enable this option, the Agent connects to the JAMS Scheduler only when a Job is running on the Agent. The Agent state changes to Idle when a Job is not running on the Agent. The version may also be Unknown if the JAMS Scheduler has not yet been connected to the Agent.

  1. Click Agents from the Shortcuts menu.
  2. Right-click the Outgoing Agent, and select Properties.
  3. Click the Properties tab.
  4. Select or clear the Connect On Demand checkbox.
  5. Click Save and Close.

Canceling Jobs on Agents

When you cancel a Job, the JAMS Scheduler will no longer try to run it. If you cancel a Job that is waiting for reconnection, the Job will stay in the Canceling state until the Agent is reconnected.

If you cancel a Job on an Agent and Connect on Demand is enabled, the JAMS Scheduler will stop trying to connect to the Agent until another Job is run. Any status or changes will be delayed.

  1. Click Monitor from the Shortcuts menu.
  2. Right-click a Job that is running on an Agent.
  3. Select Cancel.
  4. When prompted to confirm the cancellation, click Yes.

Jobs on Agents can be force canceled by selecting the Force checkbox in the Cancel dialog or by using the –force parameter on the command line. This will cause the JAMS Scheduler to treat the job as completed, but it will try to stop the Job. If the Agent is not connected, the Job may not receive the cancel and may continue to run.

Agents in Batch Queues

Selecting an Agent in a Batch Queue is optional. If no Agent is specified in the Batch Queue and the Job Definition does not have/inherit an Agent, the Job executes locally on the Scheduler. If multiple Agent Names are specified, Jobs are distributed (load balanced) between the available Agent Names.

See the Using Queues article for information on adding an Agent to a Queue or deleting an Agent from a Queue.

Enabling or Disabling an Agent

By default, new Agents are set to Enabled so they can run Jobs. If you need to prevent new Jobs from running for a period of time, you can disable the Agent. Any Jobs that are currently running will continue, but no other Jobs will be submitted to run on that Agent.

  1. Click Agents from the Shortcuts menu.
  2. Right-click the Agent, and select Enable or Disable. The Enable column is updated.

Deleting an Agent in JAMS

Any JAMS Agent can be deleted from the Agent Definitions view. Removing the Agent from the JAMS Client will not remove the JAMS Agent software from the Agent machine.

  1. Click Agents from the Shortcuts menu.
  2. Right-click the Agent to be deleted, and select Delete.
  3. When prompted to confirm the deletion, click Yes.

Agent Properties

Agent Tab

Option Description
Name This property displays the unique identifier for the Agent.
Description This property displays an optional description of the Agent.
Last Change This property displays the date and time in UTC when the Agent was last modified.

State Tab

Option Description
Status Select or clear the Status checkbox to enable or disable the Agent. This will allow or prevent the Agent from running Jobs.
Time Offset This property is read-only and cannot be set.
State This property displays the current state of the Agent. It can display options, such as Online.
License This property displays the status of the license for this Agent based on the number of licenses that are available.
Current Count This property displays the number of Jobs that are currently running on this Agent.
Job Limit This property specifies the maximum number of Jobs that the Agent can run at one time.

Properties Tab

The properties will vary based on the type of Agent that was selected.

Option Description
Type of Agent This property displays the type of Agent that was specified.
Type of Platform This property displays the operating system that the Agent will run on.
Address This property displays the IP address or host name for connecting to this Agent.
Allow No Remote Host Security This property specifies that no encryption for the connection to the Agent will be used. It is recommended that you configure a secure communication.
Allow SSPI Remote Host Security This property specifies that an encrypted connection will be used to the Agent. This option cannot be used across domains.
Connect On Demand This property specifies the Agent will attempt to connect only when running a Job. The live Agent status may not be available in this mode.
Connection Timeout This property specifies the time to wait before disconnecting from the Agent.
Deploy Credential This property specifies the JAMS Credential that is used to deploy the Agent from JAMS.
Deploy Job This property specifies the Job in JAMS that is used to deploy the Agent.
Platform This property is a read-only view of the operating system type that was selected for the Agent.
Port This property specifies the port that is used to connect to the Agent.
Thumbprint This property displays the thumbprint of the certificate that is used for the secure connection using TLS.
Type This property displays the type of Agent that was specified for this Agent.
File Watch Job This property displays the Job that is submitted when JAMS will watch for a file on an Agent.

Security Tab

Option Description
Security The Security tab defines the level of access for this Agent. This is an Access Control List with one-to-many Access Control Entries (ACE). You can add or delete an ACE. Each ACE can specify the following rights:
  • Change: users can modify this Agent if they have Change access in Agent Definitions.
  • Control: users can modify the Agent’s Access Control List.
  • Delete: users can delete the Agent if they have Delete access for Agent Definitions.
  • Inquire: users can inquire into the Agent if they have Inquire access to Agent Definitions.
  • Manage: users can enable/disable the Agent.
  • Submit: users can associate the Agent with Folder/Job Definitions.

References Tab

Option Description
References The References tab lets you view where the Agent is used within JAMS.

Related Topics