/rsyncprom

rsync wrapper (or output parser) that pushes metrics to prometheus

Primary LanguageGoApache License 2.0Apache-2.0

rsync-prom

Go Reference

An rsync wrapper (or output parser) that pushes metrics to prometheus.

This allows you to then build dashboards and alerting for your rsync batch jobs.

Installation

go install github.com/stapelberg/rsyncprom/cmd/rsync-prom@latest

Setup example: crontab

9 9 * * * /home/michael/go/bin/rsync-prom --instance="sync-drive" -- /home/michael/sync-drive.sh

Setup example: systemd

[Service]
ExecStart=/home/michael/go/bin/rsync-prom --instance="sync-wiki" -- /usr/bin/rsync --exclude data/cache -av --checksum server:wiki/ /var/cache/wiki

Code example: SSH wrapper

Here’s an example for code which uses the x/crypto/ssh package to trigger rsync on a remote machine and parses the output:

https://github.com/stapelberg/zkj-nas-tools/blob/02d46d718df60c413844d9218f6dd702ad94e5f1/dornroeschen/sshutil.go#L134-L139