sensu-plugins-lvm 1.0.0 → 1.0.1
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 +5 -5
- data/CHANGELOG.md +9 -1
- data/bin/check-lv-usage.rb +21 -10
- data/bin/check-vg-usage.rb +14 -4
- data/bin/metrics-vg-usage.rb +1 -3
- data/lib/sensu-plugins-lvm/version.rb +1 -1
- metadata +3 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 | 
            -
             | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 2 | 
            +
            SHA256:
         | 
| 3 | 
            +
              metadata.gz: e9655a6231ee5e15854cef010f678fc75a22a1f27a29367f0db6c4eb9a37f513
         | 
| 4 | 
            +
              data.tar.gz: 03e2f8852f9372abab489de6f1aa03079b9e7133d2647b4b3a0722a055d13ce8
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: a5d5d21db1b39e7eb6a308b2645e640b404cba51d608f9b292eddd5452a5bf49ae03517e7fe97503420140005a846029078c9894bc80cd7520fb88dcdecdc8e6
         | 
| 7 | 
            +
              data.tar.gz: 5ae95c7c7f265f567844d9921e530e12b7ed685b1263e44e0bd19f4018a74ba35a36c4d1d04a65589a9be1c7a891d7e3448f213e12e2b8476d770c304dbd93cc
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,10 +1,17 @@ | |
| 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 | 
             
            ## [Unreleased]
         | 
| 7 7 |  | 
| 8 | 
            +
            ## [1.0.1] - 2018-07-06
         | 
| 9 | 
            +
            ### Fixed
         | 
| 10 | 
            +
            - check-lv-usage.rb: emit an `unknown` with a useful message rather than a false `ok` when no volumes are found (@sys-ops)
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            ### Changed
         | 
| 13 | 
            +
            - general readability improvements and appeasing the cops (@majormoses)
         | 
| 14 | 
            +
             | 
| 8 15 | 
             
            ## [1.0.0] - 2017-07-12
         | 
| 9 16 | 
             
            ### Added
         | 
| 10 17 | 
             
            - ruby 2.4 testing (@majormoses)
         | 
| @@ -30,6 +37,7 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang | |
| 30 37 | 
             
            - Initial release
         | 
| 31 38 |  | 
| 32 39 | 
             
            [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-lvm/compare/1.0.0...HEAD
         | 
| 40 | 
            +
            [1.0.1]: https://github.com/sensu-plugins/sensu-plugins-lvm/compare/1.0.0...1.0.1
         | 
| 33 41 | 
             
            [1.0.0]: https://github.com/sensu-plugins/sensu-plugins-lvm/compare/0.0.4...1.0.0
         | 
| 34 42 | 
             
            [0.0.4]: https://github.com/sensu-plugins/sensu-plugins-lvm/compare/0.0.3...0.0.4
         | 
| 35 43 | 
             
            [0.0.3]: https://github.com/sensu-plugins/sensu-plugins-lvm/compare/0.0.2...0.0.3
         | 
    
        data/bin/check-lv-usage.rb
    CHANGED
    
    | @@ -79,33 +79,44 @@ class CheckLVUsage < Sensu::Plugin::Check::CLI | |
| 79 79 | 
             
              end
         | 
| 80 80 |  | 
| 81 81 | 
             
              def logical_volumes
         | 
| 82 | 
            -
                @ | 
| 82 | 
            +
                @logical_volumes ||= LVM::LVM.new.logical_volumes.list
         | 
| 83 | 
            +
              end
         | 
| 84 | 
            +
             | 
| 85 | 
            +
              def empty_volumes_msg
         | 
| 86 | 
            +
                # NOTE: when we drop ruby < 2.3 support switch to <<~ and indent sanely
         | 
| 87 | 
            +
                string = <<-HEREDOC
         | 
| 88 | 
            +
                An error occured getting the LVM info: got empty list of volumes.
         | 
| 89 | 
            +
                Check to ensure sensu has been configured with appropriate permissions.
         | 
| 90 | 
            +
                On linux systems it will generally need to allow executing
         | 
| 91 | 
            +
                HEREDOC
         | 
| 92 | 
            +
                string.squeeze(' ')
         | 
| 83 93 | 
             
              end
         | 
| 84 94 |  | 
| 85 95 | 
             
              def filter_volumes(list)
         | 
| 96 | 
            +
                unknown empty_volumes_msg if list.empty?
         | 
| 86 97 | 
             
                begin
         | 
| 87 98 | 
             
                  return list.select { |l| config[:lv].include?(l.name) } if config[:lv]
         | 
| 88 99 | 
             
                  return list.select { |l| config[:full_name].include?(l.full_name) } if config[:full_name]
         | 
| 89 | 
            -
                rescue
         | 
| 100 | 
            +
                rescue StandardError
         | 
| 90 101 | 
             
                  unknown 'An error occured getting the LVM info'
         | 
| 91 102 | 
             
                end
         | 
| 92 103 | 
             
                list
         | 
| 93 104 | 
             
              end
         | 
| 94 105 |  | 
| 95 | 
            -
              def check_usage( | 
| 96 | 
            -
                d_percent =  | 
| 97 | 
            -
                m_percent =  | 
| 106 | 
            +
              def check_usage(volume)
         | 
| 107 | 
            +
                d_percent = volume.data_percent.to_i
         | 
| 108 | 
            +
                m_percent = volume.metadata_percent.to_i
         | 
| 98 109 |  | 
| 99 110 | 
             
                if d_percent >= config[:dcrit]
         | 
| 100 | 
            -
                  @crit_lv << "#{ | 
| 111 | 
            +
                  @crit_lv << "#{volume.full_name} data volume is #{d_percent}% used"
         | 
| 101 112 | 
             
                elsif d_percent >= config[:dwarn]
         | 
| 102 | 
            -
                  @warn_lv << "#{ | 
| 113 | 
            +
                  @warn_lv << "#{volume.full_name} data volume is #{d_percent}% used"
         | 
| 103 114 | 
             
                end
         | 
| 104 115 |  | 
| 105 116 | 
             
                if m_percent >= config[:mcrit]
         | 
| 106 | 
            -
                  @crit_lv << "#{ | 
| 117 | 
            +
                  @crit_lv << "#{volume.full_name} metadata volume is #{m_percent}% used"
         | 
| 107 118 | 
             
                elsif m_percent >= config[:mwarn]
         | 
| 108 | 
            -
                  @warn_lv << "#{ | 
| 119 | 
            +
                  @warn_lv << "#{volume.full_name} metadata volume is #{m_percent}% used"
         | 
| 109 120 | 
             
                end
         | 
| 110 121 | 
             
              end
         | 
| 111 122 |  | 
| @@ -119,7 +130,7 @@ class CheckLVUsage < Sensu::Plugin::Check::CLI | |
| 119 130 | 
             
              #
         | 
| 120 131 | 
             
              def run
         | 
| 121 132 | 
             
                volumes = filter_volumes(logical_volumes)
         | 
| 122 | 
            -
                volumes.each { | | 
| 133 | 
            +
                volumes.each { |volume| check_usage(volume) }
         | 
| 123 134 | 
             
                critical check_output unless @crit_lv.empty?
         | 
| 124 135 | 
             
                warning check_output unless @warn_lv.empty?
         | 
| 125 136 | 
             
                ok "All logical volume data usage under #{config[:dwarn]}% and metadata usage under #{config[:mwarn]}%"
         | 
    
        data/bin/check-vg-usage.rb
    CHANGED
    
    | @@ -75,7 +75,7 @@ class CheckVg < Sensu::Plugin::Check::CLI | |
| 75 75 | 
             
                    next if config[:ignorevg] && config[:ignorevg].include?(line.name)
         | 
| 76 76 | 
             
                    next if config[:ignorevgre] && config[:ignorevgre].match(line.name)
         | 
| 77 77 | 
             
                    next if config[:includevg] && !config[:includevg].include?(line.name)
         | 
| 78 | 
            -
                  rescue
         | 
| 78 | 
            +
                  rescue StandardError
         | 
| 79 79 | 
             
                    unknown 'An error occured getting the LVM info'
         | 
| 80 80 | 
             
                  end
         | 
| 81 81 | 
             
                  check_volume_group(line)
         | 
| @@ -99,9 +99,19 @@ class CheckVg < Sensu::Plugin::Check::CLI | |
| 99 99 | 
             
                end
         | 
| 100 100 | 
             
              end
         | 
| 101 101 |  | 
| 102 | 
            -
              def to_human( | 
| 103 | 
            -
                 | 
| 104 | 
            -
             | 
| 102 | 
            +
              def to_human(bytes)
         | 
| 103 | 
            +
                units = [
         | 
| 104 | 
            +
                  [1_099_511_627_776, 'TiB'],
         | 
| 105 | 
            +
                  [1_073_741_824, 'GiB'],
         | 
| 106 | 
            +
                  [1_048_576, 'MiB'],
         | 
| 107 | 
            +
                  [1024, 'KiB'],
         | 
| 108 | 
            +
                  [0, 'B']
         | 
| 109 | 
            +
                ].detect { |unit| bytes >= unit[0] }
         | 
| 110 | 
            +
                if bytes > 0
         | 
| 111 | 
            +
                  bytes / units[0]
         | 
| 112 | 
            +
                else
         | 
| 113 | 
            +
                  units[1]
         | 
| 114 | 
            +
                end
         | 
| 105 115 | 
             
              end
         | 
| 106 116 |  | 
| 107 117 | 
             
              # Generate output
         | 
    
        data/bin/metrics-vg-usage.rb
    CHANGED
    
    | @@ -1,6 +1,4 @@ | |
| 1 1 | 
             
            #! /usr/bin/env ruby
         | 
| 2 | 
            -
            #  encoding: UTF-8
         | 
| 3 | 
            -
             | 
| 4 2 | 
             
            #
         | 
| 5 3 | 
             
            #   metrics-vg-usage
         | 
| 6 4 | 
             
            #
         | 
| @@ -64,7 +62,7 @@ class VgUsageMetrics < Sensu::Plugin::Metric::CLI::Graphite | |
| 64 62 | 
             
                    next if config[:ignorevg] && config[:ignorevg].include?(line.name)
         | 
| 65 63 | 
             
                    next if config[:ignorevgre] && config[:ignorevgre].match(line.name)
         | 
| 66 64 | 
             
                    next if config[:includevg] && !config[:includevg].include?(line.name)
         | 
| 67 | 
            -
                  rescue
         | 
| 65 | 
            +
                  rescue StandardError
         | 
| 68 66 | 
             
                    unknown 'An error occured getting the LVM info'
         | 
| 69 67 | 
             
                  end
         | 
| 70 68 | 
             
                  volume_group_metrics(line)
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: sensu-plugins-lvm
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.0. | 
| 4 | 
            +
              version: 1.0.1
         | 
| 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:  | 
| 11 | 
            +
            date: 2018-07-06 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: sensu-plugin
         | 
| @@ -221,7 +221,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 221 221 | 
             
                  version: '0'
         | 
| 222 222 | 
             
            requirements: []
         | 
| 223 223 | 
             
            rubyforge_project: 
         | 
| 224 | 
            -
            rubygems_version: 2. | 
| 224 | 
            +
            rubygems_version: 2.7.7
         | 
| 225 225 | 
             
            signing_key: 
         | 
| 226 226 | 
             
            specification_version: 4
         | 
| 227 227 | 
             
            summary: Sensu plugins for lvm
         |