sensu-plugins-docker 0.0.4 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d90fbbc20bfc21220fd34d813841ba8876ff0a19
4
- data.tar.gz: 0a4ab98ea4bc07e046d350d41c07e80449c0196b
3
+ metadata.gz: fdd8b18ca5f1f21fdb938571b8f4f530a1f8daaa
4
+ data.tar.gz: 1dd8364c04b0c3ac9538a0d6f2145608204981bd
5
5
  SHA512:
6
- metadata.gz: 4ad7811845fb384e123e3a9bb65d02aafbed1fc30b363ea95fb18400638041e0b86c71b9594acfca5002dd6e8096e862ed5ed3c6a2b01d5cdb9af362560ef736
7
- data.tar.gz: ee04d80ba6d787bef437922d897fb74e83f0cea1e22e03d3420872f77c9472ede8432ebec398b383df5a1d966c1d85563bbc0e3387071b954e282234f45cc673
6
+ metadata.gz: 6d94f617e811e3cb122e047dccb7eba2b3769f4197827db89bb05424c098d0b0f137c8b9879a2673dca48bf53cba6287556b4211267a55f724355738247b4091
7
+ data.tar.gz: 4ef39a0eb65a4420e08de03a5cf7345c1b39ba4c4b636b52c348705ab05d762a93466ef3ed78b2f430843d8b8d0433ba19112f580ab5e93e91b8b34cb2d203b7
data/CHANGELOG.md CHANGED
@@ -3,7 +3,24 @@ This project adheres to [Semantic Versioning](http://semver.org/).
3
3
 
4
4
  This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachangelog.com/)
5
5
 
6
- ## Unreleased
6
+ ## [Unreleased]
7
+
8
+ ## 1.0.0 - 2016-05-24
9
+ Note: this release changes how connections are made to the Docker API and also
10
+ changes some options. Review your check commands before deploying this version.
11
+
12
+ ### Added
13
+ - Added check-container-logs.rb to check docker logs for matching strings
14
+ - Support for Ruby 2.3.0
15
+ - metrics-docker-container.rb: add option to override the default path to cgroup.proc
16
+
17
+ ### Removed
18
+ - Support for Ruby 1.9.3
19
+
20
+ ### Changed
21
+ - check-docker-container.rb: output the number of running containers
22
+ - Refactor to connect to the Docker API socket directly instead of using the `docker` or `docker-api` gems
23
+ - Update to rubocop 0.40 and cleanup
7
24
 
8
25
  ## [0.0.4] - 2015-08-10
9
26
  ### Changed
@@ -14,15 +31,19 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
14
31
  ### Changed
15
32
  - updated sensu-plugin gem to 1.2.0
16
33
 
17
- ## 0.0.1 - 2015-04-30
18
-
19
- ### Added
20
- - initial release
21
-
22
34
  ## [0.0.2] - 2015-06-02
23
-
24
35
  ### Fixed
25
36
  - added binstubs
26
37
 
27
38
  ### Changed
28
39
  - removed cruft from /lib
40
+
41
+ ## 0.0.1 - 2015-04-30
42
+ ### Added
43
+ - initial release
44
+
45
+ [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-docker/compare/1.0.0...HEAD
46
+ [1.0.0]: https://github.com/sensu-plugins/sensu-plugins-docker/compare/0.0.4...1.0.0
47
+ [0.0.4]: https://github.com/sensu-plugins/sensu-plugins-docker/compare/0.0.3...0.0.4
48
+ [0.0.3]: https://github.com/sensu-plugins/sensu-plugins-docker/compare/0.0.2...0.0.3
49
+ [0.0.2]: https://github.com/sensu-plugins/sensu-plugins-docker/compare/0.0.1...0.0.2
data/README.md CHANGED
@@ -1,18 +1,19 @@
1
1
  ## Sensu-Plugins-docker
2
2
 
3
- [ ![Build Status](https://travis-ci.org/sensu-plugins/sensu-plugins-docker.svg?branch=master)](https://travis-ci.org/sensu-plugins/sensu-plugins-docker)
3
+ [![Build Status](https://travis-ci.org/sensu-plugins/sensu-plugins-docker.svg?branch=master)](https://travis-ci.org/sensu-plugins/sensu-plugins-docker)
4
4
  [![Gem Version](https://badge.fury.io/rb/sensu-plugins-docker.svg)](http://badge.fury.io/rb/sensu-plugins-docker)
5
5
  [![Code Climate](https://codeclimate.com/github/sensu-plugins/sensu-plugins-docker/badges/gpa.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-docker)
6
6
  [![Test Coverage](https://codeclimate.com/github/sensu-plugins/sensu-plugins-docker/badges/coverage.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-docker)
7
7
  [![Dependency Status](https://gemnasium.com/sensu-plugins/sensu-plugins-docker.svg)](https://gemnasium.com/sensu-plugins/sensu-plugins-docker)
8
- [ ![Codeship Status for sensu-plugins/sensu-plugins-docker](https://codeship.com/projects/680bcc80-e24b-0132-265c-4ea0dd54b93d/status?branch=master)](https://codeship.com/projects/81436)
9
8
 
10
9
  ## Functionality
11
10
 
12
11
  ## Files
13
- * check-contsainer.rb
12
+ * check-container.rb
13
+ * check-container-logs.rb
14
14
  * check-docker-container.rb
15
15
  * metrics-docker-container.rb
16
+ * metrics-docker-stats.rb
16
17
 
17
18
  ## Usage
18
19
 
@@ -0,0 +1,136 @@
1
+ #! /usr/bin/env ruby
2
+ #
3
+ # check-container-logs
4
+ #
5
+ # DESCRIPTION:
6
+ # Checks docker logs for specified strings
7
+ # with the option to ignore lines if they contain specified substrings.
8
+ #
9
+ # OUTPUT:
10
+ # plain text
11
+ #
12
+ # PLATFORMS:
13
+ # Linux
14
+ #
15
+ # DEPENDENCIES:
16
+ # gem: sensu-plugin
17
+ # gem: net_http_unix
18
+ #
19
+ # USAGE:
20
+ # check-container-logs.rb -H /tmp/docker.sock -n logspout -r 'problem sending' -r 'i/o timeout' -i 'Remark:' -i 'The configuration is'
21
+ # => 1 container running = OK
22
+ # => 4 container running = CRITICAL
23
+ #
24
+ # NOTES:
25
+ # The API parameter required to use the limited lookback (-t) was introduced
26
+ # the Docker server API version 1.19. This check may still work on older API
27
+ # versions if you don't want to limit the timestamps of logs.
28
+ #
29
+ # LICENSE:
30
+ # Author: Nathan Newman <newmannh@gmail.com>, Kel Cecil <kelcecil@praisechaos.com>
31
+ # Released under the same terms as Sensu (the MIT license); see LICENSE
32
+ # for details.
33
+ #
34
+
35
+ require 'sensu-plugin/check/cli'
36
+ require 'sensu-plugins-docker/client_helpers'
37
+
38
+ class ContainerLogChecker < Sensu::Plugin::Check::CLI
39
+ option :docker_host,
40
+ description: 'location of docker api: host:port or /path/to/docker.sock',
41
+ short: '-H DOCKER_HOST',
42
+ long: '--docker-host DOCKER_HOST',
43
+ default: '127.0.0.1:2375'
44
+
45
+ option :container,
46
+ description: 'name of container',
47
+ short: '-n CONTAINER',
48
+ long: '--container-name CONTAINER',
49
+ required: true
50
+
51
+ option :red_flags,
52
+ description: 'substring whose presence (case-insensitive by default) in a log line indicates an error; can be used multiple t
53
+ imes',
54
+ short: '-r "error occurred" -r "problem encountered" -r "error status"',
55
+ long: '--red-flag "error occurred" --red-flag "problem encountered" --red-flag "error status"',
56
+ default: [],
57
+ proc: proc { |flag| (@options[:red_flags][:accumulated] ||= []).push(flag) }
58
+
59
+ option :ignore_list,
60
+ description: 'substring whose presence (case-insensitive by default) in a log line indicates the line should be ignored; can
61
+ be used multiple times',
62
+ short: '-i "configuration:" -i "# Remark:"',
63
+ long: '--ignore-lines-with "configuration:" --ignore-lines-with "# remark:"',
64
+ default: [],
65
+ proc: proc { |flag| (@options[:ignore_list][:accumulated] ||= []).push(flag) }
66
+
67
+ option :case_sensitive,
68
+ description: 'indicates all red_flag and ignore_list substring matching should be case-sensitive instead of the default case-
69
+ insensitive',
70
+ short: '-c',
71
+ long: '--case-sensitive',
72
+ boolean: true
73
+
74
+ option :hours_ago,
75
+ description: 'Amount of time in hours to look back for log strings',
76
+ short: '-t HOURS',
77
+ long: '--hours-ago HOURS',
78
+ required: false
79
+
80
+ def calculate_timestamp(hours)
81
+ seconds_ago = hours.to_i * 3600
82
+ (Time.now - seconds_ago).to_i
83
+ end
84
+
85
+ def process_docker_logs(container_name)
86
+ client = create_docker_client
87
+ path = "/containers/#{container_name}/logs?stdout=true&stderr=true"
88
+ if config.key? :hours_ago
89
+ path = "#{path}&since=#{calculate_timestamp config[:hours_ago]}"
90
+ end
91
+ req = Net::HTTP::Get.new path
92
+
93
+ client.request req do |response|
94
+ response.read_body do |chunk|
95
+ yield remove_headers chunk
96
+ end
97
+ end
98
+ end
99
+
100
+ def remove_headers(raw_logs)
101
+ lines = raw_logs.split("\n")
102
+ lines.map! { |line| line.byteslice(8, line.bytesize) }
103
+ lines.join("\n")
104
+ end
105
+
106
+ def includes_any?(str, array_of_substrings)
107
+ array_of_substrings.each do |substring|
108
+ return true if str.include? substring
109
+ end
110
+ false
111
+ end
112
+
113
+ def detect_problem(logs)
114
+ whiteflags = config[:ignore_list]
115
+ redflags = config[:red_flags]
116
+ unless config[:case_sensitive]
117
+ logs = logs.downcase
118
+ whiteflags.map!(&:downcase)
119
+ redflags.map!(&:downcase)
120
+ end
121
+
122
+ logs.split("\n").each do |line|
123
+ return line if !includes_any?(line, whiteflags) && includes_any?(line, redflags)
124
+ end
125
+ nil
126
+ end
127
+
128
+ def run
129
+ container = config[:container]
130
+ process_docker_logs(container) do |log_chunk|
131
+ problem = detect_problem log_chunk
132
+ critical "#{container} container logs indicate problem: '#{problem}'." unless problem.nil?
133
+ end
134
+ ok "No errors detected from #{container} container logs."
135
+ end
136
+ end
@@ -14,7 +14,6 @@
14
14
  #
15
15
  # DEPENDENCIES:
16
16
  # gem: sensu-plugin
17
- # gem: docker
18
17
  #
19
18
  # USAGE:
20
19
  # check-docker-container.rb c92d402a5d14
@@ -37,33 +36,40 @@
37
36
  #
38
37
 
39
38
  require 'sensu-plugin/check/cli'
40
- require 'docker'
39
+ require 'sensu-plugins-docker/client_helpers'
40
+ require 'json'
41
41
 
42
42
  #
43
- # Check Docker Conatiner
43
+ # Check Docker Container
44
44
  #
45
45
  class CheckDockerContainer < Sensu::Plugin::Check::CLI
46
- option :url,
47
- short: '-u DOCKER_HOST',
46
+ option :docker_host,
47
+ short: '-h DOCKER_HOST',
48
48
  long: '--host DOCKER_HOST',
49
- default: 'tcp://127.0.0.1:2376/'
49
+ default: '127.0.0.1:2375'
50
+ option :container,
51
+ short: '-c CONTAINER',
52
+ long: '--container CONTAINER',
53
+ required: true
50
54
 
51
- def run #rubocop:disable all
52
- Docker.url = "#{config[:url]}"
55
+ def run
56
+ client = create_docker_client
57
+ path = "/containers/#{config[:container]}/json"
58
+ req = Net::HTTP::Get.new path
59
+ begin
60
+ response = client.request(req)
61
+ if response.body.include? 'no such id'
62
+ critical "#{config[:container]} is not running on #{config[:docker_host]}"
63
+ end
53
64
 
54
- id = argv.first
55
- container = Docker::Container.get(id)
56
-
57
- if container.info['State']['Running']
58
- ok
59
- else
60
- critical "#{id} is not running"
65
+ container_info = JSON.parse(response.body)
66
+ if container_info['State']['Status'] == 'running'
67
+ ok "#{config[:container]} is running on #{config[:docker_host]}."
68
+ end
69
+ rescue JSON::ParserError => e
70
+ critical "JSON Error: #{e.inspect}"
71
+ rescue => e
72
+ warning "Error: #{e.inspect}"
61
73
  end
62
- rescue Docker::Error::NotFoundError
63
- critical "#{id} is not running on the host"
64
- rescue Excon::Errors::SocketError
65
- warning 'unable to connect to Docker'
66
- rescue => e
67
- warning "unknown error #{e.inspect}"
68
74
  end
69
75
  end
@@ -13,8 +13,7 @@
13
13
  #
14
14
  # DEPENDENCIES:
15
15
  # gem: sensu-plugin
16
- # gem: docker
17
- # gem: docker-api
16
+ # gem: net_http_unix
18
17
  #
19
18
  # USAGE:
20
19
  # check-docker-container.rb -w 3 -c 3
@@ -30,62 +29,81 @@
30
29
  #
31
30
 
32
31
  require 'sensu-plugin/check/cli'
33
- require 'docker'
34
-
32
+ require 'sensu-plugins-docker/client_helpers'
33
+ require 'json'
35
34
  #
36
35
  # Check Docker Conatiners
37
36
  #
38
37
  class CheckDockerContainers < Sensu::Plugin::Check::CLI
39
- option :url,
40
- short: '-u docker host',
41
- default: 'http://127.0.0.1:2376/'
38
+ option :docker_host,
39
+ short: '-h docker_host',
40
+ long: '--host DOCKER_HOST',
41
+ default: '127.0.0.1:2375'
42
42
 
43
43
  option :warn_over,
44
- short: '-w N',
44
+ short: '-W N',
45
45
  long: '--warn-over N',
46
46
  description: 'Trigger a warning if over a number',
47
47
  proc: proc(&:to_i)
48
48
 
49
49
  option :crit_over,
50
- short: '-c N',
50
+ short: '-C N',
51
51
  long: '--critical-over N',
52
52
  description: 'Trigger a critical if over a number',
53
53
  proc: proc(&:to_i)
54
54
 
55
55
  option :warn_under,
56
- short: '-W N',
56
+ short: '-w N',
57
57
  long: '--warn-under N',
58
58
  description: 'Trigger a warning if under a number',
59
59
  proc: proc(&:to_i),
60
60
  default: 1
61
61
 
62
62
  option :crit_under,
63
- short: '-C N',
63
+ short: '-c N',
64
64
  long: '--critical-under N',
65
- description: 'Trigger a critial if under a number',
65
+ description: 'Trigger a critical if under a number',
66
66
  proc: proc(&:to_i),
67
67
  default: 1
68
68
 
69
- def run #rubocop:disable all
70
- Docker.url = "#{config[:url]}"
71
- conn = Docker::Container.all(ruuning: true)
72
- count = conn.size.to_i
73
- puts "#{count} Running Containers..."
69
+ def under_message(crit_under, count)
70
+ "Less than #{crit_under} containers running. #{count} running."
71
+ end
72
+
73
+ def over_message(crit_over, count)
74
+ "More than #{crit_over} containers running. #{count} running."
75
+ end
74
76
 
77
+ def evaluate_count(count)
75
78
  # #YELLOW
76
- if !!config[:crit_under] && count < config[:crit_under] # rubocop:disable Style/DoubleNegation
77
- puts critical
79
+ if config.key?(:crit_under) && count < config[:crit_under]
80
+ critical under_message(config[:crit_under], count)
78
81
  # #YELLOW
79
- elsif !!config[:crit_over] && count > config[:crit_over] # rubocop:disable Style/DoubleNegation
80
- puts critical
82
+ elsif config.key?(:crit_over) && count > config[:crit_over]
83
+ critical over_message(config[:crit_over], count)
81
84
  # #YELLOW
82
- elsif !!config[:warn_under] && count < config[:warn_under] # rubocop:disable Style/DoubleNegation
83
- puts warning
85
+ elsif config.key?(:warn_under) && count < config[:warn_under]
86
+ warning under_message(config[:warn_under], count)
84
87
  # #YELLOW
85
- elsif !!config[:warn_over] && count > config[:warn_over] # rubocop:disable Style/DoubleNegation
86
- puts warning
88
+ elsif config.key?(:warn_over) && count > config[:warn_over]
89
+ warning over_message(config[:warn_over], count)
87
90
  else
88
- puts ok
91
+ ok
92
+ end
93
+ end
94
+
95
+ def run
96
+ client = create_docker_client
97
+ path = '/containers/json'
98
+ req = Net::HTTP::Get.new path
99
+ begin
100
+ response = client.request(req)
101
+ containers = JSON.parse(response.body)
102
+ evaluate_count containers.size
103
+ rescue JSON::ParserError => e
104
+ critical "JSON Error: #{e.inspect}"
105
+ rescue => e
106
+ warning "Error: #{e.inspect}"
89
107
  end
90
108
  end
91
109
  end
@@ -51,13 +51,19 @@ class DockerContainerMetrics < Sensu::Plugin::Metric::CLI::Graphite
51
51
  long: '--docker-host DOCKER_HOST',
52
52
  default: 'tcp://127.0.1.1:2376'
53
53
 
54
+ option :cgroup_template,
55
+ description: 'cgroup_template',
56
+ short: '-T <template string>',
57
+ long: '--cgroup-template template_string',
58
+ default: 'cpu/docker/%{container}/cgroup.procs'
59
+
54
60
  def run
55
61
  container_metrics
56
62
  ok
57
63
  end
58
64
 
59
65
  def container_metrics #rubocop:disable all
60
- cgroup = Pathname(config[:cgroup_path]).join('cpu/docker')
66
+ cgroup = "#{config[:cgroup_path]}/#{config[:cgroup_template]}"
61
67
 
62
68
  timestamp = Time.now.to_i
63
69
  ps = Sys::ProcTable.ps.group_by(&:pid)
@@ -70,7 +76,8 @@ class DockerContainerMetrics < Sensu::Plugin::Metric::CLI::Graphite
70
76
  containers = `docker ps --quiet --no-trunc`.split("\n")
71
77
 
72
78
  containers.each do |container|
73
- pids = cgroup.join(container).join('cgroup.procs').readlines.map(&:to_i)
79
+ path = Pathname(format(cgroup, container: container))
80
+ pids = path.readlines.map(&:to_i)
74
81
 
75
82
  processes = ps.values_at(*pids).flatten.compact.group_by(&:comm)
76
83
  processes2 = ps2.values_at(*pids).flatten.compact.group_by(&:comm)
@@ -82,11 +82,11 @@ class DockerStatsMetrics < Sensu::Plugin::Metric::CLI::Graphite
82
82
  def run
83
83
  @timestamp = Time.now.to_i
84
84
 
85
- if config[:container] != ''
86
- list = [config[:container]]
87
- else
88
- list = list_containers
89
- end
85
+ list = if config[:container] != ''
86
+ [config[:container]]
87
+ else
88
+ list_containers
89
+ end
90
90
  list.each do |container|
91
91
  stats = container_stats(container)
92
92
  output_stats(container, stats)
@@ -144,11 +144,11 @@ class DockerStatsMetrics < Sensu::Plugin::Metric::CLI::Graphite
144
144
  @containers = docker_api(path)
145
145
 
146
146
  @containers.each do |container|
147
- if config[:friendly_names]
148
- list << container['Names'][0].gsub('/', '')
149
- else
150
- list << container['Id']
151
- end
147
+ list << if config[:friendly_names]
148
+ container['Names'][0].delete('/')
149
+ else
150
+ container['Id']
151
+ end
152
152
  end
153
153
  list
154
154
  end
@@ -0,0 +1,18 @@
1
+ require 'net_http_unix'
2
+
3
+ def create_docker_client
4
+ client = nil
5
+ if config[:docker_host][0] == '/'
6
+ host = 'unix://' + config[:docker_host]
7
+ client = NetX::HTTPUnix.new(host)
8
+ else
9
+ split_host = config[:docker_host].split ':'
10
+ client = if split_host.length == 2
11
+ NetX::HTTPUnix.new(split_host[0], split_host[1])
12
+ else
13
+ NetX::HTTPUnix.new(config[:docker_host], 2375)
14
+ end
15
+ end
16
+
17
+ client
18
+ end
@@ -1,8 +1,8 @@
1
1
  module SensuPluginsDocker
2
2
  module Version
3
- MAJOR = 0
3
+ MAJOR = 1
4
4
  MINOR = 0
5
- PATCH = 4
5
+ PATCH = 0
6
6
 
7
7
  VER_STRING = [MAJOR, MINOR, PATCH].compact.join('.')
8
8
  end
metadata CHANGED
@@ -1,36 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-plugins-docker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sensu-Plugins and contributors
8
8
  autorequire:
9
9
  bindir: bin
10
- cert_chain:
11
- - |
12
- -----BEGIN CERTIFICATE-----
13
- MIIDgDCCAmigAwIBAgIBATANBgkqhkiG9w0BAQUFADBDMRIwEAYDVQQDDAltYXR0
14
- am9uZXMxGDAWBgoJkiaJk/IsZAEZFgh5aWVsZGJvdDETMBEGCgmSJomT8ixkARkW
15
- A2NvbTAeFw0xNTAxMjgyMTAyNTFaFw0xNjAxMjgyMTAyNTFaMEMxEjAQBgNVBAMM
16
- CW1hdHRqb25lczEYMBYGCgmSJomT8ixkARkWCHlpZWxkYm90MRMwEQYKCZImiZPy
17
- LGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyTSzVYnO
18
- CLgyrIyT1mBQakArQyW8xhi6MlDqyzXHJGeERT790U6EgoBVeS4XoK0ptFZNR8Tf
19
- zko0w+Nv47TarSCgkPOaxY+mxWnAVR10dOmfeLr7huiMyps+YD56/EF2FqQ3jf/+
20
- qohENfKD91qy1ieEy+Fn7Pf74ltbNKUdkb9a9eFXQ0DQ4ip5vik7DzjQkUTj4lca
21
- k6ArwnmHX4YDhZoYtrQJ8jVktN0/+NtA40M5qkCYHNe5tUW25b/tKVYuioxG6b2Z
22
- oIzaZxRLxf6HVAWpCVRT/F5+/yjigkX4u++eYacfLGleXQzoK7BL65vHGMJygWEE
23
- 0TKGqFOrl/L0AQIDAQABo38wfTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNV
24
- HQ4EFgQUEf6a8Td7MrSZc8ImbLFZAENPbz0wIQYDVR0RBBowGIEWbWF0dGpvbmVz
25
- QHlpZWxkYm90LmNvbTAhBgNVHRIEGjAYgRZtYXR0am9uZXNAeWllbGRib3QuY29t
26
- MA0GCSqGSIb3DQEBBQUAA4IBAQBbzXAYA3BVGw8DZ0YYoY1VHPNEcH5qPIApmHO8
27
- rvSmuUT0yMEi7u00H/5uHRFf4LleGT/+sTdyXKsNPGT9kdRuQEgwi+vf7Zfvd8aX
28
- UF/+4VkEYf/8rV8Ere6u2QaWPgApdMV6JjKr1fAwCTd8AuGXNaWItiPPMseSQzLJ
29
- JKP4hVvbc1d+oS925B1lcBiqn2aYvElbyNAVmQPywNNqkWmvtlqj9ZVJfV5HQLdu
30
- 8sHuVruarogxxKPBzlL2is4EUb6oN/RdpGx2l4254+nyR+abg//Ed27Ym0PkB4lk
31
- HP0m8WSjZmFr109pE/sVsM5jtOCvogyujQOjNVGN4gz1wwPr
32
- -----END CERTIFICATE-----
33
- date: 2015-08-10 00:00:00.000000000 Z
10
+ cert_chain: []
11
+ date: 2016-05-24 00:00:00.000000000 Z
34
12
  dependencies:
35
13
  - !ruby/object:Gem::Dependency
36
14
  name: docker-api
@@ -190,16 +168,16 @@ dependencies:
190
168
  name: rubocop
191
169
  requirement: !ruby/object:Gem::Requirement
192
170
  requirements:
193
- - - '='
171
+ - - "~>"
194
172
  - !ruby/object:Gem::Version
195
- version: 0.32.1
173
+ version: 0.40.0
196
174
  type: :development
197
175
  prerelease: false
198
176
  version_requirements: !ruby/object:Gem::Requirement
199
177
  requirements:
200
- - - '='
178
+ - - "~>"
201
179
  - !ruby/object:Gem::Version
202
- version: 0.32.1
180
+ version: 0.40.0
203
181
  - !ruby/object:Gem::Dependency
204
182
  name: yard
205
183
  requirement: !ruby/object:Gem::Requirement
@@ -214,24 +192,31 @@ dependencies:
214
192
  - - "~>"
215
193
  - !ruby/object:Gem::Version
216
194
  version: '0.8'
217
- description: Sensu plugins for docker
195
+ description: |-
196
+ This plugin provides native Docker instrumentation
197
+ for monitoring and metrics collection, including:
198
+ container status, container number, and container
199
+ metrics via `docker ps`
218
200
  email: "<sensu-users@googlegroups.com>"
219
201
  executables:
220
- - metrics-docker-stats.rb
221
- - metrics-docker-container.rb
202
+ - check-container-logs.rb
222
203
  - check-docker-container.rb
204
+ - metrics-docker-container.rb
223
205
  - check-container.rb
206
+ - metrics-docker-stats.rb
224
207
  extensions: []
225
208
  extra_rdoc_files: []
226
209
  files:
227
210
  - CHANGELOG.md
228
211
  - LICENSE
229
212
  - README.md
213
+ - bin/check-container-logs.rb
230
214
  - bin/check-container.rb
231
215
  - bin/check-docker-container.rb
232
216
  - bin/metrics-docker-container.rb
233
217
  - bin/metrics-docker-stats.rb
234
218
  - lib/sensu-plugins-docker.rb
219
+ - lib/sensu-plugins-docker/client_helpers.rb
235
220
  - lib/sensu-plugins-docker/version.rb
236
221
  homepage: https://github.com/sensu-plugins/sensu-plugins-docker
237
222
  licenses:
@@ -251,7 +236,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
251
236
  requirements:
252
237
  - - ">="
253
238
  - !ruby/object:Gem::Version
254
- version: 1.9.3
239
+ version: 2.0.0
255
240
  required_rubygems_version: !ruby/object:Gem::Requirement
256
241
  requirements:
257
242
  - - ">="
@@ -259,8 +244,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
259
244
  version: '0'
260
245
  requirements: []
261
246
  rubyforge_project:
262
- rubygems_version: 2.4.8
247
+ rubygems_version: 2.5.1
263
248
  signing_key:
264
249
  specification_version: 4
265
250
  summary: Sensu plugins for docker
266
251
  test_files: []
252
+ has_rdoc:
checksums.yaml.gz.sig DELETED
Binary file
data.tar.gz.sig DELETED
Binary file
metadata.gz.sig DELETED
@@ -1,4 +0,0 @@
1
- �T�����+ʿc��L)Rk��}��8
2
- �����z岢� �����#�<ok�9q7iPq�T^�^��[Sg|�� �x�J��Y�,
3
- �N�ے˲��m�)���@��bz�&R����{�sJ�ʰ��W�
4
- G�oD�pA��M�z�[۾� I�n$"[b�(6�4�]O��:��G�ɚ*N����"߁6��-,