Cloud, DevOps, Evangelism

VNX OE for Block / vCenter Ops Adapter Beta 0.2

Here's what I've been able to add in the last few days:

1) I'm capturing all metrics that we can output, even non-numeric ones, just in case they are useful someday :)
2) I'm capturing metrics for the following types of resources: Regular Cache, Flash Cache, Individual Disks, RAID Groups, LUNs & Service Processors.  Its over 4800 metrics on my little VNX:

3) All metrics are now encapsulated properly under groups

4) I'm using a guaranteed method for uniquely naming a resource - using the array set VNX name and the Base UUID for its WWNN concatenated together.  The WWNN would be enough, but I prepended the name for easier interpretation by humans
5) Why did I bother with #4?  So that I could get multi-array support!  Yay!

6) And the last one - in my mind the coolest and was certainly the hardest to get working - Delta Calculations!  As you may know, vCops doesn't do internal delta calculations (e.g., if I had X writes last time, and X this time, thats Z writes/second.  The array also generally doesn't do this.   So, I developed a method for the script to keep state between runs (using a per-array temp file) that doesn't rely on daemon being running, so that it can intelligently survive reboots and not have weird spikes if it goes 20 minutes without an update.  For each metric in the recorded metric (there are about 3300 metrics it collects), it determines if the metric is a numeric value, and, if it is, compares it with the last value and calculates a 'perSecond' version of that metric (averaged over the interval, of course - you aren't going to see 5 second spikes like this).  Now, a per second counter like this doesn't make a lot of sense for some metrics (like % Busy), but those can be ignored and only the relevant ones (like Writes_perSecond) used:


Next up:  Internal device relationships and possibly external (to datastore) relationships

Also:  I looked at capturing storage pool statistics, but NaviCLI outputs almost no performance info about them (just config info, mostly), so I cant get that data yet.  Will bug the Navisphere developers about it :)

Questions, comments?