diff options
| author | Felix Hanley <felix@userspace.com.au> | 2022-02-15 11:29:57 +0000 |
|---|---|---|
| committer | Felix Hanley <felix@userspace.com.au> | 2022-02-15 11:29:57 +0000 |
| commit | 6e9ad685b7f8ec16a3f3a2d6875fba530bcaa715 (patch) | |
| tree | 7fe5c5052282e5e595d4f85c722f511a79f0ddf6 /nfsd.sh | |
| download | collectd-freebsd-master.tar.gz collectd-freebsd-master.tar.bz2 | |
Diffstat (limited to 'nfsd.sh')
| -rwxr-xr-x | nfsd.sh | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -0,0 +1,23 @@ +#!/bin/sh + +PATH= +SLEEP=/bin/sleep +DOAS=/usr/local/bin/doas +AWK=/usr/bin/awk +NFSSTAT=/usr/bin/nfsstat +JQ=/usr/local/bin/jq + +HOSTNAME="${COLLECTD_HOSTNAME:-localhost}" +INTERVAL="${COLLECTD_INTERVAL:-120}" + +AWKOPTS="-v interval=${INTERVAL} -v host=${HOSTNAME}" + +while true; do + $DOAS $NFSSTAT --libxo json \ + | $JQ -r '.nfsstat.serverstats.operations | keys[] as $k | "\($k)=\(.[$k])"' \ + | $AWK ${AWKOPTS} -F "[.=]" '{printf "PUTVAL %s/nfs_server-operation/gauge-%s interval=%s N:%d\n", host, $1, interval, int($2)}' + $DOAS $NFSSTAT --libxo json \ + | $JQ -r '.nfsstat.serverstats.cache | keys[] as $k | "\($k)=\(.[$k])"' \ + | $AWK ${AWKOPTS} -F "[.=]" '{printf "PUTVAL %s/nfs_server-cache/gauge-%s interval=%s N:%d\n", host, $1, interval, int($2)}' + $SLEEP $INTERVAL +done |
