watchmonkey_cli 1.8.6 → 1.9.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
  SHA256:
3
- metadata.gz: e09e63f24adaddb414b1ea48abba94eb033c936fc1bce9fb91034d1c093a114e
4
- data.tar.gz: d7e21611725755bdfd7070e7f62ca9876b26e20715f4188aeaf8569a3a76038d
3
+ metadata.gz: 623f20ce059d5f6b5b7a9681f22cf5ce6f165e13481b6707289be5d1a8fa2859
4
+ data.tar.gz: b4b3ab70d5aa2fb649cdbbaa0e2c99d2da446bfae49ef332bf2d65b3d551b391
5
5
  SHA512:
6
- metadata.gz: 1d17888482567dc61e020f3df98d1f5c9a47975061fc8857995d5952f55906e4124fdd473e647b09850dd9f2d0ac55f10ccb13eeaef1882f6c1af7888f59ae8d
7
- data.tar.gz: 61fcec9947771cc762260d89b2daa7807faba2f6e7f834ae287878893f37cb6304601f893f8edf7a41da96125b4f01082400a89539c3a907f27a53cdea9a470e
6
+ metadata.gz: 3b82d300ad1617ded3156dc8fa1e82f27a435f9965134236d2b21fef7d8a2df2019e7e7786650ae3bc4c925d9cc9e27e9054b015ed3f514b0d88185c5f47d93b
7
+ data.tar.gz: 65a2ec5bad871ca993cebdee262461f11f175117377ecdad0261bda5fb780f6c5a6962d7447fb0c108541880377d8b8c4880d444b540886ad567051dcc703781
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.8.6
1
+ 1.9.0
@@ -171,17 +171,30 @@ unix_mdadm :my_server
171
171
  unix_mdadm :my_server, log_checking: false
172
172
 
173
173
 
174
+ # -----
175
+ # *nix CPUfreq scaling governor
176
+ # -----
177
+ # Checks if cpu scaling governor is set to correct value
178
+ # Host might be :local/false/nil which will test locally (without SSH)
179
+ # You can change the default message (The file ... does not exist) with the message option.
180
+ # To see which modes your CPU supports: cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
181
+ # Available options: expect(performance), query_file(/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)
182
+ unix_cpu_governor :my_server
183
+ unix_cpu_governor :my_server, expect: "powersave"
184
+
185
+
174
186
  # -----
175
187
  # *nix defaults
176
188
  # -----
177
- # Combines unix_load, unix_memory, unix_df and unix_mdadm.
189
+ # Combines unix_load, unix_memory, unix_df, unix_mdadm and unix_cpu_governor.
178
190
  # You can pass options or disable individual checkers by passing
179
191
  # a hash whose keys are named after checkers.
180
192
  unix_defaults :my_server
181
193
  unix_defaults :my_server, unix_mdadm: false, unix_df: { min_percent: 10 }
182
194
 
183
195
  # There are also the following shortcuts:
184
- unix_defaults :my_server, load: [1, 2, 3] # Array(3) or false
185
- unix_defaults :my_server, memory_min: 10 # Integer or false
186
- unix_defaults :my_server, df_min: 10 # Integer or false
187
- unix_defaults :my_server, mdadm: false # true or false
196
+ unix_defaults :my_server, load: [1, 2, 3] # Array(3) or false
197
+ unix_defaults :my_server, memory_min: 10 # Integer or false
198
+ unix_defaults :my_server, df_min: 10 # Integer or false
199
+ unix_defaults :my_server, mdadm: false # true or false
200
+ unix_defaults :my_server, cpu_governor: false # String or false
@@ -0,0 +1,22 @@
1
+ module WatchmonkeyCli
2
+ module Checkers
3
+ class UnixCpuGovernor < Checker
4
+ self.checker_name = "unix_cpu_governor"
5
+
6
+ def enqueue host, opts = {}
7
+ opts = { expect: "performance" }.merge(opts)
8
+ host = app.fetch_connection(:loopback, :local) if !host || host == :local
9
+ host = app.fetch_connection(:ssh, host) if host.is_a?(Symbol)
10
+ app.enqueue(self, host, opts)
11
+ end
12
+
13
+ def check! result, host, opts = {}
14
+ qfile = opts[:query_file] || "/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"
15
+ message = opts[:message] || "CPUfreq scaling governor mismatches (expected `#{opts[:expect]}' got `%s')"
16
+ result.command = "cat #{qfile}"
17
+ result.result = host.exec(result.command)
18
+ result.error! message.gsub("%s", result.result) if result.result != opts[:expect]
19
+ end
20
+ end
21
+ end
22
+ end
@@ -5,7 +5,7 @@ module WatchmonkeyCli
5
5
 
6
6
  def enqueue host, opts = {}
7
7
  return if app.running? # we only ever want to run this once to spawn sub checkers
8
- opts = { unix_load: {}, unix_memory: {}, unix_df: {}, unix_mdadm: {} }.merge(opts)
8
+ opts = { unix_load: {}, unix_memory: {}, unix_df: {}, unix_mdadm: {}, unix_cpu_governor: {} }.merge(opts)
9
9
 
10
10
  host = app.fetch_connection(:loopback, :local) if !host || host == :local
11
11
  host = app.fetch_connection(:ssh, host) if host.is_a?(Symbol)
@@ -18,21 +18,24 @@ module WatchmonkeyCli
18
18
  opts[:unix_df][:min_percent] = opts[:df_min] if opts[:df_min]
19
19
  opts[:unix_df] = false if opts[:df_min] == false
20
20
  opts[:unix_mdadm] = false if opts[:mdadm] == false
21
+ opts[:unix_cpu_governor][:expect] = opts[:cpu_governor] if opts[:cpu_governor]
22
+ opts[:unix_cpu_governor] = false if opts[:cpu_governor] == false
21
23
  opts.delete(:load)
22
24
  opts.delete(:memory_min)
23
25
  opts.delete(:df_min)
24
26
  opts.delete(:mdadm)
27
+ opts.delete(:cpu_governor)
25
28
 
26
29
  app.enqueue(self, host, opts)
27
30
  end
28
31
 
29
32
  def check! result, host, opts = {}
30
- [:unix_load, :unix_memory, :unix_df, :unix_mdadm].each do |which|
33
+ [:unix_load, :unix_memory, :unix_df, :unix_mdadm, :unix_cpu_governor].each do |which|
31
34
  # if opts[which] && sec = app.checkers[which.to_s]
32
35
  # sec.check!(result, host, opts[which])
33
36
  # end
34
37
  # app.enqueue_sub(self, which, host, opts[which]) if opts[which]
35
- spawn_sub(which, host, opts[which].is_a?(Hash) ? opts[which] : {})
38
+ spawn_sub(which, host, opts[which].is_a?(Hash) ? opts[which] : {}) unless opts[which] == false
36
39
  end
37
40
  end
38
41
  end
@@ -1,4 +1,4 @@
1
1
  module WatchmonkeyCli
2
- VERSION = "1.8.6"
2
+ VERSION = "1.9.0"
3
3
  UPDATE_URL = "https://raw.githubusercontent.com/2called-chaos/watchmonkey_cli/master/VERSION"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: watchmonkey_cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.6
4
+ version: 1.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sven Pachnit
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-12 00:00:00.000000000 Z
11
+ date: 2020-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -129,6 +129,7 @@ files:
129
129
  - lib/watchmonkey_cli/checkers/tcp_port.rb
130
130
  - lib/watchmonkey_cli/checkers/ts3_license.rb
131
131
  - lib/watchmonkey_cli/checkers/udp_port.rb
132
+ - lib/watchmonkey_cli/checkers/unix_cpu_governor.rb
132
133
  - lib/watchmonkey_cli/checkers/unix_defaults.rb
133
134
  - lib/watchmonkey_cli/checkers/unix_df.rb
134
135
  - lib/watchmonkey_cli/checkers/unix_file_exists.rb