logstash-input-cassandra_sync 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: ef584475609d9abcb6e8f2862154f9daa0bcb9f219bd60b0328a00137e9d787b
4
+ data.tar.gz: d4dc88140af0308c029cf72d79cbf4197d6ce8d988f69217f637e0a8379cda2d
5
+ SHA512:
6
+ metadata.gz: 11ca7893a98d888e32f5f4ec2e7aef33b5183dca7d8d9e5fa6c0bb6c2a6b70a64f04704cb4bc3021820b0d9fd72626eedaffb55de3c80c1ac1915d42c983ef0a
7
+ data.tar.gz: 649a24ba05ef70bc3461498b248caef030baf1b08f744745bfd6836a48ae6edd68fb5db6d339f99b393711206ab997cbff6b7395d818e77aac951d30af918f5f
@@ -0,0 +1,13 @@
1
+ ## 1.0.0
2
+ - Updated for GA release of native support for Java plugins. Includes:
3
+ - Improved Gradle task wrappers
4
+ - Removal of auto-generated Ruby source files
5
+
6
+ ## 0.2.0
7
+ - Updated for beta version of native support for Java plugins. Includes:
8
+ - Gradle task wrappers
9
+ - Updated plugin API
10
+ - Full feature parity with Ruby plugins
11
+
12
+ ## 0.0.1
13
+ - Initial version for experimental v0 of native support for Java plugins.
data/Gemfile ADDED
@@ -0,0 +1,12 @@
1
+ # AUTOGENERATED BY THE GRADLE SCRIPT. EDITS WILL BE OVERWRITTEN.
2
+ source 'https://rubygems.org'
3
+
4
+ gemspec
5
+
6
+ logstash_path = ENV["LOGSTASH_PATH"] || "../../logstash"
7
+ use_logstash_source = ENV["LOGSTASH_SOURCE"] && ENV["LOGSTASH_SOURCE"].to_s == "1"
8
+
9
+ if Dir.exist?(logstash_path) && use_logstash_source
10
+ gem 'logstash-core', :path => "#{logstash_path}/logstash-core"
11
+ gem 'logstash-core-plugin-api', :path => "#{logstash_path}/logstash-core-plugin-api"
12
+ end
@@ -0,0 +1,63 @@
1
+ # CassandraSync Logstash Java Plugin
2
+
3
+ This is a [Java plugin](https://www.elastic.co/guide/en/logstash/current/contributing-java-plugin.html) for [Logstash](https://github.com/elastic/logstash). It allows synchronization/loading of events from eventstore in Cassandra database into Elasticsearch.
4
+
5
+ __TODO__: add more description + config
6
+
7
+ # Usage
8
+
9
+ ~~~
10
+ input
11
+ {
12
+ cassandra_sync
13
+ {
14
+ index => "eventstore-iot"
15
+ days => 90
16
+ synclimit => 1000
17
+ elastichost => "192.168.1.12"
18
+ elasticport => 9200
19
+ cassandrahost => "192.168.1.12"
20
+ cassandraport => 9042
21
+ cassandradatacenter => "datacenter1"
22
+ syncperiod => 15
23
+ resyncperiod => 60
24
+ inclusivetags => [ "iot", "apm" ]
25
+ }
26
+ }
27
+
28
+ filter
29
+ {
30
+ json
31
+ {
32
+ source => "data"
33
+ target => "data"
34
+ }
35
+
36
+ json
37
+ {
38
+ source => "embed"
39
+ remove_field => [ "embed" ]
40
+ }
41
+
42
+ date
43
+ {
44
+ match => [ "created", "ISO8601" ]
45
+ }
46
+ }
47
+
48
+ output
49
+ {
50
+ stdout { codec => rubydebug }
51
+
52
+ elasticsearch
53
+ {
54
+ hosts => ["http://192.168.1.12:9200"]
55
+ index => "eventstore-iot"
56
+ document_id => "%{created}-%{uid}"
57
+ #user => "elastic"
58
+ #password => "changeme"
59
+ }
60
+ }
61
+ ~~~
62
+
63
+
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.0.0
@@ -0,0 +1,117 @@
1
+ :plugin: example
2
+ :type: input
3
+ :default_codec: plain
4
+ // Update header with plugin name and default codec
5
+
6
+ ///////////////////////////////////////////
7
+ START - GENERATED VARIABLES, DO NOT EDIT!
8
+ ///////////////////////////////////////////
9
+ :version: %VERSION%
10
+ :release_date: %RELEASE_DATE%
11
+ :changelog_url: %CHANGELOG_URL%
12
+ :include_path: ../../../../logstash/docs/include
13
+ ///////////////////////////////////////////
14
+ END - GENERATED VARIABLES, DO NOT EDIT!
15
+ ///////////////////////////////////////////
16
+
17
+ [id="plugins-{type}s-{plugin}"]
18
+
19
+ === Example input plugin
20
+
21
+ include::{include_path}/plugin_header.asciidoc[]
22
+
23
+ ==== Description
24
+
25
+ Add plugin description here
26
+
27
+ // Format anchors and links to support generated ids for versioning
28
+ // Sample anchor: [id="plugins-{type}s-{plugin}-setting_name"]
29
+ // Sample link: <<plugins-{type}s-{plugin}-setting_name>>
30
+
31
+ [id="plugins-{type}s-{plugin}-options"]
32
+ ==== Example Input Configuration Options
33
+
34
+ [cols="<,<,<",options="header",]
35
+ |=======================================================================
36
+ |Setting |Input type|Required
37
+ | <<plugins-{type}s-{plugin}-a_setting_name>> |<<boolean,boolean>>|No
38
+ | <<plugins-{type}s-{plugin}-another_setting_name>> |<<hash,hash>>|No
39
+ | <<plugins-{type}s-{plugin}-setting_name_3>> |<<string,string>>|No
40
+ | <<plugins-{type}s-{plugin}-setting_name_4>> |<<number,number>>|No
41
+ | <<plugins-{type}s-{plugin}-setting_name_5>> |<<array,array>>|No
42
+ | <<plugins-{type}s-{plugin}-setting_name_6>> |<<bytes,bytes>>|No
43
+ | <<plugins-{type}s-{plugin}-setting_name_7>> |<<path,path>>|No
44
+ | <<plugins-{type}s-{plugin}-setting_name_8>> |<<password,password>>|No
45
+ |=======================================================================
46
+
47
+ [id="plugins-{type}s-{plugin}-a_setting_name"]
48
+ ===== `a_setting_name`
49
+
50
+ * Value type is <<boolean,boolean>>
51
+ * Default value is `true`
52
+
53
+ Add description here
54
+
55
+ [id="plugins-{type}s-{plugin}-another_setting_name"]
56
+ ===== `another_setting_name`
57
+
58
+ * Value type is <<hash,hash>>
59
+ * Default value is `{}`
60
+
61
+ Add description here
62
+
63
+ [id="plugins-{type}s-{plugin}-setting_name_3"]
64
+ ===== `setting_name_3`
65
+
66
+ * Value type is <<string,string>>
67
+ * Default value is `{}`
68
+
69
+ Add description here
70
+
71
+ [id="plugins-{type}s-{plugin}-setting_name_4"]
72
+ ===== `setting_name_4`
73
+
74
+ * Value type is <<number,number>>
75
+ * Default value is `0`
76
+
77
+ Add description here
78
+
79
+ [id="plugins-{type}s-{plugin}-setting_name_5"]
80
+ ===== `setting_name_5`
81
+
82
+ * Value type is <<array,array>>
83
+ * Default value is {}
84
+
85
+ Add description here
86
+
87
+ [id="plugins-{type}s-{plugin}-setting_name_6"]
88
+ ===== `setting_name_6`
89
+
90
+ * Value type is <<bytes,bytes>>
91
+ * Default value is {}
92
+
93
+ Add description here
94
+
95
+ [id="plugins-{type}s-{plugin}-setting_name_7"]
96
+ ===== `setting_name_7`
97
+
98
+ * Value type is <<path,path>>
99
+ * Default value is {}
100
+
101
+ Add description here
102
+
103
+ [id="plugins-{type}s-{plugin}-setting_name_8"]
104
+ ===== `setting_name_8`
105
+
106
+ * Value type is <<password,password>>
107
+ * Default value is {}
108
+
109
+ Add description here
110
+
111
+ // The full list of Value Types is here:
112
+ // https://www.elastic.co/guide/en/logstash/current/configuration-file-structure.html
113
+
114
+ [id="plugins-{type}s-{plugin}-common-options"]
115
+ include::{include_path}/{type}.asciidoc[]
116
+
117
+ :default_codec!:
@@ -0,0 +1,5 @@
1
+ # AUTOGENERATED BY THE GRADLE SCRIPT. EDITS WILL BE OVERWRITTEN.
2
+ # encoding: utf-8
3
+
4
+ require 'jar_dependencies'
5
+ require_jar('org.logstashplugins', 'logstash-input-cassandra_sync', '1.0.0')
@@ -0,0 +1,12 @@
1
+ # AUTOGENERATED BY THE GRADLE SCRIPT. EDITS WILL BE OVERWRITTEN.
2
+ # encoding: utf-8
3
+ require "logstash/inputs/base"
4
+ require "logstash/namespace"
5
+ require "logstash-input-cassandra_sync_jars"
6
+ require "java"
7
+
8
+ class LogStash::Inputs::CassandraSync < LogStash::Inputs::Base
9
+ config_name "cassandra_sync"
10
+
11
+ def self.javaClass() Java::org.logstashplugins.CassandraSync.java_class; end
12
+ end
@@ -0,0 +1,22 @@
1
+ # AUTOGENERATED BY THE GRADLE SCRIPT. EDITS WILL BE OVERWRITTEN.
2
+ Gem::Specification.new do |s|
3
+ s.name = 'logstash-input-cassandra_sync'
4
+ s.version = ::File.read('VERSION').split('\n').first
5
+ s.licenses = ['Apache-2.0']
6
+ s.summary = 'Java input implementation of Cassandra to Elastic event synchronization.'
7
+ 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'
8
+ s.authors = ['CPI Card Group']
9
+ s.email = ['mrapavy@cpicardgroup.com']
10
+ s.homepage = 'http://www.cpicardgroup.com'
11
+ s.require_paths = ['lib', 'vendor/jar-dependencies']
12
+
13
+ s.files = Dir["lib/**/*","*.gemspec","*.md","CONTRIBUTORS","Gemfile","LICENSE","NOTICE.TXT", "vendor/jar-dependencies/**/*.jar", "vendor/jar-dependencies/**/*.rb", "VERSION", "docs/**/*"]
14
+
15
+ # Special flag to let us know this is actually a logstash plugin
16
+ s.metadata = { 'logstash_plugin' => 'true', 'logstash_group' => 'input', 'java_plugin' => 'true'}
17
+
18
+ # Gem dependencies
19
+ s.add_runtime_dependency "logstash-core-plugin-api", ">= 1.60", "<= 2.99"
20
+ s.add_runtime_dependency 'jar-dependencies'
21
+ s.add_development_dependency 'logstash-devutils'
22
+ end
metadata ADDED
@@ -0,0 +1,107 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: logstash-input-cassandra_sync
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - CPI Card Group
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-01-02 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: '1.60'
19
+ - - "<="
20
+ - !ruby/object:Gem::Version
21
+ version: '2.99'
22
+ name: logstash-core-plugin-api
23
+ prerelease: false
24
+ type: :runtime
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '1.60'
30
+ - - "<="
31
+ - !ruby/object:Gem::Version
32
+ version: '2.99'
33
+ - !ruby/object:Gem::Dependency
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ">="
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ name: jar-dependencies
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'
53
+ name: logstash-devutils
54
+ prerelease: false
55
+ type: :development
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ description: This gem is a Logstash plugin required to be installed on top of the
62
+ Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This
63
+ gem is not a stand-alone program
64
+ email:
65
+ - mrapavy@cpicardgroup.com
66
+ executables: []
67
+ extensions: []
68
+ extra_rdoc_files: []
69
+ files:
70
+ - CHANGELOG.md
71
+ - Gemfile
72
+ - README.md
73
+ - VERSION
74
+ - docs/index.asciidoc
75
+ - lib/logstash-input-cassandra_sync_jars.rb
76
+ - lib/logstash/inputs/cassandra_sync.rb
77
+ - logstash-input-cassandra_sync.gemspec
78
+ - vendor/jar-dependencies/org/logstashplugins/logstash-input-cassandra_sync/1.0.0/logstash-input-cassandra_sync-1.0.0.jar
79
+ homepage: http://www.cpicardgroup.com
80
+ licenses:
81
+ - Apache-2.0
82
+ metadata:
83
+ logstash_plugin: 'true'
84
+ logstash_group: input
85
+ java_plugin: 'true'
86
+ post_install_message:
87
+ rdoc_options: []
88
+ require_paths:
89
+ - lib
90
+ - vendor/jar-dependencies
91
+ required_ruby_version: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ required_rubygems_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
101
+ requirements: []
102
+ rubyforge_project:
103
+ rubygems_version: 2.7.9
104
+ signing_key:
105
+ specification_version: 4
106
+ summary: Java input implementation of Cassandra to Elastic event synchronization.
107
+ test_files: []