logstash-input-sls 0.0.2 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: 9d5043bd9ad3a1cc123d446408dda36912b2dddd57b385c1c759923d66ee60ef
4
- data.tar.gz: d721fa819bda7140a27c5ca9971058060591d7f497b6319b274500b7796377d2
2
+ SHA1:
3
+ metadata.gz: 5255ea4984de6c4f319118c6fd6921e368313fe4
4
+ data.tar.gz: b0e0b954d7cf5083dee55bcc823b1622cb00a602
5
5
  SHA512:
6
- metadata.gz: ea69bedf30527c0bc0e7eb39fe9fd6539759429564563ae4eb645c81f046644371d244356c2ef3ac93aca476a0462cb09a8d12f3a34e7aea2c31a70bfa2aff6e
7
- data.tar.gz: 5be4fdf65df4f3bc48a0b2216f57a1d6a046e33819c0127a2e4695192b2bd36a855e0a881a679eec4e9f1880a5f00e25ce078ec052f1b91ae56b8b02ee4708ff
6
+ metadata.gz: 68c39cf25d2859b63c9dc7338b46b0c485dc16d5bcd5809e6c7cf07fd3593f2391427e4a323b043fff43db97b9c08b31709e7945c18acd5d38bb04aa556af9ca
7
+ data.tar.gz: 7350d433fc03ac0c175f786baa670f5de1c2627facb95647d0afde015ccf80e4d7d399b6b73c22c07f2596c86bb416a6806a6ef855b0aa9c07316fd196f447ac
data/README.md CHANGED
@@ -50,7 +50,7 @@ This plugin supports the following configuration options
50
50
 
51
51
  ## Install the plugin
52
52
 
53
- [logstash-input-sls-0.0.1.gem](https://github.com/aliyun/logstash-input-logservice/raw/master/logstash-input-sls-0.0.1.gem)
53
+ [logstash-input-sls-0.0.2.gem](https://github.com/aliyun/logstash-input-logservice/raw/master/logstash-input-sls-0.0.2.gem)
54
54
 
55
55
  you can build the gem and install it using:
56
56
 
@@ -63,7 +63,7 @@ gem build logstash-input-sls.gemspec
63
63
  - Install the plugin from the Logstash home
64
64
 
65
65
  ```sh
66
- logstash-plugin install --local logstash-input-sls-0.0.1.gem
66
+ logstash-plugin install --local logstash-input-sls-0.0.2.gem
67
67
  ```
68
68
 
69
69
  - Start Logstash
data/README_CN.md CHANGED
@@ -65,7 +65,7 @@ output {
65
65
 
66
66
  * 注意:如果没有修改源码可直接安装
67
67
 
68
- 下载地址:[logstash-input-sls-0.0.1.gem](https://github.com/aliyun/logstash-input-logservice/raw/master/logstash-input-sls-0.0.1.gem)
68
+ 下载地址:[logstash-input-sls-0.0.2.gem](https://github.com/aliyun/logstash-input-logservice/raw/master/logstash-input-sls-0.0.2.gem)
69
69
 
70
70
  - 构建 插件
71
71
 
@@ -76,7 +76,7 @@ gem build logstash-input-sls.gemspec
76
76
  - 安装 日志服务 input 插件
77
77
 
78
78
  ```sh
79
- logstash-plugin install --local logstash-input-sls-0.0.1.gem
79
+ logstash-plugin install --local logstash-input-sls-0.0.2.gem
80
80
  ```
81
81
 
82
82
  - 启动 Logstash
@@ -3,6 +3,8 @@ require "logstash/namespace"
3
3
  require "logstash/event"
4
4
  require "logstash/environment"
5
5
  require "logstash/inputs/base"
6
+ require 'json'
7
+ require "stud/interval"
6
8
 
7
9
  root_dir = File.expand_path(File.join(File.dirname(__FILE__), ".."))
8
10
  LogStash::Environment.load_runtime_jars! File.join(root_dir, "vendor")
@@ -16,14 +18,7 @@ class LogStash::Inputs::LogService < LogStash::Inputs::Base
16
18
  super(*args)
17
19
  end
18
20
 
19
- class LogHubProcessor < LogstashLogHubProcessor
20
- attr_accessor :queue
21
- def showContent(logmap)
22
- event = LogStash::Event.new(logmap)
23
- # this will block if output_queue is full. output_queue size is 20
24
- @queue << event
25
- end
26
- end
21
+ default :codec, "json"
27
22
 
28
23
  config_name "logservice"
29
24
 
@@ -38,6 +33,8 @@ class LogStash::Inputs::LogService < LogStash::Inputs::Base
38
33
  config :checkpoint_second, :validate => :number, :default => 30
39
34
  config :include_meta, :validate => :boolean, :default => true
40
35
  config :consumer_name_with_ip, :validate => :boolean, :default => true
36
+ config :queue_size, :validate => :number, :default => 1000
37
+ Processor = com.aliyun.log.logstash
41
38
  public
42
39
  def register
43
40
  @logger.info("Init logstash-input-logservice", :endpoint => @endpoint, :project => @project, :logstore => @logstore,
@@ -51,16 +48,37 @@ class LogStash::Inputs::LogService < LogStash::Inputs::Base
51
48
  if @consumer_name_with_ip
52
49
  @ip_suffix = '_' + @local_address
53
50
  end
51
+ @process_pid = "_#{Process.pid}"
54
52
  @logger.info("Running logstash-input-logservice",:local_address => @local_address)
55
- @handler = LogHubProcessor.new()
56
- @handler.setCheckpointSecond(@checkpoint_second)
57
- @handler.setIncludeMeta(@include_meta)
58
- @handler.queue = queue
59
- LogHubStarter.startWorker(@handler, @endpoint, @access_id, @access_key, @project, @logstore, @consumer_group, @consumer_name + @ip_suffix, @position)
53
+ LogHubStarter.startWorker(@endpoint, @access_id, @access_key, @project, @logstore, @consumer_group, @consumer_name + @ip_suffix + @process_pid, @position, @checkpoint_second, @include_meta, @queue_size)
54
+
55
+ consume(queue)
60
56
  rescue Exception => e
61
57
  @logger.error("Start logstash-input-logservice", :endpoint => @endpoint, :project => @project, :logstore => @logstore,
62
58
  :consumer_group => @consumer_group, :consumer_name => @consumer_name, :position => @position,
63
59
  :checkpoint_second => @checkpoint_second, :include_meta => @include_meta, :consumer_name_with_ip => @consumer_name_with_ip, :exception => e)
60
+
61
+ end
62
+
63
+ def consume(queue)
64
+ while !stop?
65
+ while !Processor.LogstashLogHubProcessor.queueCache.isEmpty
66
+ textmap = Processor.LogstashLogHubProcessor.queueCache.poll
67
+ event = LogStash::Event.new(textmap)
68
+ decorate(event)
69
+ queue << event
70
+ end
71
+ Stud.stoppable_sleep(@checkpoint_second) { stop? }
72
+ end # loop
73
+
74
+ end
75
+
76
+ def stop
77
+ # nothing to do in this case so it is not necessary to define stop
78
+ # examples of common "stop" tasks:
79
+ # * close sockets (unblocking blocking reads/accepts)
80
+ # * cleanup temporary files
81
+ # * terminate spawned threads
64
82
  end
65
83
 
66
84
  def teardown
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'logstash-input-sls'
3
- s.version = '0.0.2'
3
+ s.version = '0.0.4'
4
4
  s.licenses = ['MIT']
5
5
  s.summary = "This sls input streams a string at a definable interval."
6
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"
metadata CHANGED
@@ -1,16 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-input-sls
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - lichao
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-25 00:00:00.000000000 Z
11
+ date: 2020-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
+ name: logstash-core-plugin-api
14
15
  requirement: !ruby/object:Gem::Requirement
15
16
  requirements:
16
17
  - - ">="
@@ -19,9 +20,8 @@ dependencies:
19
20
  - - "<="
20
21
  - !ruby/object:Gem::Version
21
22
  version: '2.99'
22
- name: logstash-core-plugin-api
23
- prerelease: false
24
23
  type: :runtime
24
+ prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
@@ -31,42 +31,42 @@ dependencies:
31
31
  - !ruby/object:Gem::Version
32
32
  version: '2.99'
33
33
  - !ruby/object:Gem::Dependency
34
+ name: logstash-codec-plain
34
35
  requirement: !ruby/object:Gem::Requirement
35
36
  requirements:
36
37
  - - ">="
37
38
  - !ruby/object:Gem::Version
38
39
  version: '0'
39
- name: logstash-codec-plain
40
- prerelease: false
41
40
  type: :runtime
41
+ prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
46
  version: '0'
47
47
  - !ruby/object:Gem::Dependency
48
+ name: stud
48
49
  requirement: !ruby/object:Gem::Requirement
49
50
  requirements:
50
51
  - - ">="
51
52
  - !ruby/object:Gem::Version
52
53
  version: 0.0.22
53
- name: stud
54
- prerelease: false
55
54
  type: :runtime
55
+ prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
60
  version: 0.0.22
61
61
  - !ruby/object:Gem::Dependency
62
+ name: logstash-devutils
62
63
  requirement: !ruby/object:Gem::Requirement
63
64
  requirements:
64
65
  - - ">="
65
66
  - !ruby/object:Gem::Version
66
67
  version: '0'
67
- name: logstash-devutils
68
- prerelease: false
69
68
  type: :development
69
+ prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - ">="
@@ -93,7 +93,7 @@ licenses:
93
93
  metadata:
94
94
  logstash_plugin: 'true'
95
95
  logstash_group: input
96
- post_install_message:
96
+ post_install_message:
97
97
  rdoc_options: []
98
98
  require_paths:
99
99
  - lib
@@ -108,9 +108,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0'
110
110
  requirements: []
111
- rubyforge_project:
112
- rubygems_version: 2.7.6
113
- signing_key:
111
+ rubyforge_project:
112
+ rubygems_version: 2.5.2.3
113
+ signing_key:
114
114
  specification_version: 4
115
115
  summary: This sls input streams a string at a definable interval.
116
116
  test_files: []