-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.xml
69 lines (56 loc) · 4.12 KB
/
index.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>s3mon</title>
<link>https://s3mon.dev/</link>
<description>Recent content on s3mon</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Thu, 03 Oct 2019 23:13:07 +0200</lastBuildDate>
<atom:link href="https://s3mon.dev/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>How It Works</title>
<link>https://s3mon.dev/post/how-it-works/</link>
<pubDate>Thu, 03 Oct 2019 23:13:07 +0200</pubDate>
<guid>https://s3mon.dev/post/how-it-works/</guid>
<description>In a nutshell s3mon will list and search for files starting with a prefix on a list of defined buckets that are not older than a specified age. These options are defined in a config.yml file, (YAML formated)
The config file Example of a configuration file:
--- s3mon: endpoint: s3.provider region: &lt;aws-region&gt; access_key: ACCESS_KEY_ID secret_key: SECRET_ACCESS_KEY buckets: bucket_A: # bucket name - prefix: starts_with_foo # prefix file starts with age: 86400 # in seconds size: 30720 # in bytes bucket_B: - prefix: file age: 43200 - prefix: my-55GB-backup-every-2-days age: 172800 size: 53687091200 The size option is in bytes and it is optional.</description>
</item>
<item>
<title>Metrics</title>
<link>https://s3mon.dev/post/metrics/</link>
<pubDate>Thu, 03 Oct 2019 23:13:07 +0200</pubDate>
<guid>https://s3mon.dev/post/metrics/</guid>
<description>InfluxDB line protocol The output of s3mon is the InfluxDB line protocol, for example:
$ s3mon -c config.yml s3mon,bucket=backup,prefix=backup error=0i,exist=1i,size_mismatch=1i s3mon,bucket=random,prefix=abc error=0i,exist=1i,size_mismatch=0i s3mon,bucket=foo,prefix=bar error=0i,exist=1i,size_mismatch=0i s3mon,bucket=test,prefix=backup error=0i,exist=0i,size_mismatch=0i s3mon,bucket=images,prefix=img error=0i,exist=1i,size_mismatch=0i telegraf s3mon could be called periodically from telegraf using this configuration:
[[inputs.exec]] command = &quot;/path/to/s3mon -c /path/to/config.yml&quot; interval = &quot;1h&quot; data_format = &quot;influx&quot; grafana You could use this dashboard and configure custom alerts: https://grafana.com/grafana/dashboards/11008</description>
</item>
<item>
<title>s3mon</title>
<link>https://s3mon.dev/about/</link>
<pubDate>Thu, 03 Oct 2019 21:23:28 +0200</pubDate>
<guid>https://s3mon.dev/about/</guid>
<description>If you are you making backups and storing them in an s3 bucket it could happen that you are blindly trusting your backup mechanism but your s3 buckets may be empty or with corrupted backups. 😲
The &ldquo;backup&rdquo; topic is huge, but these days, in many cases, it all ends in an s3 bucket.
s3mon aims to be a command-line tool that could help verify that data has been stored in an s3 bucket no longer than a defined period of time in order to ensure that backups have been stored properly and if not, notify by defined alerts and channels in order to fix or improve the backup procedure.</description>
</item>
<item>
<title>Install</title>
<link>https://s3mon.dev/post/install/</link>
<pubDate>Wed, 02 Oct 2019 22:01:36 +0200</pubDate>
<guid>https://s3mon.dev/post/install/</guid>
<description>To install s3mon:
$ cargo install s3mon check your PATH $HOME/.cargo/bin/s3mon
$ ~/.cargo/bin/s3mon -h s3mon x.x.x USAGE: s3mon [OPTIONS] FLAGS: -h, --help Prints help information -V, --version Prints version information OPTIONS: -c, --config &lt;FILE&gt; config.yml If you don&rsquo;t have cargo try:
$ curl https://sh.rustup.rs -sSf | sh </description>
</item>
<item>
<title></title>
<link>https://s3mon.dev/readme/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://s3mon.dev/readme/</guid>
<description>public www public content</description>
</item>
</channel>
</rss>