Active IQ Unified Manager Discussions

Way for Harvest to graph inode usage?

CSCOTTENO
8,099 Views

Is there a way to graph inode usage in volumes?

1 ACCEPTED SOLUTION

madden
8,019 Views

Hi @CSCOTTENO

 

 

Capacity info is collected from OCUM and as far as I know inodes used (files) per volume is not tracked, which means Harvest can't pull it either.  If you use Quotas then Harvest does pull 'files_used'.  If your data is in qtrees then summing them up in Graphite/Grafana, grouped by volume, would give you the volume total file count.  A query like this would do it:

 

 

groupByNode(netapp.capacity.$Group.$Cluster.svm.$SVM.vol.$Volume.qtree.*.files_used, 7, 'sum')

 

 

If your data is not in qtrees, you or you want to collect it natively, you can use a custom template to add in a counter that shows inodes used "wv_fsinfo_public_inos_used" which contains the current inode count for a volume.  To do this follow these steps:

 

1) Create a new config template that includes this counter:

 

 

cat << EOF > /opt/netapp-harvest/template/cdot-volume-files.conf
%poller =   (
        'volume' =>
                        {
                                counter_list     => [ qw(vserver_name vserver_uuid node_name node_uuid parent_aggr
                                                                        read_data write_data
                                                                        read_ops write_ops other_ops total_ops
                                                                        read_latency write_latency other_latency avg_latency
                                                                        wv_fsinfo_public_inos_used
                                                                        )],
                                graphite_leaf    => 'svm.{vserver_name}.{node_name}.{parent_aggr}.{instance_name}',
                                plugin           => 'cdot-volume',
                                plugin_options   => {'svm' => 1, 'node' => 1, 'aggr' => 1},
                                enabled          => '1'
                        }
);
EOF

 

2) Update your poller entry in /opt/netapp-harvest.conf to merge this config template on top of the default one by using the template variable like this:

 

 

[sdt-cdot1]
hostname       = 10.64.28.242
site           = dev
template = default,cdot-volume-files.conf

 

 

3) Restart your pollers

 

/opt/netapp-harvest/netapp-manager -restart

 

 

4) After 2 polling cycles (120 seconds) create a graph in Grafana for a metrics path like (replace my site/cluster/svm/volume names with your own, use wildcards, or use template variables in Grafana):

 

netapp.perf.dev.sdt-cdot1-dev.svm.sdt-vs-nas1.vol.wfa1131.wv_fsinfo_public_inos_used

 

 

In case your next question is to show % inodes used or total (potential) inode count for a volume I checked for counters for these but could not find any.  To capture these you would be best to use the volume API (Harvest only knows how to use the counter manager API from the conf template) or a shell script of df -i and parse and send these in to Graphite directly.

 

Hope this helps!

 

 

Cheers,
Chris Madden

Solution Architect - 3rd Platform - Systems Engineering 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!

 

 

 

 

 

 

 

 

 

View solution in original post

5 REPLIES 5

madden
8,020 Views

Hi @CSCOTTENO

 

 

Capacity info is collected from OCUM and as far as I know inodes used (files) per volume is not tracked, which means Harvest can't pull it either.  If you use Quotas then Harvest does pull 'files_used'.  If your data is in qtrees then summing them up in Graphite/Grafana, grouped by volume, would give you the volume total file count.  A query like this would do it:

 

 

groupByNode(netapp.capacity.$Group.$Cluster.svm.$SVM.vol.$Volume.qtree.*.files_used, 7, 'sum')

 

 

If your data is not in qtrees, you or you want to collect it natively, you can use a custom template to add in a counter that shows inodes used "wv_fsinfo_public_inos_used" which contains the current inode count for a volume.  To do this follow these steps:

 

1) Create a new config template that includes this counter:

 

 

cat << EOF > /opt/netapp-harvest/template/cdot-volume-files.conf
%poller =   (
        'volume' =>
                        {
                                counter_list     => [ qw(vserver_name vserver_uuid node_name node_uuid parent_aggr
                                                                        read_data write_data
                                                                        read_ops write_ops other_ops total_ops
                                                                        read_latency write_latency other_latency avg_latency
                                                                        wv_fsinfo_public_inos_used
                                                                        )],
                                graphite_leaf    => 'svm.{vserver_name}.{node_name}.{parent_aggr}.{instance_name}',
                                plugin           => 'cdot-volume',
                                plugin_options   => {'svm' => 1, 'node' => 1, 'aggr' => 1},
                                enabled          => '1'
                        }
);
EOF

 

2) Update your poller entry in /opt/netapp-harvest.conf to merge this config template on top of the default one by using the template variable like this:

 

 

[sdt-cdot1]
hostname       = 10.64.28.242
site           = dev
template = default,cdot-volume-files.conf

 

 

3) Restart your pollers

 

/opt/netapp-harvest/netapp-manager -restart

 

 

4) After 2 polling cycles (120 seconds) create a graph in Grafana for a metrics path like (replace my site/cluster/svm/volume names with your own, use wildcards, or use template variables in Grafana):

 

netapp.perf.dev.sdt-cdot1-dev.svm.sdt-vs-nas1.vol.wfa1131.wv_fsinfo_public_inos_used

 

 

In case your next question is to show % inodes used or total (potential) inode count for a volume I checked for counters for these but could not find any.  To capture these you would be best to use the volume API (Harvest only knows how to use the counter manager API from the conf template) or a shell script of df -i and parse and send these in to Graphite directly.

 

Hope this helps!

 

 

Cheers,
Chris Madden

Solution Architect - 3rd Platform - Systems Engineering 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!

 

 

 

 

 

 

 

 

 

CSCOTTENO
7,861 Views

Thanks!  I never was notified you responded.  Just stumbled across your reply now.  I will give it a shot.

Malwai-Sardar
5,050 Views

So is there a way to get % inodes used and left so we can alert on them in counters?

jbastogne
4,134 Views

Great post

Thanks

CSCOTTENO
7,799 Views

Have tested this and it is working great in combination with Graphite.  Now have an embeddible graph for management perusal.  Thanks again!

Public