Are you using the "reporting" function that is built in or a separate graphite installation? I use the former to push data into InfluxDB and visualize with Grafana. That's actually collectd running inside TN and using the graphite plain text API to deliver the data.
For pool space I have created this shell script that delivers all the data I need. The prefix is defined to match with what the built in collectd does.
Code:
root@freenas[/mnt/hdd/scripts]# cat zpool-metrics.sh
#! /bin/sh
HOST="192.168.1.55"
PORT="2003"
PREFIX="servers"
time=$(/bin/date +%s)
hostname=$(/bin/hostname | /usr/bin/tr '.' '_')
/usr/local/sbin/zpool list -Hp | while read pool size alloc free ignore
do
ralloc=$(echo "scale=8;${alloc}/${size}" | /usr/bin/bc)
rfree=$(echo "scale=8;${free}/${size}" | /usr/bin/bc)
echo "${PREFIX}.${hostname}.zpool.${pool}.size ${size} ${time}"
echo "${PREFIX}.${hostname}.zpool.${pool}.alloc ${alloc} ${time}"
echo "${PREFIX}.${hostname}.zpool.${pool}.alloc-ratio ${ralloc} ${time}"
echo "${PREFIX}.${hostname}.zpool.${pool}.free ${free} ${time}"
echo "${PREFIX}.${hostname}.zpool.${pool}.free-ratio ${rfree} ${time}"
done | /usr/bin/nc "${HOST}" "${PORT}" -w2