logstash-input-sls 0.0.2 → 0.0.7

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
2
  SHA256:
3
- metadata.gz: 9d5043bd9ad3a1cc123d446408dda36912b2dddd57b385c1c759923d66ee60ef
4
- data.tar.gz: d721fa819bda7140a27c5ca9971058060591d7f497b6319b274500b7796377d2
3
+ metadata.gz: a6d027adb56504c63006dd1c960fa31bef1405f41d3dc521ad7547e2680828e8
4
+ data.tar.gz: 6d575c491a13d926b4f76f0ddf2fb7d1f06a317b3d18892d6cfe2f8d4a04afce
5
5
  SHA512:
6
- metadata.gz: ea69bedf30527c0bc0e7eb39fe9fd6539759429564563ae4eb645c81f046644371d244356c2ef3ac93aca476a0462cb09a8d12f3a34e7aea2c31a70bfa2aff6e
7
- data.tar.gz: 5be4fdf65df4f3bc48a0b2216f57a1d6a046e33819c0127a2e4695192b2bd36a855e0a881a679eec4e9f1880a5f00e25ce078ec052f1b91ae56b8b02ee4708ff
6
+ metadata.gz: 89d481180b4911e2ad14289b018117224ad3198df9349c01dd247fdeedcc66588c161a1d9ce2d1e44550ee98f9744b8770080754c9d83ec62ec8f05fb37b1224
7
+ data.tar.gz: f7f6a43b919a03d300064aba1fc1dbc776d7aa025f9c123d50e2dab99f20765eb5fd500bce233f477b083c76f275fce344142abaf3dcf420e0174fd46a369181
data/Gemfile CHANGED
@@ -1,2 +1,2 @@
1
- source 'https://rubygems.org'
1
+ source 'https://gems.ruby-china.com'
2
2
  gemspec
data/README.md CHANGED
@@ -50,20 +50,12 @@ 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)
54
-
55
53
  you can build the gem and install it using:
56
54
 
57
- - Build your plugin gem
58
-
59
- ```sh
60
- gem build logstash-input-sls.gemspec
61
- ```
62
-
63
55
  - Install the plugin from the Logstash home
64
56
 
65
57
  ```sh
66
- logstash-plugin install --local logstash-input-sls-0.0.1.gem
58
+ logstash-plugin install logstash-input-sls
67
59
  ```
68
60
 
69
61
  - Start Logstash
data/README_CN.md CHANGED
@@ -63,20 +63,10 @@ output {
63
63
 
64
64
  ## 安装插件
65
65
 
66
- * 注意:如果没有修改源码可直接安装
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)
69
-
70
- - 构建 插件
71
-
72
- ```sh
73
- gem build logstash-input-sls.gemspec
74
- ```
75
-
76
66
  - 安装 日志服务 input 插件
77
67
 
78
68
  ```sh
79
- logstash-plugin install --local logstash-input-sls-0.0.1.gem
69
+ logstash-plugin install logstash-input-sls
80
70
  ```
81
71
 
82
72
  - 启动 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,45 @@ 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)
56
+
60
57
  rescue Exception => e
61
58
  @logger.error("Start logstash-input-logservice", :endpoint => @endpoint, :project => @project, :logstore => @logstore,
62
59
  :consumer_group => @consumer_group, :consumer_name => @consumer_name, :position => @position,
63
60
  :checkpoint_second => @checkpoint_second, :include_meta => @include_meta, :consumer_name_with_ip => @consumer_name_with_ip, :exception => e)
61
+
62
+ end
63
+
64
+ def consume(queue)
65
+ while !stop?
66
+ while !Processor.LogstashLogHubProcessor.queueCache.isEmpty
67
+ begin
68
+ textmap = Processor.LogstashLogHubProcessor.queueCache.poll
69
+ event = LogStash::Event.new(textmap)
70
+ decorate(event)
71
+ queue << event
72
+ rescue Exception => e
73
+ @logger.error("Consume logstash-input-logservice", :endpoint => @endpoint, :project => @project, :logstore => @logstore,
74
+ :consumer_group => @consumer_group, :consumer_name => @consumer_name, :position => @position,
75
+ :checkpoint_second => @checkpoint_second, :include_meta => @include_meta, :consumer_name_with_ip => @consumer_name_with_ip, :exception => e)
76
+ retry
77
+ end
78
+ end
79
+ Stud.stoppable_sleep(@checkpoint_second) { stop? }
80
+ end # loop
81
+
82
+ end
83
+
84
+ def stop
85
+ # nothing to do in this case so it is not necessary to define stop
86
+ # examples of common "stop" tasks:
87
+ # * close sockets (unblocking blocking reads/accepts)
88
+ # * cleanup temporary files
89
+ # * terminate spawned threads
64
90
  end
65
91
 
66
92
  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.7'
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.7
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: 2021-09-22 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,8 @@ 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
+ rubygems_version: 3.0.3
112
+ signing_key:
114
113
  specification_version: 4
115
114
  summary: This sls input streams a string at a definable interval.
116
115
  test_files: []