Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat: Add Kafka integration for Parseable server #936 . #1047

Open
wants to merge 61 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
4cc28cd
Feat: Add Kafka integration for Parseable server #936 .
hippalus Dec 21, 2024
06364b5
Merge remote-tracking branch 'origin' into kafka-integration
hippalus Dec 21, 2024
f085a79
fix conflicts
hippalus Dec 21, 2024
d32eae5
update cli.rs
hippalus Dec 21, 2024
693b9c9
remove unused fn from metadata.rs
hippalus Dec 21, 2024
3cc6b0e
add Copyright
hippalus Dec 21, 2024
12f0358
fix deepsource issues
hippalus Dec 21, 2024
0f6ca53
fix deepsource issues on shutdown.rs
hippalus Dec 21, 2024
58cc468
Add .idea to .gitignore
hippalus Dec 21, 2024
aff48a2
Add Kafka cluster setup to docker-compose files and refactor Dockerfi…
hippalus Dec 22, 2024
9ce1031
feat(metrics): add KafkaMetricsCollector for Prometheus integration .
hippalus Dec 23, 2024
6719a0e
Merge branch 'main' into kafka-integration
hippalus Dec 23, 2024
d8d0558
fix kafka metrics collector registeration
hippalus Dec 24, 2024
6ad0805
Merge branch 'main' into kafka-integration
hippalus Dec 26, 2024
4d13ee2
Refactor connector configurations to adapt parseable cli options.
hippalus Dec 26, 2024
d26d4de
Refactor metrics.rs to reduce cyclomatic complexity.
hippalus Dec 26, 2024
7604bc5
Refactor chunk size configuration
hippalus Dec 26, 2024
3a0fbb0
use comment instead todo! macro
hippalus Dec 26, 2024
7f94f3a
add license header
hippalus Dec 26, 2024
bfb4071
cargo update
hippalus Dec 26, 2024
73a8659
add resource limits for docker containers
hippalus Dec 26, 2024
9afc8d9
Merge branch 'main' into kafka-integration
hippalus Dec 27, 2024
bb3b5cb
scale down kafka broker to single node since OOM on integration test …
hippalus Dec 27, 2024
2df4727
add Install dependencies step to coverage.yaml
hippalus Dec 27, 2024
839bef8
improve logging and err handling
hippalus Dec 28, 2024
935fc40
change log rate
hippalus Dec 28, 2024
a44582d
comment out kafka-ui in docker-compose
hippalus Dec 28, 2024
8937c4d
refactor py script
hippalus Dec 28, 2024
0064727
refactor py script
hippalus Dec 28, 2024
5355634
update dist-test with LOG_RATE=500 TOTAL_LOGS=50000
hippalus Dec 28, 2024
32c17bd
update dist-test with topic REPLICATION_FACTOR=3
hippalus Dec 28, 2024
cc236d0
Separate kafka and standard dockerfiles. Add conditional compilation …
hippalus Dec 30, 2024
7be0ca8
Merge branch 'main' into kafka-integration
hippalus Dec 31, 2024
aade3a8
fix rust fmt
hippalus Dec 31, 2024
9ba40b5
Use dedicated runtime for KafkaSinkConnector to ensure true parallelism.
hippalus Jan 2, 2025
ecbd655
Merge branch 'main' into kafka-integration
hippalus Jan 4, 2025
5c67134
add schema version when deserialize ParseableEvent
hippalus Jan 4, 2025
ce2fca0
rename Event as ParseableEvent
hippalus Jan 4, 2025
835e9b9
-v flag to clean up volumes when stopping containers. Remove the erro…
hippalus Jan 4, 2025
3b7e3bb
Merge branch 'main' into kafka-integration
hippalus Jan 5, 2025
2364abb
Merge branch 'main' into kafka-integration
hippalus Jan 6, 2025
06c97f3
Merge branch 'main' into kafka-integration
hippalus Jan 6, 2025
4ecba10
Merge remote-tracking branch 'origin/kafka-integration' into kafka-in…
hippalus Jan 6, 2025
bb12d04
fix ParseableSinkProcessor.deserialize
hippalus Jan 6, 2025
3fa6029
Merge branch 'main' into kafka-integration
hippalus Jan 6, 2025
cd62476
Merge branch 'main' into kafka-integration
hippalus Jan 7, 2025
84135ed
Merge branch 'main' into kafka-integration
hippalus Jan 7, 2025
736af65
fix ParseableSinkProcessor.deserialize
hippalus Jan 7, 2025
c5f61c2
Merge branch 'main' into kafka-integration
hippalus Jan 7, 2025
62b6b33
Merge branch 'main' into kafka-integration
hippalus Jan 7, 2025
5d90cd4
Merge branch 'main' into kafka-integration
hippalus Jan 8, 2025
803983f
Merge branch 'main' into kafka-integration
hippalus Jan 8, 2025
bd0043e
Merge branch 'main' into kafka-integration
hippalus Jan 9, 2025
574d4cd
Merge branch 'main' into kafka-integration
hippalus Jan 12, 2025
f1d2606
update build.rs
hippalus Jan 12, 2025
e399f0b
fix comment
hippalus Jan 12, 2025
d5256fd
fmt
hippalus Jan 12, 2025
7e878e2
kafka-streams-thread name
hippalus Jan 12, 2025
595baaa
Introduced haproxy to support Kafka consumer rebalance testing and di…
hippalus Jan 12, 2025
a126913
Merge branch 'main' into kafka-integration
hippalus Jan 12, 2025
7eddf03
Update log generator to send kube logs to kafka
hippalus Jan 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Refactor connector configurations to adapt parseable cli options.
  • Loading branch information
hippalus committed Dec 26, 2024
commit 4d13ee2d8215224cf9758f6fa02cda60d61b727b
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ bzip2 = { version = "*", features = ["static"] }
cookie = "0.18.1"
chrono = "0.4"
chrono-humanize = "0.2"
clap = { version = "4.1", default-features = false, features = [
clap = { version = "4.5", default-features = false, features = [
"std",
"color",
"help",
Expand Down
5 changes: 2 additions & 3 deletions docker-compose-distributed-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ services:
context: .
dockerfile: Dockerfile
platform: linux/amd64
command: [ "parseable", "s3-store" ]
command: [ "parseable", "s3-store", "connectors", "kafka-sink" ]
ports:
- 8000
environment:
Expand All @@ -81,9 +81,8 @@ services:
- P_PARQUET_COMPRESSION_ALGO=snappy
- P_MODE=ingest
- P_INGESTOR_ENDPOINT=parseable-ingest-one:8000
- P_KAFKA_TOPICS=dist-test-logs-stream
- P_KAFKA_CONSUMER_TOPICS=dist-test-logs-stream
- P_KAFKA_BOOTSTRAP_SERVERS=kafka-0:9092,kafka-1:9092,kafka-2:9092
- P_KAFKA_GROUP_ID=parseable-kafka-sink-connector
# additional settings like security, tuning, etc.
networks:
- parseable-internal
Expand Down
11 changes: 5 additions & 6 deletions docker-compose-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ services:
context: .
dockerfile: Dockerfile
platform: linux/amd64
command: [ "parseable", "s3-store" ]
command: [ "parseable", "s3-store", "connectors", "kafka-sink" ]
ports:
- "8000:8000"
environment:
Expand All @@ -43,9 +43,8 @@ services:
- P_PASSWORD=parseableadmin
- P_CHECK_UPDATE=false
- P_PARQUET_COMPRESSION_ALGO=snappy
- P_KAFKA_TOPICS=test-logs-stream
- P_KAFKA_CONSUMER_TOPICS=test-logs-stream
- P_KAFKA_BOOTSTRAP_SERVERS=kafka-0:9092,kafka-1:9092,kafka-2:9092
- P_KAFKA_GROUP_ID=parseable-kafka-sink-connector
# additional settings like security, tuning, etc.
depends_on:
- minio
Expand Down Expand Up @@ -116,7 +115,7 @@ services:
networks:
- parseable-internal
healthcheck:
test: ["CMD-SHELL", "kafka-topics.sh --bootstrap-server localhost:9092 --list || exit 1"]
test: [ "CMD-SHELL", "kafka-topics.sh --bootstrap-server localhost:9092 --list || exit 1" ]
interval: 10s
timeout: 5s
retries: 5
Expand Down Expand Up @@ -146,7 +145,7 @@ services:
networks:
- parseable-internal
healthcheck:
test: ["CMD-SHELL", "kafka-topics.sh --bootstrap-server localhost:9092 --list || exit 1"]
test: [ "CMD-SHELL", "kafka-topics.sh --bootstrap-server localhost:9092 --list || exit 1" ]
interval: 10s
timeout: 5s
retries: 5
Expand Down Expand Up @@ -176,7 +175,7 @@ services:
networks:
- parseable-internal
healthcheck:
test: ["CMD-SHELL", "kafka-topics.sh --bootstrap-server localhost:9092 --list || exit 1"]
test: [ "CMD-SHELL", "kafka-topics.sh --bootstrap-server localhost:9092 --list || exit 1" ]
interval: 10s
timeout: 5s
retries: 5
Expand Down
15 changes: 15 additions & 0 deletions scripts/kafka_log_stream_generator.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
# Parseable Server (C) 2022 - 2024 Parseable, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

import os
import sys
hippalus marked this conversation as resolved.
Show resolved Hide resolved
import time
Expand Down
Loading
Loading