UNSOLVED

FranzSchaefer

updated

9 years ago

0

2905

June 8th, 2017 04:00

issues with Dell EMC Unity REST API performance data

when i read performance data via the unity rest API there are 2 issues:

first: i can not find any values for the latency. it is nice to be able to see how loaded the box ist in terms of ops and throughput but

for serious business we would also need latency values. what would you suggest here?

second: in the sp.*.fibreChannel.  branch there is sp.*.fibreChannel.target.*.. and sp.*.fibreChannel.inititaor.*.readBytes.

when i read the values bot the host and initiators are listed as seen below. i would have expected WWNs or similar. where are these "target" and "initiator" values defined this way?

                                         'values' => {

                                                        'spb' => {

                                                                   'FE2/MVS' => '974070873',

                                                                   'FE7/SC' => '0',

                                                                   'FE5/SC' => '249025',

                                                                   'FE4/SC' => '244645',

                                                                   'FE3/SC' => '970740425',

                                                                   'FE6/SC' => '0'

                                                                 },

                                                        'spa' => {

                                                                   'FE2/MVS' => '1689378173',

                                                                   'FE7/SC' => '193',

                                                                   'FE5/SC' => '309765',

                                                                   'FE4/SC' => '310109',

                                                                   'FE3/SC' => '1650445293',

                                                                   'FE6/SC' => '193'

                                                                 }

                                                      },

                                          'path' => 'sp.*.fibreChannel.target.*.readBytes',

                                          'queryId' => 10

  • 1821

    0

    Posted June 23rd, 2017 03:00

    is no one from emc reading this forum?

    btw: from working with the API there is now an initial version of a grafana collector for unity:

    https://github.com/svsteam/unity2grafana

  • kelleg

    6 Operator

    •

    4537 Posts

    1821

    0

    Posted June 23rd, 2017 08:00

    LUN's should have a response time value (its available in UEMCLI). Which specific object are you looking for response time? In some case, you'll need to perform a calculation to derive response time.

    The ports on the Unity array can be either Back-end Ports (BE - the SAS ports to the disks) or Front-end Ports (FEx - the ports for connecting a host).

    On the Unity DPE, there are two ethernet ports labeled 2 and 3 - these are the FE2 and FE3 ports. The CNA ports labeled 4 and 5 - these are the FE4 and FE5 ports.

    If you have an IO Module installed, those ports are labeled 0 and 1 or 0-3 depending on the type of IO module you have. For a two port IO Module, those would be FE6 and FE7.

    Some of this information in contained in the White Paper in the Hardware Component Description section.

    docu69319_Unity-Hybrid-and-Unity-All-Flash-Hardware-Information-Guide.pdf

    Below is a image of the DPE - I've labeled the ports (this was for iSCIS, so Eth2 would be FE2, etc)

    Unity Ports.PNG.png

    glen

  • 1821

    0

    Posted June 27th, 2017 01:00

    so the latency values are availabe on the CLI but not in the REST API?

    as for the ports: yes, it seems the sp.*.fibreChannel.inititator.*.readBytes lists the ports. but there

    is a dedicated section in the API where one can read the traffic dedicated to ports anyways. e.g.:

      sp.*.fibreChannel.fePort.*.readBlocks so it does not make much sense that it shows up under this section.


    anyways: any chance the LUN latency values are readable on the rest API?


    those are the metrics i could read for LUNs:



    sp.*.storage.lun.*.busyTime

    sp.*.storage.lun.*.currentIOCount

    sp.*.storage.lun.*.idleTime

    sp.*.storage.lun.*.readBlocks

    sp.*.storage.lun.*.reads

    sp.*.storage.lun.*.snap.*.readBlocks

    sp.*.storage.lun.*.snap.*.readBytes

    sp.*.storage.lun.*.snap.*.reads

    sp.*.storage.lun.*.snap.*.writeBlocks

    sp.*.storage.lun.*.snap.*.writeBytes

    sp.*.storage.lun.*.snap.*.writes

    sp.*.storage.lun.*.sumOutstandingRequests

    sp.*.storage.lun.*.totalIoTime

    sp.*.storage.lun.*.writeBlocks

    sp.*.storage.lun.*.writes

    sp.*.storage.pool.*.lun.*.dataSizeAllocated

    sp.*.storage.pool.*.lun.*.dataWithOverheadSizeSubscribed

    sp.*.storage.pool.*.lun.*.overheadSizeAllocated

    sp.*.storage.pool.*.lun.*.overheadSizeSubscribed

    sp.*.storage.pool.*.lun.*.sizeAllocated

    sp.*.storage.pool.*.lun.*.sizeSubscribed

    sp.*.storage.pool.*.lun.*.sizeTotal

    sp.*.storage.pool.*.lun.*.snapshotSizeAllocated

    sp.*.storage.pool.*.lun.*.snapshotSizeSubscribed

    franz



  • kelleg

    6 Operator

    •

    4537 Posts

    1821

    0

    Posted June 27th, 2017 08:00

    These are the metrics for LUN using UEMCLI

    SP Storage LUN Metrics

    416:  Path         = sp.*.storage.lun.*.avgReadSize

          Description  = Average read size on this LUN

    417:  Path         = sp.*.storage.lun.*.avgWriteSize

          Description  = Average write size on this LUN

    418:  Path         = sp.*.storage.lun.*.busyTime

          Description  = Busy time, in microseconds, spent processing I/O for this LUN

    419:  Path         = sp.*.storage.lun.*.currentIOCount

          Description  = Number of I/O requests waiting to be completed on this LUN

    420:  Path         = sp.*.storage.lun.*.idleTime

          Description  = Idle time, in microseconds, where there was not any I/O to process for this LUN

    421:  Path         = sp.*.storage.lun.*.queueLength

          Description  = Average I/O queue length for this LUN

    422:  Path         = sp.*.storage.lun.*.readBlocksRate

          Description  = Rate for raw metric: Blocks read from this LUN

    423:  Path         = sp.*.storage.lun.*.readBytesRate

          Description  = Rate for raw metric: Number of bytes read from this LUN

    424:  Path         = sp.*.storage.lun.*.readsRate

          Description  = Rate for raw metric: Reads from this LUN

    425:  Path         = sp.*.storage.lun.*.responseTime

          Description  = Average response time, in microseconds, for requests to this LUN

    426:  Path         = sp.*.storage.lun.*.sumOutstandingRequests

          Description  = Increases by the number of outstanding requests when an IO arrives to this LUN

    427:  Path         = sp.*.storage.lun.*.totalBytesRate

          Description  = Rate for raw metric: Total number of bytes read and write requests on this Lun

    428:  Path         = sp.*.storage.lun.*.totalCallsRate

          Description  = Rate for raw metric: Total number of read and write requests on this LUN

    429:  Path         = sp.*.storage.lun.*.totalIoTime

          Description  = Product of difference in time since last change in outstanding IO and the number of outstanding IO during that time

    430:  Path         = sp.*.storage.lun.*.writeBlocksRate

          Description  = Rate for raw metric: Blocks written to this LUN

    431:  Path         = sp.*.storage.lun.*.writeBytesRate

          Description  = Rate for raw metric: Number of bytes written to this LUN

    432:  Path         = sp.*.storage.lun.*.writesRate

          Description  = Rate for raw metric: Writes to this LUN