You can customize the zRemote module to enable optional features and optimize its performance.
The following configuration files are retained in the event of a zRemote update or uninstallation. You can make changes here.
You must restart the zRemote service to apply new settings.
The zRemote module user configuration file (zremoteagentuserconfig.conf
) allows you to override the default configuration defined in ruxitagent.conf
.
Dynatrace version 1.277+ The watchdog user configuration file (watchdoguserconfig.conf
) allows you to override the default configuration defined in oneagentzwatchdog.ini
.
Available parameters for configuration:
Parameter
Unit
Default value
Description
-healthcheck.heartbeat.timeout
Seconds
900
The connection timeout between the zRemote service and your Dynatrace environment
-healthcheck.memory.limit_absolute
MiB
500
Absolute input for the memory calculation limit of the child process
-healthcheck.memory.limit_percentage
%
20
Percentage input for the memory calculation limit of the child process
Effective limit = percentage limit × available physical memory on the system + absolute limit
For example:
0.2 × 5 GiB + 500 MiB = 1.5 GiB effective memory limit
Host groups are helpful when you want to organize multiple LPARs connecting to a single zRemote module. An LPAR can be assigned to a host group by setting the [HostGroup]
attribute in the zremoteagentuserconfig.conf
file. An LPAR can belong to only one host group.
To assign an LPAR to a host group, specify the group name in between a pair of [HostGroup]
attributes. The [HostGroup]
attribute pair can occur anywhere in the zremoteagentuserconfig.conf
file.
[HostGroup]<LPAR_Name1>=<HostGroupName><LPAR_Name2>=<HostGroupName>[HostGroup]
The LPAR name is the 8 characters logical partition name defined in the LPARNAME()
parameter in IEASYMxx
member in z/OS.
The LPAR name is also displayed in the Properties and tags
section on the host screen.
The following requirements apply to the <HostGroupName>
string:
-
), underscores (_
), and dots (.
)dt.
In this example, we add three LPARs—LPARA
, LPARB
, and LPARC
to a single host group TEST_HOST
.
[HostGroup]LPARA=TEST_HOSTLPARB=TEST_HOSTLPARC=TEST_HOST[HostGroup]
In this example we assign each LPAR to a separate host group.
[HostGroup]LPARA=TEST_HOSTLPARB=PROD_HOSTLPARC=PERF_HOST[HostGroup]
zremoteagentuserconfig.conf
file and migrate your host group settings from the ruxitagent.conf
file.zremoteagentuserconfig.conf
file.Dynatrace can provide insight into SQL statements based on tracing of Db2 and DL/I database calls. These SQL statements are shown in Dynatrace, for example, as:
The string represents the program name (DBRM name), the line number, and the section number.
zRemote module version 1.241+ Dynatrace can provide deeper insight into Db2 database calls by fetching the full SQL statements from the Db2 catalog. With the SQL statement fetch feature enabled, the SQL statements are shown in Dynatrace, for example, as:
The SQL statement fetch feature is disabled by default. To enable it
Install and configure the IBM Data Server Driver for ODBC and CLI software on Linux or Windows. Further reading: IBM Db2 ODBC CLI driver Download and Installation information.
In the installation step take note of the location of the CLI driver library:
libdb2.so
for Linuxdb2app64.dll
for WindowsBefore configuring the driver, it might be necessary to contact the DBA requesting the database connectivity information (such as database credentials, location, and IP and port). In the configuration step, take note of the Db2 aliases (or DSN).
Both are required in the next steps.
\<cli-driver-path\>/bin/db2cli validate -connect -database \<db-location\>:\<ip\>:\<port\> -user \<id\> -passwd \<pw\>\<cli-driver-path\>/bin/db2cli validate -connect -dsn \<db-alias\>
In the zremoteagentuserconfig.conf
file of the zRemote module, define the CLI driver library and Db2 alias group (similar as defining host groups), for example:
# Linuxcli_driver_lib=/opt/IBM/CLIDRIVER/lib/libdb2.so# ... or Windowscli_driver_lib=C:/IBM/CLIDRIVER/bin/db2app64.dll[DbAlias]dbHost1.dbName1=alias1dbHost2.dbName2=alias2dbHostN.dbNameN=aliasN[DbAlias]# Beginning with zRemote 1.279 it is possible to set the new flag sqlStmtExtended, if# true the full (fetched) SQL statement is appended with its old (unfetched) format,# for example, from an example above "FETCH (GETTAB INTO : H , : H , : H , : H , : H)"# would be shown as "FETCH (GETTAB INTO : H , : H , : H , : H , : H) (PROGNAME;165;3)".# The default is false. Note: if enabled this setting would affect the aggregation count.sqlStmtExtended=false
where dbHost
is the z/OS SMF ID and dbName
is the Db2 subsystem name. All is case sensitive.
optional Define sqlStmtCacheFileName=/tmp/sqlStmtCacheFileName
, as an example, to cache the fetched SQL statements to a file and use it upon a zRemote module restart, thus reducing Db2 interactions. Be sure to use the appropriate fully qualified file name.
Restart the zRemote module.
zRemote module version 1.267+
By default, the zLocal and zRemote use a proprietary communication protocol via plain sockets. You can configure them to communicate via TLS by configuring AT-TLS for the zLocal and setting the SSL flags for the zRemote as shown below.
Depending on your requirements, there are different ways to configure AT-TLS for zLocal. For more details, refer to Application Transparent Transport Layer Security data protection in IBM documentation. You can use the example AT-TLS configuration below as a template.
TTLSRule <client-rule>{RemoteAddr <ALL | specific-ip-addr>RemotePortRange <zdclistenerport>Direction OutboundTTLSGroupActionRef <group-action>TTLSEnvironmentActionRef <environment-action>TTLSConnectionActionRef <connection-action>}TTLSGroupAction <group-action>{TTLSEnabled OnTrace <trace-level>}TTLSEnvironmentAction <environment-action>{HandshakeRole ClientTTLSKeyringParmsRef <keyring-parms>TTLSCipherParmsRef <cipher-parms>}TTLSKeyringParms <keyring-parms>{# A certificate matches that of the zRemote's certificate# must be loaded into RACF and connected to the Keyring here.Keyring <pub-key-or-certificate>}TTLSCipherParms <cipher-parms>{...V3CipherSuites TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256V3CipherSuites TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384V3CipherSuites TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256V3CipherSuites TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384...}TTLSConnectionAction <connection-action>{TTLSConnectionAdvancedParmsRef <connection-advanced-parms>}TTLSConnectionAdvancedParms <connection-advanced-parms>{SSLv2 OffSSLv3 OffTLSv1 OffTLSv1.1 OffTLSv1.2 OnTLSv1.3 On}
To enable SSL/TLS for the zRemote
zremoteagentuserconfig.conf
file.sslEnabled
to true
.sslPrivateKey
) and certificate (sslCertificate
) PEM files.# Must be true to enable secure connection; all other SSL settings are ignored if falsesslEnabled=true# Absolute paths to your private key (with the pass-phrase stripped) and certificate PEM files.# Beginning with zRemote module version 1.301.0, multiple private-key/certificate pairs delimited# by a semicolon can be specified. For example:# sslPrivateKey=<private-key-1.pem; private-key-2.pem; ...; private-key-n.pem># sslCertificate=<certificate-1.pem; certificate-2.pem; ...; certificate-n.pem>sslPrivateKey=<private-key.pem>sslCertificate=<certificate.pem># Optional: TLS cipher suites allowed according to OpenSSL# Example: sslCiphers=ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384sslCiphers=<cipher-suites>
If a specific process regularly pings the zRemote module to detect its availability, and these pings reach the zRemote listener port, the zRemote module logs an invalid connection attempt. These invalid connection attempts increase the zRemote log size over time.
To ignore connection attempts from specific processes, list their IP addresses (separated by semicolons) in the zremoteagentuserconfig.conf
file, for example:
ignoreHandshakeEndpoints=192.168.0.1;10.0.0.2
zRemote module version 1.253+
The IMS message processing region (MPR) process IDs could change, resulting in new process and service entities in Dynatrace. To prevent this process ID change, we’ve introduced a more stable ID calculation with the consequence that all IMS MPR process and service entities will change once but then remain stable after an update of the zRemote module with version 1.253.
To opt out of the new IMS MPR process ID calculation, set the flag useOldImsPgiCalc
in the zremoteagentuserconfig.conf
file to true
.
useOldImsPgiCalc=true