Start a Conversation

Unsolved

This post is more than 5 years old

18196

January 26th, 2011 20:00

Powershell Scripts for EMC Performance Statistics block/NAS

New  thread for Unified/VNX scripts here https://community.emc.com/thread/130486

If you were ever looking for an easy and dynamic way to monitor the performance of EMC storage, here they are!  First thing I have to mention here is that the scripts are provided on an "as is" basis.  They leverage standard utilities and commands on the Unified and Symmetrix storage arrays to gather information.  The scripts should open the doors similar to other things I've posted lately to allow for easy integration into applications looking to include EMC specific performance information.

The scripts are for both block and NAS.  When running them there are default metrics that are chosen, however these are customizable during runtime.  They have a paint mode which functions in a manner similar to ESXTOP where a screen will be refreshed with statistics.  So you may be asking where's the VMware integration?  The scripts each have a parameter to accept certain things like a datastore LUNID/UID (60000..) or NFS export name which will filter the returned information specifically for those objects and touch points in the array (SPs, directors).

So the framework is there and I have a few screenshots below that show it in action.  Feel free to post places you used the scripts or changes for improvements.

The scripts have so far been tested against the following arrays VNX, NS, CX3, and VMax.

See the documentation below for runtime information.  At the moment, only one array per SE is tolerated for Symmetrix.

02/28/11 Updated to include -outcsv for all scripts.

03/14/11 Updated to fix intermittent trim error

03/15/11 Updated to fix missing volume stats when specifying nfsexport under dart6 and not looking at right datamover

03/22/11 Updated some fs pathing issues with block

03/30/11 Updated NAS collection to fix fs info instead of expected stats output (dart5)

03/30/11 Updated to allow for multiple symm's from one SE

3 Attachments

20 Posts

March 1st, 2011 02:00

Hi Clinton,

Firstly - thanks for your efforts on this as this is something that , as a partner and supplier, finding out exactly what's going on via NFS performance is a subject close to our hearts. Sadly - I am having problems though .

I've installed PS2.0, Upgraded my PCLI to 4.1.1, but you script does not seem to be working for me. I have an EMC Celerra NS-20 as a test environment (which to be honest is not having much activity anyway) but I'm getting several strange issues when running the unified_nas_ script.

Firstly - If I just run with :

.\get_unified_nas_perf.ps1 -csip 172.x.x.x -username root -password

All I get is a long list of the details of the NAS, including disk info, file sys info (all object info as far as I can tell, not just the name). I was under the impression that this view should give FULL performance stats for all the system. I've widened the screen as much as 500 units, but this list still is presented vertically and seems to show LOADS of data about the FS, VOLUMES etc without any actualy performance stats?

With this FULL command - the -csvout key does not seem to work and I still get the full details presented vertially with no visible performance info.

Isolating the script as follows :

.\get_unified_nas_perf.ps1 -csip 172.x.x.x -username root -password -objects net.device,store,sys.cpuUtil,nfs.basic -nfsexport -paint

NOTE : Is sure to keep the export name case sensitive. This shows a horizontal view, but no stats are ever displayed even though it does seem to refresh each 5 seconds?

Doing an Export of the above line gives me the attached CSV file?

The flare version I'm running is 5.6.43-8. Am I a little to out of date to get this to work?

Any assistance much appreciated. I'm now going to have a play with the VMSCSI Scripts

TG

1 Attachment

March 2nd, 2011 21:00

I was unable to run these tests, perhaps you might be able to provide some guidance Clinton.

  1. When I run C:\junk\test 3 emc perf stats> .\get_unified_nas_perf.ps1 -csip 192.168.110.53 -username nasadmin -password nasadmin, I get red PowerShell vomit "Method invocation failed because [System.Object[]] doesn't contain a method named 'trim'." (see attachment)
    Update 3/20/11: This script is now working & returning display results.
  2. There is no get_naviseccli_perf.ps1 script in the .zip file.  I'm guessing it has been replaced by get_unified_block_perf.ps1
  3. When I run C:\junk\test 3 emc perf stats> .\get_unified_block_perf.ps1 -spaip 192.168.110.54 -spbip 192.168.110.55 -username nasadmin -password nasadmin -scope 0, I get a delay and then "quit because it took too long" (see attachment)
    Update 3/20/11: Still getting the same "quit because..." result
  4. When I run C:\junk\test 3 emc perf stats> .\get_unified_block_perf.ps1 -spaip 192.168.110.54 -spbip 192.168.110.55 -username nasadmin -password nasadmin -scope 0 -interval 30, I get a delay and then "quit because it took too long" (see attachment)
    Update 3/20/11: Still getting the same "quit because..." result

Preflight check was successful.

Message was edited by: jasonboche

2 Attachments

March 15th, 2011 00:00

The intermittent trim error has been fixed in the most recent post of the unified performance script that was being reported.  As well there were some updated around version compatibility between dart5/6 and what stats were showing up when making metric contextual to a NFS export.

108 Posts

March 28th, 2011 13:00

Can there be an addition to use particular SID?

16 Posts

March 29th, 2011 12:00

Clinton-thanks for the PS posts. Unfortunately I continue to receive the "quit becuase it took too long" error. Is there an updated version of the PS?

ps_get_unified_perf_032211\get_unified_block_perf.ps1 -spaip xxx.xxx.xxx.xxx -spbip xxx.xxx.xxx.xxx -username xxx -password xxx -scope 0

Thanks!

March 29th, 2011 15:00

In the script header there are instructions for specifying a LUNID.  See the following line which I think is what you are looking for?  PowerCLI returns LUN ids in the following format and this is what the script is expecting.  It then should limit the output to only look the storage processors and that specific LUN.

# -lunid = Return only specific information based on this LUNID (ex 60000970000194900728533030304333)

March 29th, 2011 15:00

Tony,

Thanks, glad to contribute where I can.  The script uses background jobs to kick off collections to the SPs in parallel.  This can present challenges depending on the security level.  Underneath the script we are using the below command to retrieve perf informaiton from the array.  Can you try and run the following manually?  You may be able to see an error directly form this command that will be more helpful in troubleshooting.  It should return a "name,value" table in powershell.

.\get_naviseccli.ps1 -get lun -getpkey name -spip xx -username xx -password xx -scope 0

Another thing that might be getting in the way is your ExecutionPolicy in powershell.  This determines what scripts are ok, not ok, and which ones require approvla to run.  If you are getting a security warning when executing the script, run powershell as admin (w7/2008) or powershell directly and enter "set-executionpolicy unrestricted".  All scripts and their children that get executed in jobs should then we able to execute without approval.

16 Posts

March 30th, 2011 11:00

Clinton-I received the expected output from running this command. The execution policy was set as well. Thanks.

March 30th, 2011 12:00

To be exact, we are executing three commands in the background that all need to complete successfuly within 40 seconds.  Can you see if any of these commands aren't working?  The second one goes against SPB's IP.

-spip spaip -get sp -getpkey 'Storage Processor'

-spip spbip -get sp -getpkey 'Storage Processor'

-spip spaip  -get lun -getpkey 'name'

16 Posts

March 30th, 2011 15:00

Is this the format?

PS C:\ps_get_unified_perf_032211> .\get_naviseccli.ps1 -spip spaip xxx -get sp -getpkey 'Storage Processor' -username xxx -password xxx -scope 0

then I get errors.

March 30th, 2011 19:00

Try the following commands.

.\get_naviseccli.ps1 -spip spipa -get sp -getpkey 'Storage Processor' -username xxx -password xxx -scope 0

.\get_naviseccli.ps1 -spip spipb -get sp -getpkey 'Storage Processor' -username xxx -password xxx -scope 0

.\get_naviseccli.ps1 -spip spaip  -get lun -getpkey 'name' -username xxx -password xxx -scope 0

16 Posts

April 5th, 2011 11:00

Those commands ran successfully.

1 Message

June 5th, 2012 14:00

Clinton

As per my requirement I want to test the same script in Windows Environment . I found in your PDF Doc for sym  the below Dependense

(The script executes commands via SSH to a system with symcli Solutions Enabler Linux installed and working to the target array. )

Can you please guide me how do we do performance monitor for VMAX in windows environment...

1 Message

March 20th, 2014 16:00

Hi I am receiving the error 'quit because it took too long' I am running the unified_block_perf script. Any ideas?

No Events found!

Top