Customize the zRemote module
You can customize the zRemote module to enable optional features and optimize its performance. The following features are currently supported:
- Define host groups to organize multiple LPARs
- Fetch full SQL statements from DB2 databases
- Ignore invalid connection attempts
All features must be defined in the
zremoteagentuserconfig.conf file in order to persist them during the zRemote module maintenance and update process.
Location of the
Host groups are helpful when you need 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
[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
- Can contain only alphanumeric characters, hyphens (
-), underscores (
_), and dots (
- Must not start with
- Maximum length is 100 characters
In this example, we add three LPARs—
LPARC to a single host group
[HostGroup] LPARA=TEST_HOST LPARB=TEST_HOST LPARC=TEST_HOST [HostGroup]
In this example we assign each LPAR to a separate host group.
[HostGroup] LPARA=TEST_HOST LPARB=PROD_HOST LPARC=PERF_HOST [HostGroup]
- In host settings, only the General, Monitoring, and Detected processes are applicable for a host group pertaining to a z/OS host.
- Store your host group settings only in the
zremoteagentuserconfig.conffile and migrate your host group settings from the
- Host group settings take effect during zRemote start up. You must restart the zRemote module after defining host group in the
SQL statement fetch
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:
- FETCH (PROGNAME;165;3)
- CLOSE (PROGNAME;441;2)
The string represents the program name (DBRM name), the line number, and the section number.
zRemote module 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:
- FETCH (GETTAB INTO : H , : H , : H , : H , : H)
- CLOSE (GETTAB)
Enable SQL Statement fetch
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:
In the configuration step, take note of the DB2 aliases (or DSN).
Both are required in the next steps.Notes
- The zRemote module supports only 64-bit CLI driver.
- Be sure to test the CLI driver configuration to ensure good DB2 connections.
zremoteagentuserconfig.conffile of the zRemote module, define the CLI driver library and DB2 alias group (similar as defining host groups), for example:plaintext
# Linux cli_driver_lib=/opt/IBM/CLIDRIVER/lib/libdb2.so # ... or Windows cli_driver_lib=C:/IBM/CLIDRIVER/bin/db2app64.dll [DbAlias] dbHost1.dbName1=alias1 dbHost2.dbName2=alias2 dbHostN.dbNameN=aliasN [DbAlias]
dbHostis the z/OS SMF ID and
dbNameis the DB2 subsystem name. All is case sensitive.
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.Notes
- The zRemote module will only enable the SQL statement fetch feature if the CLI driver can be loaded successfully and there is at least one DB2 alias defined.
- If the DB2 alias is later found to be invalid, the feature is disabled.
Ignore invalid connection attempts
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: