logstash-input-cassandra_sync 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 +7 -0
- data/CHANGELOG.md +13 -0
- data/Gemfile +12 -0
- data/README.md +63 -0
- data/VERSION +1 -0
- data/docs/index.asciidoc +117 -0
- data/lib/logstash-input-cassandra_sync_jars.rb +5 -0
- data/lib/logstash/inputs/cassandra_sync.rb +12 -0
- data/logstash-input-cassandra_sync.gemspec +22 -0
- data/vendor/jar-dependencies/org/logstashplugins/logstash-input-cassandra_sync/1.2.0/logstash-input-cassandra_sync-1.2.0.jar +0 -0
- metadata +107 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 45876a7dbdbd721057f461f5d3c07bef74da2b52c9823615a44b7229ded096d6
|
4
|
+
data.tar.gz: 53fe212716974d72b41ca9dd782c4817bdca5e481a8afee4778a185f3ded129d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 49a8a4daa0246081073abb753be1b022c9e0c9716c479c17ce97b61c2c7d2ce10ecb8a1cce6e00eb3fa22a89c34017ac665bee9409631e30d17b4b873c9a9fe9
|
7
|
+
data.tar.gz: 0cebf53e5ab42f36c812e11d54bbb4fc86f26cff1f2010b98355e1c117b1e8193f5ea05ee1484ffb244c1181faa9c965c51865e7750dd4e50a5362d9a93a9174
|
data/CHANGELOG.md
ADDED
@@ -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
|
data/README.md
ADDED
@@ -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.2.0
|
data/docs/index.asciidoc
ADDED
@@ -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,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
|
Binary file
|
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.2.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- CPI Card Group
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-02-25 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.2.0/logstash-input-cassandra_sync-1.2.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: []
|