Foglight Storage Management provides support for monitoring Dell Compellent (including Dell Storage Manager) & Equalogic, EMC Clariaon, CX, VMAX, VNX & Isilon, Hitachi AMS, VSP & USP, HP EVA and 3PAR, NetApp OnTap 7, 8, 9 including Cluster Mode. However, there are many arrays on the market and here at Quest, we want to ensure that anyone can monitor whichever array their business has invested in. This blog is a brief introduction into building your own storage monitoring agent. We are using Purestorage as our example agent, see the attached zip file to try it in your environment.
What is the Foglight Storage Management SDK?
The Storage SDK is a set of Python modules that allow users to develop custom agents that submit data into the Foglight Storage Management (FSM) framework. That means all that is required is the Agent; say for PureStorage, and once deployed, all of the data automatically populates the FSM Dashboards, Reports, Alarms and Capacity planning capabilities. That's it, no need to make custom dashboards, rules or alarms, Foglight handles all of it right out of the box.
Attached to this blog is a fully functioning PureStorage Agent that utilizes the array's API to query performance and utilization metrics.
How do I get started ?
A tip, many storage arrays have published python modules that can access your array's API, after the video I have posted a table with some examples.
Nutanix VM - https://www.nutanix.com/products/community-edition/
Intro - http://datatomix.com/?p=146
Part 1 -http://myvirtualcloud.net/how-to-use-python-with-nutanix-rest-api-part-1/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+myvirtualcloudnet+%28myvirtualcloud.net%29
Part 2 - http://myvirtualcloud.net/how-to-use-python-with-nutanix-rest-api-part-2/
Authentication - http://itbloodpressure.com/2015/11/11/authentication-methods-using-rest-api-with-nutanix/
I found your Post very Useful and well detailed in getting Monitoring of our M20 flash arrays in Foglight.
Your Demo files came in very handy.
To get the demo files working in our system i had to edit line 148
I had to change "protect=True" to "snap=True"
lun.set_property("protection", ps_array.get_volume(pv["name"], snap=True))
After this it worked a treat and gave us a huge headstart in trying to develop our own Cartridge.
Our M20's are running Rest API 1.6