logstash-input-cassandra_sync 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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.0.0/logstash-input-cassandra_sync-1.0.0.jar +0 -0
- metadata +107 -0
checksums.yaml
ADDED
@@ -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
|
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.0.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.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: []
|