Skip to content

Commit 750bf4e

Browse files
committed
add logstash files
1 parent 135ee74 commit 750bf4e

File tree

5 files changed

+32
-16
lines changed

5 files changed

+32
-16
lines changed

logstash/db-enrichment/Makefile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
up:
2-
docker-compose up --build
2+
docker-compose up --build -d
33

44
down:
55
docker-compose down
6+
7+
test:
8+
./test.sh

logstash/db-enrichment/docker-compose.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ services:
2222
DB_USER: user
2323
DB_PASSWORD: password
2424
DB_JDBC_CONNECTION_STRING: jdbc:postgresql://postgres:5432/users_logs
25+
# DB_JDBC_CONNECTION_STRING: jdbc:postgresql://postgres:5432/users_logs?ApplicationName=logstash&loginTimeout=10&socketTimeout=10&options=-c%20statement_timeout=5000%20-c%20lock_timeout=1000
26+
ports:
27+
- 8090:8090
2528
volumes:
2629
- ./logstash/pipeline:/usr/share/logstash/pipeline
2730
- ./logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml

logstash/db-enrichment/logstash/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM docker.elastic.co/logstash/logstash:8.11.2
1+
FROM docker.elastic.co/logstash/logstash:8.9.2
22

33
WORKDIR /usr/share/logstash
44

logstash/db-enrichment/logstash/pipeline/pipeline.cfg

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,43 @@
11
input {
2-
generator {
3-
lines => [
4-
'{"event": "login", "user_id": 1}',
5-
'{"event": "logout", "user_id": 2}',
6-
'{"event": "purchase", "user_id": 3}'
7-
]
8-
count => 3
2+
http {
3+
port => 8090
4+
ecs_compatibility => "disabled"
5+
additional_codecs => {}
6+
codec => json {
7+
target => "[document]"
8+
}
99
}
1010
}
1111

1212
filter {
13-
json {
14-
source => "message"
15-
}
16-
1713
mutate {
18-
remove_field => ["message"]
14+
remove_field => ["headers"]
1915
}
2016

2117
jdbc_streaming {
2218
jdbc_connection_string => "${DB_JDBC_CONNECTION_STRING}"
2319
jdbc_user => "${DB_USER}"
2420
jdbc_password => "${DB_PASSWORD}"
21+
jdbc_validate_connection => true
22+
jdbc_validation_timeout => 1
2523
jdbc_driver_library => "/usr/share/logstash/postgresql-42.5.0.jar"
2624
jdbc_driver_class => "org.postgresql.Driver"
25+
# https://github.com/jeremyevans/sequel/blob/master/doc/opening_databases.rdoc#top
26+
# sequel_opts => {
27+
# max_connections => 4
28+
# pool_timeout => 5
29+
# }
30+
# pg_sleep(10)::text,
2731
statement => "
28-
SELECT user_name, user_email, user_group
32+
SELECT
33+
user_name,
34+
user_email,
35+
user_group
2936
FROM db_users
3037
WHERE id = :input_parameter
3138
"
3239
parameters => {
33-
"input_parameter" => "user_id"
40+
"input_parameter" => "[document][user_id]"
3441
}
3542
target => "sql"
3643
}

logstash/db-enrichment/test.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
curl -X POST http://127.0.0.1:8090/ \
2+
-H "Content-Type: application/json" \
3+
-d '{"event": "purchase", "user_id": 3}'

0 commit comments

Comments
 (0)