Skip to content

Commit a54df5b

Browse files
author
dimmaryanto93
committed
init project
0 parents  commit a54df5b

7 files changed

+167
-0
lines changed

.gitignore

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Created by .ignore support plugin (hsz.mobi)
2+
### VisualStudioCode template
3+
.vscode/*
4+
!.vscode/settings.json
5+
!.vscode/tasks.json
6+
!.vscode/launch.json
7+
!.vscode/extensions.json
8+
### JetBrains template
9+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
10+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
11+
12+
# User-specific stuff
13+
.idea/
14+
15+
# CMake
16+
cmake-build-*/
17+
18+
# File-based project format
19+
*.iws
20+
*.iml
21+
22+
# IntelliJ
23+
out/
24+
25+
# mpeltonen/sbt-idea plugin
26+
.idea_modules/
27+
28+
# JIRA plugin
29+
atlassian-ide-plugin.xml
30+
31+
# Cursive Clojure plugin
32+
.idea/replstate.xml
33+
34+
# Crashlytics plugin (for Android Studio and IntelliJ)
35+
com_crashlytics_export_strings.xml
36+
crashlytics.properties
37+
crashlytics-build.properties
38+
fabric.properties
39+
40+
# filesystems
41+
.DS_Store

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Belajar logstash input jdbc plugin

docker-compose.yml

+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
version: '3.6'
2+
services:
3+
mysql:
4+
image: mysql:5.7
5+
ports:
6+
- 3306:3306
7+
environment:
8+
- MYSQL_ROOT_PASSWORD=admin
9+
- MYSQL_DATABASE=example
10+
- MYSQL_USER=admin
11+
- MYSQL_PASSWORD=admin
12+
volumes:
13+
- mysql_data:/var/lib/mysql
14+
networks:
15+
- logstash_network
16+
flyway:
17+
image: boxfuse/flyway
18+
command: -url=jdbc:mysql://mysql:3306/example?useSSL=false -schemas=example -user=admin -password=admin -driver=com.mysql.jdbc.Driver -connectRetries=60 -cleanOnValidationError=true -baselineOnMigrate=true migrate
19+
environment:
20+
- FLYWAY_EDITION=community
21+
volumes:
22+
- ./flyway/sql/:/flyway/sql/
23+
networks:
24+
- logstash_network
25+
depends_on:
26+
- mysql
27+
elasticsearch:
28+
image: docker.elastic.co/elasticsearch/elasticsearch:6.5.4
29+
ports:
30+
- 9300:9300
31+
- 9200:9200
32+
environment:
33+
- transport.host=127.0.0.1
34+
- cluster.name=docker-cluster
35+
- discovery.type=single-node
36+
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
37+
volumes:
38+
- elasticsearch_data:/usr/share/elasticsearch/data
39+
networks:
40+
- logstash_network
41+
kibana:
42+
image: docker.elastic.co/kibana/kibana:6.5.4
43+
ports:
44+
- 5601:5601
45+
networks:
46+
- logstash_network
47+
depends_on:
48+
- elasticsearch
49+
logstash:
50+
build: ./logstash/
51+
image: dimmaryanto93/logstash-jdbc-plugin:1.1
52+
ports:
53+
- 9600:9600
54+
- 5044:5044
55+
networks:
56+
- logstash_network
57+
volumes:
58+
- ./logstash/jdbc-input-plugin.conf:/usr/share/logstash/pipeline/logstash.conf
59+
depends_on:
60+
- elasticsearch
61+
- kibana
62+
- flyway
63+
- mysql
64+
volumes:
65+
elasticsearch_data:
66+
filebeat_data:
67+
mysql_data:
68+
networks:
69+
logstash_network:

flyway/sql/V1__default-sechema.sql

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
create table requirement
2+
(
3+
id varchar(64) not null primary key,
4+
name varchar(100) not null,
5+
registration_nomor varchar(100) not null
6+
)
7+
engine = InnoDB;
8+
9+
create table test_script
10+
(
11+
id varchar(64) not null primary key,
12+
file_name varchar(100) not null,
13+
requirement_id varchar(64) not null
14+
)
15+
engine = InnoDB;
16+
17+
alter table test_script
18+
add constraint fk_script_requirement_id foreign key (requirement_id)
19+
REFERENCES requirement(id) on update CASCADE on DELETE CASCADE;
20+
21+
create table design_step
22+
(
23+
id varchar(64) not null primary key,
24+
step_name varchar(100) not null,
25+
test_script_id varchar(64) not null
26+
)
27+
engine = InnoDB;
28+
29+
alter table design_step
30+
add CONSTRAINT fk_design_script_id FOREIGN key (test_script_id)
31+
REFERENCES test_script(id) on update CASCADE on DELETE CASCADE;

logstash/Dockerfile

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
FROM docker.elastic.co/logstash/logstash:6.5.4
2+
RUN /usr/share/logstash/bin/logstash-plugin install logstash-input-jdbc
3+
COPY ./mysql-connector-java-5.1.46.jar /usr/share/logstash/mysql-connector-java.jar

logstash/jdbc-input-plugin.conf

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Logstash jdbc input -> Elasticsearch pipeline.
2+
input {
3+
jdbc {
4+
jdbc_driver_library => "mysql-connector-java.jar"
5+
jdbc_driver_class => "com.mysql.jdbc.Driver"
6+
jdbc_connection_string => "jdbc:mysql://mysql:3306/example"
7+
jdbc_user => "admin"
8+
jdbc_password => "admin"
9+
schedule => "* * * * *"
10+
statement => "SELECT * from requirement"
11+
}
12+
}
13+
14+
output {
15+
elasticsearch {
16+
hosts => ["http://elasticsearch:9200"]
17+
index => "test_script"
18+
document_id => "%{id}"
19+
}
20+
stdout { codec => json_lines }
21+
22+
}
981 KB
Binary file not shown.

0 commit comments

Comments
 (0)