NetApp ONTAP v9.13 with InfluxDB 2.0.0
Grafana Dashboard for NetApp ONTAP v9.13 with InfluxDB 2.0.0
Based on https://grafana.com/grafana/dashboards/14179-grafana-dashboard-for-netapp-ontap-v9-8/ Credits to @jorgedelacruz
Please use the script provided by Jorge in template ID 14179
Make some adjustments for netapp_cluster_metrics
NetApp ONTAP Cluster Metrics
netappONTAPUrl=“https://$netappRestServer/api/cluster/metrics?order_by=timestamp%20desc&fields=*&interval=1h&max_records=$netappMetrics” netappClustermetricsUrl=$(curl -X GET “$netappONTAPUrl” -H “Accept:application/json” -H “authorization: Basic $netappAuth” -H “Content-Length: 0” 2>&1 -k –silent)
declare -i arraymetrics=0 for row in $(echo “$netappClustermetricsUrl” | jq -r ‘.records[].timestamp’); do
netappClusterTZ=$(echo "$netappClustermetricsUrl" | jq --raw-output ".records[$arraymetrics].timestamp")
netappClustertimestamp=$(date -d "$netappClusterTZ" +"%s")
netappClusterlatencyread=$(echo "$netappClustermetricsUrl" | jq --raw-output ".records[$arraymetrics].latency.read")
netappClusterlatencywrite=$(echo "$netappClustermetricsUrl" | jq --raw-output ".records[$arraymetrics].latency.write")
netappClusterlatencyother=$(echo "$netappClustermetricsUrl" | jq --raw-output ".records[$arraymetrics].latency.other")
netappClusterlatencytotal=$(echo "$netappClustermetricsUrl" | jq --raw-output ".records[$arraymetrics].latency.total")
netappClusteriopsread=$(echo "$netappClustermetricsUrl" | jq --raw-output ".records[$arraymetrics].iops.read")
netappClusteriopswrite=$(echo "$netappClustermetricsUrl" | jq --raw-output ".records[$arraymetrics].iops.write")
netappClusteriopsother=$(echo "$netappClustermetricsUrl" | jq --raw-output ".records[$arraymetrics].iops.other")
netappClusteriopstotal=$(echo "$netappClustermetricsUrl" | jq --raw-output ".records[$arraymetrics].iops.total")
netappClusterthroughputread=$(echo "$netappClustermetricsUrl" | jq --raw-output ".records[$arraymetrics].throughput.read")
netappClusterthroughputwrite=$(echo "$netappClustermetricsUrl" | jq --raw-output ".records[$arraymetrics].throughput.write")
netappClusterthroughputother=$(echo "$netappClustermetricsUrl" | jq --raw-output ".records[$arraymetrics].throughput.other")
netappClusterthroughputtotal=$(echo "$netappClustermetricsUrl" | jq --raw-output ".records[$arraymetrics].throughput.total")
##Un-comment the following echo for debugging
#echo "netapp_cluster_metrics,clustername=$netappClusterName latencyRead=$netappClusterlatencyread,latencyWrite=$netappClusterlatencywrite,latencyOther=$netappClusterlatencyother,latencyTotal=$netappClusterlatencytotal,iopsRead=$netappClusteriopsread,iopsWrite=$netappClusteriopswrite,iopsOther=$netappClusteriopsother,iopsTotal=$netappClusteriopsread,throughputRead=$netappClusterthroughputread,throughputWrite=$netappClusterthroughputwrite,throughputOther=$netappClusterthroughputother,throughputTotal=$netappClusterthroughputtotal $netappClustertimestamp"
##Comment the Curl while debugging
echo "Writing netapp_cluster_metrics to InfluxDB"
#curl -i -XPOST "$netappInfluxDBURL:$netappInfluxDBPort/write?precision=s&db=$netappInfluxDB" -u "$netappInfluxDBUser:$netappInfluxDBPassword" \
curl -i -XPOST "$netappInfluxDBURL:$netappInfluxDBPort/api/v2/write?org=pti&bucket=$netappInfluxDBBucket&precision=ns" \
--header "Authorization: Token 98iu5fSX-H0pergOj_ezQU-aMofd1jpVHlQrNliuhzqun9Yv0UUHNg0nCY1N3P9N4WQmH6sZ5r2914iNGzxmWw==" \
--header "Content-Type: text/plain; charset=utf-8" \
--header "Accept: application/json" \
--data-binary "netapp_cluster_metrics,clustername=$netappClusterName latencyRead=$netappClusterlatencyread,latencyWrite=$netappClusterlatencywrite,latencyOther=$netappClusterlatencyother,latencyTotal=$netappClusterlatencytotal,iopsRead=$netappClusteriopsread,iopsWrite=$netappClusteriopswrite,iopsOther=$netappClusteriopsother,iopsTotal=$netappClusteriopsread,throughputRead=$netappClusterthroughputread,throughputWrite=$netappClusterthroughputwrite,throughputOther=$netappClusterthroughputother,throughputTotal=$netappClusterthroughputtotal"
arraymetrics=$arraymetrics+1
done
Data source config
Collector config:
Upload an updated version of an exported dashboard.json file from Grafana
Revision | Description | Created | |
---|---|---|---|
Download |
InfluxDB
Easily monitor InfluxDB, an open source time series database, with Grafana Cloud's out-of-the-box monitoring solution.
Learn more