VPlex: monitor collect command fails with error "Firmware returned unrecognized statistic 'fe-init ops |'. This is a bug."
Summary: Custom performance monitors do not collect data after they are created. The sink file remains empty and the "monitor collect" command generates an error.
Symptoms
The creation of custom Vplex performance monitors related to frontend statistical collection generates an error. It is specific to the following host initiator performance stats that were introduced in Geosynchrony 6.x
Host initiator performance stats new to Geosynchrony 6.x
host-init.ops initiator-ports counter counts/s
host-init.ops-act initiator-ports reading counts
host-init.read initiator-ports counter KB/s
host-init.read-avg-lat initiator-ports period-average us
host-init.unmap-avg-lat initiator-ports period-average us
host-init.unmap-ops initiator-ports counter counts/s
host-init.write initiator-ports counter KB/s
host-init.write-avg-lat initiator-ports period-average us
Sample commands to illustrate the issue:
To create-
monitor create -p 5min -n director-1-1-A_host-init-stats -d director-1-1-A -s host-init.* -t /clusters/cluster-1/exports/initiator-ports/*
To add sink file -
monitor add-file-sink -m director-1-1-A_host-init-stats -f /var/log/VPlex/cli/reports/director-1-1-A_host-init-stats.csv
To manually trigger data collection -
monitor collect -m director-1-1-A_host-init-stats
The error -
monitor collect: Evaluation of <<monitor collect -m director-1-1-A_host-init-stats>> failed.
cause: Failed to collect data.
cause: Firmware returned unrecognized statistic 'fe-init ops |'. This is a bug.
Cause
Resolution
Workaround:
When creating the monitors, ensure that you exclude unregistered initiator ports. You can do this by using a wildcard (*) value that excludes unregistered initiators. See the example listed below.
Alternatively, if you register all of the unregistered initiators this will also work around the issue. (navigate to "/clusters/cluster-x/exports/initiators" and use the "register" command as per the Vplex CLI guide)
Example:
VPlexcli:/> ll /clusters/cluster-1/exports/initiator-ports/
/clusters/cluster-1/exports/initiator-ports:
Name port-wwn node-wwn type Target Port Names
----------------------------- ------------------ ------------------ ------------ --------------------------
HOST1_HBA0 0x5001438028xxxxxxx 0x50014380xxxxxx default
HOST1_HBA1 0x5001438021xxxxxxx 0x50014380xxxxxx default
HOST2_HBA0 0x500143801xxxxxxxx 0x50014380xxxxxx default
UNREGISTERED-0x10000000222xx 0x1000000022222xxx 0x20000000c33xxx default P0000000046E006E4-A0-Fxxx,
P0000000046F00xxx-B0-FC01
UNREGISTERED-0x50012481044444xxx 0x50012481044444xx 0x5001248112121xxx RecoverPoint
Based on the above output, you would need to create monitors using the following syntax:
monitor create -p 5min -n director-1-1-A_host-init-stats -d director-1-1-A -s host-init.* -t /clusters/cluster-1/exports/initiator-ports/HOST*
This will include all the initiators that are registered (starting with "HOST") and will exclude the unregistered initiators.