Active IQ Unified Manager Discussions

NetApp-Harvest display replication status


Hi Chris,

Thank you for responding so quickly to my last question.


My team has recently started using NetApp Harvest to view additional data and reports on our systems. We really want to monitor the replication status between our primary site and our DR site and have the ability to see how far behind some SnapMirrors are.


It doesn't look like there are any dashboards that provide a view like this right now. How hard would it be to create something like this? I've looked at the process for creating a new dashboard but I don't know what data I would need to pull.



Hi @mwreuter


I haven't looked in detail at SnapMirror stats largely because OnCommand Unified Manager (OCUM) does it already quite well with topology views, alerting, and xfer metrics.  Also, since Graphite has no concept of relationships (except for the tree hierarchy) I'm not sure how best display src/dst metrics.  I suppose I could aggregate things at the volume, or svm, or node level, but then I wonder if the value is gone. There are counter manager counters for snapmirror stuff, so assuming lagtime is in there you just have to decide how to structure your hierarchy and populating it is easy enough.  If you can explain exactly what you want (like example metrics path/name) I can have a think about how easiest to achieve.


Anyway, back to OCUM, it's where I'd go for this request.  


If you really want something in Graphite/Grafana you could also look at coding a small script that uses OnCommand API Services to get the data from OCUM and send it to Graphite.  API Services offers a REST API with JSON responses making it pretty easy to get the data out of OCUM and into Graphite.  I am co-presenting a session at Insight 2016 “Monitoring Performance Using NetApp OnCommand Performance Manager and API extensions” where we'll give an example of integrating with perf metrics.  Out of curiousity I wanted to see how easy it is to get the metrics and it's pretty simple


This code:


import requests
conf = {'url' : "", 'user' : 'admin', 'pass' : 'NetApp123'}
# Get SnapMirror lag times
resp_json = requests.get(conf['url'] + "/ontap/snap-mirrors", auth=(conf['user'], conf['pass']), verify=False).json()
for record in resp_json['result']['records']:
  print "{} {} {}".format(record['source_location'], record['destination_location'], record['lag_time'])

Results in this output:


[root@sdt-linux-infra4 insight]# python
sdt-vs-nas1:vol_snapmirror_src sdt-vs-nas1:vol_snapmirror_dst 137
sdt-vs-inf1:NS_ns sdt-vs-inf1:NS_ns_mirror0001 138
sdt-vs-nas1:vol_snapmirror_src sdt-vs-nas1:vol_snapmirror_dst_vault 82325

We have <src> <dst> <lagtime>.  So building a metrics path and sending to Graphite is a few more lines of code.  Of course to get all metrics in, get summary metrics at various levels, make it generic and configurable, etc, is more work and why I haven't done it yet 🙂



Chris Madden

Storage Architect, NetApp EMEA (and author of Harvest)

Blog: It all begins with data


If this post resolved your issue, please help others by selecting ACCEPT AS SOLUTION or adding a KUDO or both!


Good morning Chris, I'm also interested in creating a dashboard in Grafana to see the snapmirror status Src>Dest>lagtime>healthstatus for my ops team just to look at it and dtermine  if there is a problem, it would be nice to have a main console where they can look and see pretty much everything. 



Please if any additional dashboard is already build in harvest please advise, i did not see anything that will let me see the info.


I'm using the NAbox as of 2 weeks ago.



Thank you,



I was also in this situation, and wrote a powershell script that polled the cluster and dumped data to Graphite.  Ran it every 15 min from an admin server as a shecduled task.  Was pretty basic but worked well.  


Here is what it looks like.  I can dig out the script if this is what you had in mind.








which performance object are you querying?




What I really want to get out of it is the relationship status, Health and Lag time. Im currently running NaBox.


Also, looking to see how much ddata it transferred. 


I saw your post, I started working with Harvest, i was wondering if you have an example of the powershell you are using, im interested in something similar. Thanks.