server-status 1.2.0 → 1.3.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: 6fce21e7bf732e7a2f4202ae90c9eb89c505453986edaf621edcc49f8e734853
4
- data.tar.gz: '0985c9a3b5dcddc2b748a9963d98902518d646b0f7178bb1ae57e78b613c819a'
3
+ metadata.gz: dd9f04a7b87ff138e93c098fca92ad3e9c365438744368f26de613ef0b15bc84
4
+ data.tar.gz: 6f54d37a3205ab7040cf823e832ea906e19a25fd8ac23efc400a3ba19324ae8f
5
5
  SHA512:
6
- metadata.gz: 8d744e0a823119f4050b7a350f806714c132629b661bae8504bfe446ed357d6d263102e9fa8b4903ccf88ca341d2c50e93fd188688d9a934ebda218f9f00553d
7
- data.tar.gz: ac5355079cadd1fd76c073ac017df47146360f788e9237e68dbb21251c9302918131a2e48562f9e4a5109ec1cd2cb9e2e1f0131a81b2ecbaaa60e6e34e508a8e
6
+ metadata.gz: abb151e2e1449928429a778497df87c086a7c214737df71054788bf4bedbbcbcd7c95bb45e0c35b14bcaa459959c24d55d52a76124f4fbbd8070b5a1f9716d08
7
+ data.tar.gz: d7b327179cd297ccf3ca02d041b3133270d187d880212788e5e97fb379b92873c278c5bfee878962dbb455a7f3df8fb9efcb8043c86ee9b8975ab78261cdf238
data/README.md CHANGED
@@ -1,8 +1,7 @@
1
1
  # Server Status
2
2
 
3
- [![Code Climate](https://codeclimate.com/github/jamesbrooks/server-status/badges/gpa.svg)](https://codeclimate.com/github/jamesbrooks/server-status)
4
3
  [![Gem Version](https://badge.fury.io/rb/server-status.svg)](http://badge.fury.io/rb/server-status)
5
- [![Dependency Status](https://gemnasium.com/jamesbrooks/server-status.svg)](https://gemnasium.com/JamesBrooks/server-status)
4
+ [![Code Climate](https://codeclimate.com/github/jamesbrooks/server-status/badges/gpa.svg)](https://codeclimate.com/github/jamesbrooks/server-status)
6
5
 
7
6
  Command line tool for quickly fetching and displaying vital host metrics.
8
7
 
@@ -36,11 +36,11 @@ module ServerStatus
36
36
  os: false,
37
37
  uptime: true,
38
38
  load: true,
39
- disk_usage: true,
40
- inode_usage: true,
41
- memory_usage: true,
39
+ disk: true,
40
+ inode: true,
41
+ memory: true,
42
42
  clock_drift: true,
43
- package_updates: true,
43
+ pkg_updates: true,
44
44
  reboot_required: false
45
45
  }.merge(@config.options))
46
46
 
@@ -38,7 +38,8 @@ module ServerStatus
38
38
 
39
39
  private
40
40
  def execute_command(status_command)
41
- stdin, stdout, stderr, wait_thread = Open3.popen3("ssh #{@host} \"bash -s\" << EOF\n#{status_command.to_script}\nEOF")
41
+ proxy_jump = @config.settings["proxy_jump"]
42
+ stdin, stdout, stderr, wait_thread = Open3.popen3("ssh -o ConnectTimeout=10 #{"-J #{proxy_jump}" if proxy_jump} #{@host} \"bash -s\" << EOF\n#{status_command.to_script}\nEOF")
42
43
 
43
44
  if wait_thread.value.success?
44
45
  stdout.read
@@ -88,21 +88,21 @@ module ServerStatus
88
88
  val
89
89
  end
90
90
 
91
- def format_disk_usage(val)
91
+ def format_disk(val)
92
92
  format_percentage(val)
93
93
  end
94
94
 
95
- def format_inode_usage(val)
95
+ def format_inode(val)
96
96
  format_percentage(val)
97
97
  end
98
98
 
99
- def format_memory_usage(val)
99
+ def format_memory(val)
100
100
  # Parse /proc/meminfo values
101
101
  meminfo_values = val.scan(/^(.+?):\s+(\d+)\skB/).map { |k,v| [ k, v.to_i ] }
102
102
  meminfo = Hash[meminfo_values]
103
103
 
104
104
  total_memory = meminfo['MemTotal']
105
- available_memory = meminfo['MemFree'] + meminfo['Buffers'] + meminfo['Cached']
105
+ available_memory = meminfo['MemAvailable'] || (meminfo['MemFree'] + meminfo['Buffers'] + meminfo['Cached'])
106
106
 
107
107
  format_percentage((total_memory - available_memory) / total_memory.to_f)
108
108
  end
@@ -113,7 +113,7 @@ module ServerStatus
113
113
  end
114
114
 
115
115
  # Drift in milliseconds
116
- drift = (val.to_f * 1000).round
116
+ drift = (val.to_f * 1000).round.abs
117
117
 
118
118
  color = if drift.abs < 2000
119
119
  :normal
@@ -126,7 +126,7 @@ module ServerStatus
126
126
  "#{drift} ms".colorize(color)
127
127
  end
128
128
 
129
- def format_package_updates(val)
129
+ def format_pkg_updates(val)
130
130
  str = ''
131
131
 
132
132
  if val =~ /(\d+) packages can be updated/
@@ -26,24 +26,24 @@ module ServerStatus
26
26
  parts << "cat /proc/loadavg | cut -d\" \" -f -3"
27
27
  end
28
28
 
29
- if @options.disk_usage
29
+ if @options.disk
30
30
  parts << "df -h | awk '/\\/$/' | sed 's/ \\+/ /g' | cut -d\" \" -f5"
31
31
  end
32
32
 
33
- if @options.inode_usage
33
+ if @options.inode
34
34
  parts << "df -hi | awk '/\\/$/' | sed 's/ \\+/ /g' | cut -d\" \" -f5"
35
35
  end
36
36
 
37
- if @options.memory_usage
38
- parts << "cat /proc/meminfo | grep -P '^(MemTotal|MemFree|Cached|Buffers):'"
37
+ if @options.memory
38
+ parts << "cat /proc/meminfo | grep -P '^(MemTotal|MemAvailable|MemFree|Cached|Buffers):'"
39
39
  end
40
40
 
41
41
  if @options.clock_drift
42
42
  parts << "ntpdate -q pool.ntp.org | head -1 | cut -d \" \" -f 6 | sed \"s/.$//\""
43
43
  end
44
44
 
45
- if @options.package_updates
46
- parts << "cat /var/lib/update-notifier/updates-available 2>/dev/null || true"
45
+ if @options.pkg_updates
46
+ parts << "cat /etc/motd || cat /var/run/motd.dynamic || true"
47
47
  end
48
48
 
49
49
  if @options.reboot_required
@@ -1,3 +1,3 @@
1
1
  module ServerStatus
2
- VERSION = '1.2.0'
2
+ VERSION = '1.3.0'
3
3
  end
@@ -17,10 +17,10 @@ Gem::Specification.new do |spec|
17
17
  spec.executables = ["server-status"]
18
18
  spec.require_paths = ["lib"]
19
19
 
20
- spec.add_dependency "commander", "~> 4.3"
21
- spec.add_dependency "colorize", "~> 0.8"
22
- spec.add_dependency "tty-progressbar", "~> 0.10.1"
20
+ spec.add_dependency "commander", "~> 4.6.0"
21
+ spec.add_dependency "colorize", "~> 0.8.1"
22
+ spec.add_dependency "tty-progressbar", "~> 0.18.2"
23
23
 
24
- spec.add_development_dependency "bundler", "~> 1.11"
25
- spec.add_development_dependency "rake", ">= 10.0"
24
+ spec.add_development_dependency "bundler", "~> 2.2.27"
25
+ spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
26
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: server-status
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Brooks
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-08 00:00:00.000000000 Z
11
+ date: 2021-10-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: commander
@@ -16,70 +16,76 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '4.3'
19
+ version: 4.6.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '4.3'
26
+ version: 4.6.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: colorize
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.8'
33
+ version: 0.8.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.8'
40
+ version: 0.8.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: tty-progressbar
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.10.1
47
+ version: 0.18.2
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.10.1
54
+ version: 0.18.2
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.11'
61
+ version: 2.2.27
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.11'
68
+ version: 2.2.27
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '13.0'
73
76
  - - ">="
74
77
  - !ruby/object:Gem::Version
75
- version: '10.0'
78
+ version: 13.0.6
76
79
  type: :development
77
80
  prerelease: false
78
81
  version_requirements: !ruby/object:Gem::Requirement
79
82
  requirements:
83
+ - - "~>"
84
+ - !ruby/object:Gem::Version
85
+ version: '13.0'
80
86
  - - ">="
81
87
  - !ruby/object:Gem::Version
82
- version: '10.0'
88
+ version: 13.0.6
83
89
  description: Command line tool for quickly fetching and displaying vital host metrics
84
90
  email:
85
91
  - james@jamesbrooks.net
@@ -113,7 +119,7 @@ files:
113
119
  homepage: https://github.com/jamesbrooks/server-status
114
120
  licenses: []
115
121
  metadata: {}
116
- post_install_message:
122
+ post_install_message:
117
123
  rdoc_options: []
118
124
  require_paths:
119
125
  - lib
@@ -128,9 +134,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
128
134
  - !ruby/object:Gem::Version
129
135
  version: '0'
130
136
  requirements: []
131
- rubyforge_project:
132
- rubygems_version: 2.7.3
133
- signing_key:
137
+ rubygems_version: 3.2.22
138
+ signing_key:
134
139
  specification_version: 4
135
140
  summary: Command line tool for quickly fetching and displaying vital host metrics
136
141
  test_files: []