sensu-plugins-mesos 0.0.4 → 0.1.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
  SHA1:
3
- metadata.gz: 368c0c89263c458dfe42fd499983aee29d6d7d39
4
- data.tar.gz: bc40066db959fbe01f289e4bdd6b08136c143311
3
+ metadata.gz: 84ee38fcb6677025bad5a58469d268e8d23f5168
4
+ data.tar.gz: cf5200233d9df4f9164e615465f6d8e62754709c
5
5
  SHA512:
6
- metadata.gz: 5b41b53619692666219cb8e526623acb4f89f4da3181fd8deb6f221d570d2dc26ef84731e35d11bda5397836b254835949d1e060be3bdb10e30ae9a97f8a9fed
7
- data.tar.gz: 06ef46242e0de5190909919d844cc35ce47a7f76e3b5629085bd148feb86edc97d62d11cca65986de8d486c4fa63a9e60e24455b1b5dc9f0e389416007783718
6
+ metadata.gz: 4ef6b59be43efa0a5bbf8f82cbcb312e52660cfd09414908bff24028bbd1bda81488c2b9616b45a418bf3f57acbc333cae96e7c379f17163e9a3a359ed22fc2c
7
+ data.tar.gz: 0b254d5b6b13243362f14c9bb6b6f73d0c69d2e1215c480863d1ab39e31c5b200e47e835b95fe7f06ab0c0fa22abc12877ee815a3e1064f1863ddbfb8b7c8023
checksums.yaml.gz.sig CHANGED
@@ -1,3 +1,2 @@
1
- &ڡΚd��3Þ�vk��`�ڇ������Et��jHM7c���GǏhK{IW"&���М�὚`i��i��x\f��|j�C���Y�<�4pz���0���ss��_��:'��:��9��k��#�8��5�t� ݰU�8a�v(�0��C�)�Lަ>�41�^`���e*Bz�"
2
- �&�/M����ԉgYoX%�iI��Б��ب��@�Ъ�)���6QԫX��iK
3
- w�(�C!�[p�–�Y�
1
+ ���И;ӻ�4�m� ẚ�)����X�b¼;����s�`U��X��ҡ�2h����'EkAX-��� .��S��aŲ����p���K��V��/T��s5���B���!��1�$�މ�'����4��w����-�Į�6��
2
+ ;L_���������ij�LE0kA\�(vy?��0�,y��$?���nl
data/CHANGELOG.md CHANGED
@@ -3,11 +3,13 @@ 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
- ## Unreleased
7
- - nothing
6
+ ### [Unreeleased][unreleased]
8
7
 
9
- ## 0.0.4 - 2015-07-30
8
+ ## 0.1.0 - 2015-09-14
9
+ ## Added
10
+ - Added a check comparing Marathon instances for a specific task against the configured minimum
10
11
 
12
+ ## [0.0.4] - 2015-07-30
11
13
  ### Changed
12
14
  - Mesos check supports multiple servers.
13
15
  - Updated Rubocop to `0.32.1`
@@ -33,3 +35,8 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
33
35
 
34
36
  ### Added
35
37
  - initial release
38
+
39
+ [unreleased]: https://github.com/sensu-plugins/sensu-plugins-mesos/compare/0.1.0...HEAD
40
+ [0.0.5]: https://github.com/sensu-plugins/sensu-plugins-mesos/compare/0.0.4...0.1.0
41
+ [0.0.3]: https://github.com/sensu-plugins/sensu-plugins-mesos/compare/0.0.2...0.0.4
42
+ [0.0.2]: https://github.com/sensu-plugins/sensu-plugins-mesos/compare/0.0.1...0.0.2
data/bin/check-chronos.rb CHANGED
@@ -16,7 +16,7 @@
16
16
  # gem: rest-client
17
17
  #
18
18
  # USAGE:
19
- # #YELLOW
19
+ #
20
20
  #
21
21
  # NOTES:
22
22
  #
@@ -0,0 +1,80 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # check-marathon-task
4
+ #
5
+ # DESCRIPTION:
6
+ # This plugin checks that the given Mesos/Marathon task is running properly
7
+ #
8
+ # OUTPUT:
9
+ # plain text
10
+ #
11
+ # PLATFORMS:
12
+ # Linux
13
+ #
14
+ # DEPENDENCIES:
15
+ # gem: sensu-plugin
16
+ #
17
+ # USAGE:
18
+ # check-marathon-task.rb -s mesos-a,mesos-b,mesos-c -p 8080 -t mywebsite -i 5
19
+ # CheckMarathonTask OK: 5/5 mywebsite tasks running
20
+ #
21
+ # check-marathon-task.rb -s mesos-a,mesos-b,mesos-c -p 8080 -t mywebsite -i 5
22
+ # CheckMarathonTask CRITICAL: 3/5 mywebsite tasks running
23
+ #
24
+ # NOTES:
25
+ #
26
+ # LICENSE:
27
+ # Copyright 2015, Antoine POPINEAU (antoine.popineau@appscho.com)
28
+ # Released under the same terms as Sensu (the MIT license); see LICENSE
29
+ # for details.
30
+ #
31
+
32
+ require 'sensu-plugin/check/cli'
33
+ require 'net/http'
34
+ require 'json'
35
+
36
+ class MarathonTaskCheck < Sensu::Plugin::Check::CLI
37
+ check_name 'CheckMarathonTask'
38
+
39
+ option :server, short: '-s SERVER', long: '--server SERVER', required: true
40
+ option :port, short: '-p PORT', long: '--port PORT', default: 8080
41
+ option :task, short: '-t TASK', long: '--task TASK', required: true
42
+ option :instances, short: '-i INSTANCES', long: '--instances INSTANCES', required: true, proc: proc(&:to_i)
43
+
44
+ def run
45
+ if config[:instances] == 0
46
+ unknown 'number of instances should be an integer'
47
+ end
48
+
49
+ failures = []
50
+ config[:server].split(',').each do |s|
51
+ begin
52
+ url = URI.parse("http://#{s}:#{config[:port]}/v2/tasks?state=running")
53
+ req = Net::HTTP::Get.new(url)
54
+ req.add_field('Accept', 'application/json')
55
+ r = Net::HTTP.new(url.host, url.port).start do |h|
56
+ h.request(req)
57
+ end
58
+
59
+ tasks = JSON.parse(r.body)['tasks']
60
+ tasks.select! do |t|
61
+ t['appId'] == "/#{config[:task]}"
62
+ end
63
+
64
+ message = "#{tasks.length}/#{config[:instances]} #{config[:task]} tasks running"
65
+
66
+ if tasks.length < config[:instances]
67
+ critical message
68
+ end
69
+
70
+ ok message
71
+ rescue Errno::ECONNREFUSED, SocketError
72
+ failures << "Marathon on #{s} could not be reached"
73
+ rescue
74
+ failures << "error caught trying to reach Marathon on #{s}"
75
+ end
76
+ end
77
+
78
+ unknown "marathon task state could not be retrieved:\n" << failures.join("\n")
79
+ end
80
+ end
@@ -1,8 +1,8 @@
1
1
  module SensuPluginsMesos
2
2
  module Version
3
3
  MAJOR = 0
4
- MINOR = 0
5
- PATCH = 4
4
+ MINOR = 1
5
+ PATCH = 0
6
6
 
7
7
  VER_STRING = [MAJOR, MINOR, PATCH].compact.join('.')
8
8
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-plugins-mesos
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sensu Plugins and contributors
@@ -30,7 +30,7 @@ cert_chain:
30
30
  8sHuVruarogxxKPBzlL2is4EUb6oN/RdpGx2l4254+nyR+abg//Ed27Ym0PkB4lk
31
31
  HP0m8WSjZmFr109pE/sVsM5jtOCvogyujQOjNVGN4gz1wwPr
32
32
  -----END CERTIFICATE-----
33
- date: 2015-07-30 00:00:00.000000000 Z
33
+ date: 2015-09-14 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: rest-client
@@ -193,6 +193,7 @@ executables:
193
193
  - metrics-marathon.rb
194
194
  - check-mesos.rb
195
195
  - check-marathon.rb
196
+ - check-marathon-task.rb
196
197
  - check-chronos.rb
197
198
  extensions: []
198
199
  extra_rdoc_files: []
@@ -201,6 +202,7 @@ files:
201
202
  - LICENSE
202
203
  - README.md
203
204
  - bin/check-chronos.rb
205
+ - bin/check-marathon-task.rb
204
206
  - bin/check-marathon.rb
205
207
  - bin/check-mesos.rb
206
208
  - bin/metrics-marathon.rb
@@ -233,7 +235,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
233
235
  version: '0'
234
236
  requirements: []
235
237
  rubyforge_project:
236
- rubygems_version: 2.4.6
238
+ rubygems_version: 2.4.8
237
239
  signing_key:
238
240
  specification_version: 4
239
241
  summary: Sensu plugins for checking mesos
metadata.gz.sig CHANGED
@@ -1,2 +1,2 @@
1
- �����q�.�Hl�3n��յ�Ѯ��ie���ҒU�i�a)����즘>c�n�k�84m$h�f�B��D�LP��8Ѐ�5f��#d�g�%<H27ܡ.:���󐿪�٘5�ٵ�ج�;��PD/���������
2
- �[��kM٬>Ar���X��
1
+ oݑ��r�\o������m���M㲠"H��k1DZ[�dư��� DISAo�*���c�CS��޿g���|��׋�� od�\ڜ���6t9��`�q��
2
+ �����1��i.�4p��ʨL�q�B���%[=h )�