sensu 0.13.0.beta-java → 0.13.0-java
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 +9 -2
- data/MIT-LICENSE.txt +1 -1
- data/lib/sensu/client.rb +11 -8
- data/lib/sensu/constants.rb +1 -1
- data/lib/sensu/daemon.rb +7 -7
- data/lib/sensu/server.rb +18 -8
- data/sensu.gemspec +8 -8
- metadata +19 -19
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 9d379ef4e0836c0a4bd83693fd1b2c56f2bd812e
         | 
| 4 | 
            +
              data.tar.gz: ab189afb5a1f15166596b52ed60f142a96c396dd
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 782fdd8d034188b6c3c01637637fbf433ae20d31f6d87661a27e87962a613b582c58284e746b9aaf04ba0cc0f2cc91a6dfbc0362c09bb1886f80b0c5a2dff962
         | 
| 7 | 
            +
              data.tar.gz: 4330232415934cae548c7673d8e3750757c16762a69df952dea94db86dcb9c5d0777b43098749dbc1b3cab0293e08d10ee52ce168c25300c94cee6becfef34e0
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,4 +1,4 @@ | |
| 1 | 
            -
            ## 0.13.0 -  | 
| 1 | 
            +
            ## 0.13.0 - 2014-06-12
         | 
| 2 2 |  | 
| 3 3 | 
             
            ### Non-backwards compatible changes
         | 
| 4 4 |  | 
| @@ -25,6 +25,10 @@ services. | |
| 25 25 |  | 
| 26 26 | 
             
            Client keepalives now contain the Sensu version.
         | 
| 27 27 |  | 
| 28 | 
            +
            Support for nested handler sets (not deep).
         | 
| 29 | 
            +
             | 
| 30 | 
            +
            Setting validation reports all invalid definitions before Sensu exits.
         | 
| 31 | 
            +
             | 
| 28 32 | 
             
            ### Other
         | 
| 29 33 |  | 
| 30 34 | 
             
            Clients now only load instances of check extensions, and servers load
         | 
| @@ -32,7 +36,8 @@ everything but check extensions. | |
| 32 36 |  | 
| 33 37 | 
             
            Fixed standalone check scheduling, no longer mutating definitions.
         | 
| 34 38 |  | 
| 35 | 
            -
            Fixed command token substitution, allowing for the use of colons | 
| 39 | 
            +
            Fixed command token substitution, allowing for the use of colons and
         | 
| 40 | 
            +
            working value defaults.
         | 
| 36 41 |  | 
| 37 42 | 
             
            Log events are flushed when the eventmachine reactor stops.
         | 
| 38 43 |  | 
| @@ -41,6 +46,8 @@ Dropped the Oj JSON parser, heap allocation issues and memory leaks. | |
| 41 46 | 
             
            Client RabbitMQ queues are no longer server named (bugs), they are now
         | 
| 42 47 | 
             
            composed of the client name, Sensu version, and the timestamp at creation.
         | 
| 43 48 |  | 
| 49 | 
            +
            Server master election lock updates and queries are more frequent.
         | 
| 50 | 
            +
             | 
| 44 51 | 
             
            ## 0.12.6 - 2014-02-19
         | 
| 45 52 |  | 
| 46 53 | 
             
            ### Non-backwards compatible changes
         | 
    
        data/MIT-LICENSE.txt
    CHANGED
    
    
    
        data/lib/sensu/client.rb
    CHANGED
    
    | @@ -68,17 +68,20 @@ module Sensu | |
| 68 68 | 
             
                  end
         | 
| 69 69 | 
             
                end
         | 
| 70 70 |  | 
| 71 | 
            +
                def find_client_attribute(tree, path, default)
         | 
| 72 | 
            +
                  attribute = tree[path.shift]
         | 
| 73 | 
            +
                  if attribute.is_a?(Hash)
         | 
| 74 | 
            +
                    find_client_attribute(attribute, path, default)
         | 
| 75 | 
            +
                  else
         | 
| 76 | 
            +
                    attribute.nil? ? default : attribute
         | 
| 77 | 
            +
                  end
         | 
| 78 | 
            +
                end
         | 
| 79 | 
            +
             | 
| 71 80 | 
             
                def substitute_command_tokens(check)
         | 
| 72 81 | 
             
                  unmatched_tokens = Array.new
         | 
| 73 | 
            -
                  substituted = check[:command].gsub(/:::([^:] | 
| 82 | 
            +
                  substituted = check[:command].gsub(/:::([^:].*?):::/) do
         | 
| 74 83 | 
             
                    token, default = $1.to_s.split('|', -1)
         | 
| 75 | 
            -
                    matched = token.split('.') | 
| 76 | 
            -
                      if client[attribute].nil?
         | 
| 77 | 
            -
                        default.nil? ? break : default
         | 
| 78 | 
            -
                      else
         | 
| 79 | 
            -
                        client[attribute]
         | 
| 80 | 
            -
                      end
         | 
| 81 | 
            -
                    end
         | 
| 84 | 
            +
                    matched = find_client_attribute(@settings[:client], token.split('.'), default)
         | 
| 82 85 | 
             
                    if matched.nil?
         | 
| 83 86 | 
             
                      unmatched_tokens << token
         | 
| 84 87 | 
             
                    end
         | 
    
        data/lib/sensu/constants.rb
    CHANGED
    
    
    
        data/lib/sensu/daemon.rb
    CHANGED
    
    | @@ -2,13 +2,13 @@ require 'rubygems' | |
| 2 2 |  | 
| 3 3 | 
             
            gem 'multi_json', '1.10.1'
         | 
| 4 4 |  | 
| 5 | 
            -
            gem 'sensu-em', '2. | 
| 6 | 
            -
            gem 'sensu-logger', '0.0 | 
| 7 | 
            -
            gem 'sensu-settings', '0.0 | 
| 8 | 
            -
            gem 'sensu-extension', '0.0 | 
| 9 | 
            -
            gem 'sensu-extensions', '0.0 | 
| 10 | 
            -
            gem 'sensu-transport', '0.0 | 
| 11 | 
            -
            gem 'sensu-spawn', '0.0 | 
| 5 | 
            +
            gem 'sensu-em', '2.4.0'
         | 
| 6 | 
            +
            gem 'sensu-logger', '1.0.0'
         | 
| 7 | 
            +
            gem 'sensu-settings', '1.0.0'
         | 
| 8 | 
            +
            gem 'sensu-extension', '1.0.0'
         | 
| 9 | 
            +
            gem 'sensu-extensions', '1.0.0'
         | 
| 10 | 
            +
            gem 'sensu-transport', '1.0.0'
         | 
| 11 | 
            +
            gem 'sensu-spawn', '1.0.0'
         | 
| 12 12 |  | 
| 13 13 | 
             
            require 'time'
         | 
| 14 14 | 
             
            require 'uri'
         | 
    
        data/lib/sensu/server.rb
    CHANGED
    
    | @@ -116,12 +116,18 @@ module Sensu | |
| 116 116 | 
             
                  end
         | 
| 117 117 | 
             
                end
         | 
| 118 118 |  | 
| 119 | 
            -
                def derive_handlers(handler_list)
         | 
| 119 | 
            +
                def derive_handlers(handler_list, depth=0)
         | 
| 120 120 | 
             
                  handler_list.compact.inject(Array.new) do |handlers, handler_name|
         | 
| 121 121 | 
             
                    if @settings.handler_exists?(handler_name)
         | 
| 122 122 | 
             
                      handler = @settings[:handlers][handler_name].merge(:name => handler_name)
         | 
| 123 123 | 
             
                      if handler[:type] == 'set'
         | 
| 124 | 
            -
                         | 
| 124 | 
            +
                        if depth < 2
         | 
| 125 | 
            +
                          handlers = handlers + derive_handlers(handler[:handlers], depth + 1)
         | 
| 126 | 
            +
                        else
         | 
| 127 | 
            +
                          @logger.error('handler sets cannot be deeply nested', {
         | 
| 128 | 
            +
                            :handler => handler
         | 
| 129 | 
            +
                          })
         | 
| 130 | 
            +
                        end
         | 
| 125 131 | 
             
                      else
         | 
| 126 132 | 
             
                        handlers << handler
         | 
| 127 133 | 
             
                      end
         | 
| @@ -537,17 +543,21 @@ module Sensu | |
| 537 543 |  | 
| 538 544 | 
             
                def determine_stale_clients
         | 
| 539 545 | 
             
                  @logger.info('determining stale clients')
         | 
| 546 | 
            +
                  keepalive_check = {
         | 
| 547 | 
            +
                    :thresholds => {
         | 
| 548 | 
            +
                      :warning => 120,
         | 
| 549 | 
            +
                      :critical => 180
         | 
| 550 | 
            +
                    }
         | 
| 551 | 
            +
                  }
         | 
| 552 | 
            +
                  if @settings.handler_exists?(:keepalive)
         | 
| 553 | 
            +
                    keepalive_check[:handler] = "keepalive"
         | 
| 554 | 
            +
                  end
         | 
| 540 555 | 
             
                  @redis.smembers('clients') do |clients|
         | 
| 541 556 | 
             
                    clients.each do |client_name|
         | 
| 542 557 | 
             
                      @redis.get('client:' + client_name) do |client_json|
         | 
| 543 558 | 
             
                        unless client_json.nil?
         | 
| 544 559 | 
             
                          client = MultiJson.load(client_json)
         | 
| 545 | 
            -
                          check =  | 
| 546 | 
            -
                            :thresholds => {
         | 
| 547 | 
            -
                              :warning => 120,
         | 
| 548 | 
            -
                              :critical => 180
         | 
| 549 | 
            -
                            }
         | 
| 550 | 
            -
                          }
         | 
| 560 | 
            +
                          check = keepalive_check.dup
         | 
| 551 561 | 
             
                          if client.has_key?(:keepalive)
         | 
| 552 562 | 
             
                            check = deep_merge(check, client[:keepalive])
         | 
| 553 563 | 
             
                          end
         | 
    
        data/sensu.gemspec
    CHANGED
    
    | @@ -9,20 +9,20 @@ Gem::Specification.new do |s| | |
| 9 9 | 
             
              s.email       = ['portertech@gmail.com', 'justin.kolberg@sonian.net']
         | 
| 10 10 | 
             
              s.homepage    = 'https://github.com/sensu/sensu'
         | 
| 11 11 | 
             
              s.summary     = 'A monitoring framework'
         | 
| 12 | 
            -
              s.description = 'A monitoring framework that aims to be simple, malleable, and scalable. | 
| 12 | 
            +
              s.description = 'A monitoring framework that aims to be simple, malleable, and scalable.'
         | 
| 13 13 | 
             
              s.license     = 'MIT'
         | 
| 14 14 | 
             
              s.has_rdoc    = false
         | 
| 15 15 |  | 
| 16 16 | 
             
              s.add_dependency('json') if RUBY_VERSION < "1.9"
         | 
| 17 17 | 
             
              s.add_dependency('multi_json', '1.10.1')
         | 
| 18 18 | 
             
              s.add_dependency('uuidtools', '2.1.4')
         | 
| 19 | 
            -
              s.add_dependency('sensu-em', '2. | 
| 20 | 
            -
              s.add_dependency('sensu-logger', '0.0 | 
| 21 | 
            -
              s.add_dependency('sensu-settings', '0.0 | 
| 22 | 
            -
              s.add_dependency('sensu-extension', '0.0 | 
| 23 | 
            -
              s.add_dependency('sensu-extensions', '0.0 | 
| 24 | 
            -
              s.add_dependency('sensu-transport', '0.0 | 
| 25 | 
            -
              s.add_dependency('sensu-spawn', '0.0 | 
| 19 | 
            +
              s.add_dependency('sensu-em', '2.4.0')
         | 
| 20 | 
            +
              s.add_dependency('sensu-logger', '1.0.0')
         | 
| 21 | 
            +
              s.add_dependency('sensu-settings', '1.0.0')
         | 
| 22 | 
            +
              s.add_dependency('sensu-extension', '1.0.0')
         | 
| 23 | 
            +
              s.add_dependency('sensu-extensions', '1.0.0')
         | 
| 24 | 
            +
              s.add_dependency('sensu-transport', '1.0.0')
         | 
| 25 | 
            +
              s.add_dependency('sensu-spawn', '1.0.0')
         | 
| 26 26 | 
             
              s.add_dependency('em-redis-unified', '0.5.0')
         | 
| 27 27 | 
             
              s.add_dependency('sinatra', '1.3.5')
         | 
| 28 28 | 
             
              s.add_dependency('async_sinatra', '1.0.0')
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: sensu
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.13.0 | 
| 4 | 
            +
              version: 0.13.0
         | 
| 5 5 | 
             
            platform: java
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Sean Porter
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire:
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2014- | 
| 12 | 
            +
            date: 2014-06-13 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: multi_json
         | 
| @@ -45,12 +45,12 @@ dependencies: | |
| 45 45 | 
             
                requirements:
         | 
| 46 46 | 
             
                - - '='
         | 
| 47 47 | 
             
                  - !ruby/object:Gem::Version
         | 
| 48 | 
            -
                    version: 2. | 
| 48 | 
            +
                    version: 2.4.0
         | 
| 49 49 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 50 50 | 
             
                requirements:
         | 
| 51 51 | 
             
                - - '='
         | 
| 52 52 | 
             
                  - !ruby/object:Gem::Version
         | 
| 53 | 
            -
                    version: 2. | 
| 53 | 
            +
                    version: 2.4.0
         | 
| 54 54 | 
             
              prerelease: false
         | 
| 55 55 | 
             
              type: :runtime
         | 
| 56 56 | 
             
            - !ruby/object:Gem::Dependency
         | 
| @@ -59,12 +59,12 @@ dependencies: | |
| 59 59 | 
             
                requirements:
         | 
| 60 60 | 
             
                - - '='
         | 
| 61 61 | 
             
                  - !ruby/object:Gem::Version
         | 
| 62 | 
            -
                    version: 0.0 | 
| 62 | 
            +
                    version: 1.0.0
         | 
| 63 63 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 64 64 | 
             
                requirements:
         | 
| 65 65 | 
             
                - - '='
         | 
| 66 66 | 
             
                  - !ruby/object:Gem::Version
         | 
| 67 | 
            -
                    version: 0.0 | 
| 67 | 
            +
                    version: 1.0.0
         | 
| 68 68 | 
             
              prerelease: false
         | 
| 69 69 | 
             
              type: :runtime
         | 
| 70 70 | 
             
            - !ruby/object:Gem::Dependency
         | 
| @@ -73,12 +73,12 @@ dependencies: | |
| 73 73 | 
             
                requirements:
         | 
| 74 74 | 
             
                - - '='
         | 
| 75 75 | 
             
                  - !ruby/object:Gem::Version
         | 
| 76 | 
            -
                    version: 0.0 | 
| 76 | 
            +
                    version: 1.0.0
         | 
| 77 77 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 78 78 | 
             
                requirements:
         | 
| 79 79 | 
             
                - - '='
         | 
| 80 80 | 
             
                  - !ruby/object:Gem::Version
         | 
| 81 | 
            -
                    version: 0.0 | 
| 81 | 
            +
                    version: 1.0.0
         | 
| 82 82 | 
             
              prerelease: false
         | 
| 83 83 | 
             
              type: :runtime
         | 
| 84 84 | 
             
            - !ruby/object:Gem::Dependency
         | 
| @@ -87,12 +87,12 @@ dependencies: | |
| 87 87 | 
             
                requirements:
         | 
| 88 88 | 
             
                - - '='
         | 
| 89 89 | 
             
                  - !ruby/object:Gem::Version
         | 
| 90 | 
            -
                    version: 0.0 | 
| 90 | 
            +
                    version: 1.0.0
         | 
| 91 91 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 92 92 | 
             
                requirements:
         | 
| 93 93 | 
             
                - - '='
         | 
| 94 94 | 
             
                  - !ruby/object:Gem::Version
         | 
| 95 | 
            -
                    version: 0.0 | 
| 95 | 
            +
                    version: 1.0.0
         | 
| 96 96 | 
             
              prerelease: false
         | 
| 97 97 | 
             
              type: :runtime
         | 
| 98 98 | 
             
            - !ruby/object:Gem::Dependency
         | 
| @@ -101,12 +101,12 @@ dependencies: | |
| 101 101 | 
             
                requirements:
         | 
| 102 102 | 
             
                - - '='
         | 
| 103 103 | 
             
                  - !ruby/object:Gem::Version
         | 
| 104 | 
            -
                    version: 0.0 | 
| 104 | 
            +
                    version: 1.0.0
         | 
| 105 105 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 106 106 | 
             
                requirements:
         | 
| 107 107 | 
             
                - - '='
         | 
| 108 108 | 
             
                  - !ruby/object:Gem::Version
         | 
| 109 | 
            -
                    version: 0.0 | 
| 109 | 
            +
                    version: 1.0.0
         | 
| 110 110 | 
             
              prerelease: false
         | 
| 111 111 | 
             
              type: :runtime
         | 
| 112 112 | 
             
            - !ruby/object:Gem::Dependency
         | 
| @@ -115,12 +115,12 @@ dependencies: | |
| 115 115 | 
             
                requirements:
         | 
| 116 116 | 
             
                - - '='
         | 
| 117 117 | 
             
                  - !ruby/object:Gem::Version
         | 
| 118 | 
            -
                    version: 0.0 | 
| 118 | 
            +
                    version: 1.0.0
         | 
| 119 119 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 120 120 | 
             
                requirements:
         | 
| 121 121 | 
             
                - - '='
         | 
| 122 122 | 
             
                  - !ruby/object:Gem::Version
         | 
| 123 | 
            -
                    version: 0.0 | 
| 123 | 
            +
                    version: 1.0.0
         | 
| 124 124 | 
             
              prerelease: false
         | 
| 125 125 | 
             
              type: :runtime
         | 
| 126 126 | 
             
            - !ruby/object:Gem::Dependency
         | 
| @@ -129,12 +129,12 @@ dependencies: | |
| 129 129 | 
             
                requirements:
         | 
| 130 130 | 
             
                - - '='
         | 
| 131 131 | 
             
                  - !ruby/object:Gem::Version
         | 
| 132 | 
            -
                    version: 0.0 | 
| 132 | 
            +
                    version: 1.0.0
         | 
| 133 133 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 134 134 | 
             
                requirements:
         | 
| 135 135 | 
             
                - - '='
         | 
| 136 136 | 
             
                  - !ruby/object:Gem::Version
         | 
| 137 | 
            -
                    version: 0.0 | 
| 137 | 
            +
                    version: 1.0.0
         | 
| 138 138 | 
             
              prerelease: false
         | 
| 139 139 | 
             
              type: :runtime
         | 
| 140 140 | 
             
            - !ruby/object:Gem::Dependency
         | 
| @@ -221,7 +221,7 @@ dependencies: | |
| 221 221 | 
             
                    version: '0'
         | 
| 222 222 | 
             
              prerelease: false
         | 
| 223 223 | 
             
              type: :development
         | 
| 224 | 
            -
            description: A monitoring framework that aims to be simple, malleable, and scalable. | 
| 224 | 
            +
            description: A monitoring framework that aims to be simple, malleable, and scalable.
         | 
| 225 225 | 
             
            email:
         | 
| 226 226 | 
             
            - portertech@gmail.com
         | 
| 227 227 | 
             
            - justin.kolberg@sonian.net
         | 
| @@ -265,9 +265,9 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 265 265 | 
             
                  version: '0'
         | 
| 266 266 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 267 267 | 
             
              requirements:
         | 
| 268 | 
            -
              - - ' | 
| 268 | 
            +
              - - '>='
         | 
| 269 269 | 
             
                - !ruby/object:Gem::Version
         | 
| 270 | 
            -
                  version:  | 
| 270 | 
            +
                  version: '0'
         | 
| 271 271 | 
             
            requirements: []
         | 
| 272 272 | 
             
            rubyforge_project:
         | 
| 273 273 | 
             
            rubygems_version: 2.2.2
         |