serf-handler 1.1.0 → 1.1.1

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: 8d2e6cee9ab2833b5eeb3c4fe1484fee5b5d7c7a24d1a98b3e735e2f4bd1e03d
4
- data.tar.gz: f99e818cd3a518b3c8d1663f94a30e84f0d62017393727a28a43dcdbc00de2ac
3
+ metadata.gz: 48f16ac0381c521948215348df104390279cfeda21e67b6b50c7179a6b6c908e
4
+ data.tar.gz: 13c6799240875a2129a68490f86ef450c7c3d181a4255664410360cb390a4576
5
5
  SHA512:
6
- metadata.gz: c11ea7a90739f36badf59be7d7fcaebcc90ba21021dc1ddb390162473213f7aeeae07e0035081e5c9b11a35e290a09507c56fa37f4e45c6340b89492c3a95abd
7
- data.tar.gz: 64868a16ff22aa911637f54f9f057f1ddf2d193bbca57e5ebd9cb5290066397432bc91d940198a89a373dfaca98f5459454ab4b2750cea1f804549a4a2cb8a41
6
+ metadata.gz: b083aaf44acd027885c1f60a0f10375e16cdce66b8c470bee10c009b16f77045f900c1b2671fe63df6fb5767319d563aed99335d3be7bb87eed9a82864e08946
7
+ data.tar.gz: a66e7373378ad0189b6465f31e1c42aef41315839888af0216d45721228576ed1982e8b53a1b6383d52fa80e8d6451aa34f97daaa8f30c3766a15fba27ab0e93
@@ -4,5 +4,5 @@ include Serf::Handler
4
4
  describe "Return a comma separated table of filesystem information."
5
5
 
6
6
  on :query, 'df' do |event|
7
- `/bin/df -k`.split(/\n/).collect {|r| r.split.join(',').sub(/Mounted,on/,"Mounted on")}.join("\n")
7
+ `/bin/df -h`.split(/\n/).collect {|r| r.split.join(',').sub(/Mounted,on/,"Mounted on")}.join("\n")
8
8
  end
@@ -0,0 +1,22 @@
1
+ require 'serf/handler' unless Object.const_defined?(:Serf) && Serf.const_defined?(:Handler)
2
+ include Serf::Handler
3
+
4
+ describe "Return current memory and swap status as a csv"
5
+
6
+ on :query, 'freemem' do |event|
7
+ data = `free -ht`
8
+ lines = data.split("\n").collect {|line| line.split(/\s+/)}
9
+ maxlength = lines.collect {|l| l.length}.max
10
+ output = lines.collect do |line|
11
+ Array
12
+ .new(maxlength)
13
+ .zip(line)
14
+ .collect do |pair|
15
+ pair.sort_by {|item| item.to_s}
16
+ .last
17
+ .to_s
18
+ end
19
+ .collect {|item| "\"#{item}\""}
20
+ .join(',')
21
+ end.join("\n")
22
+ end
@@ -5,5 +5,10 @@ describe "Return the 1-minute, 5-minute, and 15-minute load averages as a",
5
5
  "comma separated list of values."
6
6
 
7
7
  on :query, 'load-average' do |event|
8
- `/usr/bin/uptime`.gsub(/^.*load\s+averages:\s+/,'').split.join(',').strip
8
+ data = `uptime`.match(/\s*(\d+:\d+:\d+)\s+up\s+(.*?),\s*(\d+\s+\w+),\s*load\s+average:\s+([\d\.]+),\s*([\d\.]+),\s*([\d\.]+)/)
9
+
10
+ <<~ECSV
11
+ "time","uptime","users","1 minute load","5 minute load","15 minute load"
12
+ #{data[1..6].collect {|d| "\"#{d}\""}.join(',')}
13
+ ECSV
9
14
  end
@@ -0,0 +1,25 @@
1
+ require 'serf/handler' unless Object.const_defined?(:Serf) && Serf.const_defined?(:Handler)
2
+ include Serf::Handler
3
+
4
+ describe "If monit is running on the system, extract all current",
5
+ "status information and return it as CSV data."
6
+
7
+ on :query, 'monit-status' do |event|
8
+ data = `monit status`
9
+ chunks = data.scan(/((?:System|Process).*?)\n\n/m)
10
+
11
+ output = "\"field\",\"data\"\n" +
12
+ chunks.collect do |chunk|
13
+ chunk
14
+ .first
15
+ .split("\n")
16
+ .collect do |line|
17
+ Array
18
+ .new(2)
19
+ .zip(line.strip.split(/\s{2,}/,2))
20
+ .collect do |pair|
21
+ "\"#{pair.sort_by {|item| item.to_s}.last.to_s}\""
22
+ end.join(',')
23
+ end.join("\n")
24
+ end.join("\n\" \",\" \"\n")
25
+ end
@@ -1,5 +1,5 @@
1
1
  module Serf
2
2
  module Handler
3
- VERSION = "1.1.0"
3
+ VERSION = "1.1.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: serf-handler
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kirk Haines
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-29 00:00:00.000000000 Z
11
+ date: 2019-12-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -81,10 +81,12 @@ files:
81
81
  - lib/serf/handler/event.rb
82
82
  - lib/serf/handler/events/describe-handler.rb
83
83
  - lib/serf/handler/events/df.rb
84
+ - lib/serf/handler/events/freemem.rb
84
85
  - lib/serf/handler/events/git-index-deploy.rb
85
86
  - lib/serf/handler/events/git-index-list.rb
86
87
  - lib/serf/handler/events/list-handlers.rb
87
88
  - lib/serf/handler/events/load_average.rb
89
+ - lib/serf/handler/events/monit-status.rb
88
90
  - lib/serf/handler/events/mpstat.rb
89
91
  - lib/serf/handler/events/ping.rb
90
92
  - lib/serf/handler/task.rb