alerty 0.0.9 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/README.md +15 -7
- data/alerty.gemspec +1 -1
- data/lib/alerty/cli.rb +6 -0
- data/lib/alerty/config.rb +8 -0
- data/lib/alerty.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e0be1ca225982a4ccff7e0f9d835abb80518d5ee
|
4
|
+
data.tar.gz: 7cbf3f8fb89ee97e5f71a0614042adf39dac4b43
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca6ceb14d27c6485858b3fdf3cb122b8edebe87b2437811c4b89a7b0e85ab9f983dfb80bb2084c07e120a0fcbcd8d843d9f3bdb5945b84b69c71d1ad6d07f1aa
|
7
|
+
data.tar.gz: 6db27634148695a234d35b55ebf7367f821bc682a5ce99186a959e8b246a45474e54f95034a45ba45fbe490bbfe933596c493666b76c876cea598c99c651a310
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -21,8 +21,10 @@ gem install alerty
|
|
21
21
|
You can write a configuration file located at `/etc/alerty/alerty.yml` (You can configure this path by `ALERTY_CONFIG_FILE` environment variable, or `-c` option):
|
22
22
|
|
23
23
|
```
|
24
|
-
log_path:
|
25
|
-
log_level: '
|
24
|
+
log_path: /var/tmp/alerty.log
|
25
|
+
log_level: 'info'
|
26
|
+
log_shift_age: 10
|
27
|
+
log_shift_size: 10485760
|
26
28
|
timeout: 10
|
27
29
|
lock_path: /tmp/lock
|
28
30
|
retry_limit: 2
|
@@ -42,12 +44,14 @@ $ alerty -c example.yml -- ls -l /something_not_exist
|
|
42
44
|
### CLI Help
|
43
45
|
|
44
46
|
```
|
45
|
-
|
47
|
+
Usage: alerty [options] -- command
|
46
48
|
-c, --config CONFIG_FILE config file path (default: /etc/alerty/alerty.yml)
|
47
49
|
--log LOG_FILE log file path (default: STDOUT)
|
48
50
|
-l, --log-level LOG_LEVEL log level (default: warn)
|
49
|
-
|
50
|
-
--
|
51
|
+
--log-shift-age SHIFT_AGE Number of old log files to keep (default: 0 which means no log rotation)
|
52
|
+
--log-shift-size SHIFT_SIZE Maximum logfile size in bytes (default: 1048576)
|
53
|
+
-t, --timeout SECONDS timeout the command (default: no timeout)
|
54
|
+
--lock LOCK_FILE exclusive lock file to prevent running a command duplicatedly (default: no lock)
|
51
55
|
--retry-limit NUMBER number of retries (default: 0)
|
52
56
|
--retry-wait SECONDS retry interval = retry wait +/- 12.5% randomness (default: 1.0)
|
53
57
|
-d, --debug debug mode (same with --log-level debug)
|
@@ -60,8 +64,12 @@ Following plugins are available:
|
|
60
64
|
* [stdout](./lib/alerty/plugin/stdout.rb)
|
61
65
|
* [file](./lib/alerty/plugin/file.rb)
|
62
66
|
* [exec](./lib/alerty/plugin/exec.rb)
|
63
|
-
* [alerty-plugin-ikachan](https://github.com/sonots/alerty-plugin-ikachan)
|
64
|
-
* [alerty-plugin-amazon_sns](https://github.com/sonots/alerty-plugin-amazon_sns)
|
67
|
+
* [sonots/alerty-plugin-ikachan](https://github.com/sonots/alerty-plugin-ikachan)
|
68
|
+
* [sonots/alerty-plugin-amazon_sns](https://github.com/sonots/alerty-plugin-amazon_sns)
|
69
|
+
* [civitaspo/alerty-plugin-mail](https://github.com/civitaspo/alerty-plugin-mail)
|
70
|
+
* [inokappa/alerty-plugin-datadog_event](https://github.com/inokappa/alerty-plugin-datadog_event)
|
71
|
+
* [inokappa/alerty-plugin-amazon_cloudwatch_logs](https://github.com/inokappa/alerty-plugin-amazon_cloudwatch_logs)
|
72
|
+
* [inokappa/alerty-plugin-post_im_kayac](https://github.com/inokappa/alerty-plugin-post_im_kayac)
|
65
73
|
|
66
74
|
## Plugin Architecture
|
67
75
|
|
data/alerty.gemspec
CHANGED
data/lib/alerty/cli.rb
CHANGED
@@ -25,6 +25,12 @@ class Alerty
|
|
25
25
|
op.on('-l', '--log-level LOG_LEVEL', "log level (default: warn)") {|v|
|
26
26
|
opts[:log_level] = v
|
27
27
|
}
|
28
|
+
op.on('--log-shift-age SHIFT_AGE', "Number of old log files to keep (default: 0 which means no log rotation)") {|v|
|
29
|
+
opts[:log_shift_age] = Integer(v)
|
30
|
+
}
|
31
|
+
op.on('--log-shift-size SHIFT_SIZE', "Maximum logfile size in bytes (default: 1048576)") {|v|
|
32
|
+
opts[:log_shift_age] = Integer(v)
|
33
|
+
}
|
28
34
|
op.on('-t', '--timeout SECONDS', "timeout the command (default: no timeout)") {|v|
|
29
35
|
opts[:timeout] = v.to_f
|
30
36
|
}
|
data/lib/alerty/config.rb
CHANGED
@@ -26,6 +26,14 @@ class Alerty
|
|
26
26
|
opts[:log_level] || config.log_level || 'warn'
|
27
27
|
end
|
28
28
|
|
29
|
+
def log_shift_age
|
30
|
+
opts[:log_shift_age] || config.shift_age || 0
|
31
|
+
end
|
32
|
+
|
33
|
+
def log_shift_size
|
34
|
+
opts[:log_shift_size] || config.shift_size || 1048576
|
35
|
+
end
|
36
|
+
|
29
37
|
def timeout
|
30
38
|
opts[:timeout] || config.timeout
|
31
39
|
end
|
data/lib/alerty.rb
CHANGED
@@ -7,7 +7,7 @@ require_relative 'alerty/cli'
|
|
7
7
|
|
8
8
|
class Alerty
|
9
9
|
def self.logger
|
10
|
-
@logger ||= Logger.new(Config.log_path).tap do |logger|
|
10
|
+
@logger ||= Logger.new(Config.log_path, Config.log_shift_age, Config.log_shift_size).tap do |logger|
|
11
11
|
logger.level = Config.log_level
|
12
12
|
end
|
13
13
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alerty
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Naotoshi Seo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-03-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hashie
|
@@ -175,7 +175,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
175
175
|
version: '0'
|
176
176
|
requirements: []
|
177
177
|
rubyforge_project:
|
178
|
-
rubygems_version: 2.
|
178
|
+
rubygems_version: 2.5.1
|
179
179
|
signing_key:
|
180
180
|
specification_version: 4
|
181
181
|
summary: Send an alert if a given command failed
|