diff options
author | Jesse Luehrs <doy@tozt.net> | 2021-03-27 19:56:57 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2021-03-27 19:56:57 -0400 |
commit | 12d77d5eb1d08b7f8e256cd8ae15b5a0b20a91a5 (patch) | |
tree | 6527c012461bf9896eb22c5f9572799416f64432 /modules/tick/files | |
parent | 62ec0f0c3baee1da7829c59d3c39b2d9c5faaba8 (diff) | |
download | puppet-tozt-12d77d5eb1d08b7f8e256cd8ae15b5a0b20a91a5.tar.gz puppet-tozt-12d77d5eb1d08b7f8e256cd8ae15b5a0b20a91a5.zip |
add monitoring for borg
Diffstat (limited to 'modules/tick/files')
-rw-r--r-- | modules/tick/files/plugins/borg | 19 | ||||
-rw-r--r-- | modules/tick/files/plugins/borg.conf | 5 |
2 files changed, 24 insertions, 0 deletions
diff --git a/modules/tick/files/plugins/borg b/modules/tick/files/plugins/borg new file mode 100644 index 0000000..38bbe3c --- /dev/null +++ b/modules/tick/files/plugins/borg @@ -0,0 +1,19 @@ +#!/usr/bin/env ruby + +require 'date' +require 'json' + +now = Time.now + +data = JSON.load(%x{borgmatic info --archive latest --json}) + +repository = data[0]["repository"] +archive = data[0]["archives"][0] + +location = repository["location"] +ago_s = now - DateTime.iso8601(archive["end"]).to_time +dur_s = archive["duration"].to_f +file_size_b = archive["stats"]["original_size"] +file_count_n = archive["stats"]["nfiles"] + +puts "borg,location=#{location} days_since_last_run=#{ago_s / 60.0 / 60.0 / 24.0},last_run_duration_minutes=#{dur_s / 60.0},file_size=#{file_size_b}i,file_count=#{file_count_n}i" diff --git a/modules/tick/files/plugins/borg.conf b/modules/tick/files/plugins/borg.conf new file mode 100644 index 0000000..2351d2a --- /dev/null +++ b/modules/tick/files/plugins/borg.conf @@ -0,0 +1,5 @@ +[[inputs.exec]] +commands = ["/etc/telegraf/plugins/borg"] +data_format = "influx" +interval = "5m" +timeout = "2m" |