vmax probe not collecting metrics from any configured devices
search cancel

vmax probe not collecting metrics from any configured devices

book

Article ID: 35318

calendar_today

Updated On:

Products

DX Unified Infrastructure Management (Nimsoft / UIM) CA Unified Infrastructure Management On-Premise (Nimsoft / UIM) CA Unified Infrastructure Management SaaS (Nimsoft / UIM)

Issue/Introduction

The vmax probe is not able to monitor the configured EMC VMAX storage systems.  The error logged in the vmax.log file is similar to the following:

2015-11-28 21:11:40,718 [CommandPoolExecutor_0_13408] ERROR Error while processing 'symcfg list -v -dir all -out xml'
 com.bt.probes.exception.CommandException: Command symcfg list -v -dir all -out xml error
2015-11-28 21:11:40,719 [CommandPoolExecutor_0_13408] INFO  PERF: DONE:  Pass-000  Run Command: symcfg list -v -dir all -out xml   {Seconds=0.001}
2015-11-28 21:11:40,719 [CommandPoolExecutor_0_13408] INFO  PERF: Memory Status: Max=455   CurrentAllocated=256   Free=196   Used=60 MB
2015-11-28 21:11:40,719 [Thread-13395] INFO  PERF: DONE:  ----- Pass-000   Run CommandGroup: test   {Seconds=0.870}
2015-11-28 21:11:40,719 [Thread-13395] INFO  Found 0 arrays

The vmax probe uses EMC API commands to talk to the vmax servers called Solutions Enabler CLI.  If these commands do not work, then the probe will not be able to collect the metrics from the devices.

The Nimsoft VMAX Monitoring Solution Enabler Setup document cnvNimsoftVMAXSESetupv12.pdf (attached to the KB) provides instructions for configuring the EMC Solutions Enabler, which allows you to run commands remotely, including from a host that does not have a physical connection to a Symmetrix VMAX.

When setting up the client environment, the following System environment variables must be set:

SYMCLI_CONNECT = SYMAPI_SERVER
SYMCLI_CONNECT_TYPE = REMOTE

If these are missing/incorrect, the EMC API commands will not work.

 

Environment

DX UIM 20.4.x / 23.4.x

Vmax probe any version

Cause

  • SYMCLI_CONNECT was NOT set as a system environment variable

Resolution

Client side for the EMC Solutions Enabler:

  1. Install Solutions Enabler if it is not already installed.

  2. Edit the netcnfg file by creating a line or uncommenting the existing line as follows:

    Service_name - TCPIP Server_node_name Server_IP_Address port_number

    Note: The default port is 2707.

    For example, if your server name is EMC123 and the IP address is  ###.##.##.##, this line would be:

    SYMAPI_SERVER - TCPIP EMC123 ###.##.##.## 2707

  3. Define the System environment variables as follows, by right-clicking on My Computer -> Advanced tab -> Environment Variable -> New (under System variables):

    SYMCLI_CONNECT = SYMAPI_SERVER

    SYMCLI_CONNECT_TYPE = REMOTE

Additional Information

If the Nimsoft Robot Watcher Service "logon as" user is not Local System or a user with administrator privileges, the EMC API commands may not work.

Following an initial installation of EMC Solutions Enabler, most SYMCLI commands can only be run as a root user on UNIX systems and by an administrator on Windows systems. 

To allow other users to execute these commands (for example symcfg discover), you must grant them write access to the following directories and their contents: 

<SYMAPI_HOME>/config 
<SYMAPI_HOME>/db 

Similarly, non-root users on UNIX and non-administrators on Windows must be authorized to explicitly (using stordaemon) or implicitly (using ordinary commands) make use of the Solutions Enabler daemons. This is done by adding an entry for a specific user in the file <SYMAPI_HOME>/config/daemon_users. 

For example: 
# Allow user 'jones' to make use of the storapid daemon: 
jones storapid 
# A ‘*’ character at the end of a name can be used 
# as a simple wildcard. The following allows user 'jones' 
# to make use of any of the Solutions Enabler daemons: 
jones stor* 

The <SYMAPI_HOME>/config/README.daemon_users file installed with Solutions Enabler provides additional information on this topic.  See http://www.emclink.org/collateral/TechnicalDocument/docu43568.pdf for further information.

IMPORTANT:

Note that IF the Solutions Enabler is installed on the same machine as that of the probe, you MUST enter "localhost" in the "Solution Enablers Service Field" of the probe.

From the vmax probe help doc:
===========================
Solutions Enabler Service Name
Enter the name of the Solutions Enabler Service Name. Enter localhost for locally connected VMAX systems.

vmax (EMC VMAX Storage Systems Monitoring) Release Notes

Symptoms encountered when this has not been configured as described above include:

a) empty *.xml file output from running the symcfg command from the probe

b) errors in the vmax log - example below.

Note that the host parameter at the end of the command should show localhost.XML NOT the host/FQDN, e.g.,

'/opt/nimsoft/probes/storage/vmax/data/<hostname>.<example>.com.controllers.xml'
2016-10-10 15:51:47,605 [CommandPoolExecutor_0_26] ERROR Error output while running command
'symcfg list -v -dir all -out xml' '/opt/nimsoft/probes/storage/vmax/data/<hostname>.<example>.com.controllers.xml' 2016-10-10 15:51:47,605 [CommandPoolExecutor_0_26] ERROR 2016-10-10 15:51:47,606 [CommandPoolExecutor_0_26] ERROR Error while processing 'symcfg list -v -dir all -out xml' com.bt.probes.exception.CommandException: Error output while running command 'symcfg list -v -dir all -out xml'
'/opt/nimsoft/probes/storage/vmax/data/<hostname>.<example>.com.controllers.xml
at com.bt.probes.storage.vmax.VmaxCommandValidator.validate(VmaxCommandValidator.java:47)
	at com.bt.probes.command.Command.processResult(Command.java:268)
	at com.bt.probes.command.Connection.processResults(Connection.java:320)
	at com.bt.probes.command.Connection.runACommandWithTwoPasses(Connection.java:304)
	at com.bt.probes.command.Connection.access$200(Connection.java:34)
	at com.bt.probes.command.Connection$CommandRunnable.run(Connection.java:280)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

Once localhost is added, the symcfg command when run should show something like:

2015-12-03 10:13:39,795 [CommandPoolExecutor_0_23742] INFO Running command symcfg list -v -dir all -out xml CLI Dir
D:\Program Files\EMC\SYMCLI\bin data dir D:\Nimsoft\probes\storage\vmax\data
D:\Nimsoft\probes\storage\vmax\data\localhost.controllers.xml

Attachments

cnvNimsoftVMAXSESetupv12.pdf get_app