sensu-plugins-strongswan 1.1.0 → 1.2.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 +9 -1
- data/README.md +1 -0
- data/bin/metrics-strongswan-listcounters.rb +69 -0
- data/lib/sensu-plugins-strongswan/version.rb +1 -1
- metadata +4 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 80f7ac80f303c96409a6b0ad8ba853c53843874a09a24cb3cc3a3f777026b808
         | 
| 4 | 
            +
              data.tar.gz: 1e2e9abc29a5d95370f1b6d3058eb43089c603b30795635049490d8982cf2516
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 66bec0cf1935fbabe0b0c071a1250ac1102e0721ec25920d4f51c8fa1f3bc8404d896abeb989617aa488a7593c80189948504760ff25df8dede9f4fb2b26dbe0
         | 
| 7 | 
            +
              data.tar.gz: 0d87c74966d332db3375714458966ab1b11fcb5698b59e7b203482ab8a6994a539eb9c703878009df0a768fd10ce92f12ad63efef1c1c69e30d8157a2ca82e9b
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -5,6 +5,13 @@ This CHANGELOG follows the format listed [here](https://github.com/sensu-plugins | |
| 5 5 |  | 
| 6 6 | 
             
            ## [Unreleased]
         | 
| 7 7 |  | 
| 8 | 
            +
            ## [1.2.0] - 2018-03-04
         | 
| 9 | 
            +
            ### Added
         | 
| 10 | 
            +
            - Added new metrics-strongswan-listcounters.rb plugin for getting IKE counters (@yuri-zubov)
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            ### Breaking Changes
         | 
| 13 | 
            +
            Dropping ruby `< 2.1` support (@yuri-zubov)
         | 
| 14 | 
            +
             | 
| 8 15 | 
             
            ## [1.1.0] - 2018-02-22
         | 
| 9 16 | 
             
            ### Added
         | 
| 10 17 | 
             
            - check-strongswan-connection.rb: checks the health of a strongwan connection (@nishiki)
         | 
| @@ -36,7 +43,8 @@ This CHANGELOG follows the format listed [here](https://github.com/sensu-plugins | |
| 36 43 | 
             
            ### Added
         | 
| 37 44 | 
             
            - add check-strongswan.rb and metrics-strongswan.rb plugins
         | 
| 38 45 |  | 
| 39 | 
            -
            [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-strongswan/compare/1. | 
| 46 | 
            +
            [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-strongswan/compare/1.2.0...HEAD
         | 
| 47 | 
            +
            [1.2.0]: https://github.com/sensu-plugins/sensu-plugins-strongswan/compare/1.1.0...1.2.0
         | 
| 40 48 | 
             
            [1.1.0]: https://github.com/sensu-plugins/sensu-plugins-strongswan/compare/1.0.0...1.1.0
         | 
| 41 49 | 
             
            [1.0.0]: https://github.com/sensu-plugins/sensu-plugins-strongswan/0.1.1...1.0.0
         | 
| 42 50 | 
             
            [0.1.1]: https://github.com/sensu-plugins/sensu-plugins-strongswan/compare/0.1.0...0.1.1
         | 
    
        data/README.md
    CHANGED
    
    
| @@ -0,0 +1,69 @@ | |
| 1 | 
            +
            #! /usr/bin/env ruby
         | 
| 2 | 
            +
            #
         | 
| 3 | 
            +
            #  metrics-strongswan-listcounters.rb
         | 
| 4 | 
            +
            #
         | 
| 5 | 
            +
            # DESCRIPTION:
         | 
| 6 | 
            +
            #   This plugin collects metrics from a Strongswan VPN server
         | 
| 7 | 
            +
            #
         | 
| 8 | 
            +
            # OUTPUT:
         | 
| 9 | 
            +
            #   metric data
         | 
| 10 | 
            +
            #
         | 
| 11 | 
            +
            # PLATFORMS:
         | 
| 12 | 
            +
            #   Linux
         | 
| 13 | 
            +
            #
         | 
| 14 | 
            +
            # DEPENDENCIES:
         | 
| 15 | 
            +
            #   gem: sensu-plugin
         | 
| 16 | 
            +
            #
         | 
| 17 | 
            +
            # USAGE:
         | 
| 18 | 
            +
            #   metrics-strongswan-listcounters.rb
         | 
| 19 | 
            +
            #
         | 
| 20 | 
            +
            # NOTES:
         | 
| 21 | 
            +
            #   This plugin should be executed as root using sudo
         | 
| 22 | 
            +
            #
         | 
| 23 | 
            +
            # LICENSE:
         | 
| 24 | 
            +
            #   Copyright Yuri Zubov <yury.zubau@gmail.com>
         | 
| 25 | 
            +
            #   Released under the same terms as Sensu (the MIT license); see LICENSE
         | 
| 26 | 
            +
            #   for details.
         | 
| 27 | 
            +
            #
         | 
| 28 | 
            +
             | 
| 29 | 
            +
            require 'sensu-plugin/metric/cli'
         | 
| 30 | 
            +
            require 'open3'
         | 
| 31 | 
            +
            require 'socket'
         | 
| 32 | 
            +
             | 
| 33 | 
            +
            # Collect strongswan metrics
         | 
| 34 | 
            +
            class StrongswanListcountersMetrics < Sensu::Plugin::Metric::CLI::Graphite
         | 
| 35 | 
            +
              option :scheme,
         | 
| 36 | 
            +
                     description: 'Metric naming scheme, text to prepend to metric',
         | 
| 37 | 
            +
                     short: '-s SCHEME',
         | 
| 38 | 
            +
                     long: '--scheme SCHEME',
         | 
| 39 | 
            +
                     default: "#{Socket.gethostname}.strongswan"
         | 
| 40 | 
            +
             | 
| 41 | 
            +
              option :connection,
         | 
| 42 | 
            +
                     description: 'Connection name to check',
         | 
| 43 | 
            +
                     short: '-c NAME',
         | 
| 44 | 
            +
                     long: '--connection NAME'
         | 
| 45 | 
            +
             | 
| 46 | 
            +
              def run_ipsec_listcounters
         | 
| 47 | 
            +
                stdout, result = Open3.capture2("ipsec listcounters #{config[:connection]}")
         | 
| 48 | 
            +
                unknown 'Unable to get Strongswan listcounters' unless result.success?
         | 
| 49 | 
            +
                stdout
         | 
| 50 | 
            +
              end
         | 
| 51 | 
            +
             | 
| 52 | 
            +
              def run
         | 
| 53 | 
            +
                ipsec_status = run_ipsec_listcounters
         | 
| 54 | 
            +
             | 
| 55 | 
            +
                found = false
         | 
| 56 | 
            +
                ipsec_status.each_line do |line|
         | 
| 57 | 
            +
                  result = line.match(/(?<key>\w+).* (?<value>\d+)/)
         | 
| 58 | 
            +
                  if result
         | 
| 59 | 
            +
                    found = true
         | 
| 60 | 
            +
                    output "#{config[:scheme]}.#{result[:key]}", result[:value]
         | 
| 61 | 
            +
                  end
         | 
| 62 | 
            +
                end
         | 
| 63 | 
            +
                if found
         | 
| 64 | 
            +
                  ok
         | 
| 65 | 
            +
                else
         | 
| 66 | 
            +
                  critical(ipsec_status)
         | 
| 67 | 
            +
                end
         | 
| 68 | 
            +
              end
         | 
| 69 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: sensu-plugins-strongswan
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1. | 
| 4 | 
            +
              version: 1.2.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: 2018- | 
| 11 | 
            +
            date: 2018-03-05 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: sensu-plugin
         | 
| @@ -155,6 +155,7 @@ email: "<sensu-users@googlegroups.com>" | |
| 155 155 | 
             
            executables:
         | 
| 156 156 | 
             
            - check-strongswan-connection.rb
         | 
| 157 157 | 
             
            - check-strongswan.rb
         | 
| 158 | 
            +
            - metrics-strongswan-listcounters.rb
         | 
| 158 159 | 
             
            - metrics-strongswan.rb
         | 
| 159 160 | 
             
            extensions: []
         | 
| 160 161 | 
             
            extra_rdoc_files: []
         | 
| @@ -164,6 +165,7 @@ files: | |
| 164 165 | 
             
            - README.md
         | 
| 165 166 | 
             
            - bin/check-strongswan-connection.rb
         | 
| 166 167 | 
             
            - bin/check-strongswan.rb
         | 
| 168 | 
            +
            - bin/metrics-strongswan-listcounters.rb
         | 
| 167 169 | 
             
            - bin/metrics-strongswan.rb
         | 
| 168 170 | 
             
            - lib/sensu-plugins-strongswan.rb
         | 
| 169 171 | 
             
            - lib/sensu-plugins-strongswan/version.rb
         |