Knowledge Base

Storage Analyzer KM: Verifying Prerequisites (Credentials and Connectivity)

KB1297 - Feb 15, 2023 - Last reviewed on Jun 02, 2023

Type: Best Practice

Description: This articles explains how to verify that the Storage Analyzer KM can connect to your storage systems to collect capacity and performance metrics.

Additional Keywords: Storage Analyzer KM, Troubleshooting Tool

Related Topics

Introduction

Because the Storage Analyzer KM requires specific credentials and permissions to collect information about your storage systems, Sentry Software recommends that you perform the following verifications before configuring the monitoring of your storage infrastructure:

To verify that the Storage Analyzer KM can connect to your storage systems, you can either use:

In this article, you will learn how to check that the Storage Analyzer KM can connect to your storage systems with the following adapters:

Ceph (REST)

The Ceph (REST) adapter relies on the Ceph REST API to collect performance and capacity metrics for Ceph platforms.

To make sure the prerequisites are met:

  1. Run the /api/auth request to obtain a valid token to be passed together with every subsequent API request in the Authorization HTTP header:

     curl -k  -H "accept: */*" -H "Content-Type: application/json" -d "{\"username\":\"<username>\",\"password\":\"<password>\"}" -X POST -k https://<hostname>:<port>/api/auth

    where <username>, <password>, <hostname>, <port> should be replaced with appropriate values. Port is 7000 by default.

    Example:

     curl -k  -H "accept: */*" -H "Content-Type: application/json" -d "{\"username\":\"dev\",\"password\":\"xxxxx\"}" -X POST -k https://ceph-storage1.internal.sentrysoftware.net:8443/api/auth

    Expected output:

     {"username": "dev", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJjZXBoLWRhc2hib2FyZCIsImlhdCI6MTY3NTc1OTk2MywidXNlcm5hbWUiOiJkZXYiLCJqdGkiOiI1YzExOWVkYi1kZDNlLTQxNjMtODk4OC03YjZmY2UyN2I5ZDAiLCJleHAiOjE2NzU3ODg3NjN9.-2HFaqjqFrObtaNgdFFM6Gac2dB1nglp_b-_bAF2XWo", "permissions": {"dashboard-settings": ["create", "delete", "read", "update"], "monitor": ["create", "delete", "read", "update"], "log": ["create", "delete", "read", "update"], "rgw": ["create", "delete", "read", "update"], "iscsi": ["create", "delete", "read", "update"], "manager": ["create", "delete", "read", "update"], "grafana": ["create", "delete", "read", "update"], "nfs-ganesha": ["create", "delete", "read", "update"], "prometheus": ["create", "delete", "read", "update"], "hosts": ["create", "delete", "read", "update"], "rbd-image": ["create", "delete", "read", "update"], "config-opt": ["create", "delete", "read", "update"], "rbd-mirroring": ["create", "delete", "read", "update"], "cephfs": ["create", "delete", "read", "update"], "osd": ["create", "delete", "read", "update"], "pool": ["create", "delete", "read", "update"], "user": ["create", "delete", "read", "update"]}}
  2. Run the GET /api/summary request using the token previously obtained:

     curl -k -H "Content-Type: application/json" -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJjZXBoLWRhc2hib2FyZCIsImlhdCI6MTY3NTc1OTk2MywidXNlcm5hbWUiOiJkZXYiLCJqdGkiOiI1YzExOWVkYi1kZDNlLTQxNjMtODk4OC03YjZmY2UyN2I5ZDAiLCJleHAiOjE2NzU3ODg3NjN9.-2HFaqjqFrObtaNgdFFM6Gac2dB1nglp_b-_bAF2XWo" -X GET https://ceph-storage1:8443/api/summary
  3. You should obtain a result similar to this one:

    {"rbd_mirroring": {"errors": 0, "warnings": 0}, "finished_tasks": [], "executing_tasks": [], "health_status": "HEALTH_OK", "version": "ceph version 14.2.7 (3d58626ebeec02d8385a4cefb92c6cbc3a45bfe8) nautilus (stable)", "mgr_id": "ceph-storage1", "have_mon_connection": false, "mgr_host": "https://ceph-storage1.internal.sentrysoftware.net:8443/"}

Dell EMC Isilon (REST)

The Dell EMC Isilon (REST) adapter relies on the Isilon OneFS API to collect performance and capacity metrics for Dell EMC Isilon platforms.

You can run the following command to retrieve the latest version of the API:

curl -k --header "Content-Type: application/json" -u <username>:<password> -X GET https://<hostname>:<port>/platform/latest

where <username>, <password>, <hostname>, <port> should be replaced with appropriate values. Port is 8080 by default.

Example:

curl -k --header "Content-Type: application/json" -u sam:xxxxxxx -X GET https://10.0.21.200:8080/platform/latest

Expected output:

{
"latest" : "5"
}

Dell EMC PowerStore (REST)

The Dell EMC PowerStore (REST) adapter relies on the PowerStore Management REST API to collect performance and capacity metrics.

Run the following command to obtain information about the current session:

curl -k -u <username>:<password>  https://<hostname>/api/rest/login_session?select=id

where <username>, <password>, and <hostname> should be replaced with appropriate values.

Example:

curl -k -u dev:xxxxx  https://10.0.10.178/api/rest/login_session?select=id

Expected ouput:

[{"id":"80447f1c-1db7-4aed-b956-a288e01a01ce"}]

Run the following command to obtain information about the cluster:

curl -k -u <username>:<password>  https://<hostname>/api/rest/cluster?select=global_id,name

where <username>, <password>, and <hostname> should be replaced with appropriate values.

Example:

curl -k -u dev:xxxxx  https://10.0.10.178/api/rest/cluster?select=global_id,name

Expected output:

[{"global_id":"PS7220453a117d","name":"emc-powerstore"}]

Dell EMC PowerVault (REST)

The Dell EMC PowerVault (REST) adapter relies on the PowerVault API to collect performance and capacity metrics for Dell EMC PowerVault platforms.

To verify that you can connect to the PowerVault API:

  1. Use this online encryption tool to encrypt your username and password. The format required is username_password. In the example below, the username is manage and the password is Dell@1234

Encrypting the Dell EMC PowerVault credentials

  1. Run the following /login/<encrypted_password> request:

     curl -k -H "datatype: json"  -d "{\"<username>_<password>\"}" -X GET https://<hostname>:<port>/api/login/80db12668ba16682514266f0504a2f37d8382fd831722e494e96bc6f70b2584b

    Example:

    curl -k -H "datatype: json"  -d "{\"manage_Dell@1234\"}" -X GET https://dell-pv-01/api/login/80db12668ba16682514266f0504a2f37d8382fd831722e494e96bc6f70b2584b

    Expected output:

    {
     "status" : [ {
       "object-name" : "status",
       "meta" : "/meta/status",
       "response-type" : "Success",
       "response-type-numeric" : 0,
       "response" : "15773ed9990c75808aba5074832607d3",
       "return-code" : 1,
       "component-id" : "",
       "time-stamp" : "2022-08-25 08:29:31",
       "time-stamp-numeric" : 1661416171
     } ]
    }

Dell EMC SC Series (REST)

The Dell EMC SC Series (REST) adapter relies on the Dell EMC SC Series REST API to collect performance and capacity metrics for Dell EMC SC Series platforms.

  1. Run the following command to obtain a cookie:

    curl --insecure --header "Content-Type:application/json" --header "Accept:application/json" --header "x-dell-api-version:3.0" --user <username>:<password> -I -X POST https://<hostname>:<port>/api/rest/ApiConnection/Login

where <username>, <password>, <hostname>, <port> should be replaced with appropriate values. Port is 3033 by default.

Example:

curl --insecure --header "Content-Type:application/json" --header "Accept:application/json" --header "x-dell-api-version:3.0" --user admin:xxxxx -I -X POST https://10.0.15.244:3033/api/rest/ApiConnection/Login
HTTP/1.1 200 OK
Expires: 0
Cache-Control: no-cache, no-store, must-revalidate
X-Powered-By: Undertow/1
Set-Cookie: JSESSIONID=pWwMUh_WXxwuzlcEZ3SFFx6B.sup-pa-win; path=/api
Server: WildFly/8
Pragma: no-cache
Date: Fri, 20 Nov 2020 10:28:04 GMT
Connection: keep-alive
Vary: Accept-Encoding
Transfer-Encoding: chunked
Content-Type: application/json

In our example, the cookie (Set-Cookie) is JSESSIONID=pWwMUh_WXxwuzlcEZ3SFFx6B.sup-pa-win

  1. Run the following request to get information about the Storage Center using the cookie previously obtained:

    curl --insecure --header "Content-Type:application/json" --header "Accept:application/json" --header "x-dell-api-version:3.0" --header Cookie:"JSESSIONID=pWwMUh_WXxwuzlcEZ3SFFx6B.sup-pa-win" -X GET https://10.0.15.244:3033/api/rest/StorageCenter/StorageCenter

    Expected output:

    [{"name":"SC79900","location":"","version":"7.2.31.3","connected":true,"serialNumber":79900,"userName":"root","serviceTag":"2JBHXJ2","notes":"","fileConfigured":false,"managementIp":"10.0.11.105","chassisPresent":false,"operationMode":"Normal","updateStatus":"CheckUpdateFailed","portsBalanced":true,"userConnected":true,"modelSeries":"Sc9000Series","managementDhcpUniqueId":"","userPasswordExpired":false,"flashOptimizedConfigured":false,"userPasswordExpiring":false,"managementIpv6Address":"::","nonFlashOptimizedConfigured":true,"raidRebalanceRunning":false,"connectionError":"","managementIpv6AddressPrefix":96,"dataProgressionRunning":false,"hostOrIpAddress":"10.0.11.105","status":"Up","statusMessage":"","scName":"SC79900","scSerialNumber":79900,"objectType":"StorageCenter","instanceId":"79900","instanceName":"SC79900"}]
  2. Run the following request to obtain capacity information:

    curl --insecure --header "Content-Type:application/json" --header "Accept:application/json" --header "x-dell-api-version:3.0" --header Cookie:"JSESSIONID=pWwMUh_WXxwuzlcEZ3SFFx6B.sup-pa-win" -X GET https://10.0.15.244:3033/api/rest/StorageCenter/StorageCenterStorageUsage/79900/

    Expected output:

    {"time":"2020-11-19T17:33:54+01:00","freeSpace":"16171329134592 Bytes","allocatedSpace":"939523571712 Bytes","configuredSpace":"261448794112 Bytes","usedSpace":"31911985152 Bytes","storageAlertThreshold":10,"badSpace":"0 Bytes","systemSpace":"805453824 Bytes","availableSpace":"16203241119744 Bytes","savingVsRaidTen":"22706388992 Bytes","systemDataEfficiencyRatio":65.1874,"systemDataReductionRatio":0.0,"oversubscribedSpace":"0 Bytes","alertThresholdSpace":"14582917007360 Bytes","scName":"SC79900","scSerialNumber":79900,"objectType":"StorageCenterStorageUsage","instanceId":"79900","instanceName":"Storage Center 79900"}

Dell EMC ScaleIO (REST)

The Dell EMC ScaleIO (REST) adapter relies on the ScaleIO API to collect performance and capacity metrics for Dell EMC ScaleIO platforms.

  1. Run the following request to obtain the authentication token to be used in subsequent requests:

    curl -k -u <username>:<password> https://<hostname>:<port>/api/login

where <username>, <password>, <hostname>, <port> should be replaced with appropriate values. Port is 443 by default.

Example:

curl -k -u admin:xxxxxx https://10.0.10.108/api/login

Expected output:

YWRtaW46MTYwNTgwNjY3MTU2ODphYTEwYjFkMzE4OGViOWRlN2EzMjEyZjg5OTljMTVhNQ
  1. Run the following request to obtain information about your ScaleIO system:
curl -k -u <username>:<auth_token> https://<hostname>:<port>/api/types/System/instances

Example:

curl -k -u admin: YWRtaW46MTYwNTgwNjY3MTU2ODphYTEwYjFkMzE4OGViOWRlN2EzMjEyZjg5OTljMTVhNQ
https://10.0.10.108/api/types/System/instances

Expected output:

  [ {
    "daysInstalled" : 575,
    "maxCapacityInGb" : "Unlimited",
    "capacityTimeLeftInDays" : "Unlimited",
    "enterpriseFeaturesEnabled" : true,
    "isInitialLicense" : true,
    "defaultIsVolumeObfuscated" : false,
    "restrictedSdcModeEnabled" : false,
    "restrictedSdcMode" : "None",
    "swid" : "",
    "systemVersionName" : "DellEMC ScaleIO Version: R2_5.0.254",
    "capacityAlertHighThresholdPercent" : 80,
    "capacityAlertCriticalThresholdPercent" : 90,
    "remoteReadOnlyLimitState" : false,
    "upgradeState" : "NoUpgrade",
    "mdmManagementPort" : 6611,
    "sdcMdmNetworkDisconnectionsCounterParameters" : {
      "shortWindow" : {
        "windowSizeInSec" : 60,
        "threshold" : 300
      },
      "mediumWindow" : {
        "windowSizeInSec" : 3600,
        "threshold" : 500
      },
      "longWindow" : {
        "windowSizeInSec" : 86400,
        "threshold" : 700
      }

Dell EMC Unity (REST)

The Dell EMC Unity (REST) adapter relies on the Unisphere Management REST API to collect performance and capacity metrics for Dell EMC Unity platforms.

Run the following request to obtain basic information about your system:

curl -k -H "Content-Type: application/json" -H "Accept: application/json" -H "X-EMC-REST-CLIENT: true" -u <username>:<password> -X GET https://<hostname>:<port>/api/types/basicSystemInfo/instances

where <username>, <password>, <hostname>, and <port> should be replaced with appropriate values. Port is 443 by default.

Example:

curl -k -H "Content-Type: application/json" -H "Accept: application/json" -H "X-EMC-REST-CLIENT: true" -u admin:xxxxxx -X GET https://emc-unity/api/types/basicSystemInfo/instances

Expected output:

{"@base":https://emc-unity/api/types/basicSystemInfo/instances?per_page=2000,"updated":"2023-02-07T06:05:00.277Z","links":[{"rel":"self","href":"&page=1"}],"entries":[{"@base":https://emc-unity/api/instances/basicSystemInfo,"updated":"2023-02-07T06:05:00.277Z","links":[{"rel":"self","href":"/0"}],"content":{"id":"0","model":"Unity 300F","name":"emc-unity","softwareVersion":"5.2.1","softwareFullVersion":"Unity 5.2.1.0 (Release, Build 013, 2022-06-27 14:49:13, 5.2.1.0.5.013)","apiVersion":"12.0","earliestApiVersion":"4.0"}}]}

Dell EMC VMAX (REST)

The Dell EMC VMAX (REST) adapter relies on the Dell EMC Unisphere REST API v9.1 or higher to collect performance and capacity metrics for Dell EMC VMAX and PowerMax platforms.

Run the following command to obtain information about your system:

curl -k -H "Content-Type: application/json" -H "Accept: application/json" -u <username>:<password> -X GET https://<hostname>:<port>/univmax/restapi/91/system/symmetrix

where <username>, <password>, <hostname>, and <port> should be replaced with appropriate values. Port is 8443 by default.

Example:

curl -k -H "Content-Type: application/json" -H "Accept: application/json" -u smc:xxxxxx -X GET https://10.0.13.28:8443/univmax/restapi/91/system/symmetrix

Expected output:

{"symmetrixId":["000297800620"],"num_of_symmetrix_arrays":1,"success":true}

Dell EMC VMAX (WBEM)

The Dell EMC VMAX (WBEM) adapter relies on the EMC SMI-S Agent (ECOM) to collect capacity and performance metrics for Dell EMC VMAX platforms.

To test the connection to the EMC SMI-S Agent:

  1. Download the WBEM Troubleshooting tool (WBEM-Troubleshooting-Tool.jar) available on Sentry Software's Website

  2. Run the troubleshooting tool as described in the KB1163

  3. Enter the SMI-S provider hostname/IP and credentials.
  4. Select EMC CLARiiON/Symmetrix as the platform. Namespace should be automatically set to root/emc

  5. Run these 2 WBEM queries:

     SELECT CreationClassName,Tag,ElementName,Model,Manufacturer,SerialNumber,EMCSerialNumber,\_\_Path FROM EMC_ArrayChassis
     SELECT EMCPortName,PermanentAddress,PortType,Speed,OperationalStatus,\_\_Path FROM EMC_FrontEndFCPort

Testing the connection to the EMC SMI-S Agent with Sentry Software's troubleshooting tool

Queries should return the following output:

  Request #0 : [SELECT CreationClassName,Tag,ElementName,Model,Manufacturer,SerialNumber,EMCSerialNumber,__Path FROM EMC_ArrayChassis]
  Result #0 : 1 row
  CreationClassName     Tag     ElementName     Model     Manufacturer     SerialNumber     EMCSerialNumber     __Path
  Symm_ArrayChassis     SYMMETRIX-+-000297800620     000297800620     VMAX250F     EMC Corporation     000297800620         Symm_ArrayChassis.CreationClassName="Symm_ArrayChassis",Tag="SYMMETRIX-+-000297800620"

  Time to complete request #0 : 0.114 seconds.
  [Back to top]

  Request #1 : [SELECT EMCPortName,PermanentAddress,PortType,Speed,OperationalStatus,__Path FROM EMC_FrontEndFCPort]
  Result #1 : 12 rows
  EMCPortName     PermanentAddress     PortType     Speed     OperationalStatus     __Path
  FA-1D:4     50000975A809B004     10     18296560688     2|32769     Symm_FrontEndFCPort.CreationClassName="Symm_FrontEndFCPort",DeviceID="FA-1D-+-4",SystemCreationClassName="Symm_StorageProcessorSystem",SystemName="SYMMETRIX-+-000297800620"
  FA-1D:5     50000975A809B005     10     18296560688     2|32769     Symm_FrontEndFCPort.CreationClassName="Symm_FrontEndFCPort",DeviceID="FA-1D-+-5",SystemCreationClassName="Symm_StorageProcessorSystem",SystemName="SYMMETRIX-+-000297800620"
  FA-1D:6     50000975A809B006     10     18296560688     2|32769     Symm_FrontEndFCPort.CreationClassName="Symm_FrontEndFCPort",DeviceID="FA-1D-+-6",SystemCreationClassName="Symm_StorageProcessorSystem",SystemName="SYMMETRIX-+-000297800620"
  FA-1D:7     50000975A809B007     10     18296560688     2|32769     Symm_FrontEndFCPort.CreationClassName="Symm_FrontEndFCPort",DeviceID="FA-1D-+-7",SystemCreationClassName="Symm_StorageProcessorSystem",SystemName="SYMMETRIX-+-000297800620"
  FA-1D:32     50000975A809B020     10     1143535043     2|32769     Symm_FrontEndFCPort.CreationClassName="Symm_FrontEndFCPort",DeviceID="FA-1D-+-32",SystemCreationClassName="Symm_StorageProcessorSystem",SystemName="SYMMETRIX-+-000297800620"
  FA-1D:33     50000975A809B021     10     1143535043     2|32769     Symm_FrontEndFCPort.CreationClassName="Symm_FrontEndFCPort",DeviceID="FA-1D-+-33",SystemCreationClassName="Symm_StorageProcessorSystem",SystemName="SYMMETRIX-+-000297800620"
  FA-2D:4     50000975A809B044     10     18296560688     8     Symm_FrontEndFCPort.CreationClassName="Symm_FrontEndFCPort",DeviceID="FA-2D-+-4",SystemCreationClassName="Symm_StorageProcessorSystem",SystemName="SYMMETRIX-+-000297800620"
  FA-2D:5     50000975A809B045     10     18296560688     2|32769     Symm_FrontEndFCPort.CreationClassName="Symm_FrontEndFCPort",DeviceID="FA-2D-+-5",SystemCreationClassName="Symm_StorageProcessorSystem",SystemName="SYMMETRIX-+-000297800620"
  FA-2D:6     50000975A809B046     10     18296560688     2|32769     Symm_FrontEndFCPort.CreationClassName="Symm_FrontEndFCPort",DeviceID="FA-2D-+-6",SystemCreationClassName="Symm_StorageProcessorSystem",SystemName="SYMMETRIX-+-000297800620"
  FA-2D:7     50000975A809B047     10     18296560688     2|32769     Symm_FrontEndFCPort.CreationClassName="Symm_FrontEndFCPort",DeviceID="FA-2D-+-7",SystemCreationClassName="Symm_StorageProcessorSystem",SystemName="SYMMETRIX-+-000297800620"
  FA-2D:32     50000975A809B060     10     1143535043     2|32769     Symm_FrontEndFCPort.CreationClassName="Symm_FrontEndFCPort",DeviceID="FA-2D-+-32",SystemCreationClassName="Symm_StorageProcessorSystem",SystemName="SYMMETRIX-+-000297800620"
  FA-2D:33     50000975A809B061     10     1143535043     2|32769     Symm_FrontEndFCPort.CreationClassName="Symm_FrontEndFCPort",DeviceID="FA-2D-+-33",SystemCreationClassName="Symm_StorageProcessorSystem",SystemName="SYMMETRIX-+-000297800620"

  Time to complete request #1 : 0.072 seconds.

Dell EMC XtremIO (REST)

The Dell EMC XtremIO (REST) adapter relies on the XtremIO REST API to collect capacity and performance metrics for Dell EMC XtremIO platforms.

Run the following command to obtain information about your system:

curl -k -H "Content-Type: application/json" -H "Accept: application/json" -u <username>:<password> -X GET https://<hostname>:<port>/api/json/types/clusters?full=1

where <username>, <password>, <hostname>, and <port> should be replaced with appropriate values. Port is 443 by default.

Example:

curl -k -H "Content-Type: application/json" -H "Accept: application/json" -u admin:xxxxxx -X GET https://10.0.11.97/api/json/types/clusters?full=1

Expected output:

{
"clusters": [
{
"compression-factor-text": "1.3:1",
"os-upgrade-in-progress": "false",
"ssh-firewall-mode": "unlocked",
"rd-iops-32kb": "0",
"rd-iops-64kb": "0",
"free-ud-ssd-space-level": "healthy",
"dae-temperature-monitor-mode": null,
"rd-bw": "0",
"num-of-rgs": 1,
"wr-iops-16kb": "0",
"iops": "0",
"last-upgrade-attempt-version": "",
"max-initiators-in-igs": 64,
"wr-latency-64kb": "0",
"avg-latency-512kb": "0",
"rd-latency-8kb": "0",
"wr-bw-32kb": "0",
"acc-num-of-small-rd": "519705365",
"num-of-nodes": 2,
"wr-bw-by-block": "0",
"rd-latency-512b": "0",
"rd-iops-1kb": "0",
"iscsi-port-speed": "invalid",
"memory-recovery-status": "inactive_failed",
"max-snapshots-per-volume": 512,
"debug-create-timeout": "normal",
"num-of-minor-alerts": 0,
"gates-open": true,
"compression-factor": 1.3343590647000001,
"unaligned-rd-iops": "0",
"shared-memory-in-use-recoverable-ratio-level": "healthy",
"wr-latency-2kb": "0",
"obj-severity": "major",
"wr-bw-2kb": "0",
"rd-iops-8kb": "0",
"hardware-platform": "X1",
"num-of-vols": 76,
"wr-iops-by-block": "0",
"vaai-tp-limit": 0,
"max-mappings": 16384,
"avg-latency-256kb": "0",
"wr-latency-512kb": "0",
"tag-list": [],
"rd-bw-128kb": "0",
"unaligned-rd-bw": "0",
"sys-index": 1,
"wr-bw-4kb": "0",
"wr-iops": "0",
"sys-start-timestamp": 1665043227,
"cluster-expansion-in-progress": "no",
"wr-bw-gt1mb": "0",
"num-of-ib-switches": 0,
"num-of-internal-vols": 0,
"max-initiators": 1024,
"num-of-tars": 8,
"name": "xtremio",
"acc-num-of-unaligned-wr": "14853379657",
"dedup-ratio-text": "1.4:1",
"rd-iops-4kb": "0",
"acc-num-of-wr": "29932691274",
"wr-latency-1mb": "0",
"acc-size-of-rd": "888483151273",
"wr-latency-4kb": "0",
"dedup-ratio": 1.4203590467,
"rd-latency-1mb": "0",
"avg-latency-512b": "0",
"brick-list": [
[
"7f123c336e824f2b8eb3bc5b3e31f85c",
"X1",
1
]
],

Hitachi G-Series (REST)

The Hitachi G-Series (REST) adapter relies on the Configuration Manager REST API to collect performance and capacity metrics for Hitachi VSP Gx00 platforms.

Run the following request to obtain the list of storage systems:

curl -k -H "Content-Type: application/json" -H "Accept: application/json" -u <username>:<password> -X GET https://<hostname>:<port>/ConfigurationManager/v1/objects/storages

where <username>, <password>, <hostname>, and <port> should be replaced with appropriate values. Port is 23451 by default.

Example:

curl -k -H "Content-Type: application/json" -H "Accept: application/json" -u admin:xxxxx -X GET https://hitachi-cs86:23451/ConfigurationManager/v1/objects/storages

Expected output:

{
"data" : [ {
"storageDeviceId" : "832000480182",
"model" : "VSP G200",
"serialNumber" : 480182,
"svpIp" : "10.0.10.161"
}, {
"storageDeviceId" : "882000453459",
"model" : "VSP G350",
"serialNumber" : 453459,
"ctl1Ip" : "10.0.11.11",
"ctl2Ip" : "10.0.11.12",
"targetCtl" : "CTL1"
} ]
}
`

Hitachi GUM (REST)

The Hitachi GUM (REST) adapter relies on the GUM REST API to collect performance and capacity metrics for Hitachi platforms.

  1. Run the following query to obtain an authentication token:

    curl -v -k -H "Content-Type: application/json" -H "Accept: application/json"  -u <username>:<password> -X POST https://<hostname>:443/ConfigurationManager/v1/objects/sessions

    where <username>, <password>, <hostname>, and <port> should be replaced with appropriate values. Port is 443 by default.

    Example:

    curl -v -k -H "Content-Type: application/json" -H "Accept: application/json"  -u root:mypassword -X POST https://10.0.11.11/ConfigurationManager/v1/objects/sessions

    Expected output:

    {
    "token" : "059583035a174efc8cb89ca37466f726",
    "sessionId" : 1192
    }* Connection #0 to host 10.0.11.11 left intact
  2. Run the following request using the token previously obtained:

    curl -v -k -H "Content-Type: application/json" -H "Accept: application/json" -H "Authorization: Session <token>" https://<hostname>:<port>/ConfigurationManager/simple/v1/objects/storage

    Example:

    curl -v -k -H "Content-Type: application/json" -H "Accept: application/json" -H "Authorization: Session 059583035a174efc8cb89ca37466f726" https://10.0.11.11:443/ConfigurationManager/simple/v1/objects/storage
  3. You should obtain a result similar to this one:
    {"modelName":"VSP G350","serial":"453459","nickname":"VSP G350","numberOfTotalVolumes":1023,"numberOfFreeDrives":0,"numberOfTotalServers":0,"totalPhysicalCapacity":5408653,"totalPoolCapacity":5420688,"usedPoolCapacity":79758,"freePoolCapacity":5340930,"totalPoolCapacityWithTiPool":5420688,"usedPoolCapacityWithTiPool":79758,"freePoolCapacityWithTiPool":5340930,"savingEffects":{"efficiencyDataReduction":100,"preCapacityDataReduction":4410,"postCapacityDataReduction":4410,"efficiencyFmdSaving":-1,"preCapacityFmdSaving":0,"postCapacityFmdSaving":0,"isTotalEfficiencySupport":true,"totalEfficiencyStatus":"Valid","dataReductionWithoutSystemDataStatus":"Valid","totalEfficiency":62203,"dataReductionWithoutSystemData":100,"preCapacityDataReductionWithoutSystemData":4368,"postCapacityDataReductionWithoutSystemData":4368,"calculationStartTime":"2023-03-29T11:44:50Z","calculationEndTime":"2023-03-29T11:45:12Z"},"gumVersion":"88-08-09/00","dkcMicroVersion":"88-08-08-20/00","warningLedStatus":"OFF","ipAddressIpv4Ctl1":"10.0.11.11","ipAddressIpv4Ctl2":"10.0.11.12","ipAddressIpv6Ctl1":"::","ipAddressIpv6Ctl2":"::"}* Connection #0 to host 10.0.11.11 left intact

HPE Primera (WBEM)

The HPE Primera (WBEM) adapter relies on the SMI-S provider using the WBEM protocol to collect performance and capacity metrics for HPE 3PAR/Primera platforms.

  1. Download the WBEM Troubleshooting tool (WBEM-Troubleshooting-Tool.jar) available on Sentry Software's Website
  2. Run the troubleshooting tool as described in the KB1163
  3. Enter the HPE 3PAR/Primera system’s hostname/IP and credentials. The default HTTPS port is 5989
  4. Select HP 3PAR as the platform. The namespace should be automatically set to root/tpd
  5. Execute the following two WBEM queries:
    SELECT Name,ElementName,__Path FROM TPD_StorageSystem
    SELECT Name,OperationalStatus,PermanentAddress,PortNumber,PortType,Speed,__Path FROM TPD_FCPort
  6. Verify that a result such as the one below is returned.

    Successful WBEM result from HPE Primera

IBM DS888x (WBEM)

The IBM DS888x adapter relies on the DS Open API to collect capacity and performance metrics for IBM DS888x platforms.

To test the connection to the DS Open API:

  1. Download the WBEM Troubleshooting tool (WBEM-Troubleshooting-Tool.jar) available on Sentry Software's Website
  2. Run the troubleshooting tool as described in the KB1163
  3. Enter the IBM HMC hostname/IP and credentials. The default HTTPS port is 6989 (instead of 5989)
  4. Select “IBM DS6000/DS8000” as a platform. Namespace should be automatically set to root/ibm
  5. Execute these 2 WBEM queries:

     SELECT ChassisTypeDescription,ElementName,Manufacturer,Model,Tag,__Path FROM IBMTSDS_StorageFacilityChassis
     SELECT Name,PermanentAddress,PortType,Speed,OperationalStatus,DeviceID,Location,__Path FROM IBMTSDS_FCPort

    Testing the connection to the DS Open API with the Sentry Software's troubleshooting tool

Queries should return the following output:

Request #0 : [SELECT ChassisTypeDescription,ElementName,Manufacturer,Model,Tag,__Path FROM IBMTSDS_StorageFacilityChassis]
Result #0 : 1 row
ChassisTypeDescription ElementName Manufacturer Model Tag \_\_Path
DS8000 Storage Facility IBM.2107-75KDP00 IBM 983 IBM.2107-75KDP00 IBMTSDS_StorageFacilityChassis.CreationClassName="IBMTSDS_StorageFacilityChassis",Tag="IBM.2107-75KDP00"

Time to complete request #0 : 0.18 seconds.
[Back to top]

Request #1 : [SELECT Name,PermanentAddress,PortType,Speed,OperationalStatus,DeviceID,Location,__Path FROM IBMTSDS_FCPort]
Result #1 : 8 rows
Name PermanentAddress PortType Speed OperationalStatus DeviceID Location \_\_Path
500507630913D283 10 17179869184 2 0233 R1-I3-C3-T3 IBMTSDS_FCPort.CreationClassName="IBMTSDS_FCPort",DeviceID="0233",SystemCreationClassName="IBMTSDS_StorageSystem",SystemName="IBM.2107-75KDP01"
5005076309139283 10 17179869184 2 0232 R1-I3-C3-T2 IBMTSDS_FCPort.CreationClassName="IBMTSDS_FCPort",DeviceID="0232",SystemCreationClassName="IBMTSDS_StorageSystem",SystemName="IBM.2107-75KDP01"
5005076309135283 10 17179869184 2 0231 R1-I3-C3-T1 IBMTSDS_FCPort.CreationClassName="IBMTSDS_FCPort",DeviceID="0231",SystemCreationClassName="IBMTSDS_StorageSystem",SystemName="IBM.2107-75KDP01"
5005076309131283 10 17179869184 2 0230 R1-I3-C3-T0 IBMTSDS_FCPort.CreationClassName="IBMTSDS_FCPort",DeviceID="0230",SystemCreationClassName="IBMTSDS_StorageSystem",SystemName="IBM.2107-75KDP01"
50050763091CD283 10 17179869184 2 0343 R1-I4-C6-T3 IBMTSDS_FCPort.CreationClassName="IBMTSDS_FCPort",DeviceID="0343",SystemCreationClassName="IBMTSDS_StorageSystem",SystemName="IBM.2107-75KDP01"
50050763091C9283 10 17179869184 2 0342 R1-I4-C6-T2 IBMTSDS_FCPort.CreationClassName="IBMTSDS_FCPort",DeviceID="0342",SystemCreationClassName="IBMTSDS_StorageSystem",SystemName="IBM.2107-75KDP01"
50050763091C5283 10 17179869184 2 0341 R1-I4-C6-T1 IBMTSDS_FCPort.CreationClassName="IBMTSDS_FCPort",DeviceID="0341",SystemCreationClassName="IBMTSDS_StorageSystem",SystemName="IBM.2107-75KDP01"
50050763091C1283 10 17179869184 2 0340 R1-I4-C6-T0 IBMTSDS_FCPort.CreationClassName="IBMTSDS_FCPort",DeviceID="0340",SystemCreationClassName="IBMTSDS_StorageSystem",SystemName="IBM.2107-75KDP01"

Time to complete request #1 : 0.111 seconds.

IBM Spectrum Scale (REST)

The IBM Spectrum Scale (REST) adapter relies on the IBM Spectrum Scale Management API to collect performance and capacity metrics for IBM Spectrum Scale platforms.

Run the following request to obtain a list of recovery groups configured in the cluster:

curl -k -H "Content-Type: application/json" -H "Accept: application/json" -u <username>:<password> -X GET https://<hostname>:<port>/scalemgmt/v2/gnr/recoverygroups?fields=:all:

where <username>, <password>, <hostname>, and <port> should be replaced with appropriate values. Port is 443 by default.

Example:

curl -k -H "Content-Type: application/json" -H "Accept: application/json" -u admin:xxxxxx -X GET https://ibm-spectrum-scale/scalemgmt/v2/gnr/recoverygroups?fields=:all:

Expected output:

{
"recoveryGroups" : [ {
"name" : "RG_GL6C_01L",
"declusteredArrayCount" : 3,
"vDiskCount" : 7,
"pDiskCount" : 320,
"capacity" : 3069085801775104,
"freeSpace" : 116208443588608,
"usedSpace" : 2952877358186496,
"nodes" : [ "frda161.myworld.com", "frda162.myworld.com" ],
"isMmvdiskControlled" : true
}, {
"name" : "RG_GL6C_01R",
"declusteredArrayCount" : 3,
"vDiskCount" : 7,
"pDiskCount" : 320,
"capacity" : 3069085801775104,
"freeSpace" : 116208443588608,
"usedSpace" : 2952877358186496,
"nodes" : [ ""frda161.myworld.com", "frda162.myworld.com"],
"isMmvdiskControlled" : true
} ],
"status" : {
"code" : 200,
"message" : "The request finished successfully."
}
}

NetApp E-Series (REST)

The NetApp E-Series (REST) adapter relies on the NetApp SANtricity REST API to collect capacity and performance metrics for NetApp E-Series systems.

Run the following command to verify that the Storage Analyzer KM will be able to connect to your NetApp E-Series system:

curl -k -H "Content-Type: application/json" -H "Accept: application/json" -u <username>:<password> -X GET https://<hostname>:<port>/devmgr/v2/storage-systems

where <username>, <password>, <hostname>, and <port> should be replaced with appropriate values. Port is 8443 by default.

Example:

curl -k -H "Content-Type: application/json" -H "Accept: application/json" -u admin:xxxxx -X GET https://10.0.11.117/devmgr/v2/storage-systems

Expected output:

[{"id":"1","name":"netapp-e2824","wwn":"600A098000BB3591000000005A17E935","passwordStatus":"valid","passwordSet":true,"status":"needsAttn","ip1":"169.254.1.2","ip2":"fd94:29f8:cf58:2:0:0:0:2","managementPaths":["169.254.1.2","fd94:29f8:cf58:2:0:0:0:2"],"driveCount":12,"trayCount":1,"traceEnabled":true,"types":"","model":"2806","metaTags":[],"hotSpareSize":"0","usedPoolSpace":"193273528320","freePoolSpace":"6682969112576","unconfiguredSpace":"0","driveTypes":["sas"],"hostSpareCountInStandby":0,"hotSpareCount":0,"hostSparesUsed":0,"bootTime":"2023-01-28T12:39:28.000+0000","fwVersion":"08.40.00.01","appVersion":"08.40.00.01","bootVersion":"08.40.00.01","nvsramVersion":"N280X-840834-D03","chassisSerialNumber":"721739500274","accessVolume":{"enabled":true,"volumeHandle":16384,"capacity":"20971520","accessVolumeRef":"21000000600A098000BB3591000000975A17E935","reserved1":"","objectType":"accessVolume","wwn":"","preferredControllerId":"","totalSizeInBytes":"0","listOfMappings":[{"lunMappingRef":"8800000000000000000000000000000000000000","lun":7,"ssid":16384,"perms":15,"volumeRef":"21000000600A098000BB3591000000975A17E935","type":"all","mapRef":"0000000000000000000000000000000000000000","id":"8800000000000000000000000000000000000000"},{"lunMappingRef":"8800000002000000000000000000000000000000","lun":7,"ssid":16384,"perms":15,"volumeRef":"21000000600A098000BB3591000000975A17E935","type":"host","mapRef":"84000000600A098000BB3AC9003000DA5A1BC63E","id":"8800000002000000000000000000000000000000"},{"lunMappingRef":"8800000004000000000000000000000000000000","lun":7,"ssid":16384,"perms":15,"volumeRef":"21000000600A098000BB3591000000975A17E935","type":"host","mapRef":"84000000600A098000BB3AC9003000FF5A1BC7E0","id":"8800000004000000000000000000000000000000"},{"lunMappingRef":"8800000006000000000000000000000000000000","lun":7,"ssid":16384,"perms":15,"volumeRef":"21000000600A098000BB3591000000975A17E935","type":"host","mapRef":"84000000600A098000BB3591003000DF5A1BC850","id":"8800000006000000000000000000000000000000"},{"lunMappingRef":"880000000A000000000000000000000000000000","lun":7,"ssid":16384,"perms":15,"volumeRef":"21000000600A098000BB3591000000975A17E935","type":"host","mapRef":"84000000600A098000BB3591003002F75B1E44B7","id":"880000000A000000000000000000000000000000"},{"lunMappingRef":"880000000E000000000000000000000000000000","lun":7,"ssid":16384,"perms":15,"volumeRef":"21000000600A098000BB3591000000975A17E935","type":"host","mapRef":"84000000600A098000BB3591003038CB5EBCFC92","id":"880000000E000000000000000000000000000000"}],"mapped":true,"currentControllerId":"","name":"Access","id":"21000000600A098000BB3591000000975A17E935"},"unconfiguredSpaceByDriveType":{},"mediaScanPeriod":30,"driveChannelPortDisabled":false,"recoveryModeEnabled":false,"autoLoadBalancingEnabled":true,"remoteMirroringEnabled":false,"fcRemoteMirroringState":"disabled","asupEnabled":true,"securityKeyEnabled":false,"externalKeyEnabled":false,"lastContacted":"2023-02-07T06:59:00.917+0000","definedPartitionCount":6,"simplexModeEnabled":false,"freePoolSpaceAsString":"6682969112576","hotSpareSizeAsString":"0","unconfiguredSpaceAsStrings":"0","usedPoolSpaceAsString":"193273528320"}]

NetApp SolidFire (REST)

The NetApp SolidFire (REST) adapter relies on the SolidFire API to collect performance and capacity metrics for NetApp SolidFire platforms.

Run the following command to make sure that the** Storage Analyzer KM** will be able to connect to your NetApp SolidFire system:

curl -k -H "Content-Type: text/plain" -d "{\"method\" : \"GetClusterInfo\", \"id\" : \"Detection\" }" -u <username>:<password> -X POST https://<hostname>:<port>/json-rpc/9.0

where <username>, <password>, <hostname>, and <port> should be replaced with appropriate values. Port is 443 by default.

Example:

curl -k -H "Content-Type: text/plain" -d "{\"method\" : \"GetClusterInfo\", \"id\" : \"Detection\" }" -u admin:xxxxxxx -X POST https://10.0.5.38/json-rpc/9.0

Expected output:

{"id":"Detection","result":{"clusterInfo":{"attributes":{},"defaultProtectionScheme":"doubleHelix","enabledProtectionSchemes":["doubleHelix"],"encryptionAtRestState":"enabled","ensemble":["15.0.6.40","15.0.6.42","15.0.6.43"],"mvip":"10.0.5.38","mvipInterface":"Bond1G","mvipNodeID":4,"mvipVlanTag":"0","name":"hci-cluster","repCount":2,"softwareEncryptionAtRestState":"disabled","supportedProtectionSchemes":["doubleHelix"],"svip":"15.0.6.39","svipInterface":"Bond10G","svipNodeID":4,"svipVlanTag":"0","uniqueID":"0d59","uuid":"61763f04-7925-4fc6-9047-ea4262c9a289"}}}

Pure Storage FlashArray (REST v1.x)

The Pure Storage FlashArray (REST v1.x) adapter relies on the Pure Storage REST API v1.x to collect performance and capacity metrics for Pure Storage FlashArray platforms.

Run the following command to ensure version 1 of the API is available:

curl -k -H "Content-Type: application/json" -H "Accept: application/json" -u <username>:<password> -X GET https://<hostname>:<port>/api/api_version

where <username>, <password>, <hostname>, and <port> should be replaced with appropriate values. Port is 443 by default.

Example:

curl -k -H "Content-Type: application/json" -H "Accept: application/json" -u pureuser:xxxxxx -X GET https://purem-san/api/api_version

Expected output:

{"version": ["1.0", "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "1.10", "1.11", "1.12", "1.13", "1.14", "1.15"]}

Pure Storage FlashArray (REST v2.4+)

The Pure Storage FlashArray (REST v2.4+) adapter relies on the Pure Storage REST API v2.4 and higher to collect performance and capacity metrics for Pure Storage FlashArray platforms.

Run the following command to ensure at least version 2.4 of the API is available:

curl -k -H "Content-Type: application/json" -H "Accept: application/json" -u <username>:<password> -X GET https://<hostname>:<port>/api/api_version

where <username>, <password>, <hostname>, and <port> should be replaced with appropriate values. Port is 443 by default.

Example:

curl -k -H "Content-Type: application/json" -H "Accept: application/json" -u pureuser:pureuser -X GET https://purex-san/api/api_version

Expected output:

{"version": ["1.0", "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "1.10", "1.11", "1.12", "1.13", "1.14", "1.15", "1.16", "1.17", "1.18", "1.19", "2.0", "2.1", "2.2", "2.3", "2.4", "2.5", "2.6", "2.7", "2.8"]}

Scality RING (REST)

The Scality RING (REST) adapter relies on the Scality RESTful API to collect performance and capacity metrics for Scality RING platforms.

Run the following query:

curl -v -k -H "Content-Type: application/json" -H "Accept: application/json" -u <username>:<password>  https://<hostname>:<port>/api/v0.1/status/

Example:

curl -v -k -H "Content-Type: application/json" -H "Accept: application/json" -u admin:mypassword https://scality-supervisor-01:443/api/v0.1/status/

Expected Output:

{"supv2_version": "8.3.0.5", "supapi_revision": "750ff5b497", "bizstoresup_status": "Running", "supapi_version": "8.3.0.5", "_links": {"parent": https://scality-supervisor-01/api/v0.1/, "self": https://scality-supervisor-01/api/v0.1/status/}, "supapi_complete_version": "8.3.0.5.r210114104528.750ff5b497", "bizstoresup_version": "8.3.0.5", "supv2_status": "Running", "supv2_url": http://XXX:XXX@localhost:12345, "bizstoresup_url": http://XXX:XXX@localhost:5580}
* Connection #0 to host scality-supervisor-01 left intact