IBM Performance Management

Dependencies

The Performance Management server and supporting components are installed by a root user on a Red Hat Enterprise Linux system. Review the dependencies to ensure a successful installation.

The Performance Management server must be installed on a supported version of Red Hat Enterprise Linux. See http://ibm.biz/spcr-pmserver.

Linux dependencies

RPM dependencies
The Performance Management server uses Red Hat Package Manager (RPM) files to install the software.
The following example is the prerequisite scanner configuration file, which lists the dependencies that the RPMs have for a successful installation:
# Validate supported Operating Systems
OS Version=Red Hat Enterprise Linux 6.*,Red Hat Enterprise Linux 7.*
FRESH.Memory=7.0GB
FRESH.Disk=60GB
os.space.home=1GB
Temp=2-3GB
os.swapSize=2-4GB

os.dir.home=[dir:/home,type:permission]755+
#os.dir.opt=[dir:/opt/ibm,type:permission]755+
os.dir.tmp=[dir:/tmp,type:permission]777+

CpuArchitecture=x86_64
numLogicalCPU=2

# Check if RPM database is intact.
rpm.dbStatusCorrect=True

# Check if localhost is defined.
os.localhostInHostsFile=True

# Maximum number of user processes.
os.ulimit=[type:maxprocesseslimit]4096+
# Maximum number of open filesos.ulimit=[type:filedescriptorlimit]32768+
# Maximum size of core file 400MB+
os.ulimit=[type:corefilesizelimit]390000+

# DB2-related checks.
db2.isInstalled=False
db2.usersNotPresent=[sev:WARN]db2apm,db2fenc1,dasusr1,itmuser
db2.groupsNotPresent=[sev:WARN]db2iadm1,db2fadm1,dasadm1
db2.servicesNotPresent=DB2_db2apm,DB2_db2apm_1,DB2_db2apm_2,DB2_db2apm_END,db2c_db2apm
db2.servicesNotPresent=50000
os.kernelversion=2.6.16+
os.kernelsNotSupported=[sev:WARN]2.6.32-434;2.6.32-504.7.1

# Check for available ports
network.availablePorts.MINHTTP=80
network.availablePorts.MINHTTPS=443
network.availablePorts.APMUIHTTP=8080
network.availablePorts.APMUIHTTPS=9443
network.availablePorts.SERVER1HTTP=8090
network.availablePorts.SERVER1HTTPS=8091
network.availablePorts.OSLCPM=10001
network.availablePorts.FNGAIANDB=6414
network.availablePorts.FNEIFRCVR=9998
network.availablePorts.FNINTMSG=32105
network.availablePorts.SCRDERBYDB=1527
network.availablePorts.SCRJAVABKEND=12315
network.availablePorts.DB2=50000
network.availablePorts.RBACSERVER1=13245
network.availablePorts.RBACSERVER2=13246
network.availablePorts.RBACSERVER3=13247
network.availablePorts.RBACSERVER4=13248
network.availablePorts.MONGODB=27000
network.availablePorts.ZOOKEEPER=2181
network.availablePorts.KAFKA1=9092
network.availablePorts.KAFKA2=9989
network.availablePorts.OIDCHTTPS=8099
network.availablePorts.SPARKAAPPS1=[sev:WARN]7077
network.availablePorts.SPARKAAPPS2=[sev:WARN]6066
network.availablePorts.SPARKMASTER=[sev:WARN]8088
network.availablePorts.SPARKWORKER=[sev:WARN]8089
network.pingSelf=True

[OSType:LINUX]
os.package.bash=bash

[OSType:LINUX][OSArch:64-bit]
os.lib.libc_64=regex{libc\.so.*}
os.lib.libgcc_64=regex{libgcc.*\.so.*}
os.lib.libstdc++_64=regex{libstdc++\.so\.5}
os.lib.libstdc++_64=regex{libstdc++\.so\.6}

# Required for DB2
os.lib.libstdc++_32=regex{libstdc++\.so\.6}
os.lib.pam_64=regex{libpam\.so.*}
os.lib.pam_32=regex{libpam\.so.*}
os.package.sg3_utils=sg3_utils

# Required for Summarization and Pruning Agent
os.package.ksh=ks
For information on port names, see Table 1 and Table 2 in Performance Management server ports.

Without the required libraries and other software, the prerequisite scanner fails and displays a failure explanation, such as:
Expected                Property                Result      Found
regex(libstdc++.so.6    os.lib.libstdc++_32     FAIL        Unavailable   

A Red Hat Enterprise Linux client that is correctly configured to use the yum (Yellowdog Updater, Modified) package manager can resolve and install any missing dependencies that are required by the RPMs. For more information on yum commands, see What is yum? How do I use it?.

Tips for resolving unmet dependencies
When the prerequisite scanner returns errors because of failed dependencies, you can run the yum provides feature_name command to learn what is required, and the yum install feature_name command to install the missing dependency.
For example:
Error
The prerequisite scanner shows the following failure message:
error: Failed dependencies:
libstdc++.so.6 is needed by...
Command yum provides
Enter the following command:
yum provides libstdc++.so.6
The following report is displayed:
libstdc++-4.4.7-3.el6.i686 : GNU Standard C++ Library
Repo        : installed
Matched from:
Other       : Provides-match: libstdc++.so.6
Command yum install
Enter the following command to satisfy the missing feature:
yum install libstdc++-4.4.7-3.el6.i686
Command yum install
Enter the following command to install all prerequisites:
yum -y install --setopt=protected_multilib=false ksh libstdc++.i686 pam.i686 pam.x86_64 sg3_utils
Table 1. Sample error messages for failed dependencies on Linux and the possible resolution RPM
Error message Possible resolution
error: Failed dependencies: libstdc++.so.6 is needed by... rpm -Uhv libstdc++-4.4.6-4.el6.i686.rpm
error: Failed dependencies:
      libgcc_s.so.1 is needed by libstdc++-4.4.6-4.el6.i686
      libgcc_s.so.1(GCC_3.0) is needed by libstdc++-4.4.6-4.el6.i686
      libgcc_s.so.1(GCC_3.3) is needed by libstdc++-4.4.6-4.el6.i686
      libgcc_s.so.1(GCC_4.2.0) is needed by libstdc++-4.4.6-4.el6.i686
      libgcc_s.so.1(GLIBC_2.0) is needed by libstdc++-4.4.6-4.el6.i686
rpm -Uhv libgcc-4.4.6-4.el6.i686.rpm
error: Failed dependencies: compat-libstdc++-33(i686) is needed by... rpm -Uhv compat-libstdc++-33-3.2-69.el6.i686.rpm
Swap space dependency
Swap space is required for the Performance Management server installation, and should be 4 GB or more. If the system has configured swap space between 2 GB and 4 GB, the prerequisite scanner reports a warning. Installation can continue but the server might experience lower performance. If the system has fewer than 2 GB of swap space configured, the prerequisite scanner reports a FAIL condition. Best practice is to create or increase the swap space amount to meet the requirement.
Maximum number of user processes, open files, and core file size dependencies
The prerequisite scanner checks for the following limitations:
  • Maximum number of user processes, which is displayed as os.ulimit=[type:maxprocesseslimit]4096+. The operating system must allow a user to have at least 4096 processes. Below that value, the prerequisite scanner returns FAIL and the Performance Management server installation fails.
  • Maximum number of open files, which is displayed as os.ulimit=[type:filedescriptorlimit]32768+. The operating system must allow a user to have at least 32,768 open files. Below that value, the prerequisite scanner returns FAIL and the server installation fails.
  • Maximum size of a core file, which is displayed as os.ulimit=[type:corefilesizelimit]390000+. The operating system must allow a user to create a core dump of at least 390000 KB. Below that value, the prerequisite scanner returns FAIL and the Performance Management server installation fails.
Important: You must set or change the limits permanently rather than for the current shell session only by editing the /etc/security/limits.conf file. Then, the changes are applied to new sessions and processes. You must reboot your system to ensure that the changes occur. A suggested setup for the /etc/security/limits.conf file is shown here:
* soft nofile 32768
* hard nofile 65536
* soft  core  unlimited
As a root user, you do not need to adjust the ulimit for the maxprocesslimit because the default RHEL maxprocesslimit that is defined for the root user is sufficient to pass the prerequisite scanner check. To change the maxprocesseslimit, use the nproc variable in the /etc/security/limits.conf file.
Note: the * wildcard does not work for nproc due to the/etc/security/limits.d/90-nproc.conf security file.
The user must be specified, for example, as a root user, as shown here:
root soft nproc 16384 
root hard nproc 32768
Attention: If you use the following ulimit commands to set or change the ulimits, the updates are only temporary for the current user session.

To check the current system limits, you can issue the following commands:

  • ulimit -a returns all limits
  • ulimit -u returns the maximum number of processes available to a single user
  • ulimit -n returns the maximum number of open file descriptors
  • ulimit -c returns the maximum core file size

To increase the limit for the current shell session, you can issue the following commands:

  • ulimit -u new_limit sets the maximum number of processes. Example: ulimit -u 4096
  • ulimit -n new_limit sets the maximum number of open files descriptors. Example: ulimit -n 32768
  • ulimit -c new_limit sets the maximum core file size. Example: ulimit -c 390000

User Interface dependencies

Required libraries
Refer to the libraries listed under the heading # Required for CandleManage in the sample prerequisite configuration file.
Without the required libraries, the prerequisite scanner fails and displays a failure explanation.

DB2 dependencies

The prerequisite scanner checks that the DB2® dependencies are met.
Required libraries
Please refer to the libraries listed under the heading # Required for DB2 in the sample prerequisite configuration file. Without the required libraries, the prerequisite scanner fails and displays a failure explanation.

DB2 requires a Linux Kernel of version 2.6.16 or higher.

No previous installation of DB2
A DB2 database must not already exist on the system where you plan to install the Performance Management server.
Specific product users
If any of the following users exist on the system where you plan to install the Performance Management server, you must update default user password in the install.properties file, which is available in the root directory of the installation media:
  • itmuser
  • dasusr1
  • db2apm
  • db2fenc1
Kernel versions that are not supported for the Performance Management server or DB2 agent:
When you install the DB2 agent on the Performance Management server and on some VMs, certain kernel versions are not supported. The following kernel versions are not supported:
  • From 2.6.32-434 to 2.6.32-504.7.1.

    If the Linux kernel matches this range, a warning error is displayed. As a result, DB2 might hang and you must upgrade to one of the supported versions. Any other kernel starting from 2.6.16 or higher is valid.

Summarization and Pruning Agent dependencies

Required libraries
The KornShell (ksh) package is required for the Summarization and Pruning Agent. If it is not present, the prerequisite scanner fails and displays a failure explanation.

For more information, see Prerequisite scanner properties.