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.

Related Topics