sensu-plugins-process-checks 2.3.0 → 2.4.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 +4 -4
- data/CHANGELOG.md +23 -8
- data/bin/metrics-processes-threads-count.rb +45 -1
- data/lib/sensu-plugins-process-checks/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e4c1e16b051ae71d9479b95387e22c504ab7a7f0
|
4
|
+
data.tar.gz: 43d7d36c527666e51220a43a05c26793ea420397
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d4cca0b109f96d84089aa5855841a9bc50e8214949c883092850c16d43ada5af4912ec5da7f7cac1915ee81fe2c9e34e46e9731f0b379d5f61c6836ed621829
|
7
|
+
data.tar.gz: 512a08cd43764730059955e144f7dd3772ae9944b517a7bc5ac969ad5b07be2d6b7a8e136a73ff8693436b6e442638a34a17c758209cff2c1dd62be80164b791
|
data/CHANGELOG.md
CHANGED
@@ -1,9 +1,23 @@
|
|
1
|
-
#Change Log
|
1
|
+
# Change Log
|
2
2
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
3
3
|
|
4
4
|
This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachangelog.com/)
|
5
5
|
|
6
|
+
|
6
7
|
## [Unreleased]
|
8
|
+
|
9
|
+
## [2.4.0] - 2017-07-18
|
10
|
+
### Added
|
11
|
+
- ruby 2.4 testing (@majormoses)
|
12
|
+
- metric-processes-threads-count.rb: count processes by status (for Linux machines only) (@alcasim)
|
13
|
+
|
14
|
+
### Changed
|
15
|
+
- PR template fixes (@majormoses)
|
16
|
+
|
17
|
+
### Fixed
|
18
|
+
- misc changelog fixup (@majormoses)
|
19
|
+
- fixed `rake check_binstubs` by requiging `English`
|
20
|
+
|
7
21
|
## [2.3.0] - 2017-05-29
|
8
22
|
### Changed
|
9
23
|
- metrics-per-process.py: Use memory_info() in psutil versions greater than 4.0.0, as memory_info_ex() was deprecated.
|
@@ -40,6 +54,9 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
|
|
40
54
|
- Updated Rubocop to 0.40, applied auto-correct
|
41
55
|
- Remove Ruby 1.9.3 support; add Ruby 2.3.0 support to test matrix
|
42
56
|
|
57
|
+
## [0.1.0] - 2015-08-11
|
58
|
+
### Added
|
59
|
+
- Add metrics-per-process.py plugin (require python psutil module)
|
43
60
|
|
44
61
|
## [0.0.6] - 2015-08-24
|
45
62
|
### Fixed
|
@@ -52,15 +69,11 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
|
|
52
69
|
### Changed
|
53
70
|
- rename process-uptime metrics.sh -> metrics-process-uptime.sh
|
54
71
|
|
55
|
-
## [0.1.0] - 2015-08-11
|
56
|
-
### Added
|
57
|
-
- Add metrics-per-process.py plugin (require python psutil module)
|
58
|
-
|
59
72
|
## [0.0.4] - 2015-07-14
|
60
73
|
### Changed
|
61
74
|
- updated sensu-plugin gem to 1.2.0
|
62
75
|
|
63
|
-
## [0.0.3] -
|
76
|
+
## [0.0.3] - 2015-07-13
|
64
77
|
### Fixed
|
65
78
|
- issue #9: variable type conversion to_i in check-process-restart
|
66
79
|
|
@@ -77,7 +90,7 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
|
|
77
90
|
### Changed
|
78
91
|
- removed cruft from /lib
|
79
92
|
|
80
|
-
## 0.0.1 -
|
93
|
+
## [0.0.1] - 2015-05-01
|
81
94
|
### Added
|
82
95
|
- initial stable release
|
83
96
|
|
@@ -126,7 +139,8 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
|
|
126
139
|
- built against 1.9.3, 2.0, 2.1
|
127
140
|
- cryptographically signed
|
128
141
|
|
129
|
-
[
|
142
|
+
[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-process-checks/compare/2.3.0...HEAD
|
143
|
+
[2.4.0]: https://github.com/sensu-plugins/sensu-plugins-process-checks/compare/2.3.0...
|
130
144
|
[2.3.0]: https://github.com/sensu-plugins/sensu-plugins-process-checks/compare/2.2.0...2.3.0
|
131
145
|
[2.2.0]: https://github.com/sensu-plugins/sensu-plugins-process-checks/compare/2.1.0...2.2.0
|
132
146
|
[2.1.0]: https://github.com/sensu-plugins/sensu-plugins-process-checks/compare/2.0.0...2.1.0
|
@@ -137,3 +151,4 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
|
|
137
151
|
[0.0.4]: https://github.com/sensu-plugins/sensu-plugins-process-checks/compare/0.0.3...0.0.4
|
138
152
|
[0.0.3]: https://github.com/sensu-plugins/sensu-plugins-process-checks/compare/0.0.2...0.0.3
|
139
153
|
[0.0.2]: https://github.com/sensu-plugins/sensu-plugins-process-checks/compare/0.0.1...0.0.2
|
154
|
+
[0.0.1]: https://github.com/sensu-plugins/sensu-plugins-process-checks/compare/4fd88a85f31d52c0f7145807365c911ea7f935c1...0.0.1
|
@@ -51,6 +51,13 @@ class ProcessesThreadsCount < Sensu::Plugin::Metric::CLI::Graphite
|
|
51
51
|
boolean: true,
|
52
52
|
default: false
|
53
53
|
|
54
|
+
option :statuses,
|
55
|
+
description: 'If specified, count each process number by status in addition to processes. Note: Requires sys-proctables > 0.9.5',
|
56
|
+
short: '-S',
|
57
|
+
long: '--statuses',
|
58
|
+
boolean: true,
|
59
|
+
default: false
|
60
|
+
|
54
61
|
PROCTABLE_MSG = 'sys-proctable version newer than 0.9.5 is required for counting threads with -t or --threads'.freeze
|
55
62
|
|
56
63
|
# Exit with an unknown if sys-proctable is not high enough to support counting threads.
|
@@ -86,9 +93,26 @@ class ProcessesThreadsCount < Sensu::Plugin::Metric::CLI::Graphite
|
|
86
93
|
end
|
87
94
|
end
|
88
95
|
|
96
|
+
# Takes a process struct from Sys::ProcTable.ps() as an argument
|
97
|
+
# Initialises a list of different Linux process statuses
|
98
|
+
# Tries to use the Linux proccess status :state field, returns the initializedl list if it fails
|
99
|
+
# Counts the processes by status and returns the hash
|
100
|
+
def count_processes_by_status(ps_table)
|
101
|
+
list_proc = {}
|
102
|
+
%w(S R D T t X Z).each do |v|
|
103
|
+
list_proc[v] = 0
|
104
|
+
end
|
105
|
+
if ps_table.first.respond_to?(:state)
|
106
|
+
ps_table.each do |pr|
|
107
|
+
list_proc[pr[:state]] += 1
|
108
|
+
end
|
109
|
+
end
|
110
|
+
list_proc
|
111
|
+
end
|
112
|
+
|
89
113
|
# Main function
|
90
114
|
def run
|
91
|
-
if config[:threads]
|
115
|
+
if config[:threads] || config[:statuses]
|
92
116
|
unknown PROCTABLE_MSG unless check_proctable_version
|
93
117
|
end
|
94
118
|
ps_table = Sys::ProcTable.ps
|
@@ -100,6 +124,26 @@ class ProcessesThreadsCount < Sensu::Plugin::Metric::CLI::Graphite
|
|
100
124
|
if config[:threads]
|
101
125
|
output "#{[config[:scheme], 'thread_count'].join('.')} #{threads} #{timestamp}"
|
102
126
|
end
|
127
|
+
if config[:statuses]
|
128
|
+
count_processes_by_status(ps_table).each do |type, proc_count|
|
129
|
+
case type
|
130
|
+
when 'S'
|
131
|
+
output "#{[config[:scheme], 'sleeping'].join('.')} #{proc_count} #{timestamp}"
|
132
|
+
when 'R'
|
133
|
+
output "#{[config[:scheme], 'running'].join('.')} #{proc_count} #{timestamp}"
|
134
|
+
when 'D'
|
135
|
+
output "#{[config[:scheme], 'ininterruptible_sleep'].join('.')} #{proc_count} #{timestamp}"
|
136
|
+
when 'T'
|
137
|
+
output "#{[config[:scheme], 'stopped'].join('.')} #{proc_count} #{timestamp}"
|
138
|
+
when 't'
|
139
|
+
output "#{[config[:scheme], 'stopped_by_debugger'].join('.')} #{proc_count} #{timestamp}"
|
140
|
+
when 'X'
|
141
|
+
output "#{[config[:scheme], 'dead'].join('.')} #{proc_count} #{timestamp}"
|
142
|
+
when 'Z'
|
143
|
+
output "#{[config[:scheme], 'zombie'].join('.')} #{proc_count} #{timestamp}"
|
144
|
+
end
|
145
|
+
end
|
146
|
+
end
|
103
147
|
ok
|
104
148
|
end
|
105
149
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sensu-plugins-process-checks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sensu-Plugins and contributors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-07-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: english
|