Troubleshooting the sensor

This topic describes common problems that occur with the IBM® Tivoli® Storage Productivity Center sensor and presents solutions for those problems.

Problems connecting to the Tivoli Storage Productivity Center database cause sensor failure

Problem
The sensor fails due to problems connecting to the Tivoli Storage Productivity Center database.
Solution
Verify that the DB2® credentials of the Tivoli Storage Productivity Center database have been entered.

Host computers are not discovered

Problem
Host computers are not discovered.
Solution
The sensor only discovers host systems that are managed by the Tivoli Storage Productivity Center agent. In addition, verify that the attribute discoverHosts is true for the sensor.

Discovery takes a long time to run

Problem
The discovery takes a long time to run.
Solution
If the attribute discoverHosts is true, check if the HostStorageSensor sensor is enabled and disable it. If both sensors are enabled, some of the storages resources are discovered twice.

If the attribute discoverSwitch is true, check if the FCSwitchSensor sensor is enabled and disable it. If both sensors are enabled, some of the storages resources are discovered twice.

This problem can also happen if some of the queries that are enabled, generate a large volume of data. For example, some of the queries that can generate large volumes of data are: ARRAY_VOLUME, HOST_SCSI_PATH, and SWITCH_PORT. By default, these queries are enabled.

Computer systems are not reconciled

Problem
Computer systems discovered by the TPCStorageSensor do not reconcile with the same computer systems discovered by the computer system sensors.
Solution
Computer systems in a storage environment can be physically partitioned or virtualized. If these systems are discovered by the TPCStorageSensor, and also by a computer system sensor, the two sets of discovered resources are not reconciled with each other. For example:
  • Logical partitions (LPARs) on pSystems discovered by TPCStorageSensor and AixComputerSystemSensor
  • Virtual I/O Server (VIOS) discovered by TPCStorageSensor and HMC sensor
  • Node partitions (NPARs) on HP systems discovered by TPCStorageSensor and HpUxComputerSystemSensor
  • Zones on Solaris systems discovered by TPCStorageSensor and SunSparcComputerSystemSensor

To ensure that there is no duplication of computer systems, you must select the duplicate computer systems and merge them manually.

Out-of-memory error when HOST_SCSI_PATH or HOST_SCSI_AGENT_LESS query is enabled

Problem
Depending on the storage environment, the HOST_SCSI_PATH and HOST_SCSI_AGENT_LESS queries can return a large result set, which might lead to an out-of-memory error.
Solution
The sensor caps the number of rows it processes for the HOST_SCSI_PATH and HOST_SCSI_AGENT_LESS queries to a default value of 20,000 in order to prevent out-of-memory errors. The value is based on:
  • Default heap size of the discover JVM (which is 1024 MB)
  • Default agent timeout value (which is 600000 ms)
In addition, you can configure the sensor to prevent out-of-memory messages, when the HOST_SCSI_PATH or HOST_SCSI_AGENT_LESS query is enabled by using one of the following methods:
Modify the default number of rows processed by the sensor
Edit the COLLATION_HOME/osgi/plugins/com.ibm.cdb.discover.sensor.app.srm.tpc_7.2.0/tpc.properties file and add the following property:
com.ibm.cdb.discover.app.srm.tpc.sensor.HOST_SCSI_PATH.maxrows=X
com.ibm.cdb.discover.app.srm.tpc.sensor.HOST_SCSI_AGENT_LESS.maxrows=X
where X is the maximum number of rows the sensor processes for this query.

If this value is greater than 20,000:

  • Increase the heap size allocated for the Discover JVM. Edit the $COLLATION_HOME/etc/collation.properties and change the com.collation.Discover.jvmargs.ibm property.
    For example, to set the heap size to 1824 MB, add the following line:
    com.collation.Discover.jvmargs.ibm=-Xdisableexplicitgc -Xmx1824m 
  • Increase the agent timeout for the Discover JVM. In the $COLLATION_HOME/etc/collation.properties file, add the following property, where value is the number of milliseconds allowed for the sensor to run:
    com.collation.discover.agent.TPCStorageSensor.timeout=value

    If you do not specify a value, the default value of 600000 is used.

  • Restart Agile Service Manager.
Restrict the scope of storage arrays and Computer systems discovered
The number of rows returned by the HOST_SCSI_PATH and HOST_SCSI_AGENT_LESS queries can be reduced by restricting the scope of the arrays and computer systems discovered.
After a discovery using the sensor, review the $COLLATION_HOME/log/sensors/runId/TPCStorageSensor-IP-PORT.log(.N) to see the number of SCSI paths that exist per storage array IP address and per host IP address. The following text is an example of the contents of the log file:
SCSI PATH statistics by host ip address :
ip#1/4 with ipAddress 10.3.41.230 has 160 valid scsi paths
ip#2/4 with ipAddress 10.3.41.289 has 527 valid scsi paths
ip#3/4 with ipAddress 10.3.43.19 has 108 valid scsi paths
ip#4/4 with ipAddress 10.3.42.211 has 160 valid scsi paths

SCSI PATH statistics by array ip address:
ip#1/2 with ipAddress 10.0.15.201 has 693 valid scsi paths
ip#2/2 with ipAddress 10.0.17.2 has 736 valid scsi paths
Run a discovery with the Tivoli Storage Productivity Center server in a scope of its own
To get the complete result set of the HOST_SCSI_PATH and HOST_SCSI_AGENT_LESS queries and prevent out-of-memory errors:
  1. Create a Scope Set containing only the Tivoli Storage Productivity Center server (with no other targets).
  2. Create a discovery profile with only the TPCStorageSensor and its dependent sensors enabled.
  3. Start the discovery of the scope set containing the Tivoli Storage Productivity Center server using the new profile.

The sensor does not discover any objects due to DNS lookup problems

Problem
The IBM Tivoli Storage Productivity Center sensor finishes with no objects discovered and the following warning is issued:
CTJTD0952W None of the DB2 access list entries are able to connect to the TPC database at URL: jdbc:db2://<host>:<port>/<database>.
Solution
If <host>, which is read from the data/config/server.config file on your discovery target, is an FQDN or a host name (not a plain IP address), Agile Service Manager must be able to resolve it. Configure your DNS in such a way that the nslookup <host> command executed on your Agile Service Manager discovery server returns a resolved IP.