15
Generated by Jive on 2019-05-31-07:00 1 Everything is Connected: Making Complex Expansions Simple There is a tab in ViPR SRM that strikes fear in the hearts of the hearts of IT people. They’ve learned to build tables and graphs that show what they want. Maybe they’ve even gotten fancy and build some nested interactive reports. But when building an expansion, they avoid even looking at the ‘Complex’ tab. It emits a low rumble, and their dreams are salted with dark images of what might lie within. If that’s you, it’s time to face your fears. It may turn out that dire wolf is really just a corgi in a funny hat. But What IS an Expansion, Really? To help explain, let’s consult this accurate scale drawing of your ViPR SRM database.

Expansions Simple Everything is Connected: Making Complex · Everything is Connected: Making Complex Expansions Simple Generated by Jive on 2019-05-31-07:00 5 As you can see, all

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Expansions Simple Everything is Connected: Making Complex · Everything is Connected: Making Complex Expansions Simple Generated by Jive on 2019-05-31-07:00 5 As you can see, all

Generated by Jive on 2019-05-31-07:001

Everything is Connected: Making ComplexExpansions Simple

There is a tab in ViPR SRM that strikes fear in the hearts of the hearts of ITpeople.  They’ve learned to build tables and graphs that show what they want.  Maybe they’ve even gotten fancy and build some nested interactive reports. But when building an expansion, they avoid even looking at the ‘Complex’ tab.  Itemits a low rumble, and their dreams are salted with dark images of what mightlie within.

If that’s you, it’s time to face your fears.  It may turn out that dire wolf is reallyjust a corgi in a funny hat.

But What IS an Expansion, Really?

To help explain, let’s consult this accurate scale drawing of your ViPR SRMdatabase.

Page 2: Expansions Simple Everything is Connected: Making Complex · Everything is Connected: Making Complex Expansions Simple Generated by Jive on 2019-05-31-07:00 5 As you can see, all

Everything is Connected: Making Complex Expansions Simple

Generated by Jive on 2019-05-31-07:002

What are those dots?  They’re time series metrics, of course.  Let’s look at onemore closely.

Page 3: Expansions Simple Everything is Connected: Making Complex · Everything is Connected: Making Complex Expansions Simple Generated by Jive on 2019-05-31-07:00 5 As you can see, all

Everything is Connected: Making Complex Expansions Simple

Generated by Jive on 2019-05-31-07:003

What if we were to build a report to select some of these? Suppose we build a filter like this:

devtype==’Datastore’

After applying that filter to the database, you might get something like this.

Page 4: Expansions Simple Everything is Connected: Making Complex · Everything is Connected: Making Complex Expansions Simple Generated by Jive on 2019-05-31-07:00 5 As you can see, all

Everything is Connected: Making Complex Expansions Simple

Generated by Jive on 2019-05-31-07:004

If you followed along when we talked about Simple Expansions, you know that ifI just dump these into a table with columns like property==’device’, property==’name’,value=’*’, I’ll end up with one metric per table row which is (usually) not what Iwant.

More often I might want (for instance) one datastore per row.  If that were thecase, I’d build a child node and add a simple expansion for device.

Page 5: Expansions Simple Everything is Connected: Making Complex · Everything is Connected: Making Complex Expansions Simple Generated by Jive on 2019-05-31-07:00 5 As you can see, all

Everything is Connected: Making Complex Expansions Simple

Generated by Jive on 2019-05-31-07:005

As you can see, all the metrics for a given Datastore (aka device) are now groupedtogether, and can be placed properly per row. The column definitions might look likeproperty==’device’, value==’IOPS’, value==’Capacity’.

At this point we’ve essentially got a color-blindness test that describes SimpleExpansions.  What about that Complex Expansion tab?

Suppose I want to columns to the table which have the array LUN associated with thedatastore along with some vital stats about that LUN.

The rough steps involved are:

• Build a child to the existing node with the simple expansion• Set a Filter on that child for parttype==’LUN’• Set the node to use the filter for Selection Only• Build a complex expansion which

• Matches the key common to both LUNs and Datastores (the WWN, which is stored in a propertycalled partsn)

• Removes previous filters which would prevent us from seeing those LUNs

Page 6: Expansions Simple Everything is Connected: Making Complex · Everything is Connected: Making Complex Expansions Simple Generated by Jive on 2019-05-31-07:00 5 As you can see, all

Everything is Connected: Making Complex Expansions Simple

Generated by Jive on 2019-05-31-07:006

What does that mean in our colorblindness test / time-series metric petri dish?

Because the properties we want to display from the LUN are two levels downfrom the table, we’ll need to use a Nop to pass the property up.  Remember, thescope of any piece of data is always the node where the data comes from andthe parent of that node.

Enough with the optometry charts – let’s build one of these!

First, let’s build a basic table of Datstores to make sure things are working. Faithful readers already know about Simple Expansions, Auto-Scaling of Units,and Time Management, so let’s build it in one crazy graphic.  I recommendhumming Yakety Sax to yourself while going through these steps.

Page 7: Expansions Simple Everything is Connected: Making Complex · Everything is Connected: Making Complex Expansions Simple Generated by Jive on 2019-05-31-07:00 5 As you can see, all

Everything is Connected: Making Complex Expansions Simple

Generated by Jive on 2019-05-31-07:007

Which ends up looking like:

Now, we’re going to build a second child node for connecting the Datastore tothe LUN.  On this node we’ll set the Filter to look only for LUNs and set it to applyto Selection Only (rather than Expansion Only).

Page 8: Expansions Simple Everything is Connected: Making Complex · Everything is Connected: Making Complex Expansions Simple Generated by Jive on 2019-05-31-07:00 5 As you can see, all

Everything is Connected: Making Complex Expansions Simple

Generated by Jive on 2019-05-31-07:008

From there, we’ll add an expansion to the node and choose the DreadedComplex Tab.  This is actually quite straightforward.  We’re going to use the ‘Joinproperties having a different name’, which would more properly be called ‘Joinproperties by name’ because we’re going to join using properties of the samename.

The common property we’ll use is partsn, which is the WWN of the volume.  InStep 2 this is the name of the property on the earlier expansion.  In Step 3, thisis the property on the selection, to which you’ll recall we’ve applied a filter forparttype==’LUN’.

The other thing we’re going to do here is perform a Level Up.  This removes theconstraints of previous filters.  Since our previous filter for devtype==’Datastore’would have excluded any LUNs, this is required to get the selection we desire.

Page 9: Expansions Simple Everything is Connected: Making Complex · Everything is Connected: Making Complex Expansions Simple Generated by Jive on 2019-05-31-07:00 5 As you can see, all

Everything is Connected: Making Complex Expansions Simple

Generated by Jive on 2019-05-31-07:009

That should connect our Datasets properly, but now of course we have anotherproblem: we want to display the second dataset on a table two nodes up, whichis out of variable scope.  That means we’ll need to use Formulas to pass the dataup the chain.  We’ll explore how to pass up and display three different types ofdata:

• Properties• Metrics• Formula Results

For the first two of these we’ll use the Nop function.  In the Formulas tab, createa Nop formula.  To pass a property, we need to attach it to an Empty Parameter. Let’s do this for the device and part properties.

Page 10: Expansions Simple Everything is Connected: Making Complex · Everything is Connected: Making Complex Expansions Simple Generated by Jive on 2019-05-31-07:00 5 As you can see, all

Everything is Connected: Making Complex Expansions Simple

Generated by Jive on 2019-05-31-07:0010

On the next node up, you’ll also need to create Nops for each property.  Theseone will pass up the prior Formula results, rather than Empty Parameters.

Once the data has been passed up to the parent node with the table, you candisplay it.  You’ll display a Property like you normally would, but will point to aproperty on the Formula Result.

Page 11: Expansions Simple Everything is Connected: Making Complex · Everything is Connected: Making Complex Expansions Simple Generated by Jive on 2019-05-31-07:00 5 As you can see, all

Everything is Connected: Making Complex Expansions Simple

Generated by Jive on 2019-05-31-07:0011

After doing this for both properties, you should have a report that looks something like this:

Wouldn’t it be great if we could also show a metric from the VMAX LUN?  Let’sadd in UsedCapacity.  This will also come from a Nop on the child which selectedthe LUNs.  However, the Nop will Filter on this Node to attach a particular metric. Again, you’ll need to create a Nop of the Formula Result on the middle node aswell.

When you create the column, this will be a Value which points to a Formula Result.

Page 12: Expansions Simple Everything is Connected: Making Complex · Everything is Connected: Making Complex Expansions Simple Generated by Jive on 2019-05-31-07:00 5 As you can see, all

Everything is Connected: Making Complex Expansions Simple

Generated by Jive on 2019-05-31-07:0012

Now your report will include the Used Capacity as collected at the Array.

Page 13: Expansions Simple Everything is Connected: Making Complex · Everything is Connected: Making Complex Expansions Simple Generated by Jive on 2019-05-31-07:00 5 As you can see, all

Everything is Connected: Making Complex Expansions Simple

Generated by Jive on 2019-05-31-07:0013

Finally, wouldn’t it be nice to include some information about the average IOPSseen on this datastore by the Array?  If you use your Search Ninja skills to look atwhat metrics available, you’ll see there’s not a metric for IOPS, meaning you’llneed to add up ReadRequests and WriteRequests.

Rather than using a Nop on the second child node, this time we’ll use aSum.Spatial. 

Page 14: Expansions Simple Everything is Connected: Making Complex · Everything is Connected: Making Complex Expansions Simple Generated by Jive on 2019-05-31-07:00 5 As you can see, all

Everything is Connected: Making Complex Expansions Simple

Generated by Jive on 2019-05-31-07:0014

We’ll sum a set of Combined Parameters and place it into a result called IOPS.  Onthe middle node, we’ll still need to add IOPS into a Nop to make it available tothe top level table.  Once that’s done, you can add it directly as a value column.

Look at the awesome results – we’ve now got a report that connects two distinctdata sets in a meaningful way and shows static properties, time-series metrics,and formula results from those data sets.  Ain’t that cool?

Page 15: Expansions Simple Everything is Connected: Making Complex · Everything is Connected: Making Complex Expansions Simple Generated by Jive on 2019-05-31-07:00 5 As you can see, all

Everything is Connected: Making Complex Expansions Simple

Generated by Jive on 2019-05-31-07:0015

This content originally appeared on Eastside Geek.