Skip to content

Commit

Permalink
Merge pull request #427 from warrenguy/tarsnap
Browse files Browse the repository at this point in the history
Add 'tarsnap' plugin.
  • Loading branch information
steveschnepp committed Feb 18, 2014
2 parents 74f814b + de7d6a2 commit 71da82d
Show file tree
Hide file tree
Showing 2 changed files with 113 additions and 0 deletions.
46 changes: 46 additions & 0 deletions plugins/tarsnap/README.md
@@ -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 changes: 67 additions & 0 deletions plugins/tarsnap/tarsnap
@@ -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

0 comments on commit 71da82d

Please sign in to comment.