check-mk-sidekiq 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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 61c2d50168d91f358f88d2e04fbfd0da1aa88487
4
+ data.tar.gz: 8ed589852af7676f2d89b19882e7841778657e12
5
+ SHA512:
6
+ metadata.gz: ed027c4eb0bcde76921306ac4bbc7cdee2a32259a639f21f811ae2c2ec2ce370c31b2005ea2fb6b42cffb5ed91648aaaa015574936d946afcc5ec1f9efc0d3c9
7
+ data.tar.gz: 7797c98f5be6ce26dc087da4b56e54ce67a0baf9981dbc934034c82166dc9e8d5e0915b836da8078eb120d769300e2815ea86b705cf083fd1184e89a05b4895c
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'check_mk/agents/sidekiq'
4
+
5
+ agent = CheckMK::Agents::Sidekiq.new
6
+
7
+ puts agent.output
@@ -0,0 +1 @@
1
+ require 'check_mk/agents/dummy_agent'
@@ -0,0 +1,45 @@
1
+ module CheckMK
2
+ module Agents
3
+ class DummyAgent
4
+
5
+ # Agent name -- appears in CheckMK output
6
+ AGENT_NAME = 'dummy_agent'
7
+
8
+ attr_reader :name
9
+
10
+ #
11
+ # Redefine this method in your subclass to return stats
12
+ #
13
+ def stats
14
+ {}
15
+ end
16
+
17
+ def initialize(opts = {})
18
+ @name = opts[:name] || self.class::AGENT_NAME
19
+ end
20
+
21
+ def lines
22
+ result = []
23
+ result << formatted_header
24
+ stats.each do |stat, _|
25
+ result << formatted_stat(stat)
26
+ end
27
+ result
28
+ end
29
+
30
+ def output
31
+ lines.join("\n")
32
+ end
33
+
34
+ private
35
+
36
+ def formatted_header
37
+ "<<<#{@name}>>>"
38
+ end
39
+
40
+ def formatted_stat(stat)
41
+ "#{stat} #{stats[stat]}"
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,27 @@
1
+ require 'check_mk/agents/dummy_agent'
2
+ require 'sidekiq/api'
3
+
4
+ module CheckMK
5
+ module Agents
6
+ class Sidekiq < CheckMK::Agents::DummyAgent
7
+ AGENT_NAME = 'sidekiq'
8
+
9
+ def stats
10
+ result = {}
11
+
12
+ %w(processed failed enqueued workers_size).each do |stat|
13
+ result[stat] = sidekiq_stats.send(stat.to_sym)
14
+ end
15
+
16
+ result
17
+ end
18
+
19
+ private
20
+
21
+ def sidekiq_stats
22
+ ::Sidekiq::Stats.new
23
+ end
24
+
25
+ end
26
+ end
27
+ end
metadata ADDED
@@ -0,0 +1,62 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: check-mk-sidekiq
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Timur Batyrshin
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-08-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: sidekiq
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ description:
28
+ email: erthad@gmail.com
29
+ executables:
30
+ - check-mk-sidekiq
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - lib/check_mk/agents/dummy_agent.rb
35
+ - lib/check_mk/agents/sidekiq.rb
36
+ - lib/check_mk.rb
37
+ - bin/check-mk-sidekiq
38
+ homepage: https://github.com/timurb/check-mk-sidekiq
39
+ licenses:
40
+ - MIT
41
+ metadata: {}
42
+ post_install_message:
43
+ rdoc_options: []
44
+ require_paths:
45
+ - lib
46
+ required_ruby_version: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - '>='
49
+ - !ruby/object:Gem::Version
50
+ version: '0'
51
+ required_rubygems_version: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ requirements: []
57
+ rubyforge_project:
58
+ rubygems_version: 2.0.14.1
59
+ signing_key:
60
+ specification_version: 4
61
+ summary: CheckMK agent to watch for Sidekiq stats
62
+ test_files: []