1
0
Fork 0
mirror of https://github.com/munin-monitoring/contrib.git synced 2025-07-21 18:41:03 +00:00

Add 'tarsnap' plugin.

Monitors the amount of data stored by the local machine on the tarsnap.com service.
This commit is contained in:
Warren Guy 2014-01-22 14:17:26 +00:00
parent 84866ca679
commit de7d6a27b9
2 changed files with 113 additions and 0 deletions

46
plugins/tarsnap/README.md Normal file
View file

@ -0,0 +1,46 @@
Munin plugin for Tarsnap
========================
https://github.com/warrenguy/munin-tarsnap
This plugin creates two graphs:
* *tarsnap_total* - summarising the total amount of data the local tarsnap
instance has stored on the service (total and compressed).
* *tarsnap_unique* - summarising the total amount of unique (deduplicated)
data the local tarsnap instance has stored on the service (total and
compressed). The compressed value here is the actual amount of data stored
on the tarnap servers and what tarsnap uses for billing.
Usage
-----
Add the following to your backup script (after tarsnap has run), or to a
cron job:
/usr/local/bin/tarsnap --print-stats > /path/to/tarsnap-stats.txt
N.B.: ensure `/path/to/munin-stats.txt` is readable by munin-node.
Configuration
-------------
Define the path to the stats file created above in your munin-node
configuration:
[tarsnap]
env.STATSFILE /path/to/tarsnap-stats.txt
The default value is `/var/lib/munin/tarsnap-stats.txt`.
Author
------
Warren Guy <warren@guy.net.au>
https://warrenguy.me
Copyright
---------
Copyright (C) 2014 Warren Guy <warren@guy.net.au>

67
plugins/tarsnap/tarsnap Executable file
View file

@ -0,0 +1,67 @@
#!/bin/sh
#
# Munin plugin for Tarsnap
#
# https://github.com/warrenguy/munin-tarsnap
#
# USAGE:
#
# Add the following to your backup script (after tarsnap has run), or to a
# cron job:
#
# /usr/local/bin/tarsnap --print-stats > /path/to/tarsnap-stats.txt
#
# N.B.: ensure /path/to/munin-stats.txt is readable by munin-node. The
# default path this script tries is /var/lib/munin/tarsnap-stats.txt
#
# CONFIGURATION:
#
# [tarsnap]
# env.STATSFILE /path/to/tarsnap-stats.txt
#
# AUTHOR:
#
# Warren Guy <warren@guy.net.au>
# https://warrenguy.me
#
# COPYRIGHT:
#
# Copyright (C) 2014 Warren Guy <warren@guy.net.au>
#
STATSFILE=${STATSFILE=/var/lib/munin/tarsnap-stats.txt}
case $1 in
config)
cat <<'EOM'
multigraph tarsnap_total
graph_title Tarsnap total data
graph_vlabel bytes
graph_category tarsnap
total_size.label Total size
total_compressed.label Total size (compressed)
multigraph tarsnap_unique
graph_title Tarsnap unique data
graph_vlabel bytes
graph_category tarsnap
unique_size.label Unique data
unique_compressed.label Unique data (compressed)
EOM
exit 0;;
esac
NUMBERS=`cat $STATSFILE | sed -e 's/[a-zA-Z\(\)]//g' -e 's/\ /\n/g' |grep -v ^$`
LINE=0
for NUMBER in $NUMBERS; do
LINE=`expr $LINE + 1`
case "$LINE" in
1) TOTALSIZE=$NUMBER ;;
2) TOTALCOMP=$NUMBER ;;
3) UNIQUESIZE=$NUMBER ;;
4) UNIQUECOMP=$NUMBER ;;
esac
done
printf "multigraph tarsnap_total\ntotal_size.value %s\ntotal_compressed.value %s\n\n" $TOTALSIZE $TOTALCOMP
printf "multigraph tarsnap_unique\nunique_size.value %s\nunique_compressed.value %s\n" $UNIQUESIZE $UNIQUECOMP