kubernetes_health_checker 0.0.0.17 → 0.0.0.21

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
  SHA256:
3
- metadata.gz: fdfdca84d108f5bb2f4ee6912fcf166c720bca238b7f51218419055c58e1b3c6
4
- data.tar.gz: b5da5ff0da0ac21def85f1ed37ab81cfa125982155d8af46b723648b810fb72a
3
+ metadata.gz: 879489228694845d30ed10a2e0024d07024aea34ccd8ee9b444c199df9822166
4
+ data.tar.gz: fedee123976cc4438be07d0627f206ac99b15b0b6bc6bf13ff7f1be0bc2e7b16
5
5
  SHA512:
6
- metadata.gz: e079e08b3927bea6917777a17531182e2afa21edd28f9acb1d9adc4360d28195ba96a1f4d2ac4926dcbf692c037ac2e261cc22020c1cdb713a3600ccd79c1b8f
7
- data.tar.gz: d707a0f60b6ecca4df52a61871895744a0eca423ea0c825b16c48da243a5c1f5765f2803249c2a1301cd87f580d2aa8314ece373b8c6ef085a38359c04c3cdfc
6
+ metadata.gz: 9bf70e0983bbfa9c4a4947cf9b44e123a7cd8890165f09aa1b2fceecc844b667385525bebe6294db8b1f276fc770527e64323645fced4c7e85dd9b6e12508f4d
7
+ data.tar.gz: 8591f0d7f071c03e44eede7f97da91cfba45825ae8044c9f9e1b26826d1ab2c9a20f3dfcb03caac98db0c8593b99d8bfe23eb708430d4c79afb50447428c1b31
@@ -3,6 +3,7 @@
3
3
  require 'rubygems'
4
4
  require 'thor'
5
5
  require 'json'
6
+ require 'syslog/logger'
6
7
 
7
8
  module KubernetesHealthChecker
8
9
  class Runner < Thor
@@ -18,7 +19,8 @@ module KubernetesHealthChecker
18
19
  ALERT_STATUSES = %w[crashloopbackoff
19
20
  error
20
21
  runcontainererror
21
- createcontainerconfigerror].freeze
22
+ createcontainerconfigerror
23
+ oomkilled].freeze
22
24
 
23
25
  # time is in seconds
24
26
  TIMED_ALERT_STATUSES = {
@@ -30,15 +32,21 @@ module KubernetesHealthChecker
30
32
  RUN_INTERVAL = 10
31
33
 
32
34
  def start
33
- set_defaults(options)
34
- run_validations if !@test
35
- while true
36
- puts 'starting...'
37
- output = get_cli_output
38
- message = construct_message(output)
39
- send_alert(message) if !message.empty?
40
- puts 'sleeping...'
41
- sleep RUN_INTERVAL
35
+ log = Syslog::Logger.new 'kubernetes_health_checker'
36
+
37
+ begin
38
+ set_defaults(options)
39
+ run_validations if !@test
40
+ while true
41
+ puts 'starting...'
42
+ output = get_cli_output
43
+ message = construct_message(output)
44
+ send_alert(message) if !message.empty?
45
+ puts 'sleeping...'
46
+ sleep RUN_INTERVAL
47
+ end
48
+ rescue => e
49
+ log.error(e)
42
50
  end
43
51
  end
44
52
 
@@ -104,10 +112,10 @@ module KubernetesHealthChecker
104
112
  text = "Pod *#{pod_name}* is in status: *#{new_status}*.\n"
105
113
  elsif TIMED_ALERT_STATUSES.keys.include?(new_status.downcase)
106
114
  alert_threshold = TIMED_ALERT_STATUSES[new_status.downcase]
107
- if age > alert_threshold
115
+ if !age.nil? && age > alert_threshold
108
116
  text = "Pod #{pod_name} has been in status: *#{new_status}* for #{age} seconds :grimacing:.\n"
109
117
  end
110
- elsif new_restarts > @alert_threshold
118
+ elsif !new_restarts.nil? && new_restarts > @alert_threshold
111
119
  text = "Pod *#{pod_name}* has restarted *#{new_restarts}* times and has status: *#{new_status}*.\n"
112
120
  end
113
121
 
@@ -25,7 +25,7 @@ health-check-rc-wkh2t 1/1 Running 0
25
25
  helper-rc-17pmz 1/1 Running 0 22h
26
26
  import-companies-rc-grkkm 1/1 Running 0 1d
27
27
  import-company-metadata-rc-n094g 1/1 Running 0 22h
28
- import-crunchbase-metadata-rc-94433 1/1 Running 0 1d
28
+ import-crunchbase-metadata-rc-94433 1/1 OOMKilled 0 1d
29
29
  import-person-metadata-rc-wkvrg 1/1 Running 0 1d
30
30
  match-email-to-persons-consumer-rc-l6cgr 1/1 Running 0 22h
31
31
  match-event-to-persons-consumer-rc-w8jn1 1/1 Running 2 1d
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kubernetes_health_checker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0.17
4
+ version: 0.0.0.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rohan Sahai
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-23 00:00:00.000000000 Z
11
+ date: 2021-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: daemons
@@ -39,7 +39,35 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: byebug
42
+ name: pry
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: pry-byebug
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry-stack_explorer
43
71
  requirement: !ruby/object:Gem::Requirement
44
72
  requirements:
45
73
  - - ">="