server-status 1.2.0 → 1.3.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.
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: []