logstash-input-dstat 2.0.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 +7 -0
 - data/CHANGELOG.md +0 -0
 - data/DEVELOPER.md +2 -0
 - data/Gemfile +2 -0
 - data/LICENSE +13 -0
 - data/README.md +108 -0
 - data/lib/logstash/inputs/dstat.rb +112 -0
 - data/logstash-input-dstat.gemspec +25 -0
 - data/spec/inputs/dstat_spec.rb +11 -0
 - metadata +116 -0
 
    
        checksums.yaml
    ADDED
    
    | 
         @@ -0,0 +1,7 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            SHA1:
         
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: ff2dc0530d6ad438d352678607f31c72f6d4bdff
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 1db52882410bf63075093d74d961c1d62fb4aa9f
         
     | 
| 
      
 5 
     | 
    
         
            +
            SHA512:
         
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 4b0d583a077d1a21b0e01c65955b2f90dd5c1bc7d75fa2984c89516e8494bb93704cb6e399bd36d6a11765c4fd358b9b0f346c567e6f162c3d1739e0f38d4c28
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: f018bbb25388234e1f6968f595f99dec34a697f78973c502ed1fc52ab72b30c818fb1b36d847e7570e99c7e4a889fa8f27eed976e0c906c1533f134a36c46cd6
         
     | 
    
        data/CHANGELOG.md
    ADDED
    
    | 
         
            File without changes
         
     | 
    
        data/DEVELOPER.md
    ADDED
    
    
    
        data/Gemfile
    ADDED
    
    
    
        data/LICENSE
    ADDED
    
    | 
         @@ -0,0 +1,13 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            Copyright (c) 2016 Yosuke Fujita
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            Licensed under the Apache License, Version 2.0 (the "License");
         
     | 
| 
      
 4 
     | 
    
         
            +
            you may not use this file except in compliance with the License.
         
     | 
| 
      
 5 
     | 
    
         
            +
            You may obtain a copy of the License at
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                http://www.apache.org/licenses/LICENSE-2.0
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            Unless required by applicable law or agreed to in writing, software
         
     | 
| 
      
 10 
     | 
    
         
            +
            distributed under the License is distributed on an "AS IS" BASIS,
         
     | 
| 
      
 11 
     | 
    
         
            +
            WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
      
 12 
     | 
    
         
            +
            See the License for the specific language governing permissions and
         
     | 
| 
      
 13 
     | 
    
         
            +
            limitations under the License.
         
     | 
    
        data/README.md
    ADDED
    
    | 
         @@ -0,0 +1,108 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Logstash Plugin
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            This is a plugin for [Logstash](https://github.com/elastic/logstash). This plugin behave like a [fluent-plugin-dstat](https://github.com/shun0102/fluent-plugin-dstat) on logsash.
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            ## install
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            - Install plugin
         
     | 
| 
      
 9 
     | 
    
         
            +
            ```sh
         
     | 
| 
      
 10 
     | 
    
         
            +
            bin/logstash-plugin install logstash-input-dstat
         
     | 
| 
      
 11 
     | 
    
         
            +
            ```
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            ## Configuration
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            ```
         
     | 
| 
      
 16 
     | 
    
         
            +
            input {
         
     | 
| 
      
 17 
     | 
    
         
            +
              dstat {
         
     | 
| 
      
 18 
     | 
    
         
            +
                option => "-c"
         
     | 
| 
      
 19 
     | 
    
         
            +
                interval => 30
         
     | 
| 
      
 20 
     | 
    
         
            +
              }
         
     | 
| 
      
 21 
     | 
    
         
            +
            }
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
            output {
         
     | 
| 
      
 24 
     | 
    
         
            +
              elasticsearch {
         
     | 
| 
      
 25 
     | 
    
         
            +
                hosts => ["localhost:9200"]
         
     | 
| 
      
 26 
     | 
    
         
            +
              }
         
     | 
| 
      
 27 
     | 
    
         
            +
            }
         
     | 
| 
      
 28 
     | 
    
         
            +
            ```
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
            ### parameters
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
            * option
         
     | 
| 
      
 33 
     | 
    
         
            +
                * option for dstat
         
     | 
| 
      
 34 
     | 
    
         
            +
                * default: empty
         
     | 
| 
      
 35 
     | 
    
         
            +
            * interval
         
     | 
| 
      
 36 
     | 
    
         
            +
                * interval for executing dstat (seconds)
         
     | 
| 
      
 37 
     | 
    
         
            +
                * default: 30
         
     | 
| 
      
 38 
     | 
    
         
            +
            * stat_hash
         
     | 
| 
      
 39 
     | 
    
         
            +
                * set custom stat mapping
         
     | 
| 
      
 40 
     | 
    
         
            +
                * ex.) stat_hash => {'total cpu usage' => {'usr' => 'hogehoge' 'sys' => 'fugafuga'}}
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
            ### default stat mapping
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
            ``` ruby
         
     | 
| 
      
 45 
     | 
    
         
            +
            {
         
     | 
| 
      
 46 
     | 
    
         
            +
              'load avg' => {'1m' => 'loadavg-short', '5m' => 'loadavg-middle', '15m' => 'loadavg-long'},
         
     | 
| 
      
 47 
     | 
    
         
            +
              'total cpu usage' => {'usr' => 'cpu-usr', 'sys' => 'cpu-sys', 'idl' => 'cpu-idl', 'wai' => 'cpu-wai', 'hiq' => 'cpu-hiq', 'siq' => 'cpu-siq'},
         
     | 
| 
      
 48 
     | 
    
         
            +
              'net/total' => {'recv' => 'net-recv', 'send' => 'net-send'},
         
     | 
| 
      
 49 
     | 
    
         
            +
              '/' => {'used' => 'disk-used', 'free' => 'disk-free'},
         
     | 
| 
      
 50 
     | 
    
         
            +
              'memory usage' => {'used' => 'mem-used', 'buff' => 'mem-buff', 'cach' => 'mem-cach', 'free' => 'mem-free'},
         
     | 
| 
      
 51 
     | 
    
         
            +
              'dsk/total' => {'read' => 'dsk-read', 'writ' => 'dsk-writ'},
         
     | 
| 
      
 52 
     | 
    
         
            +
              'paging' => {'in' => 'paging-in', 'out' => 'paging-out'},
         
     | 
| 
      
 53 
     | 
    
         
            +
              'system' => {'int' => 'sys-int', 'csw' => 'sys-csw'},
         
     | 
| 
      
 54 
     | 
    
         
            +
              'swap' => {'used' => 'swap-used', 'free' => 'swap-free'},
         
     | 
| 
      
 55 
     | 
    
         
            +
              'procs' => {'run' => 'procs-run', 'blk' => 'procs-blk', 'new' => 'procs-new'}
         
     | 
| 
      
 56 
     | 
    
         
            +
            }
         
     | 
| 
      
 57 
     | 
    
         
            +
            ```
         
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
      
 59 
     | 
    
         
            +
            ### Output
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
            Output example of when using logstash-output-elasticsearch.
         
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
      
 64 
     | 
    
         
            +
            ``` json
         
     | 
| 
      
 65 
     | 
    
         
            +
            curl -XGET localhost:9200/logstash-*/_search
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
            {
         
     | 
| 
      
 68 
     | 
    
         
            +
              "took": 32,
         
     | 
| 
      
 69 
     | 
    
         
            +
              "timed_out": false,
         
     | 
| 
      
 70 
     | 
    
         
            +
              "_shards": {
         
     | 
| 
      
 71 
     | 
    
         
            +
                "total": 3,
         
     | 
| 
      
 72 
     | 
    
         
            +
                "successful": 3,
         
     | 
| 
      
 73 
     | 
    
         
            +
                "failed": 0
         
     | 
| 
      
 74 
     | 
    
         
            +
              },
         
     | 
| 
      
 75 
     | 
    
         
            +
              "hits": {
         
     | 
| 
      
 76 
     | 
    
         
            +
                "total": 2,
         
     | 
| 
      
 77 
     | 
    
         
            +
                "max_score": 3.2686834,
         
     | 
| 
      
 78 
     | 
    
         
            +
                "hits": [
         
     | 
| 
      
 79 
     | 
    
         
            +
                  {
         
     | 
| 
      
 80 
     | 
    
         
            +
                    "_index": "logstash-2016.07.06",
         
     | 
| 
      
 81 
     | 
    
         
            +
                    "_type": "logs",
         
     | 
| 
      
 82 
     | 
    
         
            +
                    "_id": "AVW-_erHoa7OXPDibi4W",
         
     | 
| 
      
 83 
     | 
    
         
            +
                    "_score": 3.2686834,
         
     | 
| 
      
 84 
     | 
    
         
            +
                    "_source": {
         
     | 
| 
      
 85 
     | 
    
         
            +
                      "stat": "cpu-usr",
         
     | 
| 
      
 86 
     | 
    
         
            +
                      "value": "73.810",
         
     | 
| 
      
 87 
     | 
    
         
            +
                      "host": "localhost.localdomain",
         
     | 
| 
      
 88 
     | 
    
         
            +
                      "@version": "1",
         
     | 
| 
      
 89 
     | 
    
         
            +
                      "@timestamp": "2016-07-06T06:55:58.890Z"
         
     | 
| 
      
 90 
     | 
    
         
            +
                    }
         
     | 
| 
      
 91 
     | 
    
         
            +
                  },
         
     | 
| 
      
 92 
     | 
    
         
            +
                  {
         
     | 
| 
      
 93 
     | 
    
         
            +
                    "_index": "logstash-2016.07.06",
         
     | 
| 
      
 94 
     | 
    
         
            +
                    "_type": "logs",
         
     | 
| 
      
 95 
     | 
    
         
            +
                    "_id": "AVW-_hX2oa7OXPDibi4c",
         
     | 
| 
      
 96 
     | 
    
         
            +
                    "_score": 3.2686834,
         
     | 
| 
      
 97 
     | 
    
         
            +
                    "_source": {
         
     | 
| 
      
 98 
     | 
    
         
            +
                      "stat": "cpu-usr",
         
     | 
| 
      
 99 
     | 
    
         
            +
                      "value": "0.0",
         
     | 
| 
      
 100 
     | 
    
         
            +
                      "host": "localhost.localdomain",
         
     | 
| 
      
 101 
     | 
    
         
            +
                      "@version": "1",
         
     | 
| 
      
 102 
     | 
    
         
            +
                      "@timestamp": "2016-07-06T06:56:09.950Z"
         
     | 
| 
      
 103 
     | 
    
         
            +
                    }
         
     | 
| 
      
 104 
     | 
    
         
            +
                  }
         
     | 
| 
      
 105 
     | 
    
         
            +
                ]
         
     | 
| 
      
 106 
     | 
    
         
            +
              }
         
     | 
| 
      
 107 
     | 
    
         
            +
            }
         
     | 
| 
      
 108 
     | 
    
         
            +
            ```
         
     | 
| 
         @@ -0,0 +1,112 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # encoding: utf-8
         
     | 
| 
      
 2 
     | 
    
         
            +
            require "logstash/inputs/base"
         
     | 
| 
      
 3 
     | 
    
         
            +
            require "logstash/namespace"
         
     | 
| 
      
 4 
     | 
    
         
            +
            require "stud/interval"
         
     | 
| 
      
 5 
     | 
    
         
            +
            require "socket"
         
     | 
| 
      
 6 
     | 
    
         
            +
            require 'csv'
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            class LogStash::Inputs::Dstat < LogStash::Inputs::Base
         
     | 
| 
      
 9 
     | 
    
         
            +
              config_name "dstat"
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
              default :codec, "plain"
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
              config :option, :validate => :string, :default => ""
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
              config :interval, :validate => :number, :default => 30
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
              config :tmpfile, :validate => :string, :default => "/tmp/logstash-dstat.csv"
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
              config :stat_hash, :validate => :hash, :default => {
         
     | 
| 
      
 20 
     | 
    
         
            +
                'load avg' => {'1m' => 'loadavg-short', '5m' => 'loadavg-middle', '15m' => 'loadavg-long'},
         
     | 
| 
      
 21 
     | 
    
         
            +
                'total cpu usage' => {'usr' => 'cpu-usr', 'sys' => 'cpu-sys', 'idl' => 'cpu-idl', 'wai' => 'cpu-wai', 'hiq' => 'cpu-hiq', 'siq' => 'cpu-siq'},
         
     | 
| 
      
 22 
     | 
    
         
            +
                'net/total' => {'recv' => 'net-recv', 'send' => 'net-send'},
         
     | 
| 
      
 23 
     | 
    
         
            +
                '/' => {'used' => 'disk-used', 'free' => 'disk-free'},
         
     | 
| 
      
 24 
     | 
    
         
            +
                'memory usage' => {'used' => 'mem-used', 'buff' => 'mem-buff', 'cach' => 'mem-cach', 'free' => 'mem-free'},
         
     | 
| 
      
 25 
     | 
    
         
            +
                'dsk/total' => {'read' => 'dsk-read', 'writ' => 'dsk-writ'},
         
     | 
| 
      
 26 
     | 
    
         
            +
                'paging' => {'in' => 'paging-in', 'out' => 'paging-out'},
         
     | 
| 
      
 27 
     | 
    
         
            +
                'system' => {'int' => 'sys-int', 'csw' => 'sys-csw'},
         
     | 
| 
      
 28 
     | 
    
         
            +
                'swap' => {'used' => 'swap-used', 'free' => 'swap-free'},
         
     | 
| 
      
 29 
     | 
    
         
            +
                'procs' => {'run' => 'procs-run', 'blk' => 'procs-blk', 'new' => 'procs-new'}
         
     | 
| 
      
 30 
     | 
    
         
            +
              }
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
              public
         
     | 
| 
      
 33 
     | 
    
         
            +
              def register
         
     | 
| 
      
 34 
     | 
    
         
            +
                @logger.info("Registering Dstat Input", :type => @type, :command => @option, :interval => @interval)
         
     | 
| 
      
 35 
     | 
    
         
            +
                @host = Socket.gethostname
         
     | 
| 
      
 36 
     | 
    
         
            +
                @command = 'dstat ' + option + ' --output ' + @tmpfile + ' 1 1'
         
     | 
| 
      
 37 
     | 
    
         
            +
              end
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
              def run(queue)
         
     | 
| 
      
 40 
     | 
    
         
            +
                while !stop?
         
     | 
| 
      
 41 
     | 
    
         
            +
                  clear_tmpfile(@tmpfile)
         
     | 
| 
      
 42 
     | 
    
         
            +
                  lines = exec_dstat(@command, @tmpfile)
         
     | 
| 
      
 43 
     | 
    
         
            +
                  events = create_dstat_events(lines)
         
     | 
| 
      
 44 
     | 
    
         
            +
                  events.each{|event|
         
     | 
| 
      
 45 
     | 
    
         
            +
                    decorate(event)
         
     | 
| 
      
 46 
     | 
    
         
            +
                    queue << event
         
     | 
| 
      
 47 
     | 
    
         
            +
                  }
         
     | 
| 
      
 48 
     | 
    
         
            +
                  Stud.stoppable_sleep(@interval) { stop? }
         
     | 
| 
      
 49 
     | 
    
         
            +
                end
         
     | 
| 
      
 50 
     | 
    
         
            +
              end
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
              def stop
         
     | 
| 
      
 53 
     | 
    
         
            +
              end
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
              def exec_dstat(cmd, tmpfile)
         
     | 
| 
      
 56 
     | 
    
         
            +
                @logger.debug? && @logger.debug("Executing dstat", :command => cmd)
         
     | 
| 
      
 57 
     | 
    
         
            +
                begin
         
     | 
| 
      
 58 
     | 
    
         
            +
                  `#{cmd}`
         
     | 
| 
      
 59 
     | 
    
         
            +
                  File.open(tmpfile) do |file|
         
     | 
| 
      
 60 
     | 
    
         
            +
                    file.read.split("\n")
         
     | 
| 
      
 61 
     | 
    
         
            +
                  end
         
     | 
| 
      
 62 
     | 
    
         
            +
                rescue Exception => e
         
     | 
| 
      
 63 
     | 
    
         
            +
                  @logger.error("Exception while running dstat",
         
     | 
| 
      
 64 
     | 
    
         
            +
                    :command => option, :e => e, :backtrace => e.backtrace)
         
     | 
| 
      
 65 
     | 
    
         
            +
                ensure
         
     | 
| 
      
 66 
     | 
    
         
            +
                  stop
         
     | 
| 
      
 67 
     | 
    
         
            +
                end
         
     | 
| 
      
 68 
     | 
    
         
            +
              end
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
              def clear_tmpfile(file)
         
     | 
| 
      
 71 
     | 
    
         
            +
                File.open(file,"w") do |file|
         
     | 
| 
      
 72 
     | 
    
         
            +
                end
         
     | 
| 
      
 73 
     | 
    
         
            +
              end
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
      
 75 
     | 
    
         
            +
              def create_dstat_events(lines)
         
     | 
| 
      
 76 
     | 
    
         
            +
                events = []
         
     | 
| 
      
 77 
     | 
    
         
            +
                top_columns = []
         
     | 
| 
      
 78 
     | 
    
         
            +
                second_columns = []
         
     | 
| 
      
 79 
     | 
    
         
            +
             
     | 
| 
      
 80 
     | 
    
         
            +
                lines.each_with_index do |line, line_number|
         
     | 
| 
      
 81 
     | 
    
         
            +
                  line.delete!("\"")
         
     | 
| 
      
 82 
     | 
    
         
            +
                  next if line == ""
         
     | 
| 
      
 83 
     | 
    
         
            +
                  case line_number
         
     | 
| 
      
 84 
     | 
    
         
            +
                  when 0..4
         
     | 
| 
      
 85 
     | 
    
         
            +
                  when 5
         
     | 
| 
      
 86 
     | 
    
         
            +
                    top_columns = CSV.parse_line(line)
         
     | 
| 
      
 87 
     | 
    
         
            +
                    top_columns.each_with_index do |value, i|
         
     | 
| 
      
 88 
     | 
    
         
            +
                      if value.nil? || value == ""
         
     | 
| 
      
 89 
     | 
    
         
            +
                        top_columns[i] = top_columns[i-1]
         
     | 
| 
      
 90 
     | 
    
         
            +
                      end
         
     | 
| 
      
 91 
     | 
    
         
            +
                    end
         
     | 
| 
      
 92 
     | 
    
         
            +
                  when 6
         
     | 
| 
      
 93 
     | 
    
         
            +
                    second_columns = CSV.parse_line(line)
         
     | 
| 
      
 94 
     | 
    
         
            +
                  when 7
         
     | 
| 
      
 95 
     | 
    
         
            +
                  when 8
         
     | 
| 
      
 96 
     | 
    
         
            +
                    CSV.parse_line(line).each_with_index do |value, i|
         
     | 
| 
      
 97 
     | 
    
         
            +
                      stat = resolve_stat(top_columns[i], second_columns[i])
         
     | 
| 
      
 98 
     | 
    
         
            +
                      if !stat.nil?
         
     | 
| 
      
 99 
     | 
    
         
            +
                        event = LogStash::Event.new("stat" => stat, "value" => value, "host" => @host)
         
     | 
| 
      
 100 
     | 
    
         
            +
                        events << event
         
     | 
| 
      
 101 
     | 
    
         
            +
                      end
         
     | 
| 
      
 102 
     | 
    
         
            +
                    end
         
     | 
| 
      
 103 
     | 
    
         
            +
                  end
         
     | 
| 
      
 104 
     | 
    
         
            +
                end
         
     | 
| 
      
 105 
     | 
    
         
            +
             
     | 
| 
      
 106 
     | 
    
         
            +
                events
         
     | 
| 
      
 107 
     | 
    
         
            +
              end
         
     | 
| 
      
 108 
     | 
    
         
            +
             
     | 
| 
      
 109 
     | 
    
         
            +
              def resolve_stat(top_column, second_column)
         
     | 
| 
      
 110 
     | 
    
         
            +
                @stat_hash[top_column] ? @stat_hash[top_column][second_column] : nil
         
     | 
| 
      
 111 
     | 
    
         
            +
              end
         
     | 
| 
      
 112 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,25 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            Gem::Specification.new do |s|
         
     | 
| 
      
 2 
     | 
    
         
            +
              s.name = 'logstash-input-dstat'
         
     | 
| 
      
 3 
     | 
    
         
            +
              s.version         = '2.0.0'
         
     | 
| 
      
 4 
     | 
    
         
            +
              s.licenses = ['Apache License (2.0)']
         
     | 
| 
      
 5 
     | 
    
         
            +
              s.summary = "This example input streams a string at a definable interval."
         
     | 
| 
      
 6 
     | 
    
         
            +
              s.description     = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program"
         
     | 
| 
      
 7 
     | 
    
         
            +
              s.authors = ["yfujita"]
         
     | 
| 
      
 8 
     | 
    
         
            +
              s.email = 'yfujita@n2sm.net'
         
     | 
| 
      
 9 
     | 
    
         
            +
              s.homepage = ""
         
     | 
| 
      
 10 
     | 
    
         
            +
              s.require_paths = ["lib"]
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
              # Files
         
     | 
| 
      
 13 
     | 
    
         
            +
              s.files = Dir['lib/**/*','spec/**/*','vendor/**/*','*.gemspec','*.md','CONTRIBUTORS','Gemfile','LICENSE','NOTICE.TXT']
         
     | 
| 
      
 14 
     | 
    
         
            +
               # Tests
         
     | 
| 
      
 15 
     | 
    
         
            +
              s.test_files = s.files.grep(%r{^(test|spec|features)/})
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
              # Special flag to let us know this is actually a logstash plugin
         
     | 
| 
      
 18 
     | 
    
         
            +
              s.metadata = { "logstash_plugin" => "true", "logstash_group" => "input" }
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
              # Gem dependencies
         
     | 
| 
      
 21 
     | 
    
         
            +
              s.add_runtime_dependency "logstash-core", ">= 2.0.0", "< 3.0.0"
         
     | 
| 
      
 22 
     | 
    
         
            +
              s.add_runtime_dependency 'logstash-codec-plain'
         
     | 
| 
      
 23 
     | 
    
         
            +
              s.add_runtime_dependency 'stud', '>= 0.0.22'
         
     | 
| 
      
 24 
     | 
    
         
            +
              s.add_development_dependency 'logstash-devutils'
         
     | 
| 
      
 25 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    ADDED
    
    | 
         @@ -0,0 +1,116 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            --- !ruby/object:Gem::Specification
         
     | 
| 
      
 2 
     | 
    
         
            +
            name: logstash-input-dstat
         
     | 
| 
      
 3 
     | 
    
         
            +
            version: !ruby/object:Gem::Version
         
     | 
| 
      
 4 
     | 
    
         
            +
              version: 2.0.0
         
     | 
| 
      
 5 
     | 
    
         
            +
            platform: ruby
         
     | 
| 
      
 6 
     | 
    
         
            +
            authors:
         
     | 
| 
      
 7 
     | 
    
         
            +
            - yfujita
         
     | 
| 
      
 8 
     | 
    
         
            +
            autorequire:
         
     | 
| 
      
 9 
     | 
    
         
            +
            bindir: bin
         
     | 
| 
      
 10 
     | 
    
         
            +
            cert_chain: []
         
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2016-07-06 00:00:00.000000000 Z
         
     | 
| 
      
 12 
     | 
    
         
            +
            dependencies:
         
     | 
| 
      
 13 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 14 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 15 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 16 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 17 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 18 
     | 
    
         
            +
                    version: 2.0.0
         
     | 
| 
      
 19 
     | 
    
         
            +
                - - "<"
         
     | 
| 
      
 20 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 21 
     | 
    
         
            +
                    version: 3.0.0
         
     | 
| 
      
 22 
     | 
    
         
            +
              name: logstash-core
         
     | 
| 
      
 23 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 24 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 25 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 26 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 27 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 28 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 29 
     | 
    
         
            +
                    version: 2.0.0
         
     | 
| 
      
 30 
     | 
    
         
            +
                - - "<"
         
     | 
| 
      
 31 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 32 
     | 
    
         
            +
                    version: 3.0.0
         
     | 
| 
      
 33 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 34 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 35 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 36 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 37 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 38 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 39 
     | 
    
         
            +
              name: logstash-codec-plain
         
     | 
| 
      
 40 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 41 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 42 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 43 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 44 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 45 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 46 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 47 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 48 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 49 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 50 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 51 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 52 
     | 
    
         
            +
                    version: 0.0.22
         
     | 
| 
      
 53 
     | 
    
         
            +
              name: stud
         
     | 
| 
      
 54 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 55 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 56 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 57 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 58 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 59 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 60 
     | 
    
         
            +
                    version: 0.0.22
         
     | 
| 
      
 61 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 62 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 63 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 64 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 65 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 66 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 67 
     | 
    
         
            +
              name: logstash-devutils
         
     | 
| 
      
 68 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 69 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 70 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 71 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 72 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 73 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 74 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
      
 75 
     | 
    
         
            +
            description: This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program
         
     | 
| 
      
 76 
     | 
    
         
            +
            email: yfujita@n2sm.net
         
     | 
| 
      
 77 
     | 
    
         
            +
            executables: []
         
     | 
| 
      
 78 
     | 
    
         
            +
            extensions: []
         
     | 
| 
      
 79 
     | 
    
         
            +
            extra_rdoc_files: []
         
     | 
| 
      
 80 
     | 
    
         
            +
            files:
         
     | 
| 
      
 81 
     | 
    
         
            +
            - CHANGELOG.md
         
     | 
| 
      
 82 
     | 
    
         
            +
            - DEVELOPER.md
         
     | 
| 
      
 83 
     | 
    
         
            +
            - Gemfile
         
     | 
| 
      
 84 
     | 
    
         
            +
            - LICENSE
         
     | 
| 
      
 85 
     | 
    
         
            +
            - README.md
         
     | 
| 
      
 86 
     | 
    
         
            +
            - lib/logstash/inputs/dstat.rb
         
     | 
| 
      
 87 
     | 
    
         
            +
            - logstash-input-dstat.gemspec
         
     | 
| 
      
 88 
     | 
    
         
            +
            - spec/inputs/dstat_spec.rb
         
     | 
| 
      
 89 
     | 
    
         
            +
            homepage: ''
         
     | 
| 
      
 90 
     | 
    
         
            +
            licenses:
         
     | 
| 
      
 91 
     | 
    
         
            +
            - Apache License (2.0)
         
     | 
| 
      
 92 
     | 
    
         
            +
            metadata:
         
     | 
| 
      
 93 
     | 
    
         
            +
              logstash_plugin: 'true'
         
     | 
| 
      
 94 
     | 
    
         
            +
              logstash_group: input
         
     | 
| 
      
 95 
     | 
    
         
            +
            post_install_message:
         
     | 
| 
      
 96 
     | 
    
         
            +
            rdoc_options: []
         
     | 
| 
      
 97 
     | 
    
         
            +
            require_paths:
         
     | 
| 
      
 98 
     | 
    
         
            +
            - lib
         
     | 
| 
      
 99 
     | 
    
         
            +
            required_ruby_version: !ruby/object:Gem::Requirement
         
     | 
| 
      
 100 
     | 
    
         
            +
              requirements:
         
     | 
| 
      
 101 
     | 
    
         
            +
              - - ">="
         
     | 
| 
      
 102 
     | 
    
         
            +
                - !ruby/object:Gem::Version
         
     | 
| 
      
 103 
     | 
    
         
            +
                  version: '0'
         
     | 
| 
      
 104 
     | 
    
         
            +
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
      
 105 
     | 
    
         
            +
              requirements:
         
     | 
| 
      
 106 
     | 
    
         
            +
              - - ">="
         
     | 
| 
      
 107 
     | 
    
         
            +
                - !ruby/object:Gem::Version
         
     | 
| 
      
 108 
     | 
    
         
            +
                  version: '0'
         
     | 
| 
      
 109 
     | 
    
         
            +
            requirements: []
         
     | 
| 
      
 110 
     | 
    
         
            +
            rubyforge_project:
         
     | 
| 
      
 111 
     | 
    
         
            +
            rubygems_version: 2.6.6
         
     | 
| 
      
 112 
     | 
    
         
            +
            signing_key:
         
     | 
| 
      
 113 
     | 
    
         
            +
            specification_version: 4
         
     | 
| 
      
 114 
     | 
    
         
            +
            summary: This example input streams a string at a definable interval.
         
     | 
| 
      
 115 
     | 
    
         
            +
            test_files:
         
     | 
| 
      
 116 
     | 
    
         
            +
            - spec/inputs/dstat_spec.rb
         
     |