45 lines
960 B
Text
45 lines
960 B
Text
|
#!/bin/sh
|
||
|
|
||
|
# Sample setup for '/etc/munin/plugin-conf.d/munin-node':
|
||
|
#
|
||
|
# [pihole_*]
|
||
|
# user root
|
||
|
# env.host 127.0.0.1
|
||
|
# env.port 80
|
||
|
# env.api /admin/api.php
|
||
|
|
||
|
envhost=${host:-127.0.0.1}
|
||
|
envport=${port:-80}
|
||
|
envapi=${api:-/admin/api.php}
|
||
|
|
||
|
apicall=$(curl -s "$envhost:$envport$envapi" 2>/dev/null)
|
||
|
stats=$(echo $apicall | sed 's/[{}"]//g' | tr "," "\n")
|
||
|
|
||
|
case $1 in
|
||
|
config)
|
||
|
echo "graph_title Pihole Clients"
|
||
|
echo "graph_vlabel count"
|
||
|
echo "graph_category pihole"
|
||
|
echo "graph_info This graph shows the Pihole unique clients statistics."
|
||
|
|
||
|
for stat in $stats
|
||
|
do
|
||
|
uid=$(echo $stat | sed 's/:.*//')
|
||
|
if [ $uid = "unique_clients" ]; then
|
||
|
echo "$uid.label $uid"
|
||
|
echo "$uid.min 0"
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
exit 0;;
|
||
|
esac
|
||
|
|
||
|
for stat in $stats
|
||
|
do
|
||
|
uid=$(echo $stat | sed 's/:.*//')
|
||
|
if [ $uid = "unique_clients" ]; then
|
||
|
value=$(echo $stat | sed 's/.*://')
|
||
|
echo "$uid.value $value"
|
||
|
fi
|
||
|
done
|