Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagetext
titleUsage for Unix
Usage: agent.sh command [options] [switches]
  command:
    start           [options]
    start-container [options]
    stop            [options]
    restart         [options]
    status          [options]
    cancel          [options]
    switch-over     [options]
    cert            [cert-options]         | see https://kb.sos-berlin.com/x/jLbAAw
  options:
    --http-port=<[interface:]port>         | http network interface and port, default: 4445
    --https-port=<[interface:]port>        | https network interface and port, default:
    --data-directory=<directory>           | default: /var/sos-berlin.com/js7/agent/var_4445
    --config-directory=<directory>         | default: /var/sos-berlin.com/js7/agent/var_4445/config
    --sigkill-delay=<seconds>              | send SIGTERM and delayed SIGKILL signal, default: 3
    --timeout=<seconds>                    | timeout for terminating jobs on Agent stop
    --java-options=<java options>          | default: -Xms100m -Dfile.encoding=UTF-8; see https://kb.sos-berlin.com/x/uYo7B
  switches: 
    -c | --curl                            | use curl instead of Java http client

see https://kb.sos-berlin.com/x/ZqrAAw for more information.

...

Code Block
languagetext
titleUsage for Windows
Usage: agent.cmd command [options] [switches] 
  command:
    start           [options]
    start-container [options]
    stop            [options]
    restart         [options]
    status          [options]
    cancel          [options]
    switch-over  cert    [options]
    start-service   [options]
    install-service [cert-options]options]
    remove-service  [options]
    cert         | see https://  [cert-options]         | see https://kb.sos-berlin.com/x/jLbAAw
  options:
    --http-port=<[interface:]port>         | http network interface and port, default: 4445
    --https-port=<[interface:]port>        | https network interface and port, default:
    --data-directory=<directory>           | default: /var/sos-berlin.com/js7/agent/var_4445
    --config-directory=<directory>         | default: /var/sos-berlin.com/js7/agent/var_4445/config
    --timeout=<seconds>                    | timeout for terminating jobs on Agent stop
    --java-options=<java options>          | default: -Xms100m -Dfile.encoding=UTF-8; see https://kb.sos-berlin.com/x/uYo7B
  switches:
    -c | --curl                            | use curl instead of Java http client 

see https://kb.sos-berlin.com/x/ZqrAAw for more information.

...

  • --http-port
    • Specifies the HTTP port that the Agent is listening to in order to receive requests from a JS7 Controller. This option can be used to indicate which network interface the JS7 Agent should listen to if a hostname or IP address is specified, for example with --http-port=myhost:4445.
    • Without this option being used the port defaults to 4445 and the Agent listens to all available network interfaces.
    • If a port is specified then the following order of precedence applies:
      • First precedence: command line option
      • Second precedence: environment variable JS7_AGENT_HTTP_PORT (see below)
      • Third precedence: use of default value
  • --https-port
    • Specifies the HTTPS port that the Agent is listening to in order to receive requests from a Controller. This option can be used to indicate which network interface the Agent should listen to if a hostname or IP address is specified, for example, with --https-port=myhost:4445.
    • When using the HTTPS protocol for connections from a Controller instance consider additionally allowing the HTTP protocol for local connections as with --http-port=localhost:4445. As the Agent Start Script makes use of an HTTP connection this the protocol has to be in place to allow the Agent to be started, stopped, etc. by its Start Script.
    • Without this option being used the port defaults to 4445 and the Agent listens to all available network interfaces.
    • If a port is specified then the following order of precedence applies:
      • First precedence: command line option
      • Second precedence: environment variable SJS7_AGENT_HTTPS_PORT (see below)
      • Third precedence: use of default value
  • --data-directory
    • Specifies the location of the data directory that usually includes the config, logs, tmp and state sub-directories.
    • This location has to be unique for any Agent instance.
    • If a data directory is specified then the following order of precedence applies:
      • First precedence: command line option
      • Second precedence: environment variable JS7_AGENT_DATA (see below)
      • Third precedence: use of default value JS7_AGENT_HOME/var_<JS7_AGENT_PORT>
  • --config-directory
    • Specifies the location of the config directory for configuration data.
    • This location has to be unique for any Agent instance.
    • Should a configuration directory be specified then the following order of precedence applies:
      • First precedence: command line option
      • Second precedence: environment variable JS7_AGENT_CONFIG_DIR (see below)
      • Third precedence: use of default value JS7_AGENT_HOME/var_<JS7_AGENT_PORT>
  • --sigkill-delay
    • Specifies the delay for terminating job processes on Unix in case the Agent is terminated. A value --sigkill-delay=5 will specify 5 seconds. Default: 3.
    • When the Agent is crashed or is stopped then remaining job processes and child processes will be forcibly terminated by the JS7 - Agent Watchdog.
      • if the --sigkill-delay option specifies a positive, non-zero value
        • send all processes and child processes created by the Agent the SIGTERM signal,
        • wait for the period specified with the --sigkill-delay option,
      • send remaining job processes and child processes the SIGKILL signal.
    • When using JS7 - systemd Service Files for automated Startup and Shutdown with Unix Systems users should consider that --timeout and --sigkill-delay values will count towards the systemd service file's  TimeoutStopSec setting. Users must ensure that the Agent is terminated when the systemd timeout is exceeded.
    • The option is available for Agents running on Unix starting from release 2.7.2, see
      Jira
      server
      The option is available for Agents running on Unix starting from release 2.7.2, see
      Jira
      serverSOS JIRA
      columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
      columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
      serverId6dc67751-9d67-34cd-985b-194a8cdc9602
      keyJS-2148
  • --timeout
    • With the stop and restart commands this option waits for the indicated duration and terminates the Agent including any job processes if the timeout is exceeded.

    • The option accepts a number of seconds or the never value to wait endlessly for jobs to terminate.
    • When using JS7 - systemd Service Files for automated Startup and Shutdown with Unix Systems users should consider that --timeout and --sigkill-delay values will count towards the systemd service file's  TimeoutStopSec setting. Users must ensure that the Agent is terminated when the systemd timeout is exceeded.
  • --kill-script
    • The kill script

    --kill-script
    • The kill script provides the functionality to kill tasks and any child processes of jobs.

    • Kill scripts are by default provided from the following locations:
      • JS7_AGENT_DATA/work/kill_task.sh for Unix.

      • JS7_AGENT_DATA\work\kill_task.cmd for Windows.

    • This option The option can be used to specify the location of an individual kill script if required.

    • Should an individual kill script be specified then the following order of precedence applies:

      • First precedence: command line option
      • Second precedence: environment variable JS7_AGENT_KILL_SCRIPT (see below)
      • Third precedence: use of default value
    • Starting from release 2.7.2 the option is ignored, see
      Jira
      serverSOS JIRA
      columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
      columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
      serverId6dc67751-9d67-34cd-985b-194a8cdc9602
      keyJS-2148
  • --java-options
    • This option can be used to apply Java options for the Agent, e.g. for memory settings, see JS7 - FAQ - Which Java Options are recommended.

    • Without this option being used the Java options default to -Xms100m.

    • In order to specify a number of Java options quotes have to be used like this:
      • --java-options="-Xms100m -Xmx1g"
    • When specifying Java options then the following order of precedence applies:

      • First precedence: command line option
      • Second precedence: environment variable JAVA_OPTIONS (see below)
      • Third precedence: use of default value

...

When used for Container operation using Unix OS then the following command is used:

Code Block
languagebash
agent_4445.sh|.cmd start-container [options]

This The command is used to start the JS7 Agent in a container:

...

This command will terminate the Agent.

  • Unix
    • Running job Job processes and child processes will be terminated and the Agent will terminate normallywith exit code 0.
      • collect PIDs of job processes,
      • if the --sigkill-delay option is usedsend SIGTERM signal to remaining send SIGTERM signal to remaining job processes and child processes for which PIDs have been collected,
      • wait for the indicated delay grace timeout specified with the job or for stdout/stderr to be released by processes whichever is shorterearlier,
      • send SIGKILL signal to job processes and child processes,
      • terminate the Agent with exit code 0.
  • Windows
    • Running job Job processes and child processes will be forcibly terminated forcibly and the Agent will terminate with exit code 0.
  • Using the --timeout command line option will wait for the indicated timeout that the Agent terminates. If the timeout is exceeded and if the Agent is still running, then then Agent and runing jobs will be focibly terminated. The option accepts a number of seconds or the never value that indicates that the Agent will wait endlessly until job processes and child processes will terminate.
    • Agent
      • collect PIDs of job processes,
      • terminate the Agent with exit code 143 for Unix and 99 for Windows.
    • Watchdog
      • Unix
        • if the --sigkill-delay option is used
          • send SIGTERM signal to remaining job processes and child processes for which PIDs have been collected,
          • wait for the indicated delay or for stdout/stderr to be released by processes whichever is shorterearlier,
        • send SIGKILL signal to remaining job processes and child processes.
      • Windows
        • forcibly terminates terminate job processes and child processes.

...

Code Block
languagebash
agent_4445.sh|.cmd abort [options]

The Agent process will be terminatedterminate.

The Starting from release 2.7.2 the command is deprecated and is replaced by the stop command, optionally for Unix using the --sigkill-delay=0 option.

...

The Agent process is forcibly terminated.

  • The kill command command can be used alternatively as an alias to cancel.
  • The command corresponds to sending a SIGKILL signal with a kill -9 OS command (Unix) or taskkill command (Windows) to the Agent.
  • Should jobs be running then they will be terminated by the JS7 - Agent Watchdog similar to crash of the Agent.

...

The command will restart the Agent.

  • Running job Job processes and child processes will be terminated and the Agent will terminate as explained in chapter Stopping the Agent.
  • The Agent is started similar to use of the start command using the same command line options as with for initial start.
  • The --timeout option and  for Unix/Windows and the --sigkill-delay option for Unix can be used.

...

Code Block
languagebash
version: 2.0.0-alpha.20210722.2 (2021-07-22)
buildId: QQqWYNiJRbqcYqx4iiFWww
startedAt: 1626981330629
isTerminating: false
system:
  hostname: agent-2-0-primary
  distribution: Alpine Linux v3.13
  cpuModel: Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz
  mxBeans:
    operatingSystem:
      availableProcessors: 8
      systemLoadAverage: 0.0107421875
java:
  version: 1.8.0_292
  memory:
    maximum: 954728448
    total: 289931264
    free: 87118936
  systemProperties:
    java.vendor: IcedTea
    os.arch: amd64
    java.runtime.name: OpenJDK Runtime Environment
    os.version: 3.10.0-957.1.3.el7.x86_64
    os.name: Linux
    java.vm.name: OpenJDK 64-Bit Server VM
    java.version: 1.8.0_292
    java.vm.name: OpenJDK 64-Bit Server VM
    java.version: 1.8.0_292

Switching-over the Active Director Agent Instance

Code Block
languagebash
agent_4445.sh|.cmd switch-over [options]

If an Agent Cluster is operated then the command will switch the active role from the Active Director Agent instance to the Standby Director Agent instance. The command can be executed for the Active Director Agent .

After switch-over the Agent instance is restarted.

Anchor
#cert_agent
#cert_agent
Performing Certificate Rollout

...

  • For general information see JS7 - Log Levels and Debug Options
  • The log level can be increased by using the Agent's Apache ProcRun Daemon Service Manager daemon/service. On Windows systems this is installed in the Agent's service directory with a name such as js7_agent_<port>w.exe  where <port> is the Agent's HTTP port.
  • Users can start the ProcRun Manager, select the Logging tab in the user interface and set the log level to Debug
  • For the location of log files see JS7 - Log Files and Locations.
  • Users should consider reverting the debug log level to its original value once they are finished with debugging.

Resources