Redwood Documentation

Product Documentation

 

›UNIX Agents

RunMyJobsPlatform Agents

External Platforms

  • Connecting Redwood Server to External Platforms

Credentials

  • Storing Credentials
  • Credential Protocols

Platform Process Servers

  • On-site Platform Process Servers
  • Cloud Platform Agents
  • Using the Wizard to Create Process Servers
  • Configuring Platform Agents
  • Spool Host Agents
  • The Environment of Platform Agent OS Processes
  • Processing Platform Processes
  • Process Server Services
  • Configuring Agentless Process Servers
  • Automatically Updating Platform Agents
  • Enabling TLS
  • Creating Monitoring Checks
  • Configuring Load Balancing on Platform Agents
  • Platform Agent Registry Entries
  • Monitoring Servers with Platform Process Servers

UNIX Agents

  • UNIX Process Servers
  • UNIX Process Server Configuration Data
  • File Events on UNIX
  • Creating UNIX Process Servers (Advanced)
  • Choosing a User Switching Security Mode
  • Controlling Unix Platform Agents
  • Uninstalling Redwood Server Platform Agents from UNIX

Windows Agents

  • Creating a Microsoft Windows Process Server
  • File Events on Microsoft Windows Process Servers
  • Configuration of a Microsoft Windows Process Server
  • Managed Services
  • Configuring Platform Agents on Microsoft Windows
  • Automating Windows tasks that require a desktop window
  • Uninstalling Redwood Server from Microsoft Windows

Agent Definition Types

  • Using the BASH Definition Type
  • Using the KSH Definition Type
  • Using the CSH Definition Type
  • Using the Perl Definition Type
  • Using the Python Definition Type
  • Using the PowerShell Definition Type
  • Using the Visual Basic Script Definition Type
  • Using the CMD Definition Type
  • Using the R Process Definition Type
  • Using the DCL Definition Type
  • Using Platform Definition Types
  • Using the OS Native Definition Type
  • Microsoft Windows Definition Types
  • Using the SQLPLUS Definition Type
  • Using the FTP Definition Type
  • Using the Groovy Definition Type

Command Line Tools

  • Command Line System Tools
  • jtool
  • jcat
  • jdescription
  • jevent
  • jecho
  • jftp
  • JFTP Return Codes
  • jgetcredential
  • jgetfile
  • jgetpar
  • jjoin
  • jlink
  • jlog
  • jmail
  • jmessage
  • jmonitor
  • jputfile
  • jregister
  • jrfc
  • jscp
  • jtool screenshot
  • jscript
  • jsecret
  • jsleep
  • jsplit
  • api-tool.jar

OpenVMS Process Servers

  • Creating HP OpenVMS Process Servers
  • Installing the Platform Agent on HP OpenVMS
  • Configuring HP OpenVMS Process Servers
  • File Events on HP OpenVMS
  • HP OpenVMS Definition Types

AS/400 Connector

  • IBM AS/400 Connector Architecture
  • Setting up the IBM AS/400 Connector
  • Creating an IBM AS/400 Process Server
  • Files on AS/400 Raise Events
  • Using the AS/400 Definition Type
  • Redwood Server OS Support
  • IBM z/OS Definition Types
  • Using the JCL_FTP Definition Type
  • IBM z/OS System Tools

Reference

  • Balancing the Load
  • Credential Protocols
← Monitoring Servers with Platform Process ServersUNIX Process Server Configuration Data →

UNIX Process Servers

The UNIX process server is implemented on UNIX by a native platform agent. The Redwood Server platform agent for UNIX is used on all supported OS platforms where the native API is UNIX. This means that Linux and Apple macOS are supported via the UNIX agent. Other operating systems are supported as well, see HP OpenVMS and Microsoft Windows (Advanced) for those.

note

The platform agent software is shipped with Redwood Server and can be downloaded in "Configuration > Software".

See Creating UNIX Process Servers (Advanced) for detailed instructions for downloading and installing the software without the process server wizard.

Active vs Monitoring Platform Agents

You can have active and monitoring platform agents.

Active platform agents require a license and allow you to:

  • schedule workload
  • use file events
  • monitor system usage

Monitoring platform agents on Microsoft Windows and UNIX do not require a license and allow you to monitor the system and its processes, only. Instructions for creating a monitoring-only platform agent can be found in the Creating a Monitoring Platform Agent topic.

Structure

On UNIX the platform agent is started by the scheduler script located in ${InstallDir}/${version}/etc. That script starts all platform agent instances found in the various installation trees. The scheduler script is started at system boot time by a link from UNIX system dependent files, usually /etc/init.d/ scripts. The scheduler script invokes the platform-agent script. You should not run the platform-agent script by hand, that's what the scheduler script is for. The scheduler script needs the system character set in its environment; the character set must be convertible to UTF-8 using I18N tools. You set the LANG, LC_CTYPE, or LC_ALL environment variable to a UTF-8 compatible locale. For example, you unset LC_ALL and set LANG to en_US.UTF-8 or ISO-8859-15. Note that LC_ALL takes precedence over LANG and LC_CTYPE.

Each platform agent instance is represented by two or three continuously running processes, shown here in ps form:

\_ /opt/redwood/agent/9_2_10_20230928_10/bin/network-processor -p /opt/redwood/agent/etc/pid/default/default.pid -i default
 \_ /opt/redwood/agent/9_2_10_20230928_10/bin/network-processor -p /opt/redwood/agent/etc/pid/default/default.pid -i default

The platform-agent and top level network-processor are present from the start, the second network processor instance is created as soon as the platform agent is configured by the process server. The platform agent is used to guard over the network processor: if it dies unexpectedly it will restart it. It also plays a role in Automatic Updating of the agent. The second instance of the network processor is used to verify that the network processor can create a child process and to guard that the OS returns proper data for child processes. All the rest of the work is done by the primary network processor, except if processes are started. For each process a job-processor is started.

Platform process servers that schedule workload or use file events require at least one of the following keys:

  • ProcessServerService.External.limit - the total number of external process servers (Platform agents, distinct web service endpoints, and SAP connectors).
  • ProcessServerService.OS.limit - the total number of platform agent process servers.

UNIX processes are executed by a platform agent. It executes the code in the process definition in a specific environment as a specific user. Note that on UNIX systems, when setting resource limits for a process, it is important to know that the limits that apply are those that are in effect for the parent process and not the limits for the user under which the process runs. This means that the resource limits of the user that starts the platform agent are in effect, regardless of which user the process actually runs as.

The platform agent may run on the same machine as the server, or on any other machine on the network. UNIX processes contain shell scripts in languages such as KSH, BASH, CSH and Perl.

Installing a Platform Agent

note

When installing a platform agent on an SAP application server, Redwood recommends to name the process server <SID>_<APP_SVR>_PlatformAgent, where <APP_SVR> is the hostname of the application server.

The installer is named individually for each operating system / platform combination as follows:

platform-agent-<OS>-<platform>-<version>.bin
note

When you transfer the bin file via FTP, you must use binary mode.

The installer accepts the following switches:

SwitchDescriptionExample
-ac, --enable-server-acl <Y/N>Lock platform agent to the central Redwood Server-ac Y
-ai, --agent-initiatedCommunication will be initiated by the agent-ai
-b, --enable-autoboot <Y/N>Automatically start agent on system-boot-b Y
--confirmEnforce confirmation of predefined values--confirm
-d, --destination <path>Destination (local path)-d /opt/redwood/agent
-fpath to log file-f /opt/redwood/installer.log
--forceOverwrite any existing files--force
-h, --helpShow this help-h
-i, --instance <name>[:<port]Instance name and port; the port will be used by the platform agent (except for agent-initiated agents)-i prd-kubernetes:1556
-lVerbosity level to use; defaults to info.-l debug
--languageSelect the language for the installer (en, de, nl, and fr are supported)--language de
-m, --user-switch-modeMechanism used to switch users; accepts root, plain, setuid, or sudo-m sudo
-pr, --proxy <user:password@host:port>Proxy information-pr https://pxuser:horseStackMonkey@gatekeeper.local:80
-ps, --process-server <process-server>Name of the process server-ps MSLN_UNIXS1
-pw, --password <password>password of the user-pw horseStackPompey
-ql, --queue-list <queue-list>Comma-separated list of queues the process server serves-ql "UNIXGeneric,Kubernetes"
-rp, --register-properties <path>Path for register.properties file-rp /opt/redwood/prd-kubernetes.properties
-rs, --registration-server http[s]://<server>:<port>URL of the central Redwood Server-rs https://pr1.example.com:50300/redwood
-u, --unattendedUnattended install-u
-un, --username <name>Username of a Redwood Server user with privileges to create a process server (such as scheduler-administrator or redwood-administrator)-un Administrator
-w, --run-as <username>The default user to run processes as-w redwood

TLS Environment Variables

note

Parameters that are set on the command line will not be verified by the installer, unless you specify the --confirm switch.

Use the switches as follows:

platform-agent-<OS>-<platform>-<version>.bin <switch> <value> <switch> <value>...

For example:

sudo ./platform-agent-linux-x86_64-9_2_10_20230928_10.bin -d /opt/redwood/prod -i Example -m sudo -b Y -ac Y

root.sh

When you run the installer as an unprivileged user, a file named root.sh located in the installation directory is created. This file must be executed as superuser (root) to complete the installation.

Environment Variables

Environment variables allow you to set installation-specific and registration-specific settings. Installer switches override the environment variable, if specified.

The installer also accepts the following environment variables:

  • INSTLANG - The language of the installer [EN|NL|DE|FR]
  • INSTALLDIR - The installation directory
  • INSTANCE - The name of the Instance.
  • USERSWITCHMODE - The mechanism to use for user switching [plain|setuid|root|sudo]
  • RUNAS - The user to run as.
  • AGENTPORT - The numeric port on which the platform-agent will listen
  • STARTUP - Autoboot [Y|N]
  • ALLOWUPDATE - Autoupdate [Y|N]

You can specify multiple switches as follows:

INSTLANG=DE INSTALLDIR=/opt/redwood/prod INSTANCE=Example USERSWITCHMODE=sudo STARTUP=Y SERVERACL=Y platform-agent-<OS>-<platform>-<version>.bin

INSTLANG

The language the installer uses is derived from your locale. To override the language derived from the locale you can set the INSTLANG environment variable to a two letter language code. Languages supported are EN (English), FR (French), DE (German) and NL (Dutch). If an unknown language is specified the installer will fall back to using English.

INSTLANG=FR platform-agent-<OS>-<platform>-<version>.bin

INSTALLDIR

The installation directory to use. The user executing the installer must have write permissions to this directory.

INSTDIR=/opt/redwood/agent platform-agent-<OS>-<platform>-<version>.bin

INSTANCE

The name of the instance for this platform agent.

INSTANCE=prd-postgre platform-agent-<OS>-<platform>-<version>.bin

USERSWITCHMODE

The user switch mode to use, defaults to setuid.

USERSWITCHMODE=sudo platform-agent-<OS>-<platform>-<version>.bin

RUNAS

The user the platform-agent runs as. If the user switchmode is plain, then all processes will be run as this user.

RUNAS=redwood platform-agent-<OS>-<platform>-<version>.bin

AGENTPORT

The numeric port used by the platform-agent; you must specify a port number, port names are not supported.

AGENTPORT=1551 platform-agent-<OS>-<platform>-<version>.bin

STARTUP

This controls the startup of the platform agent when the server starts.

STARTUP=Y platform-agent-<OS>-<platform>-<version>.bin

ALLOWUPDATE

This controls automatic agent updates when the central Redwood server is updated.

ALLOWUPDATE=Y platform-agent-<OS>-<platform>-<version>.bin

Registration Environment Variables

  • REGISTER - Register a process server [Y|N], this needs to be set to Y for the environment variables below:
  • SERVERNAME - The hostname of the server
  • SERVERPORT - The port on which the server is listening
  • SERVERUSERNAME - The user account to login with
  • SERVERPASSWORD - The password for this user
  • PSERVER - The Name of the process server to register
  • SERVERACL - Lock the platform agent [Y|N]

Example

The GNU/Linux installer for x86 platforms, used with switches to perform an unattended installation in German with processes run as user example with security option suid.

$ platform-agent-linux-x86-9_2_10_20230928_10.bin -u -l DE -w example -m suid

Platform independent configuration instructions can be found in the Configuring Platform Agents section.

See Also

  • Creating UNIX Process Servers (Advanced)
← Monitoring Servers with Platform Process ServersUNIX Process Server Configuration Data →
  • Active vs Monitoring Platform Agents
  • Structure
  • Installing a Platform Agent
    • TLS Environment Variables
  • root.sh
  • Environment Variables
    • INSTLANG
    • INSTALLDIR
    • INSTANCE
    • USERSWITCHMODE
    • RUNAS
    • AGENTPORT
    • STARTUP
    • ALLOWUPDATE
    • Registration Environment Variables
  • Example
  • See Also
Docs
Getting StartedInstallationFinance InstallationConcepts
TroubleshootingArchiving
Learn and Connect
Support Portal
BlogEventsResources
ISO/ IEC 27001 Information Security Management
Automate to be human

2023 All Rights Reserved |

Terms of Service | Policies | Cookies | Glossary | Third-party Software | Contact | Copyright | Impressum |